]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/textutils.py
Add by-hash support
[dak.git] / daklib / textutils.py
index 3cbcec739cb9e803ecb496550d3a0def64b45b86..b4646759a81b77dae865bc5e950c727e15778b18 100644 (file)
@@ -34,6 +34,8 @@ def force_to_utf8(s):
     Forces a string to UTF-8.  If the string isn't already UTF-8,
     it's assumed to be ISO-8859-1.
     """
+    if isinstance(s, unicode):
+        return s
     try:
         unicode(s, 'utf-8')
         return s
@@ -88,7 +90,7 @@ def fix_maintainer(maintainer):
     else:
         m = re_parse_maintainer.match(maintainer)
         if not m:
-            raise ParseMaintError, "Doesn't parse as a valid Maintainer field."
+            raise ParseMaintError("Doesn't parse as a valid Maintainer field.")
         name = m.group(1)
         email = m.group(2)
 
@@ -106,8 +108,13 @@ def fix_maintainer(maintainer):
         rfc2047_maint = "%s <%s>" % (rfc2047_name, email)
 
     if email.find("@") == -1 and email.find("buildd_") != 0:
-        raise ParseMaintError, "No @ found in email address part."
+        raise ParseMaintError("No @ found in email address part.")
 
     return (rfc822_maint, rfc2047_maint, name, email)
 
 ################################################################################
+
+def split_uploaders(field):
+    import re
+    for u in re.sub(">[ ]*,", ">\t", field).split("\t"):
+        yield u.strip()