From 083528d6cfb8333a5ca0415c05bde2c877ad1f54 Mon Sep 17 00:00:00 2001 From: Roberto Leinardi Date: Mon, 4 Jul 2022 20:12:25 +0200 Subject: [PATCH 1/8] Fixes overclock profile list not refreshing correctly --- gwe/di.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gwe/di.py b/gwe/di.py index b0e8042..dfcb128 100644 --- a/gwe/di.py +++ b/gwe/di.py @@ -121,7 +121,7 @@ def provide_overclock_profile_changed_subject(self) -> OverclockProfileChangedSu @singleton @provider - def provide_overclock_profile_changed_subject(self) -> SettingChangedSubject: + def provide_setting_changed_subject(self) -> SettingChangedSubject: return SettingChangedSubject(Subject()) From 1b64e99846e8463194232ea6a1a1a3bae50b6466 Mon Sep 17 00:00:00 2001 From: Roberto Leinardi Date: Mon, 4 Jul 2022 20:14:57 +0200 Subject: [PATCH 2/8] Updated dependencies --- gwe/__main__.py | 2 +- gwe/di.py | 4 ++-- gwe/interactor/check_new_version_interactor.py | 6 +++--- gwe/interactor/get_status_interactor.py | 6 +++--- gwe/interactor/has_nvidia_driver_interactor.py | 6 +++--- gwe/interactor/set_fan_speed_interactor.py | 8 ++++---- gwe/interactor/set_overclock_interactor.py | 8 ++++---- gwe/interactor/set_power_limit_iInteractor.py | 6 +++--- gwe/presenter/edit_overclock_profile_presenter.py | 8 ++++---- gwe/presenter/main_presenter.py | 14 +++++++------- gwe/util/log.py | 2 +- requirements.txt | 14 +++++++------- 12 files changed, 42 insertions(+), 42 deletions(-) diff --git a/gwe/__main__.py b/gwe/__main__.py index abfc8a8..6a874f3 100755 --- a/gwe/__main__.py +++ b/gwe/__main__.py @@ -27,7 +27,7 @@ from peewee import SqliteDatabase from gi.repository import GLib -from rx.disposable import CompositeDisposable +from reactivex.disposable import CompositeDisposable from gwe.conf import APP_PACKAGE_NAME from gwe.model.current_fan_profile import CurrentFanProfile diff --git a/gwe/di.py b/gwe/di.py index dfcb128..7731eca 100644 --- a/gwe/di.py +++ b/gwe/di.py @@ -21,8 +21,8 @@ from gi.repository import Gtk from injector import Module, provider, singleton, Injector from peewee import SqliteDatabase -from rx.disposable import CompositeDisposable -from rx.subject import Subject +from reactivex.disposable import CompositeDisposable +from reactivex.subject import Subject from gwe.conf import APP_PACKAGE_NAME, APP_MAIN_UI_NAME, APP_DB_NAME, APP_EDIT_FAN_PROFILE_UI_NAME, \ APP_PREFERENCES_UI_NAME, APP_HISTORICAL_DATA_UI_NAME, APP_EDIT_OC_PROFILE_UI_NAME diff --git a/gwe/interactor/check_new_version_interactor.py b/gwe/interactor/check_new_version_interactor.py index 0427293..1cba675 100644 --- a/gwe/interactor/check_new_version_interactor.py +++ b/gwe/interactor/check_new_version_interactor.py @@ -20,9 +20,9 @@ from typing import Optional import requests -import rx +import reactivex from injector import singleton, inject -from rx import Observable +from reactivex import Observable from gwe.conf import APP_ID, APP_VERSION @@ -39,7 +39,7 @@ def __init__(self) -> None: def execute(self) -> Observable: _LOG.debug("CheckNewVersionInteractor.execute()") - return rx.defer(lambda _: rx.just(self._check_new_version())) + return reactivex.defer(lambda _: reactivex.just(self._check_new_version())) def _check_new_version(self) -> Optional[LooseVersion]: req = requests.get(self.URL_PATTERN.format(package=APP_ID)) diff --git a/gwe/interactor/get_status_interactor.py b/gwe/interactor/get_status_interactor.py index 1151831..d048494 100644 --- a/gwe/interactor/get_status_interactor.py +++ b/gwe/interactor/get_status_interactor.py @@ -14,9 +14,9 @@ # # You should have received a copy of the GNU General Public License # along with gst. If not, see . -import rx +import reactivex from injector import singleton, inject -from rx import Observable +from reactivex import Observable from gwe.repository.nvidia_repository import NvidiaRepository @@ -29,4 +29,4 @@ def __init__(self, nvidia_repository: NvidiaRepository, ) -> None: def execute(self) -> Observable: # _LOG.debug("GetStatusInteractor.execute()") - return rx.defer(lambda _: rx.just(self._nvidia_repository.get_status())) + return reactivex.defer(lambda _: reactivex.just(self._nvidia_repository.get_status())) diff --git a/gwe/interactor/has_nvidia_driver_interactor.py b/gwe/interactor/has_nvidia_driver_interactor.py index 5549919..ce3ec5b 100644 --- a/gwe/interactor/has_nvidia_driver_interactor.py +++ b/gwe/interactor/has_nvidia_driver_interactor.py @@ -16,9 +16,9 @@ # along with gst. If not, see . from enum import Enum, auto -import rx +import reactivex from injector import singleton, inject -from rx import Observable +from reactivex import Observable from gwe.repository.nvidia_repository import NvidiaRepository @@ -36,7 +36,7 @@ def __init__(self, nvidia_repository: NvidiaRepository, ) -> None: self._nvidia_repository = nvidia_repository def execute(self) -> Observable: - return rx.defer(lambda _: rx.just(self._has_nvidia_driver())) + return reactivex.defer(lambda _: reactivex.just(self._has_nvidia_driver())) def _has_nvidia_driver(self) -> HasNvidiaDriverResult: if not self._nvidia_repository.has_nv_control_extension(): diff --git a/gwe/interactor/set_fan_speed_interactor.py b/gwe/interactor/set_fan_speed_interactor.py index a0e4733..ef9245f 100644 --- a/gwe/interactor/set_fan_speed_interactor.py +++ b/gwe/interactor/set_fan_speed_interactor.py @@ -16,9 +16,9 @@ # along with gst. If not, see . import logging -import rx +import reactivex from injector import singleton, inject -from rx import Observable +from reactivex import Observable from gwe.repository.nvidia_repository import NvidiaRepository @@ -33,5 +33,5 @@ def __init__(self, nvidia_repository: NvidiaRepository, ) -> None: def execute(self, gpu_index: int, speed: int = 100, manual_control: bool = True) -> Observable: _LOG.debug("SetSpeedProfileInteractor.execute()") - return rx.defer( - lambda _: rx.just(self._nvidia_repository.set_fan_speed(gpu_index, speed, manual_control))) + return reactivex.defer( + lambda _: reactivex.just(self._nvidia_repository.set_fan_speed(gpu_index, speed, manual_control))) diff --git a/gwe/interactor/set_overclock_interactor.py b/gwe/interactor/set_overclock_interactor.py index b0b71a4..ee2a479 100644 --- a/gwe/interactor/set_overclock_interactor.py +++ b/gwe/interactor/set_overclock_interactor.py @@ -16,9 +16,9 @@ # along with gst. If not, see . import logging -import rx +import reactivex from injector import singleton, inject -from rx import Observable +from reactivex import Observable from gwe.repository.nvidia_repository import NvidiaRepository @@ -33,5 +33,5 @@ def __init__(self, nvidia_repository: NvidiaRepository, ) -> None: def execute(self, gpu_index: int, perf: int, gpu_offset: int, memory_offset: int) -> Observable: _LOG.debug("SetOverclockInteractor.execute()") - return rx.defer( - lambda _: rx.just(self._nvidia_repository.set_overclock(gpu_index, perf, gpu_offset, memory_offset))) + return reactivex.defer( + lambda _: reactivex.just(self._nvidia_repository.set_overclock(gpu_index, perf, gpu_offset, memory_offset))) diff --git a/gwe/interactor/set_power_limit_iInteractor.py b/gwe/interactor/set_power_limit_iInteractor.py index 450cf02..a719d75 100644 --- a/gwe/interactor/set_power_limit_iInteractor.py +++ b/gwe/interactor/set_power_limit_iInteractor.py @@ -16,9 +16,9 @@ # along with gst. If not, see . import logging -import rx +import reactivex from injector import singleton, inject -from rx import Observable +from reactivex import Observable from gwe.repository.nvidia_repository import NvidiaRepository @@ -33,4 +33,4 @@ def __init__(self, nvidia_repository: NvidiaRepository, ) -> None: def execute(self, gpu_index: int, limit: int) -> Observable: _LOG.debug("SetPowerLimitInteractor.execute()") - return rx.defer(lambda _: rx.just(self._nvidia_repository.set_power_limit(gpu_index, limit))) + return reactivex.defer(lambda _: reactivex.just(self._nvidia_repository.set_power_limit(gpu_index, limit))) diff --git a/gwe/presenter/edit_overclock_profile_presenter.py b/gwe/presenter/edit_overclock_profile_presenter.py index 40d7e25..fbae017 100644 --- a/gwe/presenter/edit_overclock_profile_presenter.py +++ b/gwe/presenter/edit_overclock_profile_presenter.py @@ -20,10 +20,10 @@ from gi.repository import Gtk, GLib from injector import singleton, inject -from rx import operators -from rx.disposable import CompositeDisposable -from rx.scheduler import ThreadPoolScheduler -from rx.scheduler.mainloop import GtkScheduler +from reactivex import operators +from reactivex.disposable import CompositeDisposable +from reactivex.scheduler import ThreadPoolScheduler +from reactivex.scheduler.mainloop import GtkScheduler from gwe.interactor.set_overclock_interactor import SetOverclockInteractor from gwe.model.overclock_profile import OverclockProfile diff --git a/gwe/presenter/main_presenter.py b/gwe/presenter/main_presenter.py index 41bf911..b53f887 100644 --- a/gwe/presenter/main_presenter.py +++ b/gwe/presenter/main_presenter.py @@ -20,13 +20,13 @@ import multiprocessing from typing import Optional, Any, List, Tuple -import rx +import reactivex from gi.repository import GLib from injector import inject, singleton -from rx import Observable, operators -from rx.disposable import CompositeDisposable -from rx.scheduler import ThreadPoolScheduler -from rx.scheduler.mainloop import GtkScheduler +from reactivex import Observable, operators +from reactivex.disposable import CompositeDisposable +from reactivex.scheduler import ThreadPoolScheduler +from reactivex.scheduler.mainloop import GtkScheduler from gwe.conf import APP_NAME, APP_SOURCE_URL, APP_VERSION, APP_ID from gwe.di import FanProfileChangedSubject, SpeedStepChangedSubject, OverclockProfileChangedSubject, \ @@ -310,7 +310,7 @@ def _on_setting_list_changed(self, db_change: DbChange) -> None: def _start_refresh(self) -> None: _LOG.debug("start refresh") refresh_interval = self._settings_interactor.get_int('settings_refresh_interval') - self._composite_disposable.add(rx.interval(refresh_interval, scheduler=self._scheduler).pipe( + self._composite_disposable.add(reactivex.interval(refresh_interval, scheduler=self._scheduler).pipe( operators.start_with(0), operators.subscribe_on(self._scheduler), operators.flat_map(lambda _: self._get_status()), @@ -490,7 +490,7 @@ def _update_current_overclock_profile(self, profile: OverclockProfile) -> None: def _log_exception_return_empty_observable(self, ex: Exception, _: Observable) -> Observable: _LOG.exception(f"Err = {ex}") self.main_view.set_statusbar_text(str(ex)) - observable = rx.just(None) + observable = reactivex.just(None) assert isinstance(observable, Observable) return observable diff --git a/gwe/util/log.py b/gwe/util/log.py index f028019..c9ec303 100644 --- a/gwe/util/log.py +++ b/gwe/util/log.py @@ -30,7 +30,7 @@ def set_log_level(level: int) -> None: elif level <= logging.INFO: log_format = LOG_INFO_FORMAT logging.basicConfig(level=level, format=log_format) - logging.getLogger("Rx").setLevel(logging.INFO) + logging.getLogger("reactivex").setLevel(logging.INFO) logging.getLogger('injector').setLevel(logging.INFO) logging.getLogger('peewee').setLevel(logging.INFO) logging.getLogger('matplotlib').setLevel(logging.INFO) diff --git a/requirements.txt b/requirements.txt index 4dd0129..3b2ced4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,9 +1,9 @@ -injector==0.19.0 -matplotlib==3.5.1 -peewee==3.14.10 +injector==0.20.0 +matplotlib==3.5.2 +peewee==3.15.0 py3nvml==0.2.7 -PyGObject==3.42.0 +PyGObject==3.42.1 python-xlib==0.31 -pyxdg==0.27 -requests==2.27.1 -Rx==3.2.0 \ No newline at end of file +pyxdg==0.28 +requests==2.28.1 +reactivex==4.0.3 \ No newline at end of file From 215ce9b2bd3405e85d6010d3aef839ee7b8634bc Mon Sep 17 00:00:00 2001 From: Roberto Leinardi Date: Thu, 14 Jul 2022 21:50:33 +0200 Subject: [PATCH 3/8] Updated dependencies --- flatpak | 2 +- requirements.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/flatpak b/flatpak index b242252..8b82468 160000 --- a/flatpak +++ b/flatpak @@ -1 +1 @@ -Subproject commit b242252c54800fdbf9eac1139fc9947595e6cd1e +Subproject commit 8b824681c6ff6ac6c14d7f3d36a2f36efffb63d1 diff --git a/requirements.txt b/requirements.txt index 3b2ced4..94f765d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ -injector==0.20.0 +injector==0.20.1 matplotlib==3.5.2 -peewee==3.15.0 +peewee==3.15.1 py3nvml==0.2.7 PyGObject==3.42.1 python-xlib==0.31 From 1fdb3ba1f36bc34562332a045025791800b34193 Mon Sep 17 00:00:00 2001 From: Nikolay Borodin Date: Mon, 18 Jul 2022 18:46:47 +0000 Subject: [PATCH 4/8] VBIOS fan silent mode feature --- data/ui/edit_fan_profile.glade | 20 +++++++++++-- gwe/di.py | 33 ++++++++++++++++++--- gwe/model/__init__.py | 2 +- gwe/model/current_fan_profile.py | 3 +- gwe/model/fan_profile.py | 1 + gwe/presenter/edit_fan_profile_presenter.py | 6 +++- gwe/presenter/main_presenter.py | 5 +++- gwe/view/edit_fan_profile_view.py | 10 +++++-- 8 files changed, 68 insertions(+), 12 deletions(-) diff --git a/data/ui/edit_fan_profile.glade b/data/ui/edit_fan_profile.glade index 07495dc..b9280c1 100644 --- a/data/ui/edit_fan_profile.glade +++ b/data/ui/edit_fan_profile.glade @@ -1,5 +1,5 @@ -