def sync(self): self._updateFileName(self._rev) s = Connector().stat(self._rev) fileHash = s.hash('FILE') if fileHash != self._hashFile(): self._syncToFilesystem() os.chmod(self._path, stat.S_IREAD)
def __update(self): revs = Connector().lookup_doc(self.__doc).revs() if self._rev in revs: return # FIXME: prompt if more than one version self._rev = revs[0] s = Connector().stat(self._rev) # FIXME: META and/or FILE part may be missing metaHash = s.hash('META') fileHash = s.hash('FILE') if metaHash != self.__metaHash: self.__metaHash = metaHash self._updateFileName() if fileHash != self.__fileHash: if self.__fileHash is None: if self._hashFile() != fileHash: self._syncToFilesystem() else: self._syncToFilesystem() self.__fileHash = fileHash