]> git.pld-linux.org Git - projects/pld-ftp-admin.git/blobdiff - modules/ftpio.py
- partial support for showing if packages is marked for mv/rm
[projects/pld-ftp-admin.git] / modules / ftpio.py
index 2659d6eb74c5f262be13cc8aa14af89cf62800c8..194d2a59d50dbec6ecad507a50d8b7bfab166bb2 100644 (file)
@@ -5,18 +5,41 @@ 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'):
+    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():
@@ -38,4 +61,16 @@ def lock(path, hard=False):
 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
 
This page took 0.033912 seconds and 4 git commands to generate.