This commit is contained in:
2019-12-16 22:02:28 +08:00
parent ae1db6e3ab
commit f8bcfcc9c0
4 changed files with 30 additions and 5 deletions

15
bug.py Normal file
View File

@@ -0,0 +1,15 @@
class A:
def __init__(self, arg=None):
if arg is None:
self.arg = {}
def set(self):
self.arg['something'] = 'something'
a1 = A()
a1.set()
a2 = A()
print(a2.arg)
# output is {'something': 'something'}

View File

@@ -1,11 +1,12 @@
class Datapack:
def __init__(self, method='post', app='all', version='msw/1.0', head=None, body=b'', check_head=True):
if head is None:
self.head = {}
head = {}
self.head = head
self.method = method
self.app = app
self.version = version
if not head and check_head:
if not self.head and check_head:
self.head = {'nohead': "true"}
else:
self.head = head
@@ -21,7 +22,6 @@ class Datapack:
self.encode_data = first_line + b'\n' + heads + b'\n' + self.body
def decode(self, only_head=False):
self.head = {}
index = self.encode_data.index(b'\n\n')
upper = self.encode_data[:index]
if not only_head:
@@ -37,3 +37,6 @@ class Datapack:
self.head[i] = ii
if only_head:
return self.encode_data[index+2:]
dp = Datapack()

View File

@@ -92,7 +92,7 @@ class Netrecv:
print('Null data')
break
except Exception as e:
print('Decode error')
print('Decode error %s: %s' % (type(e), str(e)))
break
# try unpack #
@@ -138,6 +138,13 @@ class Netrecv:
aleady_write_down += still_need
data = new_data[still_need:]
else:
file = open(dp.head['filename'], 'wb')
file.write(data[:length])
data = data[length:]
file.close()
else: # dp.method is not 'file'
length = int(dp.head['length'])
data_length = len(data)

View File

@@ -1,7 +1,7 @@
import socket
import time
data = '''post log msw/1.0
data = '''file log msw/1.0
from: network
flag: abcdefgh
filename: download.txt