X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils.py;h=54ab406be8cb505f45513a156d66e6e04854a0cb;hb=e8eacb00ee41d7ab974ba913fff40e5c082b8e1a;hp=40e36cd9c6a1c79111550a616a72ccb095e6320c;hpb=69546c1e264e3333b49830c8f80dc8ab025929f0;p=dak.git diff --git a/utils.py b/utils.py index 40e36cd9..54ab406b 100644 --- a/utils.py +++ b/utils.py @@ -1,6 +1,6 @@ # Utility functions # Copyright (C) 2000 James Troup -# $Id: utils.py,v 1.4 2000-11-27 03:15:26 troup Exp $ +# $Id: utils.py,v 1.8 2000-12-13 03:18:50 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 @@ -115,7 +115,7 @@ def build_file_list(changes, dsc): # What a mess. FIXME if string.find(section, '/') != -1: component = string.split(section, '/')[0] - if string.lower(component) == "non-us" and string.count(section, '/') > 1: + if string.lower(component) == "non-us" and string.count(section, '/') > 0: s = string.split(section, '/')[1] if s == "main" or s == "non-free" or s == "contrib": # Avoid e.g. non-US/libs component = string.split(section, '/')[0]+ '/' + string.split(section, '/')[1] @@ -188,6 +188,9 @@ def send_mail (message, filename): def poolify (source, component): if component != "": component = component + '/'; + # FIXME: this is nasty + component = string.lower(component); + component = string.replace(component, 'non-us/', 'non-US/'); if source[:3] == "lib": return component + source[:4] + '/' + source + '/' else: @@ -196,7 +199,7 @@ def poolify (source, component): ###################################################################################### def move (src, dest): - if os.path.exists(dest) and stat.S_ISDIR(os.stat(dest)[stat.ST_MODE]): + if os.path.exists(dest) and os.path.isdir(dest): dest_dir = dest; else: dest_dir = os.path.dirname(dest); @@ -206,11 +209,13 @@ def move (src, dest): os.umask(umask); #print "Moving %s to %s..." % (src, dest); shutil.copy2(src, dest); + if os.path.exists(dest) and os.path.isdir(dest): + dest = dest + '/' + os.path.basename(src); os.chmod(dest, 0664); os.unlink(src); def copy (src, dest): - if os.path.exists(dest) and stat.S_ISDIR(os.stat(dest)[stat.ST_MODE]): + if os.path.exists(dest) and os.path.isdir(dest): dest_dir = dest; else: dest_dir = os.path.dirname(dest); @@ -220,6 +225,8 @@ def copy (src, dest): os.umask(umask); #print "Copying %s to %s..." % (src, dest); shutil.copy2(src, dest); + if os.path.exists(dest) and os.path.isdir(dest): + dest = dest + '/' + os.path.basename(src); os.chmod(dest, 0664); ###################################################################################### @@ -252,3 +259,12 @@ def which_conf_file (): ###################################################################################### +# Escape characters which have meaning to SQL's regex comparison operator ('~') +# (woefully incomplete) + +def regex_safe (s): + s = string.replace(s, '+', '\\\\+'); + return s + +###################################################################################### +