mirror of
https://github.com/Mayuri-Chan/pyrofork.git
synced 2025-12-29 12:04:51 +00:00
Pyrofork: only load MongoStorage module when pymongo is available #32
Signed-off-by: wulan17 <wulan17@nusantararom.org>
This commit is contained in:
parent
4162ac41e8
commit
c7985b5131
3 changed files with 24 additions and 5 deletions
|
|
@ -50,7 +50,13 @@ from pyrogram.errors import (
|
||||||
from pyrogram.handlers.handler import Handler
|
from pyrogram.handlers.handler import Handler
|
||||||
from pyrogram.methods import Methods
|
from pyrogram.methods import Methods
|
||||||
from pyrogram.session import Auth, Session
|
from pyrogram.session import Auth, Session
|
||||||
from pyrogram.storage import FileStorage, MemoryStorage, MongoStorage, Storage
|
from pyrogram.storage import FileStorage, MemoryStorage, Storage
|
||||||
|
try:
|
||||||
|
import pymongo
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
from pyrogram.storage import MongoStorage
|
||||||
from pyrogram.types import User, TermsOfService
|
from pyrogram.types import User, TermsOfService
|
||||||
from pyrogram.utils import ainput
|
from pyrogram.utils import ainput
|
||||||
from .dispatcher import Dispatcher
|
from .dispatcher import Dispatcher
|
||||||
|
|
@ -129,7 +135,7 @@ class Client(Methods):
|
||||||
mongodb (``dict``, *optional*):
|
mongodb (``dict``, *optional*):
|
||||||
Mongodb config as dict, e.g.: *dict(connection=async_pymongo.AsyncClient("mongodb://..."), remove_peers=False)*.
|
Mongodb config as dict, e.g.: *dict(connection=async_pymongo.AsyncClient("mongodb://..."), remove_peers=False)*.
|
||||||
Only applicable for new sessions.
|
Only applicable for new sessions.
|
||||||
|
|
||||||
storage (:obj:`~pyrogram.storage.Storage`, *optional*):
|
storage (:obj:`~pyrogram.storage.Storage`, *optional*):
|
||||||
Custom session storage.
|
Custom session storage.
|
||||||
|
|
||||||
|
|
@ -281,7 +287,16 @@ class Client(Methods):
|
||||||
elif self.in_memory:
|
elif self.in_memory:
|
||||||
self.storage = MemoryStorage(self.name)
|
self.storage = MemoryStorage(self.name)
|
||||||
elif self.mongodb:
|
elif self.mongodb:
|
||||||
self.storage = MongoStorage(self.name, **self.mongodb)
|
try:
|
||||||
|
import pymongo
|
||||||
|
except Exception:
|
||||||
|
log.warning(
|
||||||
|
"pymongo is missing! "
|
||||||
|
"Using MemoryStorage as session storage"
|
||||||
|
)
|
||||||
|
self.storage = MemoryStorage(self.name)
|
||||||
|
else:
|
||||||
|
self.storage = MongoStorage(self.name, **self.mongodb)
|
||||||
else:
|
else:
|
||||||
self.storage = FileStorage(self.name, self.workdir)
|
self.storage = FileStorage(self.name, self.workdir)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,5 +18,10 @@
|
||||||
|
|
||||||
from .file_storage import FileStorage
|
from .file_storage import FileStorage
|
||||||
from .memory_storage import MemoryStorage
|
from .memory_storage import MemoryStorage
|
||||||
from .mongo_storage import MongoStorage
|
try:
|
||||||
|
import pymongo
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
from .mongo_storage import MongoStorage
|
||||||
from .storage import Storage
|
from .storage import Storage
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
pyaes==1.6.1
|
pyaes==1.6.1
|
||||||
pymongo
|
|
||||||
pymediainfo-pyrofork>=6.0.1,<7.0.0
|
pymediainfo-pyrofork>=6.0.1,<7.0.0
|
||||||
pysocks==1.7.1
|
pysocks==1.7.1
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue