X-Git-Url: https://git.decadent.org.uk/gitweb/?p=dak.git;a=blobdiff_plain;f=daklib%2Ftextutils.py;h=b4646759a81b77dae865bc5e950c727e15778b18;hp=3cbcec739cb9e803ecb496550d3a0def64b45b86;hb=391f5ec09a119131dc846b796ca791f4cecc69e4;hpb=d5c5b6de82b57502530c135cd2ff4d0f23ed0767 diff --git a/daklib/textutils.py b/daklib/textutils.py index 3cbcec73..b4646759 100644 --- a/daklib/textutils.py +++ b/daklib/textutils.py @@ -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()