def __init__(self, path, transport): self.lock_file = None self.path = path self.lock_path = path + '.write-lock' self.transport = transport try: # RBC 20060103 FIXME should we be using private methods here ? abspath = transport._remote_path(self.lock_path) self.lock_file = transport._sftp_open_exclusive(abspath) except FileExists: raise LockError('File %r already locked' % (self.path, ))
def _assert_not_locked(self): if self._lock_mode: raise LockError("%s is already locked in mode %r" % (self, self._lock_mode))
def __init__(self, path, transport): self.path = path self.transport = transport if self.path in self.transport._locks: raise LockError('File %r already locked' % (self.path, )) self.transport._locks[self.path] = self
def _assert_locked(self): if not self._lock_mode: raise LockError("%s is not locked" % (self, ))