X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils.py;h=11f0c475efd66bc114d44927dd92fcf4ee607e61;hb=a8dadcd66f0deaadb258a7c220856dc2c4522fc7;hp=0422e08d3de7abc1c1c102eda754ad5684463a5e;hpb=8a29f4c7e14d5adc1e45ecb22afea765ec2eecda;p=dak.git diff --git a/utils.py b/utils.py index 0422e08d..11f0c475 100644 --- a/utils.py +++ b/utils.py @@ -1,6 +1,6 @@ # Utility functions # Copyright (C) 2000 James Troup -# $Id: utils.py,v 1.16 2001-03-02 02:45:01 troup Exp $ +# $Id: utils.py,v 1.21 2001-04-13 20:11:20 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, apt_pkg +import commands, os, pwd, re, socket, shutil, stat, string, sys, tempfile re_comments = re.compile(r"\#.*") re_no_epoch = re.compile(r"^\d*\:") @@ -57,8 +57,6 @@ def our_raw_input(): ###################################################################################### -# Obsoleted by python >= 1.6 - def str_isnum (s): for c in s: if c not in string.digits: @@ -358,10 +356,35 @@ def which_apt_conf_file (): def regex_safe (s): s = string.replace(s, '+', '\\\\+'); + s = string.replace(s, '.', '\\\\.'); return s ###################################################################################### +# Perform a substition of template +def TemplateSubst(Map,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], '.', ''); + +###################################################################################### + def size_type (c): t = " b"; if c > 10000: