mirror of
https://github.com/freedomofpress/dangerzone.git
synced 2025-04-28 18:02:38 +02:00
Rename global_common.GlobalCommon class to logic.Dangerzone
Rename the `global_common` module and `global_common.GlobalCommon` class to `logic` and `logic.Dangerzone` respectively. Also rename variables that hold instances of this class. This change is part of the initial refactor to make the Dangerzone class handle the core logic of the Dangerzone project.
This commit is contained in:
parent
2bed3c10e4
commit
cb8130042e
7 changed files with 65 additions and 69 deletions
|
@ -10,7 +10,7 @@ from colorama import Back, Fore, Style
|
|||
from . import args, container, errors
|
||||
from .container import convert
|
||||
from .document import SAFE_EXTENSION, Document
|
||||
from .global_common import GlobalCommon
|
||||
from .logic import DangerzoneCore
|
||||
from .util import get_version
|
||||
|
||||
|
||||
|
@ -32,7 +32,7 @@ def cli_main(
|
|||
output_filename: Optional[str], ocr_lang: Optional[str], filename: str
|
||||
) -> None:
|
||||
setup_logging()
|
||||
global_common = GlobalCommon()
|
||||
dangerzone = DangerzoneCore()
|
||||
|
||||
display_banner()
|
||||
|
||||
|
@ -47,14 +47,14 @@ def cli_main(
|
|||
# Validate OCR language
|
||||
if ocr_lang:
|
||||
valid = False
|
||||
for lang in global_common.ocr_languages:
|
||||
if global_common.ocr_languages[lang] == ocr_lang:
|
||||
for lang in dangerzone.ocr_languages:
|
||||
if dangerzone.ocr_languages[lang] == ocr_lang:
|
||||
valid = True
|
||||
break
|
||||
if not valid:
|
||||
click.echo("Invalid OCR language code. Valid language codes:")
|
||||
for lang in global_common.ocr_languages:
|
||||
click.echo(f"{global_common.ocr_languages[lang]}: {lang}")
|
||||
for lang in dangerzone.ocr_languages:
|
||||
click.echo(f"{dangerzone.ocr_languages[lang]}: {lang}")
|
||||
exit(1)
|
||||
|
||||
# Ensure container is installed
|
||||
|
|
|
@ -12,7 +12,7 @@ from PySide2 import QtCore, QtGui, QtWidgets
|
|||
|
||||
from .. import args, errors
|
||||
from ..document import Document
|
||||
from ..global_common import GlobalCommon
|
||||
from ..logic import DangerzoneCore
|
||||
from .common import GuiCommon
|
||||
from .main_window import MainWindow
|
||||
from .systray import SysTray
|
||||
|
@ -71,14 +71,14 @@ def gui_main(filename: Optional[str]) -> bool:
|
|||
app = app_wrapper.app
|
||||
|
||||
# Common objects
|
||||
global_common = GlobalCommon()
|
||||
gui_common = GuiCommon(app, global_common)
|
||||
dangerzone = DangerzoneCore()
|
||||
gui_common = GuiCommon(app, dangerzone)
|
||||
|
||||
# Allow Ctrl-C to smoothly quit the program instead of throwing an exception
|
||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||
|
||||
# Create the system tray
|
||||
systray = SysTray(global_common, gui_common, app, app_wrapper)
|
||||
systray = SysTray(dangerzone, gui_common, app, app_wrapper)
|
||||
|
||||
closed_windows: Dict[str, MainWindow] = {}
|
||||
windows: Dict[str, MainWindow] = {}
|
||||
|
@ -91,7 +91,7 @@ def gui_main(filename: Optional[str]) -> bool:
|
|||
def new_window(input_filename: Optional[str] = None) -> None:
|
||||
document = Document(input_filename)
|
||||
window_id = uuid.uuid4().hex
|
||||
window = MainWindow(global_common, gui_common, window_id, document)
|
||||
window = MainWindow(dangerzone, gui_common, window_id, document)
|
||||
window.delete_window.connect(delete_window)
|
||||
windows[window_id] = window
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ elif platform.system() == "Linux":
|
|||
import getpass
|
||||
from xdg.DesktopEntry import DesktopEntry
|
||||
|
||||
from ..global_common import GlobalCommon
|
||||
from ..logic import DangerzoneCore
|
||||
from ..settings import Settings
|
||||
from ..util import get_resource_path
|
||||
|
||||
|
@ -29,14 +29,12 @@ class GuiCommon(object):
|
|||
The GuiCommon class is a singleton of shared functionality for the GUI
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self, app: QtWidgets.QApplication, global_common: GlobalCommon
|
||||
) -> None:
|
||||
def __init__(self, app: QtWidgets.QApplication, dangerzone: DangerzoneCore) -> None:
|
||||
# Qt app
|
||||
self.app = app
|
||||
|
||||
# Global common singleton
|
||||
self.global_common = global_common
|
||||
self.dangerzone = dangerzone
|
||||
|
||||
# Preload font
|
||||
self.fixed_font = QtGui.QFontDatabase.systemFont(QtGui.QFontDatabase.FixedFont)
|
||||
|
@ -67,7 +65,7 @@ class GuiCommon(object):
|
|||
elif platform.system() == "Linux":
|
||||
# Get the PDF reader command
|
||||
args = shlex.split(
|
||||
self.pdf_viewers[self.global_common.settings.get("open_app")]
|
||||
self.pdf_viewers[self.dangerzone.settings.get("open_app")]
|
||||
)
|
||||
# %f, %F, %u, and %U are filenames or URLS -- so replace with the file to open
|
||||
for i in range(len(args)):
|
||||
|
@ -118,13 +116,13 @@ class Alert(QtWidgets.QDialog):
|
|||
def __init__(
|
||||
self,
|
||||
gui_common: GuiCommon,
|
||||
global_common: GlobalCommon,
|
||||
dangerzone: DangerzoneCore,
|
||||
message: str,
|
||||
ok_text: str = "Ok",
|
||||
extra_button_text: str = None,
|
||||
) -> None:
|
||||
super(Alert, self).__init__()
|
||||
self.global_common = global_common
|
||||
self.dangerzone = dangerzone
|
||||
self.gui_common = gui_common
|
||||
|
||||
self.setWindowTitle("dangerzone")
|
||||
|
|
|
@ -13,7 +13,7 @@ from PySide2 import QtCore, QtGui, QtWidgets
|
|||
from .. import container
|
||||
from ..container import convert
|
||||
from ..document import Document
|
||||
from ..global_common import GlobalCommon
|
||||
from ..logic import DangerzoneCore
|
||||
from ..util import get_resource_path, get_subprocess_startupinfo
|
||||
from .common import GuiCommon
|
||||
|
||||
|
@ -25,13 +25,13 @@ class MainWindow(QtWidgets.QMainWindow):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
global_common: GlobalCommon,
|
||||
dangerzone: DangerzoneCore,
|
||||
gui_common: GuiCommon,
|
||||
window_id: str,
|
||||
document: Document,
|
||||
) -> None:
|
||||
super(MainWindow, self).__init__()
|
||||
self.global_common = global_common
|
||||
self.dangerzone = dangerzone
|
||||
self.gui_common = gui_common
|
||||
self.window_id = window_id
|
||||
self.document = document
|
||||
|
@ -58,12 +58,12 @@ class MainWindow(QtWidgets.QMainWindow):
|
|||
header_layout.addStretch()
|
||||
|
||||
# Waiting widget, replaces content widget while container runtime isn't available
|
||||
self.waiting_widget = WaitingWidget(self.global_common, self.gui_common)
|
||||
self.waiting_widget = WaitingWidget(self.dangerzone, self.gui_common)
|
||||
self.waiting_widget.finished.connect(self.waiting_finished)
|
||||
|
||||
# Content widget, contains all the window content except waiting widget
|
||||
self.content_widget = ContentWidget(
|
||||
self.global_common, self.gui_common, self.document
|
||||
self.dangerzone, self.gui_common, self.document
|
||||
)
|
||||
self.content_widget.close_window.connect(self.close)
|
||||
|
||||
|
@ -103,9 +103,9 @@ class MainWindow(QtWidgets.QMainWindow):
|
|||
class InstallContainerThread(QtCore.QThread):
|
||||
finished = QtCore.Signal()
|
||||
|
||||
def __init__(self, global_common: GlobalCommon) -> None:
|
||||
def __init__(self, dangerzone: DangerzoneCore) -> None:
|
||||
super(InstallContainerThread, self).__init__()
|
||||
self.global_common = global_common
|
||||
self.dangerzone = dangerzone
|
||||
|
||||
def run(self) -> None:
|
||||
container.install()
|
||||
|
@ -124,9 +124,9 @@ class WaitingWidget(QtWidgets.QWidget):
|
|||
# - "install_container"
|
||||
finished = QtCore.Signal()
|
||||
|
||||
def __init__(self, global_common: GlobalCommon, gui_common: GuiCommon) -> None:
|
||||
def __init__(self, dangerzone: DangerzoneCore, gui_common: GuiCommon) -> None:
|
||||
super(WaitingWidget, self).__init__()
|
||||
self.global_common = global_common
|
||||
self.dangerzone = dangerzone
|
||||
self.gui_common = gui_common
|
||||
|
||||
self.label = QtWidgets.QLabel()
|
||||
|
@ -201,7 +201,7 @@ class WaitingWidget(QtWidgets.QWidget):
|
|||
"Installing the Dangerzone container image.<br><br>This might take a few minutes..."
|
||||
)
|
||||
self.buttons.hide()
|
||||
self.install_container_t = InstallContainerThread(self.global_common)
|
||||
self.install_container_t = InstallContainerThread(self.dangerzone)
|
||||
self.install_container_t.finished.connect(self.finished)
|
||||
self.install_container_t.start()
|
||||
|
||||
|
@ -210,11 +210,11 @@ class ContentWidget(QtWidgets.QWidget):
|
|||
close_window = QtCore.Signal()
|
||||
|
||||
def __init__(
|
||||
self, global_common: GlobalCommon, gui_common: GuiCommon, document: Document
|
||||
self, dangerzone: DangerzoneCore, gui_common: GuiCommon, document: Document
|
||||
) -> None:
|
||||
super(ContentWidget, self).__init__()
|
||||
|
||||
self.global_common = global_common
|
||||
self.dangerzone = dangerzone
|
||||
self.gui_common = gui_common
|
||||
self.document = document
|
||||
|
||||
|
@ -224,7 +224,7 @@ class ContentWidget(QtWidgets.QWidget):
|
|||
|
||||
# Settings
|
||||
self.settings_widget = SettingsWidget(
|
||||
self.global_common, self.gui_common, self.document
|
||||
self.dangerzone, self.gui_common, self.document
|
||||
)
|
||||
self.doc_selection_widget.document_selected.connect(
|
||||
self.settings_widget.document_selected
|
||||
|
@ -235,7 +235,7 @@ class ContentWidget(QtWidgets.QWidget):
|
|||
|
||||
# Convert
|
||||
self.convert_widget = ConvertWidget(
|
||||
self.global_common, self.gui_common, self.document
|
||||
self.dangerzone, self.gui_common, self.document
|
||||
)
|
||||
self.convert_widget.close_window.connect(self._close_window)
|
||||
self.doc_selection_widget.document_selected.connect(
|
||||
|
@ -309,10 +309,10 @@ class SettingsWidget(QtWidgets.QWidget):
|
|||
close_window = QtCore.Signal()
|
||||
|
||||
def __init__(
|
||||
self, global_common: GlobalCommon, gui_common: GuiCommon, document: Document
|
||||
self, dangerzone: DangerzoneCore, gui_common: GuiCommon, document: Document
|
||||
) -> None:
|
||||
super(SettingsWidget, self).__init__()
|
||||
self.global_common = global_common
|
||||
self.dangerzone = dangerzone
|
||||
self.gui_common = gui_common
|
||||
self.document = document
|
||||
|
||||
|
@ -371,8 +371,8 @@ class SettingsWidget(QtWidgets.QWidget):
|
|||
# OCR document
|
||||
self.ocr_checkbox = QtWidgets.QCheckBox("OCR document, language")
|
||||
self.ocr_combobox = QtWidgets.QComboBox()
|
||||
for k in self.global_common.ocr_languages:
|
||||
self.ocr_combobox.addItem(k, self.global_common.ocr_languages[k])
|
||||
for k in self.dangerzone.ocr_languages:
|
||||
self.ocr_combobox.addItem(k, self.dangerzone.ocr_languages[k])
|
||||
ocr_layout = QtWidgets.QHBoxLayout()
|
||||
ocr_layout.addWidget(self.ocr_checkbox)
|
||||
ocr_layout.addWidget(self.ocr_combobox)
|
||||
|
@ -403,31 +403,29 @@ class SettingsWidget(QtWidgets.QWidget):
|
|||
self.setLayout(layout)
|
||||
|
||||
# Load values from settings
|
||||
if self.global_common.settings.get("save"):
|
||||
if self.dangerzone.settings.get("save"):
|
||||
self.save_checkbox.setCheckState(QtCore.Qt.Checked)
|
||||
else:
|
||||
self.save_checkbox.setCheckState(QtCore.Qt.Unchecked)
|
||||
|
||||
if self.global_common.settings.get("ocr"):
|
||||
if self.dangerzone.settings.get("ocr"):
|
||||
self.ocr_checkbox.setCheckState(QtCore.Qt.Checked)
|
||||
else:
|
||||
self.ocr_checkbox.setCheckState(QtCore.Qt.Unchecked)
|
||||
|
||||
index = self.ocr_combobox.findText(
|
||||
self.global_common.settings.get("ocr_language")
|
||||
)
|
||||
index = self.ocr_combobox.findText(self.dangerzone.settings.get("ocr_language"))
|
||||
if index != -1:
|
||||
self.ocr_combobox.setCurrentIndex(index)
|
||||
|
||||
if platform.system() == "Darwin" or platform.system() == "Linux":
|
||||
if self.global_common.settings.get("open"):
|
||||
if self.dangerzone.settings.get("open"):
|
||||
self.open_checkbox.setCheckState(QtCore.Qt.Checked)
|
||||
else:
|
||||
self.open_checkbox.setCheckState(QtCore.Qt.Unchecked)
|
||||
|
||||
if platform.system() == "Linux":
|
||||
index = self.open_combobox.findText(
|
||||
self.global_common.settings.get("open_app")
|
||||
self.dangerzone.settings.get("open_app")
|
||||
)
|
||||
if index != -1:
|
||||
self.open_combobox.setCurrentIndex(index)
|
||||
|
@ -475,22 +473,22 @@ class SettingsWidget(QtWidgets.QWidget):
|
|||
self.document.output_filename = tmp[1]
|
||||
|
||||
# Update settings
|
||||
self.global_common.settings.set(
|
||||
self.dangerzone.settings.set(
|
||||
"save", self.save_checkbox.checkState() == QtCore.Qt.Checked
|
||||
)
|
||||
self.global_common.settings.set(
|
||||
self.dangerzone.settings.set(
|
||||
"ocr", self.ocr_checkbox.checkState() == QtCore.Qt.Checked
|
||||
)
|
||||
self.global_common.settings.set("ocr_language", self.ocr_combobox.currentText())
|
||||
self.dangerzone.settings.set("ocr_language", self.ocr_combobox.currentText())
|
||||
if platform.system() == "Darwin" or platform.system() == "Linux":
|
||||
self.global_common.settings.set(
|
||||
self.dangerzone.settings.set(
|
||||
"open", self.open_checkbox.checkState() == QtCore.Qt.Checked
|
||||
)
|
||||
if platform.system() == "Linux":
|
||||
self.global_common.settings.set(
|
||||
self.dangerzone.settings.set(
|
||||
"open_app", self.open_combobox.currentText()
|
||||
)
|
||||
self.global_common.settings.save()
|
||||
self.dangerzone.settings.save()
|
||||
|
||||
# Start!
|
||||
self.start_clicked.emit()
|
||||
|
@ -500,16 +498,16 @@ class ConvertThread(QtCore.QThread):
|
|||
finished = QtCore.Signal(bool)
|
||||
update = QtCore.Signal(bool, str, int)
|
||||
|
||||
def __init__(self, global_common: GlobalCommon, document: Document) -> None:
|
||||
def __init__(self, dangerzone: DangerzoneCore, document: Document) -> None:
|
||||
super(ConvertThread, self).__init__()
|
||||
self.global_common = global_common
|
||||
self.dangerzone = dangerzone
|
||||
self.document = document
|
||||
self.error = False
|
||||
|
||||
def run(self) -> None:
|
||||
if self.global_common.settings.get("ocr"):
|
||||
ocr_lang = self.global_common.ocr_languages[
|
||||
self.global_common.settings.get("ocr_language")
|
||||
if self.dangerzone.settings.get("ocr"):
|
||||
ocr_lang = self.dangerzone.ocr_languages[
|
||||
self.dangerzone.settings.get("ocr_language")
|
||||
]
|
||||
else:
|
||||
ocr_lang = None
|
||||
|
@ -549,10 +547,10 @@ class ConvertWidget(QtWidgets.QWidget):
|
|||
close_window = QtCore.Signal()
|
||||
|
||||
def __init__(
|
||||
self, global_common: GlobalCommon, gui_common: GuiCommon, document: Document
|
||||
self, dangerzone: DangerzoneCore, gui_common: GuiCommon, document: Document
|
||||
) -> None:
|
||||
super(ConvertWidget, self).__init__()
|
||||
self.global_common = global_common
|
||||
self.dangerzone = dangerzone
|
||||
self.gui_common = gui_common
|
||||
self.document = document
|
||||
|
||||
|
@ -602,7 +600,7 @@ class ConvertWidget(QtWidgets.QWidget):
|
|||
)
|
||||
|
||||
def start(self) -> None:
|
||||
self.convert_t = ConvertThread(self.global_common, self.document)
|
||||
self.convert_t = ConvertThread(self.dangerzone, self.document)
|
||||
self.convert_t.update.connect(self.update_progress)
|
||||
self.convert_t.finished.connect(self.all_done)
|
||||
self.convert_t.start()
|
||||
|
@ -630,7 +628,7 @@ class ConvertWidget(QtWidgets.QWidget):
|
|||
)
|
||||
|
||||
# Open
|
||||
if self.global_common.settings.get("open"):
|
||||
if self.dangerzone.settings.get("open"):
|
||||
self.gui_common.open_pdf_viewer(self.document.output_filename)
|
||||
|
||||
# Quit
|
||||
|
|
|
@ -3,7 +3,7 @@ from typing import TYPE_CHECKING
|
|||
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
from ..global_common import GlobalCommon
|
||||
from ..logic import DangerzoneCore
|
||||
from .common import GuiCommon
|
||||
|
||||
if TYPE_CHECKING:
|
||||
|
@ -13,13 +13,13 @@ if TYPE_CHECKING:
|
|||
class SysTray(QtWidgets.QSystemTrayIcon):
|
||||
def __init__(
|
||||
self,
|
||||
global_common: GlobalCommon,
|
||||
dangerzone: DangerzoneCore,
|
||||
gui_common: GuiCommon,
|
||||
app: QtWidgets.QApplication,
|
||||
app_wrapper: "ApplicationWrapper",
|
||||
) -> None:
|
||||
super(SysTray, self).__init__()
|
||||
self.global_common = global_common
|
||||
self.dangerzone = dangerzone
|
||||
self.gui_common = gui_common
|
||||
self.app = app
|
||||
self.app_wrapper = app_wrapper
|
||||
|
|
|
@ -18,9 +18,9 @@ from .util import get_resource_path
|
|||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class GlobalCommon(object):
|
||||
class DangerzoneCore(object):
|
||||
"""
|
||||
The GlobalCommon class is a singleton of shared functionality throughout the app
|
||||
The DangerzoneCore class is a singleton of shared functionality throughout the app
|
||||
"""
|
||||
|
||||
def __init__(self) -> None:
|
|
@ -6,16 +6,16 @@ from typing import TYPE_CHECKING, Any, Dict, Optional
|
|||
log = logging.getLogger(__name__)
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .global_common import GlobalCommon
|
||||
from .logic import DangerzoneCore
|
||||
|
||||
|
||||
class Settings:
|
||||
settings: Dict[str, Any]
|
||||
|
||||
def __init__(self, global_common: "GlobalCommon") -> None:
|
||||
self.global_common = global_common
|
||||
def __init__(self, dangerzone: "DangerzoneCore") -> None:
|
||||
self.dangerzone = dangerzone
|
||||
self.settings_filename = os.path.join(
|
||||
self.global_common.appdata_path, "settings.json"
|
||||
self.dangerzone.appdata_path, "settings.json"
|
||||
)
|
||||
self.default_settings: Dict[str, Any] = {
|
||||
"save": True,
|
||||
|
@ -59,6 +59,6 @@ class Settings:
|
|||
self.save()
|
||||
|
||||
def save(self) -> None:
|
||||
os.makedirs(self.global_common.appdata_path, exist_ok=True)
|
||||
os.makedirs(self.dangerzone.appdata_path, exist_ok=True)
|
||||
with open(self.settings_filename, "w") as settings_file:
|
||||
json.dump(self.settings, settings_file, indent=4)
|
||||
|
|
Loading…
Reference in a new issue