mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-07 00:04:15 +02:00
57 lines
2.1 KiB
Python
57 lines
2.1 KiB
Python
import os
|
|
|
|
import urllib3
|
|
|
|
from bauh import ROOT_DIR
|
|
from bauh.api.abstract.context import ApplicationContext
|
|
from bauh.api.http import HttpClient
|
|
from bauh.cli import __app_name__, cli_args
|
|
from bauh.cli.controller import CLIManager
|
|
from bauh.view.core import config, gems
|
|
from bauh.view.core.controller import GenericSoftwareManager
|
|
from bauh.view.core.downloader import AdaptableFileDownloader
|
|
from bauh.view.util import logs, util
|
|
from bauh.view.util.cache import DefaultMemoryCacheFactory
|
|
from bauh.view.util.disk import DefaultDiskCacheLoaderFactory
|
|
from bauh.view.util.translation import I18n
|
|
|
|
|
|
def main():
|
|
if not os.getenv('PYTHONUNBUFFERED'):
|
|
os.environ['PYTHONUNBUFFERED'] = '1'
|
|
|
|
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
|
|
|
args = cli_args.read()
|
|
logger = logs.new_logger(__app_name__, False)
|
|
|
|
app_config = config.read_config(update_file=True)
|
|
http_client = HttpClient(logger)
|
|
|
|
empty_i18n = I18n('en', {}, 'en', {})
|
|
|
|
cache_factory = DefaultMemoryCacheFactory(expiration_time=0)
|
|
|
|
context = ApplicationContext(i18n=empty_i18n,
|
|
http_client=http_client,
|
|
download_icons=bool(app_config['download']['icons']),
|
|
app_root_dir=ROOT_DIR,
|
|
cache_factory=cache_factory,
|
|
disk_loader_factory=DefaultDiskCacheLoaderFactory(logger),
|
|
logger=logger,
|
|
distro=util.get_distro(),
|
|
file_downloader=AdaptableFileDownloader(logger, bool(app_config['download']['multithreaded']),
|
|
empty_i18n, http_client),
|
|
app_name=__app_name__)
|
|
|
|
managers = gems.load_managers(context=context, locale=empty_i18n.current_key, config=app_config, default_locale='en')
|
|
|
|
cli = CLIManager(GenericSoftwareManager(managers, context=context, config=app_config))
|
|
|
|
if args.command == 'updates':
|
|
cli.list_updates(args.format)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|