X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fdbconn.py;h=f314b3f7ef37a2defaf51c6b127c269265bac648;hb=3c14e39afe707f650e3aae38f70c0b91dbd14573;hp=48dfd0d8b205c840188f9b5bb77d6336e13d0fb9;hpb=0335cafe7912f53d7a1b8c9f4b6e77071318e921;p=dak.git diff --git a/daklib/dbconn.py b/daklib/dbconn.py index 48dfd0d8..f314b3f7 100755 --- a/daklib/dbconn.py +++ b/daklib/dbconn.py @@ -2635,6 +2635,14 @@ __all__.append('import_metadata_into_db') ################################################################################ +def split_uploaders(uploaders_list): + ''' + Split the Uploaders field into the individual uploaders and yield each of + them. Beware: email addresses might contain commas. + ''' + for uploader in uploaders_list.replace(">, ", ">\t").split("\t"): + yield uploader.strip() + @session_wrapper def add_dsc_to_db(u, filename, session=None): entry = u.pkg.files[filename] @@ -2725,8 +2733,7 @@ def add_dsc_to_db(u, filename, session=None): session.refresh(source) source.uploaders = [source.maintainer] if u.pkg.dsc.has_key("uploaders"): - for up in u.pkg.dsc["uploaders"].replace(">, ", ">\t").split("\t"): - up = up.strip() + for up in split_uploaders(u.pkg.dsc["uploaders"]): source.uploaders.append(get_or_set_maintainer(up, session)) session.flush()