]> git.pld-linux.org Git - projects/pld-ftp-admin.git/blob - modules/ftpio.py
14a032d4de1675df9635538061b3d6d2f50f2b44
[projects/pld-ftp-admin.git] / modules / ftpio.py
1 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et
2
3 import os
4 import socket
5 import time
6 import config
7
8 privsock=os.environ['HOME']+'/pld-ftp-admin/var/privsock'
9 pubsock=config.value['pubsock']
10
11 if os.environ.has_key('HOME'):
12     socketname=privsock
13 else:
14     socketname=pubsock
15
16 def connect(name=None):
17     global sock
18     sock=socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
19     sock.connect(socketname)
20     if name:
21         sock.send('name %s\0' % name)
22
23 def lock(path, hard=False):
24     def dolock():
25         if hard:
26             sock.send('lckh %s\0' % path)
27         else:
28             sock.send('lcks %s\0' % path)
29         return sock.recv(20)
30     for i in range(3):
31         retcode=dolock()
32         if retcode=="OK":
33             return True
34         elif retcode=="HARD":
35             return False
36         if i!=2:
37             time.sleep(1)
38     return False
39     
40 def unlock(path):
41     sock.send('ulck %s\0' % path)
42
43 def log(msg):
44     sock.send('log1 %s\0' % msg)
45
46 def name(newname):
47     sock.send('name %s\0' % newname)
48
This page took 0.263242 seconds and 2 git commands to generate.