]> git.pld-linux.org Git - projects/pld-ftp-admin.git/blob - modules/ftpio.py
2659d6eb74c5f262be13cc8aa14af89cf62800c8
[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():
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
41
This page took 0.044614 seconds and 2 git commands to generate.