1+
12import ujson
23import usocket
34import 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
145180def 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