# Utility functions
# Copyright (C) 2000 James Troup <james@nocrew.org>
-# $Id: utils.py,v 1.13 2001-01-28 09:06:44 troup Exp $
+# $Id: utils.py,v 1.16 2001-03-02 02:45:01 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
# 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, re, socket, shutil, stat, string, sys, tempfile, apt_pkg
re_comments = re.compile(r"\#.*")
re_no_epoch = re.compile(r"^\d*\:")
re_no_revision = re.compile(r"\-[^-]*$")
re_arch_from_filename = re.compile(r"/binary-[^/]+/")
re_extract_src_version = re.compile (r"(\S+)\s*\((.*)\)")
+re_isadeb = re.compile (r'.*\.u?deb$');
+re_issource = re.compile (r'(.+)_(.+?)\.(orig\.tar\.gz|diff\.gz|tar\.gz|dsc)');
changes_parse_error_exc = "Can't parse line in .changes file";
invalid_dsc_format_exc = "Invalid .dsc file";
######################################################################################
+# Obsoleted by python >= 1.6
+
+def str_isnum (s):
+ for c in s:
+ if c not in string.digits:
+ return 0;
+ return 1;
+
+######################################################################################
+
# What a mess. FIXME
def extract_component_from_section(section):
component = "";
changes = {};
lines = changes_in.readlines();
+ if lines == []:
+ raise changes_parse_error_exc, "[Empty changes file]";
+
# Reindex by line number so we can easily verify the format of
# .dsc files...
index = 0;
else:
raise unknown_hostname_exc, archive
+# FIXME: if the above isn't great, this can't be either :)
+
+def which_apt_conf_file ():
+ archive = where_am_i ();
+ if archive == 'non-US':
+ return '/org/non-us.debian.org/katie/apt.conf-non-US';
+ elif archive == 'ftp-master':
+ return '/org/ftp.debian.org/katie/apt.conf';
+ else:
+ raise unknown_hostname_exc, archive
+
######################################################################################
# Escape characters which have meaning to SQL's regex comparison operator ('~')