X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils.py;h=33b7780516a382120dd6dbb0ca04e077773ca9a3;hb=e2966876862103ac658e163683c0216da272419f;hp=802187e0ca4fd7f0f4c39295197eb37a622e4a0c;hpb=2f89a0da97c006d190ff6272cb0cb8683fe40d37;p=dak.git diff --git a/utils.py b/utils.py index 802187e0..33b77805 100644 --- a/utils.py +++ b/utils.py @@ -1,6 +1,6 @@ # Utility functions # Copyright (C) 2000 James Troup -# $Id: utils.py,v 1.19 2001-03-24 03:29:38 troup Exp $ +# $Id: utils.py,v 1.22 2001-05-17 01:17:54 troup Exp $ # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -import commands, os, re, socket, shutil, stat, string, sys, tempfile +import commands, os, pwd, re, socket, shutil, stat, string, sys, tempfile re_comments = re.compile(r"\#.*") re_no_epoch = re.compile(r"^\d*\:") @@ -148,6 +148,7 @@ def parse_changes(filename, dsc_whitespace_rules): if slf: field = string.lower(slf.groups()[0]); changes[field] = slf.groups()[1]; + first = 1; continue; mld = re.match(r'^ \.$', line); if mld: @@ -155,6 +156,9 @@ def parse_changes(filename, dsc_whitespace_rules): continue; mlf = re.match(r'^\s(.*)', line); if mlf: + if first == 1 and changes[field] != "": + changes[field] = changes[field] + '\n'; + first = 0; changes[field] = changes[field] + mlf.groups()[0] + '\n'; continue; error = error + line; @@ -363,9 +367,25 @@ def regex_safe (s): # Perform a substition of template def TemplateSubst(Map,Template): - for x in Map.keys(): - Template = string.replace(Template,x,Map[x]); - return Template; + for x in Map.keys(): + Template = string.replace(Template,x,Map[x]); + return Template; + +###################################################################################### + +def fubar(msg, exit_code=1): + sys.stderr.write("E: %s\n" % (msg)); + sys.exit(exit_code); + +def warn(msg): + sys.stderr.write("W: %s\n" % (msg)); + +###################################################################################### + +# Returns the user name with a laughable attempt at rfc822 conformancy +# (read: removing stray periods). +def whoami (): + return string.replace(string.split(pwd.getpwuid(os.getuid())[4],',')[0], '.', ''); ######################################################################################