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))