1.1 --- a/convert.py Sat Mar 31 01:54:42 2012 +0200
1.2 +++ b/convert.py Sat Mar 31 02:05:33 2012 +0200
1.3 @@ -1,6 +1,6 @@
1.4 #!/usr/bin/env python
1.5
1.6 -from os import mkdir, makedirs
1.7 +from os import listdir, mkdir, makedirs
1.8 from os.path import exists, extsep, join, splitext
1.9 from zipfile import ZipFile
1.10 from cStringIO import StringIO
1.11 @@ -44,7 +44,7 @@
1.12
1.13 mkdirs(join(pages_dir, pageid))
1.14
1.15 - append(join(pages_dir, pageid, "import"), "%s|AddRevision|%s|%s|%s|%s\n" % (
1.16 + append(join(pages_dir, pageid, "manifest"), "%s|AddRevision|%s|%s|%s|%s\n" % (
1.17 content["version"],
1.18 versionfile,
1.19 content["title"],
1.20 @@ -117,6 +117,20 @@
1.21 finally:
1.22 f.close()
1.23
1.24 +def sort_manifest(filename):
1.25 +
1.26 + "Sort the manifest given in 'filename' according to revision."
1.27 +
1.28 + f = open(filename, "r")
1.29 + try:
1.30 + lines = [x.split("|") for x in f.readlines()]
1.31 + lines.sort(cmp=lambda x, y: cmp(int(x[0]), int(y[0])))
1.32 + lines = ["|".join(x[1:]) for x in lines]
1.33 + finally:
1.34 + f.close()
1.35 +
1.36 + write(filename, "".join(lines))
1.37 +
1.38 if __name__ == "__main__":
1.39 import sys
1.40
1.41 @@ -162,4 +176,10 @@
1.42 # Tidy up the import manifests, sorting each of them by revision and
1.43 # finalising them.
1.44
1.45 + pages_dir = join(directory, "pages")
1.46 +
1.47 + for pageid in listdir(pages_dir):
1.48 + manifest = join(pages_dir, pageid, "manifest")
1.49 + sort_manifest(manifest)
1.50 +
1.51 # vim: tabstop=4 expandtab shiftwidth=4