mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-06 21:44:16 +02:00
56 lines
2.1 KiB
Python
56 lines
2.1 KiB
Python
import logging
|
|
import sys
|
|
|
|
from bauh.api.abstract.cache import MemoryCacheFactory
|
|
from bauh.api.abstract.disk import DiskCacheLoaderFactory
|
|
from bauh.api.abstract.download import FileDownloader
|
|
from bauh.api.http import HttpClient
|
|
from bauh.commons.internet import InternetChecker
|
|
from bauh.view.util.translation import I18n
|
|
|
|
|
|
class ApplicationContext:
|
|
|
|
def __init__(self, download_icons: bool, http_client: HttpClient, app_root_dir: str, i18n: I18n,
|
|
cache_factory: MemoryCacheFactory, disk_loader_factory: DiskCacheLoaderFactory,
|
|
logger: logging.Logger, file_downloader: FileDownloader, distro: str, app_name: str,
|
|
internet_checker: InternetChecker, root_user: bool):
|
|
"""
|
|
:param download_icons: if packages icons should be downloaded
|
|
:param http_client: a shared instance of http client
|
|
:param app_root_dir: GUI root dir
|
|
:param i18n: the translation keys
|
|
:param cache_factory:
|
|
:param disk_loader_factory:
|
|
:param logger: a logger instance
|
|
:param file_downloader
|
|
:param distro
|
|
:param app_name
|
|
:param internet_checker
|
|
"""
|
|
self.download_icons = download_icons
|
|
self.http_client = http_client
|
|
self.app_root_dir = app_root_dir
|
|
self.i18n = i18n
|
|
self.cache_factory = cache_factory
|
|
self.disk_loader_factory = disk_loader_factory
|
|
self.logger = logger
|
|
self.file_downloader = file_downloader
|
|
self.arch_x86_64 = sys.maxsize > 2**32
|
|
self.distro = distro
|
|
self.default_categories = ('AudioVideo', 'Audio', 'Video', 'Development', 'Education', 'Game',
|
|
'Graphics', 'Network', 'Office', 'Science', 'Settings', 'System', 'Utility')
|
|
self.app_name = app_name
|
|
self.root_user = root_user
|
|
self.root_password = None
|
|
self.internet_checker = internet_checker
|
|
|
|
def is_system_x86_64(self):
|
|
return self.arch_x86_64
|
|
|
|
def get_view_path(self):
|
|
return self.app_root_dir + '/view'
|
|
|
|
def is_internet_available(self) -> bool:
|
|
return self.internet_checker.is_available()
|