# Utility functions
# Copyright (C) 2000 James Troup <james@nocrew.org>
-# $Id: utils.py,v 1.5 2000-11-30 04:19:30 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
# 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]
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:
######################################################################################
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);
os.umask(umask);
#print "Moving %s to %s..." % (src, dest);
shutil.copy2(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 = 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);
os.umask(umask);
#print "Copying %s to %s..." % (src, dest);
shutil.copy2(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 = dest + '/' + os.path.basename(src);
os.chmod(dest, 0664);
######################################################################################
+# Escape characters which have meaning to SQL's regex comparison operator ('~')
+# (woefully incomplete)
+
+def regex_safe (s):
+ s = string.replace(s, '+', '\\\\+');
+ return s
+
+######################################################################################
+