mirror of
https://github.com/eternnoir/pyTelegramBotAPI.git
synced 2023-08-10 21:12:57 +03:00
Remove rudiment json things, again!
Update: telebot/__init__.py
This commit is contained in:
parent
13df7b5908
commit
d61de35a32
@ -31,23 +31,17 @@ Module : telebot
|
|||||||
|
|
||||||
|
|
||||||
class Handler:
|
class Handler:
|
||||||
def __init__(self, callback: {dict, 'function'}, *args, **kwargs):
|
"""
|
||||||
if type(callback) == dict:
|
Class for (next step|reply) handlers
|
||||||
self.callback = getattr(sys.modules[callback["module"]], callback["name"])
|
"""
|
||||||
else:
|
def __init__(self, callback: 'function', *args, **kwargs):
|
||||||
self.callback = callback
|
self.callback = callback
|
||||||
|
|
||||||
self.args = args
|
self.args = args
|
||||||
self.kwargs = kwargs
|
self.kwargs = kwargs
|
||||||
|
|
||||||
def __getitem__(self, item):
|
def __getitem__(self, item):
|
||||||
return getattr(self, item)
|
return getattr(self, item)
|
||||||
|
|
||||||
def copy_to_dump(self):
|
|
||||||
module_ = self.callback.__module__
|
|
||||||
name = self.callback.__name__
|
|
||||||
return Handler({"module": module_, "name": name}, *self.args, **self.kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
class Saver:
|
class Saver:
|
||||||
def __init__(self, handlers, filename, delay):
|
def __init__(self, handlers, filename, delay):
|
||||||
@ -76,16 +70,9 @@ class Saver:
|
|||||||
def dump_handlers(handlers, filename, file_mode="wb"):
|
def dump_handlers(handlers, filename, file_mode="wb"):
|
||||||
dirs = filename.rsplit('/', maxsplit=1)[0]
|
dirs = filename.rsplit('/', maxsplit=1)[0]
|
||||||
os.makedirs(dirs, exist_ok=True)
|
os.makedirs(dirs, exist_ok=True)
|
||||||
to_dump = {}
|
|
||||||
with open(filename + ".tmp", file_mode) as file:
|
|
||||||
for id_, handlers_ in handlers.items():
|
|
||||||
for handler in handlers_:
|
|
||||||
if id_ in to_dump.keys():
|
|
||||||
to_dump[id_].append(handler.copy_to_dump())
|
|
||||||
else:
|
|
||||||
to_dump[id_] = [handler.copy_to_dump()]
|
|
||||||
|
|
||||||
pickle.dump(to_dump, file)
|
with open(filename + ".tmp", file_mode) as file:
|
||||||
|
pickle.dump(handlers, file)
|
||||||
|
|
||||||
if os.path.isfile(filename):
|
if os.path.isfile(filename):
|
||||||
os.remove(filename)
|
os.remove(filename)
|
||||||
@ -97,20 +84,11 @@ class Saver:
|
|||||||
if os.path.isfile(filename) and os.path.getsize(filename) > 0:
|
if os.path.isfile(filename) and os.path.getsize(filename) > 0:
|
||||||
with open(filename, "rb") as file:
|
with open(filename, "rb") as file:
|
||||||
handlers = pickle.load(file)
|
handlers = pickle.load(file)
|
||||||
result = {}
|
|
||||||
for id_, handlers_ in handlers.items():
|
|
||||||
for handler in handlers_:
|
|
||||||
|
|
||||||
tmp = Handler(handler['callback'], *handler["args"], **handler["kwargs"])
|
|
||||||
|
|
||||||
if id_ in result.keys():
|
|
||||||
result[id_].append(tmp)
|
|
||||||
else:
|
|
||||||
result[id_] = [tmp]
|
|
||||||
|
|
||||||
if del_file_after_loading:
|
if del_file_after_loading:
|
||||||
os.remove(filename)
|
os.remove(filename)
|
||||||
return result
|
|
||||||
|
return handlers
|
||||||
|
|
||||||
|
|
||||||
class TeleBot:
|
class TeleBot:
|
||||||
|
Loading…
Reference in New Issue
Block a user