fix
This commit is contained in:
@@ -38,7 +38,7 @@ class ParcelDownloader(Worker):
|
|||||||
|
|
||||||
parcel_dir = os.path.join(self.static_dir, parcel.id)
|
parcel_dir = os.path.join(self.static_dir, parcel.id)
|
||||||
if not os.path.exists(parcel_dir) and files:
|
if not os.path.exists(parcel_dir) and files:
|
||||||
os.mkdir(parcel_dir, 750)
|
os.mkdir(parcel_dir)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
for f in files:
|
for f in files:
|
||||||
@@ -59,25 +59,30 @@ class ParcelDownloader(Worker):
|
|||||||
self.log.info('Downloading file url %s', url)
|
self.log.info('Downloading file url %s', url)
|
||||||
|
|
||||||
match = self.re_url.match(url)
|
match = self.re_url.match(url)
|
||||||
if match is None:
|
local = match is None
|
||||||
raise urllib.error.URLError('Url does not match the http pattern!')
|
if not local:
|
||||||
url_groups = match.groupdict()
|
url_groups = match.groupdict()
|
||||||
|
|
||||||
if 'login' in url_groups:
|
if 'login' in url_groups:
|
||||||
url = url_groups['protocol'] + url_groups['path']
|
url = url_groups['protocol'] + url_groups['path']
|
||||||
passman = urllib.request.HTTPPasswordMgrWithDefaultRealm()
|
passman = urllib.request.HTTPPasswordMgrWithDefaultRealm()
|
||||||
passman.add_password(None, url, url_groups.get('login'), url_groups.get('password') or '')
|
passman.add_password(None, url, url_groups.get('login'), url_groups.get('password') or '')
|
||||||
opener = urllib.request.build_opener(urllib.request.HTTPBasicAuthHandler(passman))
|
opener = urllib.request.build_opener(urllib.request.HTTPBasicAuthHandler(passman))
|
||||||
urllib.request.install_opener(opener)
|
urllib.request.install_opener(opener)
|
||||||
|
|
||||||
fspath = os.path.join(parcel_dir, name)
|
fspath = os.path.join(parcel_dir, name)
|
||||||
with open(fspath, 'wb') as f:
|
with open(fspath, 'wb') as f:
|
||||||
u = urllib.request.urlopen(url)
|
if local:
|
||||||
|
u = open(url, 'rb')
|
||||||
|
else:
|
||||||
|
u = urllib.request.urlopen(url)
|
||||||
while True:
|
while True:
|
||||||
b = u.read(self.bufsize)
|
b = u.read(self.bufsize)
|
||||||
f.write(b)
|
f.write(b)
|
||||||
if len(b) < self.bufsize:
|
if len(b) < self.bufsize:
|
||||||
break
|
break
|
||||||
|
if local:
|
||||||
|
u.close()
|
||||||
return fspath
|
return fspath
|
||||||
|
|
||||||
def transfer_parcel(self, parcel):
|
def transfer_parcel(self, parcel):
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ class TCPServerWorker(threading.Thread):
|
|||||||
return self.workers
|
return self.workers
|
||||||
|
|
||||||
def process_disconnected(self):
|
def process_disconnected(self):
|
||||||
self.workers = filter(lambda worker: worker.is_alive(), self.workers)
|
self.workers = [x for x in self.workers if x.is_alive()]
|
||||||
|
|
||||||
|
|
||||||
class AuthError(Exception):
|
class AuthError(Exception):
|
||||||
@@ -498,7 +498,7 @@ class TCPWorker(threading.Thread):
|
|||||||
data = self.bufdata.popleft()
|
data = self.bufdata.popleft()
|
||||||
log.debug('%s - Received data: %s', self.name, data)
|
log.debug('%s - Received data: %s', self.name, data)
|
||||||
return json.loads(data)
|
return json.loads(data)
|
||||||
data = ''
|
data = b''
|
||||||
self.data_pos = 0
|
self.data_pos = 0
|
||||||
self.data_size = 0
|
self.data_size = 0
|
||||||
while True:
|
while True:
|
||||||
@@ -518,7 +518,7 @@ class TCPWorker(threading.Thread):
|
|||||||
if not data:
|
if not data:
|
||||||
break
|
break
|
||||||
data = self.bufdata.popleft()
|
data = self.bufdata.popleft()
|
||||||
if 'ping' not in data and 'pong' not in data:
|
if b'ping' not in data and b'pong' not in data:
|
||||||
log.debug('%s - Received data: %s', self.name, data)
|
log.debug('%s - Received data: %s', self.name, data)
|
||||||
return json.loads(data)
|
return json.loads(data)
|
||||||
|
|
||||||
@@ -589,7 +589,7 @@ class TCPWorker(threading.Thread):
|
|||||||
data = json.dumps(data)
|
data = json.dumps(data)
|
||||||
if 'ping' not in data and 'pong' not in data:
|
if 'ping' not in data and 'pong' not in data:
|
||||||
log.debug('%s - Sending data: %s', self.name, data)
|
log.debug('%s - Sending data: %s', self.name, data)
|
||||||
self.socket.sendall(struct.pack('q', len(data)) + data)
|
self.socket.sendall(struct.pack('q', len(data)) + data.encode('utf-8'))
|
||||||
|
|
||||||
def send_pong(self):
|
def send_pong(self):
|
||||||
self.send_data({'pong': True})
|
self.send_data({'pong': True})
|
||||||
|
|||||||
4
start.sh
Normal file → Executable file
4
start.sh
Normal file → Executable file
@@ -1 +1,3 @@
|
|||||||
python enserver.py --debug --port=7001 --pidfile=/tmp/enserver.pid --logfile=/var/log/enserver.log --id=prilvbox --address=enserv --storage=/share/store/enserver --db-host=10.10.8.83 --db-port=32101 --host=10.10.78.40 --db-user=postgres --db-passwd=Root12345678 --auth-provider=http://10.10.8.81:9000/ --replication-provider=http://10.10.8.81:9000/ http://10.10.8.81:9000/ http://10.10.8.81:9000/
|
source venv/bin/activate
|
||||||
|
python3 enserver/enserver.py --id bnd127 --db-host 10.10.8.83 --db-port 32101 --auth-provider http://10.10.8.27:9000/ --debug http://10.10.8.27:9000/
|
||||||
|
# --debug --port=7001 --pidfile=/tmp/enserver.pid --logfile=/var/log/enserver.log --id=prilvbox --address=enserv --storage=/share/store/enserver --db-host=10.10.8.83 --db-port=32101 --host=10.10.78.40 --db-user=postgres --db-passwd=Root12345678 --auth-provider=http://10.10.8.81:9000/ --replication-provider=http://10.10.8.81:9000/ http://10.10.8.81:9000/ http://10.10.8.81:9000/
|
||||||
|
|||||||
Reference in New Issue
Block a user