Skip to content

Commit f14efa2

Browse files
authored
Update ufirebase.py
1 parent f78ca52 commit f14efa2

File tree

1 file changed

+61
-28
lines changed

1 file changed

+61
-28
lines changed

ufirebase.py

Lines changed: 61 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
import ujson
23
import usocket
34
import ussl
@@ -31,7 +32,7 @@ def disconnect(id):
3132
FIREBASE_GLOBAL_VAR.SLIST["SS"+id]=None
3233
FIREBASE_GLOBAL_VAR.SLIST["S"+id]=None
3334

34-
def put(PATH, DATA, id):
35+
def put(PATH, DATA, id, cb):
3536
try:
3637
while FIREBASE_GLOBAL_VAR.SLIST["SS"+id]:
3738
time.sleep(2)
@@ -47,9 +48,14 @@ def put(PATH, DATA, id):
4748
LOCAL_DUMMY=LOCAL_SS.read()
4849
del LOCAL_DUMMY
4950
INTERNAL.disconnect(id)
51+
if cb:
52+
try:
53+
cb[0](*cb[1])
54+
except:
55+
cb[0](cb[1])
5056

5157

52-
def patch(PATH, DATATAG, id):
58+
def patch(PATH, DATATAG, id, cb):
5359
try:
5460
while FIREBASE_GLOBAL_VAR.SLIST["SS"+id]:
5561
time.sleep(1)
@@ -62,8 +68,16 @@ def patch(PATH, DATATAG, id):
6268
LOCAL_SS.write(b"Host: "+FIREBASE_GLOBAL_VAR.GLOBAL_URL_ADINFO["host"]+b"\r\n")
6369
LOCAL_SS.write(b"Content-Length: "+str(len(DATATAG))+"\r\n\r\n")
6470
LOCAL_SS.write(DATATAG)
71+
LOCAL_DUMMY=LOCAL_SS.read()
72+
del LOCAL_DUMMY
73+
INTERNAL.disconnect(id)
74+
if cb:
75+
try:
76+
cb[0](*cb[1])
77+
except:
78+
cb[0](cb[1])
6579

66-
def get(PATH, DUMP, id):
80+
def get(PATH, DUMP, id, cb):
6781
try:
6882
while FIREBASE_GLOBAL_VAR.SLIST["SS"+id]:
6983
time.sleep(1)
@@ -77,8 +91,13 @@ def get(PATH, DUMP, id):
7791
LOCAL_OUTPUT=ujson.loads(LOCAL_SS.read().splitlines()[-1])
7892
INTERNAL.disconnect(id)
7993
globals()[DUMP]=LOCAL_OUTPUT
94+
if cb:
95+
try:
96+
cb[0](*cb[1])
97+
except:
98+
cb[0](cb[1])
8099

81-
def getfile(PATH, FILE, bg, id):
100+
def getfile(PATH, FILE, bg, id, cb):
82101
try:
83102
while FIREBASE_GLOBAL_VAR.SLIST["SS"+id]:
84103
time.sleep(1)
@@ -105,11 +124,17 @@ def getfile(PATH, FILE, bg, id):
105124
if LOCAL_LINE==b"":
106125
break
107126
LOCAL_FILE.write(LOCAL_LINE)
108-
109127
LOCAL_FILE.close()
128+
LOCAL_DUMMY=LOCAL_SS.read()
129+
del LOCAL_DUMMY
110130
INTERNAL.disconnect(id)
131+
if cb:
132+
try:
133+
cb[0](*cb[1])
134+
except:
135+
cb[0](cb[1])
111136

112-
def delete(PATH, id):
137+
def delete(PATH, id, cb):
113138
try:
114139
while FIREBASE_GLOBAL_VAR.SLIST["SS"+id]:
115140
time.sleep(1)
@@ -123,8 +148,13 @@ def delete(PATH, id):
123148
LOCAL_DUMMY=LOCAL_SS.read()
124149
del LOCAL_DUMMY
125150
INTERNAL.disconnect(id)
151+
if cb:
152+
try:
153+
cb[0](*cb[1])
154+
except:
155+
cb[0](cb[1])
126156

127-
def addto(PATH, DATA, DUMP, id):
157+
def addto(PATH, DATA, DUMP, id, cb):
128158
try:
129159
while FIREBASE_GLOBAL_VAR.SLIST["SS"+id]:
130160
time.sleep(1)
@@ -140,7 +170,12 @@ def addto(PATH, DATA, DUMP, id):
140170
LOCAL_OUTPUT=ujson.loads(LOCAL_SS.read().splitlines()[-1])
141171
INTERNAL.disconnect(id)
142172
if DUMP:
143-
globals()[DUMP]=LOCAL_OUTPUT
173+
globals()[DUMP]=LOCAL_OUTPUT["name"]
174+
if cb:
175+
try:
176+
cb[0](*cb[1])
177+
except:
178+
cb[0](cb[1])
144179

145180
def setURL(url):
146181
FIREBASE_GLOBAL_VAR.GLOBAL_URL=url
@@ -163,40 +198,38 @@ def setURL(url):
163198

164199
FIREBASE_GLOBAL_VAR.GLOBAL_URL_ADINFO={"proto": proto, "host": host, "port": port}
165200

166-
def put(PATH, DATA, bg=True, id=0):
201+
def put(PATH, DATA, bg=True, id=0, cb=None):
167202
if bg:
168-
_thread.start_new_thread(INTERNAL.put, [PATH, ujson.dumps(DATA), str(id)])
203+
_thread.start_new_thread(INTERNAL.put, [PATH, ujson.dumps(DATA), str(id), cb])
169204
else:
170-
INTERNAL.put(PATH, ujson.dumps(DATA), str(id))
205+
INTERNAL.put(PATH, ujson.dumps(DATA), str(id), cb)
171206

172-
def patch(PATH, DATATAG, bg=True, id=0):
207+
def patch(PATH, DATATAG, bg=True, id=0, cb=None):
173208
if bg:
174-
_thread.start_new_thread(INTERNAL.patch, [PATH, ujson.dumps(DATATAG), str(id)])
209+
_thread.start_new_thread(INTERNAL.patch, [PATH, ujson.dumps(DATATAG), str(id), cb])
175210
else:
176-
INTERNAL.patch(PATH, ujson.dumps(DATATAG), str(id))
211+
INTERNAL.patch(PATH, ujson.dumps(DATATAG), str(id), cb)
177212

178-
def getfile(PATH, FILE, bg=False, id=0):
213+
def getfile(PATH, FILE, bg=False, id=0, cb=None):
179214
if bg:
180-
_thread.start_new_thread(INTERNAL.getfile, [PATH, FILE, bg, str(id)])
215+
_thread.start_new_thread(INTERNAL.getfile, [PATH, FILE, bg, str(id), cb])
181216
else:
182-
INTERNAL.getfile(PATH, FILE, bg, str(id))
217+
INTERNAL.getfile(PATH, FILE, bg, str(id), cb)
183218

184-
def get(PATH, DUMP, bg=False, id=0):
219+
def get(PATH, DUMP, bg=False, cb=None, id=0):
185220
if bg:
186-
_thread.start_new_thread(INTERNAL.get, [PATH, DUMP, str(id)])
221+
_thread.start_new_thread(INTERNAL.get, [PATH, DUMP, str(id), cb])
187222
else:
188-
INTERNAL.get(PATH, DUMP, str(id))
223+
INTERNAL.get(PATH, DUMP, str(id), cb)
189224

190-
def delete(PATH, bg=True, id=0):
225+
def delete(PATH, bg=True, id=0, cb=None):
191226
if bg:
192-
_thread.start_new_thread(INTERNAL.delete, [PATH, str(id)])
227+
_thread.start_new_thread(INTERNAL.delete, [PATH, str(id), cb])
193228
else:
194-
INTERNAL.delete(PATH, str(id))
229+
INTERNAL.delete(PATH, str(id), cb)
195230

196-
def addto(PATH, DATA, DUMP=None, bg=True, id=0):
231+
def addto(PATH, DATA, DUMP=None, bg=True, id=0, cb=None):
197232
if bg:
198-
_thread.start_new_thread(INTERNAL.addto, [PATH, ujson.dumps(DATA), DUMP, str(id)])
233+
_thread.start_new_thread(INTERNAL.addto, [PATH, ujson.dumps(DATA), DUMP, str(id), cb])
199234
else:
200-
INTERNAL.addto(PATH, ujson.dumps(DATA), DUMP, str(id))
201-
202-
235+
INTERNAL.addto(PATH, ujson.dumps(DATA), DUMP, str(id), cb)

0 commit comments

Comments
 (0)