summaryrefslogtreecommitdiffstats
path: root/cnucnu
diff options
context:
space:
mode:
authorTill Maas <opensource@till.name>2010-03-06 18:25:05 +0100
committerTill Maas <opensource@till.name>2010-03-06 18:25:05 +0100
commitfac98a9662153d47b4d9fb2e971d6ebd6768cc51 (patch)
treee29337ae83d29d3cc15aeaba578e752864245853 /cnucnu
parent50d0d299ef8e0362f5eb8c15ff9dd37e10115546 (diff)
downloadcnucnu-fac98a9662153d47b4d9fb2e971d6ebd6768cc51.tar.gz
cnucnu-fac98a9662153d47b4d9fb2e971d6ebd6768cc51.tar.xz
cnucnu-fac98a9662153d47b4d9fb2e971d6ebd6768cc51.zip
package_list: use end "list of packages" marker
Diffstat (limited to 'cnucnu')
-rwxr-xr-xcnucnu/package_list.py22
1 files changed, 15 insertions, 7 deletions
diff --git a/cnucnu/package_list.py b/cnucnu/package_list.py
index b0fb2bf..7f048af 100755
--- a/cnucnu/package_list.py
+++ b/cnucnu/package_list.py
@@ -301,16 +301,24 @@ class PackageList:
page_text = w.get_pagesource(mediawiki["page"])
import re
- package_line = re.compile(' \\* ([^ ]*) (.*) ([^ \n]*)\n')
-
- match = package_line.findall(page_text)
+ package_line = re.compile(' \\* ([^ ]*) (.*) ([^ ]*)')
packages = []
repo.package_list = self
-
- for package in match:
- (name, regex, url) = package
- packages.append(Package(name, regex, url, repo, cvs, br))
+
+ inside_package_list = False
+ for line in page_text.splitlines():
+ if not inside_package_list:
+ if line == "== List Of Packages ==":
+ inside_package_list = True
+ else:
+ match = package_line.match(line)
+ if match:
+ (name, regex, url) = match.groups()
+ packages.append(Package(name, regex, url, repo, cvs, br))
+ elif line == "<!-- END LIST OF PACKAGES -->":
+ inside_package_list = False
+ break
self.packages = packages
self.append = self.packages.append