# HG changeset patch # User Matthew Wild # Date 1269567024 0 # Node ID 0e2b5dc7ae342358a27e4912e660b68763d22b90 Initial commit diff -r 000000000000 -r 0e2b5dc7ae34 csv.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/csv.lua Fri Mar 26 01:30:24 2010 +0000 @@ -0,0 +1,40 @@ + +local lpeg = require "lpeg" +local setmetatable, tonumber = + setmetatable, tonumber; +local s_char = string.char; + +module("csv"); + +local delim = lpeg.P","; + +local char_escape = lpeg.R"az" + lpeg.S"\\\r\n" + delim; +local numeric_escape = (lpeg.R"09"^1)^-3; +local escape = (lpeg.P"\\" * (char_escape + numeric_escape)); + +local value = (escape + (1-delim))^0; + +local escape_map = setmetatable({ + t = "\t", b = "\b", f = "\f"; + n = "\n", r = "\r", v = "\v"; }, + { __index = function (_, n) + if tonumber(n) then + print"n" + return s_char(tonumber(n)); + else + return n; + end + end + }); + +function read_record(line, value_callback) + local fieldpos = 0; + local callback = function (v) + return value_callback(v:gsub("\\(.)", escape_map)); + end; + repeat + fieldpos = lpeg.match(value / callback, line, fieldpos+1); + until fieldpos >= #line; +end + +return _M; diff -r 000000000000 -r 0e2b5dc7ae34 gsoc10.csv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsoc10.csv Fri Mar 26 01:30:24 2010 +0000 @@ -0,0 +1,153 @@ +Key,Name,Link ID,Short Name,Ideas Page,Tags +google/gsoc2010/ascend,ASCEND,ascend,ASCEND,"Click Here","c, c++, education, engineering, gtk, mathematics, numerical, programming_languages, python, science, scientific" +google/gsoc2010/abiword,AbiWord,abiword,abiword,"Click Here", +google/gsoc2010/apache,Apache Software Foundation,apache,ASF,"Click Here", +google/gsoc2010/apertium,Apertium,apertium,Apertium,"Click Here","computational_linguistics, human_language_technology, language_technology, language_translation, localisation, localization, machine_translation, natural_language_processing" +google/gsoc2010/wesnoth,Battle for Wesnoth,wesnoth,Wesnoth,"Click Here","ai_development, boost-asio, c++, eclipse-plugin, game, game_development, lua, sdl, user_interface_design" +google/gsoc2010/beagleboard,BeagleBoard.org,beagleboard,BeagleBoard,"Click Here","3d_user_interface, algorithm, android, arm, bootloaders, build_systems, c, computer_graphics, css, embedded, erlang, grid_computing, helma, html, human_computer_interaction, kernel, linux_kernel, low-level, mobile_devices, programming_languages, real_time, robotics, server_side_javascript" +google/gsoc2010/berkman,Berkman Center at Harvard University,berkman,Berkman Center,"Click Here", +google/gsoc2010/bigbluebutton_soc,BigBlueButton,bigbluebutton_soc,bbb,"Click Here","android, asterisk, audio, bigbluebutton, cloud-computing, design, flash, flex, html5, linux, scala, scalability, video, virtualization" +google/gsoc2010/blender,Blender Foundation,blender,Blender,"Click Here","3d, ai, animation, artificial_intelligence, blender, c, compositing, computer_graphics, digital_sculpting, game_development, games, modeling, painting, particles, physics_simulation, rendering, sculpting, texturing, video_editing" +google/gsoc2010/bluez,BlueZ,bluez,BlueZ,"Click Here","bluetooth, dbus" +google/gsoc2010/boost,Boost C++ Libraries,boost,Boost,"Click Here","boost, c++, generic_libraries, generic_programming, stl" +google/gsoc2010/cgal,CGAL - Computational Geometry Algorithms Library,cgal,CGAL,"Click Here","c++, computational_geometry, computer_graphics, generic_programming, geometric_computing" +google/gsoc2010/chromium,Chromium,chromium,Chromium,"Click Here","accessibility, ajax, browsers, c++, extensions, html, objective_c, web, webkit" +google/gsoc2010/creativecommons,Creative Commons,creativecommons,CC,"Click Here", +google/gsoc2010/crystalspace,Crystal Space,crystalspace,CS,"Click Here","3d_engine, game_development" +google/gsoc2010/debian,Debian Project,debian,Debian,"Click Here", +google/gsoc2010/django,Django Software Foundation,django,Django,"Click Here","appengine, html, orm, python, sql, web, web_development, web_technologies" +google/gsoc2010/docbook,DocBook Project,docbook,DocBook,"Click Here","docbook, documentation, xml, xslt" +google/gsoc2010/dojo,Dojo Foundation ,dojo,Dojo,"Click Here","a11y, accessibility, ajax, automation, browsers, commonjs, dijit, dojo, dojo_foundation, dojotoolkit, dojox, ecmascript, i18n, internationalization, javascript, js, mobile_devices, server_side_javascript, ssjs, widget" +google/gsoc2010/dragonfly,DragonFly BSD,dragonfly,DragonFly BSD,"Click Here","bsd, c, dragonfly, operating-system" +google/gsoc2010/dreamwidth,Dreamwidth Studios,dreamwidth,Dreamwidth,"Click Here", +google/gsoc2010/drizzle,Drizzle,drizzle,driz,"Click Here","c++, database, database_development" +google/gsoc2010/drupal,Drupal,drupal,drupal,"Click Here", +google/gsoc2010/duraspace,DuraSpace,duraspace,DuraSpace,"Click Here","ajax, cocoon, digital_repository, dspace, java, jsp, postgesql, postgres, web_development, xml" +google/gsoc2010/etherboot,Etherboot Project,etherboot,Etherboot Project,"Click Here","asm, boot, c, drivers, embedded, ipv6, low-level, network, php, tcp, web-interface, x86" +google/gsoc2010/esug,European Smalltalk User Group (ESUG),esug,ESUG,"Click Here","compilers, education, ffi, ide, package_management, programming_languages, smalltalk, web, web_development" +google/gsoc2010/advancedconceptsteam,"European Space Agency; The Advanced Concepts Team",advancedconceptsteam,ACT (ESA),"Click Here","interplanetary_trajectories, operation_research, optimization, parallel_computing" +google/gsoc2010/expertlabs,Expert Labs,expertlabs,Expert Labs,"Click Here","ajax, facebook, oauth, php, pubsubhubbub, smarty, twitter" +google/gsoc2010/ffmpeg,FFmpeg,ffmpeg,FFmpeg,"Click Here","audio, codecs, multimedia, video" +google/gsoc2010/facebook,Facebook,facebook,facebook,"Click Here","c++, php, python, social_networking, web2.0" +google/gsoc2010/freedroid,FreedroidRPG,freedroid,FreedroidRPG,"Click Here","3d, ai_development, c, game, game_development, graphical_user_interfaces, lua, opengl, rpg, sdl" +google/gsoc2010/freenet,Freenet Project Inc,freenet,Freenet,"Click Here","anonymity, censorship, cryptography, darknet, dht, distributed-systems, free-speech, free_speech, freedom, friend-to-friend, java, network, networking, peer-to-peer, privacy, security, small_world, social_networking, storage, web-interface" +google/gsoc2010/freifunk,Freifunk,freifunk,freifunk,"Click Here","babel, batman, disaster_communication, disaster_management, freewireless, freifunk, horsttool, linux, mesh, meshing, network, networktools, olsr, opennetworks, openwrt, routeros, routing, routingprotocols, wireless" +google/gsoc2010/gcc,"GCC; the GNU Compiler Collection",gcc,GCC,"Click Here","compiler, gcc" +google/gsoc2010/gnome,GNOME,gnome,GNOME,"Click Here", +google/gsoc2010/gimp,GNU Image Manipulation Program - GIMP,gimp,GIMP,"Click Here","c, computer_graphics, gegl, graphical_user_interfaces, graphics_editor, gtk, image_processing" +google/gsoc2010/gst,GStreamer,gst,gst,"Click Here","audio, codecs, dlna, multimedia, rtsp, streaming, video_editing" +google/gsoc2010/geeklog,Geeklog,geeklog,Geeklog,"Click Here","content_management_system, mssql, mysql, php, postgres, web_development, weblogs" +google/gsoc2010/genmapp,"GenMAPP; Cytoscape; WikiPathways & Reactome",genmapp,GenMAPP,"Click Here","bioinformatics, data_visualisation, graph_networks, java, mysql, perl, php, python, research, science, wiki, xml" +google/gsoc2010/gentoo,Gentoo Foundation,gentoo,Gentoo,"Click Here","bash, bsd, c, c++, distributions, gtk, java, linux, operating-system, php, python, qt, ruby, shell_scripting, web, web-interface, web_development, xml, xslt" +google/gsoc2010/gephi,Gephi NGO,gephi,Gephi,"Click Here","analytics, complexity, graph, infovis, java, network, opengl, science, visualization" +google/gsoc2010/git,Git,git,Git,"Click Here","c, tcl, unix, version_control_systems, windows" +google/gsoc2010/go_oo,Go OpenOffice,go_oo,Go oo,"Click Here","c++, office_applications" +google/gsoc2010/google_caja,Google Caja,google_caja,Caja,"Click Here", +google/gsoc2010/google,Google Open Source Programs Office,google,Google OSPO,"Click Here","google, gsoc" +google/gsoc2010/mifos,Grameen Foundation,mifos,Mifos,"Click Here","grails, hibernate, java, microfinance, mysql, tomcat" +google/gsoc2010/haiku,Haiku,haiku,haiku,"Click Here","beos, c, c++, file_systems, haiku, ipv6, kernel, operating_systems, perl, posix, python, swig, webkit, wifi" +google/gsoc2010/hugin,Hugin and panotools,hugin,Hugin,"Click Here", +google/gsoc2010/idi_atrc,Inclusive Design Institute,idi_atrc,IDI/ATRC,"Click Here","accessibility, elearning, java, javascript_ajax, mobile_devices, php, social_networking" +google/gsoc2010/inkscape,Inkscape,inkscape,Inkscape,"Click Here", +google/gsoc2010/geogebra,International GeoGebra Institute,geogebra,GeoGebra,"Click Here", +google/gsoc2010/jikesrvm,Jikes RVM,jikesrvm,JikesRVM,"Click Here","compilers, garbage_collection, java_virtual_machine, language_technology, runtime_systems" +google/gsoc2010/kde,KDE,kde,KDE,"Click Here","c++, desktop_systems, education, freedesktop, javascript, mobile_devices, multimedia, office_applications, python, qml, qt, x11" +google/gsoc2010/kernelorg,Kernel.org - the Linux Kernel Organization,kernelorg,Kernel.org,"Click Here", +google/gsoc2010/llvm,LLVM Compiler Infrastructure,llvm,LLVM,"Click Here","clang, compilers, llvm" +google/gsoc2010/lxde,LXDE Foundation,lxde,LXDE,"Click Here","c++, desktop, desktopenvironment, energysaving, faster, gtk, lightweight, lxde, pcmanfm, qt, spins" +google/gsoc2010/limesurvey,LimeSurvey,limesurvey,limesurvey,"Click Here","php, surveys, web" +google/gsoc2010/admin_minix3,MINIX 3 Group at the VU,admin_minix3,MINIX3,"Click Here","bsd-libc, drivers, firewall, grub-2, microkernel, minix, minix3, networking, operating-system" +google/gsoc2010/maemo,Maemo Community,maemo,maemo,"Click Here","bluetooth, c++, embedded, gstreamer, gtk, mobile_devices, opengl, python, qt, telepathy, ui" +google/gsoc2010/mapnik,Mapnik,mapnik,Mapnik,"Click Here","boost, c++, cairo, geospatial, gis, python" +google/gsoc2010/mbleol,Marine Biological Laboratory Biodiversity Informatics Group-Encyclopedia of Life Project,mbleol,MBL/EOL,"Click Here","api, bioinformatics, biology, informatics, rails, ruby, science, semantic-web, semantics, visualization" +google/gsoc2010/melange,Melange,melange,Melange,"Click Here","appengine, django, gsoc, javascript, python" +google/gsoc2010/hg,Mercurial Distributed Version Control System,hg,Mercurial,"Click Here","distributed-systems, python, version_control_systems" +google/gsoc2010/metabrainz,MetaBrainz Foundation Inc.,metabrainz,MetaBrainz,"Click Here","audio, community, metadata, mp3, music, tagging, web" +google/gsoc2010/mixxx,Mixxx Digital DJ,mixxx,Mixxx,"Click Here","audio, creative, dj, multimedia, music, opengl, qt, real_time" +google/gsoc2010/moin,MoinMoin Wiki,moin,MoinMoin,"Click Here","css, html, javascript, moin, python, web, wiki, wsgi" +google/gsoc2010/mozilla,Mozilla,mozilla,Mozilla,"Click Here","browser, bugzilla, camino, email, firefox, internet, mozilla, seamonkey, thunderbird, web" +google/gsoc2010/nescent,NESCent - National Evolutionary Synthesis Center,nescent,NESCent,"Click Here","animation, bioinformatics, java, perl, phylogenetics, phyloinformatics, python, ruby, visualization" +google/gsoc2010/nuigroup,Natural User Interface Group (NUI Group),nuigroup,NUI Group,"Click Here","c++, computer_graphics, graphical_user_interfaces, multitouch, nui, python, user_interface_design" +google/gsoc2010/nmap,Nmap Security Scanner,nmap,Nmap,"Click Here","c, c++, cloud-computing, graphical_user_interfaces, ipv6, linux, lua, macosx, mobile_devices, networking, nmap, security, web-interface, windows" +google/gsoc2010/oar,OAR,oar,OAR_2010,"Click Here","cluster, grid-cloudcomputing, high-performance-computing, javascript, mysql, perl, postgresql, restful-web-services, ruby" +google/gsoc2010/omii_uk,OMII-UK,omii_uk,OMII-UK,"Click Here", +google/gsoc2010/opendap_code,"OPeNDAP Inc.",opendap_code,OPeNDAP,"Click Here","browser, c, c++, javascript, javascript_ajax, matlab, web-interface" +google/gsoc2010/osgeo,OSGeo - Open Source Geospatial Foundation,osgeo,OSGeo,"Click Here","3d_user_interface, ajax, algorithm, c, c#, c++, geo_mapping, geospatial, gis, graph_networks, java, javascript, mssql, php, postgres" +google/gsoc2010/obf,Open Bioinformatics Foundation,obf,OBF,"Click Here","bioinformatics, biology, java, perl, perl5, python, ruby" +google/gsoc2010/opencv,Open Source Computer Vision Library,opencv,OpenCV,"Click Here","learning, object, processing, vision" +google/gsoc2010/openafs,OpenAFS,openafs,OpenAFS,"Click Here", +google/gsoc2010/openicc,OpenICC,openicc,OpenICC,"Click Here","c, color_management_system, desktop_systems, device_handling, fltk, freedesktop, gtk, image_processing, opengl, printing, qt, x11" +google/gsoc2010/openimageio,OpenImageIO,openimageio,OIIO,"Click Here","c++, color_management, computer_graphics, image_processing, python, texturing" +google/gsoc2010/oi,OpenInkpot project,oi,OI,"Click Here","distributions, e-paper, embedded" +google/gsoc2010/openmrs,OpenMRS,openmrs,OpenMRS,"Click Here","africa, clinics, ehealth, ehr, emr, flash, global_health, health, healthcare, hibernate, hospitals, ict4d, java, jetpack, jira, medical_records, mhealth, mrs, openmrs, phr, poverty, python, spring, statistics, tomcat, trac, xml" +google/gsoc2010/opennebula,OpenNebula,opennebula,OpenNebula,"Click Here","c++, cloud-computing, kvm, ruby, virtual-machine, virtualization, xen" +google/gsoc2010/osm,OpenStreetMap,osm,OSM,"Click Here","geo_mapping, geospatial, gps, maps, routing" +google/gsoc2010/opticks,Opticks,opticks,Opticks,"Click Here","c++, gis, idl, image_processing, python, qt, remote_sensing, science, scientific, visualization" +google/gsoc2010/osuosl,Oregon State University Open Source Lab,osuosl,OSU OSL,"Click Here", +google/gsoc2010/plseatuw,PLSE at UW,plseatuw,PLSE at UW,"Click Here", +google/gsoc2010/pardus,Pardus,pardus,Pardus,"Click Here","c, c++, distribution, javascript, kernel, linux, operating-system, os, python, qt" +google/gsoc2010/pidgin,"Pidgin Finch and libpurple",pidgin,"Pidgin Finch and libpurple","Click Here", +google/gsoc2010/plan9,Plan 9 from Bell Labs,plan9,Plan 9,"Click Here","arm, c, limbo, operating_systems, virtual-machine" +google/gsoc2010/plone,Plone Foundation,plone,Plone,"Click Here","cms, python, web" +google/gsoc2010/psu_home,Portland State University,psu_home,PSU,"Click Here", +google/gsoc2010/postgresql,PostgreSQL,postgresql,Postgres,"Click Here","c, database, database_development, pgadmin, phppgadmin, postgres, postgresql, sql" +google/gsoc2010/princetoncitp,Princeton Center for Information Technology Policy,princetoncitp,Princeton CITP,"Click Here", +google/gsoc2010/reductivelabs,Puppet (Reductive Labs),reductivelabs,Reductive Labs,"Click Here", +google/gsoc2010/python,Python Software Foundation,python,Python,"Click Here", +google/gsoc2010/qemu,QEMU development team,qemu,qemu,"Click Here","operating_systems, virtual_machine_introspection" +google/gsoc2010/r_project,R Project for Statistical Computing,r_project,R Project,"Click Here", +google/gsoc2010/rtems,RTEMS Project,rtems,RTEMS,"Click Here","ada, c, computer_graphics, operating_systems, posix, python, real_time" +google/gsoc2010/reviewboard,Review Board,reviewboard,Review Board,"Click Here","code_review, development_tools, django, python, web, web2.0" +google/gsoc2010/rockbox,Rockbox,rockbox,Rockbox,"Click Here","android, asm, audio, c, embedded, firmware, mobile_devices, multimedia, music, operating_systems" +google/gsoc2010/sipcomm,SIP Communicator,sipcomm,SIP Communicator,"Click Here","audio, c, codecs, instant_messaging, java, multimedia, network, networking, protocols, sip, telephony, video, voip" +google/gsoc2010/sahanafoundation,Sahana Software Foundation,sahanafoundation,SSF,"Click Here","android, j2me, javascript, jquery, php, python, standards" +google/gsoc2010/sakai,Sakai Foundation,sakai,Sakai,"Click Here","digital_repository, education, felix, fluid, jackrabbit, jcr, jms, jquery, linux, lms, osgi, rest, sakai, sling, vle" +google/gsoc2010/samba,Samba,samba,Samba,"Click Here","c, networking" +google/gsoc2010/scilab,Scilab Consortium/Digiteo Foundation,scilab,Scilab,"Click Here","3d, c++, computer_graphics, computing, control, data_visualisation, education, java, modelica, numerical, optimisation, programming_languages, scicos, science, scientific, scilab, simulation, xcos" +google/gsoc2010/scummvm,ScummVM,scummvm,ScummVM,"Click Here", +google/gsoc2010/selenium,Selenium,selenium,selenium,"Click Here","android, automated_testing, flash, flex, iphone, javascript, python, selenium, web_development" +google/gsoc2010/sharpdevelop,SharpDevelop,sharpdevelop,SharpDevelop,"Click Here",".net, c#, compiler, debug, f#, ide, parsing, vb.net, windows, wpf, xaml" +google/gsoc2010/sdl,Simple DirectMedia Layer,sdl,SDL,"Click Here", +google/gsoc2010/statusnet,StatusNet,statusnet,StatusNet,"Click Here","communications, instant_messaging, microblogging, social_networking, statusnet" +google/gsoc2010/sugar_labs,Sugar Labs,sugar_labs,Sugar Labs,"Click Here","education, olpc, python, sugar" +google/gsoc2010/sunlightlabs,Sunlight Labs,sunlightlabs,Sunlight Labs,"Click Here","actionscript, android, government, java, nonprofit, python, ruby" +google/gsoc2010/systers,Systers: Women in Computing,systers,Systers,"Click Here","mailman, python, systers, women_in_technology" +google/gsoc2010/typo3,TYPO3 Association,typo3,TYPO3,"Click Here","ajax, apache, cms, content_management_system, css, html, html5, javascript, lamp, mysql, php, web" +google/gsoc2010/tahoe_lafs,Tahoe-LAFS,tahoe_lafs,Tahoe-LAFS,"Click Here","ajax, android, anonymity, arm, backend, c++, censorship, cloud-computing, cryptography, freedom, javascript, jetpack, privacy, python, security, storage" +google/gsoc2010/tcltk,Tcl/Tk Community,tcltk,Tcl/Tk,"Click Here","aolserver, tcl, xotcl" +google/gsoc2010/asterisk,The Asterisk Project,asterisk,Asterisk,"Click Here","c, lua, pbx, protocols, python, server, sip, telephony, voip" +google/gsoc2010/codehaus,The Codehaus,codehaus,Codehaus,"Click Here", +google/gsoc2010/eclipse,The Eclipse Foundation ,eclipse,Eclipse,"Click Here", +google/gsoc2010/freebsd,The FreeBSD Project,freebsd,FreeBSD,"Click Here","bsd, bsdl, c, freebsd, operating-system" +google/gsoc2010/gnuproject,The GNU Project,gnuproject,GNU,"Click Here","c, device, driver, filesystem, gnu, hurd, kernel, low-level, mach, microkernel, network, operating-system, perl, posix, pthreads, python, translator, virtualization" +google/gsoc2010/globus,The Globus Alliance,globus,Globus,"Click Here","c, cloud-computing, distributed-systems, grid_computing, hpc, java" +google/gsoc2010/honeynet,The Honeynet Project,honeynet,Honeynet Project,"Click Here","analysis, android, asterisk, c++, client-server, cryptography, data_visualisation, data_visualisations, database, database_development, django, graph_networks, hacking, honeynet, honeypot, ids_signatures, instant_messaging, java, javascript, javascript_ajax, kernel, linux_kernel, malware, mysql, network, networking, networks, nonprofit, operating-system, operating_systems, perl, php, postgesql, postgres, processing, protocols, python, security, shellcode, sql, virtual_machine_introspection, virtualization, visualization, voip, web-interface, web2.0, web_development" +google/gsoc2010/jpf,The Java Pathfinder Team,jpf,JPF,"Click Here","android, formal-methods, java, nasa, scala, verification, virtual-machine" +google/gsoc2010/lf,The Linux Foundation,lf,LF,"Click Here", +google/gsoc2010/macports,The MacPorts Project,macports,MacPorts,"Click Here","c, mac, macosx, tcl" +google/gsoc2010/mono,The Mono Project,mono,Mono,"Click Here",".net, application_platform, c, c#, development_frameworks, ide, linux, mac, virtual_machine, web_development, windows" +google/gsoc2010/ntp,The NTP Forum,ntp,NTP,"Click Here", +google/gsoc2010/netbsd,The NetBSD Foundation,netbsd,NetBSD,"Click Here","bsd, c, netbsd, operating-system" +google/gsoc2010/tpf,The Perl Foundation,tpf,TPF,"Click Here","catalyst, parrot, perl, perl5, perl6" +google/gsoc2010/tor,The Tor Project/Electronic Frontier Foundation,tor,Tor,"Click Here","android, anonymity, c, censorship, cryptography, freedom, java, networking, nonprofit, privacy, python, security" +google/gsoc2010/wine,The Wine Project,wine,Wine,"Click Here", +google/gsoc2010/ns3,The ns-3 Network Simulator Project,ns3,ns-3,"Click Here","c++, networking, simulation" +google/gsoc2010/thousandparsec,Thousand Parsec,thousandparsec,Thousand Parsec,"Click Here","c++, game, game_development, game_engine, games, java, javascript, python" +google/gsoc2010/turbogears,TurboGears,turbogears,turbogears,"Click Here", +google/gsoc2010/tux4kids,Tux4Kids,tux4kids,Tux4Kids,"Click Here","c, c++, education, games, qt4, sdl" +google/gsoc2010/ubuntu,Ubuntu,ubuntu,Ubuntu,"Click Here", +google/gsoc2010/ushahidi,Ushahidi,ushahidi,Ushahidi,"Click Here","disaster_management, django, erlang, natural_language_processing, php, python, semantic-data-management, taxonomy" +google/gsoc2010/videolan,VideoLAN,videolan,VideoLAN,"Click Here", +google/gsoc2010/wikimedia,Wikimedia Foundation,wikimedia,Wikimedia,"Click Here","content_management_system, wiki" +google/gsoc2010/wordpress,WordPress,wordpress,WordPress,"Click Here","blogging, cms, jquery, mysql, php, publishing, wordpress" +google/gsoc2010/worldforge,WorldForge,worldforge,WorldForge,"Click Here","c++, game_development, game_engine, games, mmog, python" +google/gsoc2010/xorg,X.Org,xorg,X.Org,"Click Here","3d, c, computer_graphics, dri, drivers, linux_kernel, low-level, mesa" +google/gsoc2010/xmms2,XMMS2,xmms2,xmms2,"Click Here","audio, multimedia" +google/gsoc2010/xsf,XMPP Standards Foundation,xsf,XSF,"Click Here","jabber, messaging, xmpp, xsf" +google/gsoc2010/yafaray,YafaRay (Yet Another Free Raytracer),yafaray,YafaRay,"Click Here","3d, 3d_user_interface, c++, computer_graphics, python, qt, raytracing, rendering" +google/gsoc2010/coreboot,coreboot,coreboot,coreboot,"Click Here","assembler, bios, firmware, linuxbios, lowlevel, uefi, x86" +google/gsoc2010/haskell,haskell.org,haskell,Haskell.org,"Click Here","functional, language, lazy, programming" +google/gsoc2010/pma,phpMyAdmin,pma,phpMyAdmin,"Click Here","mysql, php, web-interface" +google/gsoc2010/wx,wxWidgets,wx,wxWidgets,"Click Here","application_platform, c++, graphical_user_interfaces, gtk, linux, macosx, windows" +google/gsoc2010/xen,xen.org,xen,xen.org,"Click Here","c, cloud-computing, javascript, ocaml, python, virtual-machine, virtualization, xen, xenapi" +google/gsoc2010/scala,"École Polytechnique Fédérale de Lausanne\, Scala team",scala,Scala,"Click Here","functional_programming, object_oriented_programming, programming_languages, scala" diff -r 000000000000 -r 0e2b5dc7ae34 parse.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/parse.lua Fri Mar 26 01:30:24 2010 +0000 @@ -0,0 +1,19 @@ +local http = require "socket.http" +local have_https, https = pcall(require,"https"); +local csv = require "csv" + +for line in io.lines("gsoc10.csv") do + local project = {}; + csv.read_record(line, function (v) project[#project+1] = v; end); + local url = project[5]:match("https?://[^\"]+"); + if url and url:match("^http"..(have_https and "s?" or "")..":") then + local data, err = http.request(url); + if not data then + print("[FAIL] "..project[2]..": "..tostring(err)); + elseif data:match("[%W%p][Ll][Uu][Aa][%W%p]") then + print(project[2]..": "..url); + end + elseif project[2] ~= "Name" then + print("[FAIL] "..project[2]..": Couldn't fetch URL ("..(url or "couldn't find one")..")"); + end +end