def __init__(self, db: Database = None, path: PathGenerator = None, session: Session = None, auth: Auth = None): self.db = MongoDB('weibo', primary_key='id') if db is None else db self.path = StoreByUserName('./download') if path is None else path self.session = Session(timeout=10, retry=5) \ if session is None else session if auth is None: auth = Auth() self.token = auth.token.token self.client = Client()