Cleanup code
authorDavid Bartley <dtbartle@csclub.uwaterloo.ca>
Sat, 10 Nov 2007 08:58:28 +0000 (03:58 -0500)
committerDavid Bartley <dtbartle@csclub.uwaterloo.ca>
Sat, 10 Nov 2007 09:03:51 +0000 (04:03 -0500)
scripts/xsltproc.py

index 07371aa..7b086d5 100755 (executable)
@@ -1,10 +1,11 @@
 #!/usr/bin/python2.4
-import os, sys, re, urllib, libxml2, libxslt
+import os, sys, urllib, libxml2, libxslt
 
 #
 # globals
 #
 cscUri = "http://csclub.uwaterloo.ca/xsltproc"
+terms = ["Winter", "Spring", "Fall"]
 
 #
 # csc:encode-for-uri
@@ -20,26 +21,19 @@ def cscEncodeForUri(ctx, str):
 def cscTerm(ctx, str):
     if type(str) == type([]):
         str = libxml2.xmlNode(str[0]).getContent()
-
     try:
-        # YYYY-MM-DD
-        (year, month, day) = re.findall("^([0-9]+)-([0-9]+)-([0-9]+)$", str)[0]
-        month = int(month)
-        if month >= 1 and month <= 4:
-            return "Winter " + year
-        elif month >= 5 and month <= 8:
-            return "Spring " + year
-        elif month >= 9 and month <= 12:
-            return "Fall " + year
-        else:
-            print "Invalid month '" + month + "'"
+        [year, month, day] = str.split("-")
+        term = (int(month) - 1) / 4
+        return terms[term] + " " + year
     except:
-        print "Invalid term '" + str + "'"
+        print "Invalid term '%s'" % str
 
 #
 # csc:email
 #
 def cscEmail(ctx, str):
+    if type(str) == type([]):
+        str = libxml2.xmlNode(str[0]).getContent()
     return "_EMAIL_TODO_"
 
 #
@@ -58,11 +52,12 @@ rawParams = sys.argv[4:]
 # check params
 params = {}
 for p in rawParams:
-    p = p.split("=")
-    if len(p) == 1:
-        print "Missing value for parameter " + p[0]
+    try:
+        [key, val] = p.split("=")
+        params[key] = "'" + val + "'"
+    except:
+        print "Missing value for parameter '%s'" % p
         sys.exit(1)
-    params[p[0]] = "'" + p[1] + "'"
 
 try:
     # register extensions
@@ -77,5 +72,5 @@ try:
     style.saveResultToFilename(outFile, res, 0)
 
 except:
-    print "Unexpected error:", sys.exc_info()[0]
+    print "Unexpected error: '%s'" % sys.exc_info()[0]
     sys.exit(1)