fix
This commit is contained in:
@@ -38,7 +38,7 @@ class ParcelDownloader(Worker):
|
||||
|
||||
parcel_dir = os.path.join(self.static_dir, parcel.id)
|
||||
if not os.path.exists(parcel_dir) and files:
|
||||
os.mkdir(parcel_dir, 750)
|
||||
os.mkdir(parcel_dir)
|
||||
|
||||
try:
|
||||
for f in files:
|
||||
@@ -59,25 +59,30 @@ class ParcelDownloader(Worker):
|
||||
self.log.info('Downloading file url %s', url)
|
||||
|
||||
match = self.re_url.match(url)
|
||||
if match is None:
|
||||
raise urllib.error.URLError('Url does not match the http pattern!')
|
||||
url_groups = match.groupdict()
|
||||
local = match is None
|
||||
if not local:
|
||||
url_groups = match.groupdict()
|
||||
|
||||
if 'login' in url_groups:
|
||||
url = url_groups['protocol'] + url_groups['path']
|
||||
passman = urllib.request.HTTPPasswordMgrWithDefaultRealm()
|
||||
passman.add_password(None, url, url_groups.get('login'), url_groups.get('password') or '')
|
||||
opener = urllib.request.build_opener(urllib.request.HTTPBasicAuthHandler(passman))
|
||||
urllib.request.install_opener(opener)
|
||||
if 'login' in url_groups:
|
||||
url = url_groups['protocol'] + url_groups['path']
|
||||
passman = urllib.request.HTTPPasswordMgrWithDefaultRealm()
|
||||
passman.add_password(None, url, url_groups.get('login'), url_groups.get('password') or '')
|
||||
opener = urllib.request.build_opener(urllib.request.HTTPBasicAuthHandler(passman))
|
||||
urllib.request.install_opener(opener)
|
||||
|
||||
fspath = os.path.join(parcel_dir, name)
|
||||
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:
|
||||
b = u.read(self.bufsize)
|
||||
f.write(b)
|
||||
if len(b) < self.bufsize:
|
||||
break
|
||||
if local:
|
||||
u.close()
|
||||
return fspath
|
||||
|
||||
def transfer_parcel(self, parcel):
|
||||
|
||||
@@ -185,7 +185,7 @@ class TCPServerWorker(threading.Thread):
|
||||
return self.workers
|
||||
|
||||
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):
|
||||
@@ -498,7 +498,7 @@ class TCPWorker(threading.Thread):
|
||||
data = self.bufdata.popleft()
|
||||
log.debug('%s - Received data: %s', self.name, data)
|
||||
return json.loads(data)
|
||||
data = ''
|
||||
data = b''
|
||||
self.data_pos = 0
|
||||
self.data_size = 0
|
||||
while True:
|
||||
@@ -518,7 +518,7 @@ class TCPWorker(threading.Thread):
|
||||
if not data:
|
||||
break
|
||||
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)
|
||||
return json.loads(data)
|
||||
|
||||
@@ -589,7 +589,7 @@ class TCPWorker(threading.Thread):
|
||||
data = json.dumps(data)
|
||||
if 'ping' not in data and 'pong' not in 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):
|
||||
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