From 0966be903d19dd9999568de3baa3f9815e1e4369 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 20 Oct 2011 21:07:34 -0700 Subject: UpdateChangeLog: split out get_committer_name() --- pym/repoman/utilities.py | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) (limited to 'pym/repoman') diff --git a/pym/repoman/utilities.py b/pym/repoman/utilities.py index c1a9da84a..0ecc92cc7 100644 --- a/pym/repoman/utilities.py +++ b/pym/repoman/utilities.py @@ -16,6 +16,7 @@ __all__ = [ "format_qa_output", "get_commit_message_with_editor", "get_commit_message_with_stdin", + "get_committer_name", "have_profile_dir", "parse_metadata_use", "UnknownHerdsError", @@ -588,30 +589,34 @@ def update_copyright(fn_path, year, pretend): util.apply_stat_permissions(fn_path, fn_stat) fn_hdl.close() -def UpdateChangeLog(pkgdir, category, package, new, removed, changed, \ - msg, pretend, repodir): +def get_committer_name(env=None): + """Generate a committer string like echangelog does.""" + if env is None: + env = os.environ + if 'GENTOO_COMMITTER_NAME' in env and \ + 'GENTOO_COMMITTER_EMAIL' in env: + user = '%s <%s>' % (env['GENTOO_COMMITTER_NAME'], + env['GENTOO_COMMITTER_EMAIL']) + elif 'GENTOO_AUTHOR_NAME' in env and \ + 'GENTOO_AUTHOR_EMAIL' in env: + user = '%s <%s>' % (env['GENTOO_AUTHOR_NAME'], + env['GENTOO_AUTHOR_EMAIL']) + elif 'ECHANGELOG_USER' in env: + user = env['ECHANGELOG_USER'] + else: + pwd_struct = pwd.getpwuid(os.getuid()) + gecos = pwd_struct.pw_gecos.split(',')[0] # bug #80011 + user = '%s <%s@gentoo.org>' % (gecos, pwd_struct.pw_name) + return user + +def UpdateChangeLog(pkgdir, user, msg, skel_path, category, package, + new=(), removed=(), changed=(), pretend=False): """ Write an entry to an existing ChangeLog, or create a new one. Updates copyright year on changed files, and updates the header of ChangeLog with the contents of skel.ChangeLog. """ - # figure out who to write as - if 'GENTOO_COMMITTER_NAME' in os.environ and \ - 'GENTOO_COMMITTER_EMAIL' in os.environ: - user = '%s <%s>' % (os.environ['GENTOO_COMMITTER_NAME'], \ - os.environ['GENTOO_COMMITTER_EMAIL']) - elif 'GENTOO_AUTHOR_NAME' in os.environ and \ - 'GENTOO_AUTHOR_EMAIL' in os.environ: - user = '%s <%s>' % (os.environ['GENTOO_AUTHOR_NAME'], \ - os.environ['GENTOO_AUTHOR_EMAIL']) - elif 'ECHANGELOG_USER' in os.environ: - user = os.environ['ECHANGELOG_USER'] - else: - pwd_struct = pwd.getpwuid(os.getuid()) - gecos = pwd_struct.pw_gecos.split(',')[0] # bug #80011 - user = '%s <%s@gentoo.org>' % (gecos, pwd_struct.pw_name) - if '