# Utility functions
# Copyright (C) 2000 James Troup <james@nocrew.org>
-# $Id: utils.py,v 1.8 2000-12-13 03:18:50 troup Exp $
+# $Id: utils.py,v 1.11 2001-01-16 21:52:37 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
no_files_exc = "No Files: field in .dsc file.";
cant_open_exc = "Can't read file.";
unknown_hostname_exc = "Unknown hostname";
+cant_overwrite_exc = "Permission denied; can't overwrite existent file."
######################################################################################
break
s = string.split(i)
section = priority = component = ""
- if dsc != "":
- (md5, size, name) = s
- else:
- (md5, size, section, priority, name) = s
+ try:
+ if dsc != "":
+ (md5, size, name) = s
+ else:
+ (md5, size, section, priority, name) = s
+ except ValueError:
+ raise changes_parse_error_exc, i
if section == "": section = "-"
if priority == "": priority = "-"
os.makedirs(dest_dir, 02775);
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);
+ # Check for overwrite permission on existent files
+ if os.path.exists(dest) and not os.access(dest, os.W_OK):
+ raise cant_overwrite_exc
+ shutil.copy2(src, dest);
os.chmod(dest, 0664);
os.unlink(src);
os.makedirs(dest_dir, 02775);
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);
+ if os.path.exists(dest) and not os.access(dest, os.W_OK):
+ raise cant_overwrite_exc
+ shutil.copy2(src, dest);
os.chmod(dest, 0664);
######################################################################################
######################################################################################
+def size_type (c):
+ t = " b";
+ if c > 10000:
+ c = c / 1000;
+ t = " Kb";
+ if c > 10000:
+ c = c / 1000;
+ t = " Mb";
+ return ("%d%s" % (c, t))