#!/usr/bin/python2.4 import cgi,sys,urllib import fromIcal,XMLWriter,codecs from string import lower import warnings def main(): form = cgi.FieldStorage() if(form.has_key("ical")): print "Content-Type: application/rdf+xml\n\n" charset = 'iso8859-1' url = form["ical"].value up = urllib.urlopen(url) info = up.info() if(info.has_key("Content-Type")): ct = info["Content-Type"] sp = ct.split(";") if(len(sp) > 1): crs = sp[1].split("=") if(len(crs) == 2 and lower(crs[1]) != 'iso8859-1'): charset = lower(crs[1]) ical = codecs.EncodedFile(up,charset) sx = XMLWriter.T(codecs.getwriter('utf-8')(sys.stdout)) fromIcal.interpret(sx, ical, url, ['X-']) else: print 'Location: %s' % "http://torrez.us/ics2rdf/" print sys.exit() if (__name__ == "__main__"): warnings.filterwarnings(action ='ignore', message='.*unexpected param.*', category=UserWarning) sys.stderr = sys.stdout main()