# vi: encoding=utf-8 ts=8 sts=4 sw=4 et import os import socket import time import config privsock=os.environ['HOME']+'/pld-ftp-admin/var/privsock' pubsock=config.value['pubsock'] if os.environ.has_key('HOME'): socketname=privsock else: socketname=pubsock def connect(name=None): global sock sock=socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.connect(socketname) if name: sock.send('name %s\0' % name) def lock(path, hard=False): def dolock(): if hard: sock.send('lckh %s\0' % path) else: sock.send('lcks %s\0' % path) return sock.recv(20) for i in range(3): retcode=dolock() if retcode=="OK": return True elif retcode=="HARD": return False if i!=2: time.sleep(1) return False def unlock(path): sock.send('ulck %s\0' % path) def log(msg): sock.send('log1 %s\0' % msg) def name(newname): sock.send('name %s\0' % newname)