import time
import config
-privsock=os.environ['HOME']+'/pld-ftp-admin/var/privsock'
pubsock=config.value['pubsock']
if os.environ.has_key('HOME'):
+ privsock=os.environ['HOME']+'/pld-ftp-admin/var/privsock'
socketname=privsock
else:
socketname=pubsock
-def connect():
+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 login_passwd(login, passwd):
+ 'Return cookie if ok'
+ sock.send('linp %s\n%s\0' % (login, passwd))
+ retval=sock.recv(256)
+ if retval=='FAIL':
+ return ''
+ else:
+ return retval[3:]
+
+def login_cookie(cookie):
+ 'Return login if ok'
+ sock.send('linc %s\0' % cookie)
+ retval=sock.recv(256)
+ if retval=='FAIL':
+ return ''
+ else:
+ return retval[3:]
+
+def logout():
+ sock.send('lout\0')
def lock(path, hard=False):
def dolock():
def unlock(path):
sock.send('ulck %s\0' % path)
+def log(msg):
+ sock.send('log1 %s\0' % msg)
+
+def gettree():
+ sock.send('gett\0')
+ pkgs=[]
+ len=int(sock.recv(6))
+ if len:
+ for pkg in sock.recv(len).split('\0'):
+ tmp=pkg.split('\n')
+ pkgs.append((tmp[0], int(tmp[1]), int(tmp[2])))
+ return pkgs