diff options
author | Till Maas <opensource@till.name> | 2010-03-06 18:25:05 +0100 |
---|---|---|
committer | Till Maas <opensource@till.name> | 2010-03-06 18:25:05 +0100 |
commit | fac98a9662153d47b4d9fb2e971d6ebd6768cc51 (patch) | |
tree | e29337ae83d29d3cc15aeaba578e752864245853 /cnucnu | |
parent | 50d0d299ef8e0362f5eb8c15ff9dd37e10115546 (diff) | |
download | cnucnu-fac98a9662153d47b4d9fb2e971d6ebd6768cc51.tar.gz cnucnu-fac98a9662153d47b4d9fb2e971d6ebd6768cc51.tar.xz cnucnu-fac98a9662153d47b4d9fb2e971d6ebd6768cc51.zip |
package_list: use end "list of packages" marker
Diffstat (limited to 'cnucnu')
-rwxr-xr-x | cnucnu/package_list.py | 22 |
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 |