Rename folder.isuidvalidityok()

Use nicer name folder.check_uidvalidity() and improve code documentation

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
This commit is contained in:
Sebastian Spaeth 2012-01-19 11:51:53 +01:00
parent 297a618441
commit eb616da602
2 changed files with 13 additions and 9 deletions

View File

@ -398,16 +398,17 @@ def syncfolder(account, remotefolder, quick):
localfolder.cachemessagelist()
ui.messagelistloaded(localrepos, localfolder, localfolder.getmessagecount())
# If either the local or the status folder has messages and there is a UID
# validity problem, warn and abort. If there are no messages, UW IMAPd
# loses UIDVALIDITY. But we don't really need it if both local folders are
# empty. So, in that case, just save it off.
# If either the local or the status folder has messages and
# there is a UID validity problem, warn and abort. If there are
# no messages, UW IMAPd loses UIDVALIDITY. But we don't really
# need it if both local folders are empty. So, in that case,
# just save it off.
if localfolder.getmessagecount() or statusfolder.getmessagecount():
if not localfolder.isuidvalidityok():
if not localfolder.check_uidvalidity():
ui.validityproblem(localfolder)
localrepos.restore_atime()
return
if not remotefolder.isuidvalidityok():
if not remotefolder.check_uidvalidity():
ui.validityproblem(remotefolder)
localrepos.restore_atime()
return

View File

@ -109,18 +109,21 @@ class BaseFolder(object):
basename = re.sub('(^|\/)\.$','\\1dot', basename)
return basename
def isuidvalidityok(self):
def check_uidvalidity(self):
"""Tests if the cached UIDVALIDITY match the real current one
If required it saves the UIDVALIDITY value. In this case the
function is not threadsafe. So don't attempt to call it from
concurrent threads."""
concurrent threads.
:returns: Boolean indicating the match. Returns True in case it
implicitely saved the UIDVALIDITY."""
if self.get_saveduidvalidity() != None:
return self.get_saveduidvalidity() == self.get_uidvalidity()
else:
self.saveuidvalidity()
return 1
return True
def _getuidfilename(self):
return os.path.join(self.repository.getuiddir(),