]>
Commit | Line | Data |
---|---|---|
e3aced8e MM |
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(): | |
17 | global sock | |
18 | sock=socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) | |
19 | sock.connect(socketname) | |
20 | ||
21 | def lock(path, hard=False): | |
22 | def dolock(): | |
23 | if hard: | |
24 | sock.send('lckh %s\0' % path) | |
25 | else: | |
26 | sock.send('lcks %s\0' % path) | |
27 | return sock.recv(20) | |
28 | for i in range(3): | |
29 | retcode=dolock() | |
30 | if retcode=="OK": | |
31 | return True | |
32 | elif retcode=="HARD": | |
33 | return False | |
34 | if i!=2: | |
35 | time.sleep(1) | |
36 | return False | |
37 | ||
38 | def unlock(path): | |
39 | sock.send('ulck %s\0' % path) | |
40 | ||
459e7d48 MM |
41 | def log(msg): |
42 | sock.send('log1 %s\0' % msg) | |
e3aced8e | 43 |