# 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.17 2001-03-02 02:46:57 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
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";
######################################################################################
+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 ('~')