r129 - in branches/rewrite: etc src
Nat Budin
partial-mirror-devel@lists.alioth.debian.org
Fri, 02 Jul 2004 06:32:48 -0600
Author: natbudin-guest
Date: Fri Jul 2 06:32:48 2004
New Revision: 129
Modified:
branches/rewrite/etc/debpartial-mirror.conf
branches/rewrite/src/Config.py
Log:
Do real parsing of variable config values
Do real parsing of variable config values.
Modified: branches/rewrite/etc/debpartial-mirror.conf
==============================================================================
--- branches/rewrite/etc/debpartial-mirror.conf (original)
+++ branches/rewrite/etc/debpartial-mirror.conf Fri Jul 2 06:32:48 2004
@@ -68,3 +68,5 @@
[my_custom_debian_distro]
backends = sarge sid_debian-installer local_custom_packages
name = sarge-with-sids-installer-and-some-other-stuff
+filter_sarge = all
+filter_xyzzy = blah
Modified: branches/rewrite/src/Config.py
==============================================================================
--- branches/rewrite/src/Config.py (original)
+++ branches/rewrite/src/Config.py Fri Jul 2 06:32:48 2004
@@ -86,11 +86,21 @@
# check the allowed_in_backend keys with
# @VARIABLES@
if allowed_key.find('@') != -1:
- nonvar_length = allowed_key.find('@')
- print allowed_key[:nonvar_length], item[:nonvar_length]
- if allowed_key[:nonvar_length] == item[:nonvar_length]:
+ left_length = allowed_key.find('@')
+ right_length = allowed_key[left_length+1:].find('@') + left_length + 2
+ print allowed_key[:left_length], item[:left_length]
+ if (allowed_key[:left_length] == item[:left_length]
+ and allowed_key[right_length:] == item[right_length:]):
# found it!
- break
+ variable = allowed_key[left_length:right_length]
+ match = item[left_length:len(item)-(len(allowed_key)-right_length)]
+ if variable == '@BACKEND@':
+ if match in conf.sections():
+ break
+ else:
+ warning("Config value [%s] matches unknown variable [%s]. This is probably a bug in this program, please report it!" % (item, variable))
+ # go on anyway, though
+ break
else:
debug("[%s] is not allowed in a backend section (it was found in [%s])."
% (item, section))