[api.abstract.context] improvement: adding 'root_user' attribute to skip checking calls

This commit is contained in:
Vinicius Moreira
2021-11-30 12:17:04 -03:00
parent 854334ed7b
commit ce4f3f67ab
4 changed files with 9 additions and 3 deletions

View File

@@ -14,7 +14,7 @@ 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):
internet_checker: InternetChecker, root_user: bool):
"""
:param download_icons: if packages icons should be downloaded
:param http_client: a shared instance of http client
@@ -41,6 +41,7 @@ class ApplicationContext:
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

View File

@@ -3,6 +3,7 @@ import os
import urllib3
from bauh import ROOT_DIR
from bauh.api import user
from bauh.api.abstract.context import ApplicationContext
from bauh.api.http import HttpClient
from bauh.cli import __app_name__, cli_args
@@ -45,7 +46,8 @@ def main():
file_downloader=AdaptableFileDownloader(logger, bool(app_config['download']['multithreaded']),
i18n, http_client, app_config['download']['multithreaded_client']),
app_name=__app_name__,
internet_checker=InternetChecker(offline=False))
internet_checker=InternetChecker(offline=False),
root_user=user.is_root())
managers = gems.load_managers(context=context, locale=i18n.current_key, config=app_config, default_locale=DEFAULT_I18N_KEY)

View File

@@ -5,6 +5,7 @@ from typing import Tuple
from PyQt5.QtWidgets import QApplication, QWidget
from bauh import ROOT_DIR, __app_name__
from bauh.api import user
from bauh.api.abstract.context import ApplicationContext
from bauh.api.http import HttpClient
from bauh.commons.internet import InternetChecker
@@ -41,7 +42,8 @@ def new_manage_panel(app_args: Namespace, app_config: dict, logger: logging.Logg
file_downloader=AdaptableFileDownloader(logger, bool(app_config['download']['multithreaded']),
i18n, http_client, app_config['download']['multithreaded_client']),
app_name=__app_name__,
internet_checker=InternetChecker(offline=app_args.offline))
internet_checker=InternetChecker(offline=app_args.offline),
root_user=user.is_root())
managers = gems.load_managers(context=context, locale=i18n.current_key, config=app_config, default_locale=DEFAULT_I18N_KEY)