X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils.py;h=f9d40b0c466453913080827fb597bb89b5e44a94;hb=c1c7681bf43c58dd5cf34d1c1814a75ae594688b;hp=2de33f1ea051b95a9266b15e03786973fa311863;hpb=5f1c041b6360046ba2a6cdd3fa41ddaac036d7a3;p=dak.git diff --git a/utils.py b/utils.py index 2de33f1e..f9d40b0c 100644 --- a/utils.py +++ b/utils.py @@ -1,6 +1,6 @@ # Utility functions # Copyright (C) 2000, 2001 James Troup -# $Id: utils.py,v 1.32 2001-09-17 11:18:37 troup Exp $ +# $Id: utils.py,v 1.34 2001-09-27 01:24:15 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 @@ -53,6 +53,11 @@ valid_components = { "non-free": "" }; +default_config = "/etc/katie/katie.conf"; +default_apt_config = "/etc/katie/apt.conf"; +DefaultCnf = apt_pkg.newConfiguration(); +apt_pkg.ReadConfigFileISC(DefaultCnf,default_config); + ###################################################################################### def open_file(filename, mode='r'): @@ -62,6 +67,10 @@ def open_file(filename, mode='r'): raise cant_open_exc, filename return f +def touch_file(filename): + fd = os.open(filename, os.O_RDONLY | os.O_CREAT); + os.close(fd); + ###################################################################################### # From reportbug @@ -354,42 +363,27 @@ def copy (src, dest, overwrite = 0): ###################################################################################### -# FIXME: this is inherently nasty. Can't put this mapping in a conf -# file because the conf file depends on the archive.. doh. Maybe an -# archive independent conf file is needed. - def where_am_i (): res = socket.gethostbyaddr(socket.gethostname()); - if res[0] == 'pandora.debian.org': - return 'non-US'; - elif res[0] == 'auric.debian.org': - return 'ftp-master'; + database_hostname = DefaultCnf.get("Config::" + res[0] + "::DatabaseHostname"); + if database_hostname: + return database_hostname; else: - raise unknown_hostname_exc, res; - -###################################################################################### - -# FIXME: this isn't great either. + return res[0]; def which_conf_file (): - archive = where_am_i (); - if archive == 'non-US': - return '/org/non-us.debian.org/katie/katie.conf-non-US'; - elif archive == 'ftp-master': - return '/org/ftp.debian.org/katie/katie.conf'; + res = socket.gethostbyaddr(socket.gethostname()); + if DefaultCnf.get("Config::" + res[0] + "::KatieConfig"): + return DefaultCnf["Config::" + res[0] + "::KatieConfig"] else: - raise unknown_hostname_exc, archive - -# FIXME: if the above isn't great, this can't be either :) + return default_config; 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'; + res = socket.gethostbyaddr(socket.gethostname()); + if DefaultCnf.get("Config::" + res[0] + "::AptConfig"): + return DefaultCnf["Config::" + res[0] + "::AptConfig"] else: - raise unknown_hostname_exc, archive + return default_apt_config; ######################################################################################