| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | import pathlibimport sqlmodelimport sqlalchemyimport sqlalchemy.engine.basefrom .users_loader import users_loaderfrom .users_collection import users_collectionfrom .product_app import product_appfrom .users_app import users_appfrom .directory_image import directory_imagefrom .reservation_app import reservation_appfrom .autoadder import autoadderfrom .autoadder_app import autoadder_appclass app_resources:    def __init__(self, config: object) -> None:        self.__config = config                self.__database = sqlmodel.create_engine(self.config.database_uri)        self.__users = users_loader(self.config.users_path).collection        sqlmodel.SQLModel.metadata.create_all(self.database)        self.__users_app = users_app(self.users)                self.__directory_image = directory_image(            self.config.covers_path,            self.config.thumbnails_dimension        )        self.__autoadder = None        google_api_key = self.config.google_api_key        google_cx = self.config.google_cx        if google_api_key is not None and google_cx is not None:             self.__autoadder = autoadder(google_api_key, google_cx)                self.__product_app = product_app(            self.database,             self.users,            self.images        )        self.__reservation_app = reservation_app(            self.database,            self.users        )        self.__autoadder_app = autoadder_app(            self.users,            self.autoadder        )    @property    def autoadder(self) -> autoadder:        return self.__autoadder    @property    def autoadder_app(self) -> autoadder_app:        return self.__autoadder_app    @property    def users_app(self) -> users_app:        return self.__users_app    @property    def reservation_app(self) -> reservation_app:        return self.__reservation_app    @property    def images(self) -> directory_image:        return self.__directory_image    @property    def product_app(self) -> product_app:        return self.__product_app    @property     def database(self) -> sqlalchemy.engine.base.Engine:        return self.__database    @property    def users(self) -> users_collection:        return self.__users        @property    def config(self) -> object:        return self.__config    
 |