X-Git-Url: https://projects.mako.cc/source/mw/blobdiff_plain/0ed615781d6e53236fe84cc5c9896956dea5a067..d49bb0b4917d905651356996988e7f82ead50101:/src/mw/metadir.py diff --git a/src/mw/metadir.py b/src/mw/metadir.py index abcd687..0549c83 100644 --- a/src/mw/metadir.py +++ b/src/mw/metadir.py @@ -1,6 +1,6 @@ ### # mw - VCS-like nonsense for MediaWiki websites -# Copyright (C) 2010 Ian Weller +# Copyright (C) 2011 Ian Weller and others # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -127,19 +127,25 @@ class Metadir(object): def pages_get_rv_list(self, pageid): pagefile = os.path.join(self.location, 'cache', 'pages', str(pageid['id'])) - fd = file(pagefile, 'r') - pagedata = json.loads(fd.read()) - rvs = [int(x) for x in pagedata.keys()] - rvs.sort() - return rvs + if os.path.exists(pagefile): + fd = file(pagefile, 'r') + pagedata = json.loads(fd.read()) + rvs = [int(x) for x in pagedata.keys()] + rvs.sort() + return rvs + else: + return [None,] def pages_get_rv(self, pageid, rvid): pagefile = os.path.join(self.location, 'cache', 'pages', str(pageid['id'])) - fd = file(pagefile, 'r') - pagedata = json.loads(fd.read()) - return pagedata[str(rvid)] - + if os.path.exists(pagefile): + fd = file(pagefile, 'r') + pagedata = json.loads(fd.read()) + return pagedata[str(rvid)] + else: + return None + def working_dir_status(self, files=None): status = {} check = [] @@ -167,7 +173,9 @@ class Metadir(object): if (len(cur_content) != 0) and (cur_content[-1] == '\n'): cur_content = cur_content[:-1] if cur_content != rv['content']: - status[os.path.relpath(full, self.root)] = 'U' + status[os.path.relpath(full, self.root)] = 'M' # modified + else: + status[os.path.relpath(full, self.root)] = 'C' # clean return status def diff_rv_to_working(self, pagename, oldrvid=0, newrvid=0):