X-Git-Url: https://projects.mako.cc/source/mw/blobdiff_plain/e0123b0e3e4be7c79d8c9e6d770c0a133a73e75f..d49bb0b4917d905651356996988e7f82ead50101:/src/mw/metadir.py diff --git a/src/mw/metadir.py b/src/mw/metadir.py index 06b428d..0549c83 100644 --- a/src/mw/metadir.py +++ b/src/mw/metadir.py @@ -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)] = 'M' + 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):