Exemple #1
0
	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)
Exemple #2
0
	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