MTGProxyPrinter

Timeline
Login

Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2025-08-04
18:42
Prepare to move data aquisition out of DatabaseImportTask. Leaf check-in: c94e6d6355 user: thomas tags: refactor_async_tasks
17:33
Merge fork Leaf check-in: c3509a6eae user: thomas tags: trunk
14:59
Renamed DatabaseImportWorker to DatabaseImportTask. Add docstrings and deprecation notices to AsyncTask subclasses. check-in: 4b2d0c5c1f user: thomas tags: refactor_async_tasks
14:27
DatabaseImportWorker: Use AsyncTask as the base class, replacing DownloadWorker. The class no longer performs network-related tasks, so the capability to download data is no longer needed. check-in: f2917414ce user: thomas tags: refactor_async_tasks
14:25
DownloaderBase: Removed progress-reporting Qt signals, as those were replaced by the ones in the AsyncTask class. check-in: 5c0fb026ad user: thomas tags: refactor_async_tasks
14:05
ApplicationUpdateCheckTask: Use the ui_hint parameter when reading the available versions from the repository. That makes the application identify one of the progress bars appearing during application start. check-in: 4d11554590 user: thomas tags: refactor_async_tasks
2025-08-02
15:55
AsyncTaskRunner: Merge release_instance() into run() check-in: 27b5c0e83d user: thomas tags: refactor_async_tasks
15:24
Merge class Runnable into AsyncTaskRunner. check-in: aff15175d7 user: thomas tags: refactor_async_tasks
15:17
card_info_downloader.py: Implement an old TODO: Split reading card data from a file into a separate class, and factor out a common interface. check-in: 37afdb5b6e user: thomas tags: refactor_async_tasks
14:26
ApiStreamTask: Implemented a TODO: Emit network_error_occurred when a network error prevents reading the number of available cards. check-in: abbbf30a33 user: thomas tags: refactor_async_tasks
14:21
Merge unused ApiStreamRunner into ApiStreamWorker and rename it to ApiStreamTask. It can now be used as a worker, or as an independent async task that encapsulates the card data download, and uses a queue to send card data batches. check-in: 2dcd8178e6 user: thomas tags: refactor_async_tasks
08:42
AsyncTask.cancel() Also log the error when calling it. check-in: 729bd2e649 user: thomas tags: refactor_async_tasks
08:40
AsyncTask.cancel(): Raise NotImplementedError in the default implementation. check-in: 5bfbe8da04 user: thomas tags: refactor_async_tasks
08:36
AsyncTask: Rename signal begin_task to task_begins, to match task_completed and task_deleted. check-in: d06f1431fd user: thomas tags: refactor_async_tasks
08:04
Merge with trunk check-in: 77a625c12c user: thomas tags: refactor_async_tasks
08:00
MainWindow: Restructured _ask_user_about_update_policy(). Directly convert StandardButton to str using it's .name attribute. check-in: e2633bba05 user: thomas tags: trunk
2025-08-01
20:58
README: Update dependencies section check-in: 5d47d2446c user: thomas tags: trunk
2025-07-31
20:40
Fix style warnings check-in: 3576d8c8b9 user: thomas tags: refactor_async_tasks
20:34
Fixed tests/model/test_document_loader.py check-in: 3770e1b6d4 user: thomas tags: refactor_async_tasks
20:30
PrintingFilterUpdater: run() needs to commit changes made when completing regularly. check-in: a9bdb01dac user: thomas tags: refactor_async_tasks
20:21
Partially fix the unit test suite. It no longer errors out completely. check-in: d3c456fc94 user: thomas tags: refactor_async_tasks
15:10
UI: Re-saved all UI files using Qt Designer 6. This uses the proper Qt enums in definitions, instead of the deprecated aliases within the Qt namespace. check-in: 28a2d5cc50 user: thomas tags: trunk
09:58
Port the PrintCountUpdater to the AsyncTask API. check-in: 5f54c85c0d user: thomas tags: refactor_async_tasks
09:58
Add 2 TODO entries check-in: a50a707283 user: thomas tags: refactor_async_tasks
09:15
Port the update checker to the AsyncTask API. This currently causes untitled progress bars to show up while the task runs. check-in: 6f32667b88 user: thomas tags: refactor_async_tasks
08:39
Port InitOnDiskDataRunner to AsyncTask, but use it synchronously, as that is easier, because the signal to request async execution isn't yet connected in ImageDatabase.__init__() where the runner is used. check-in: 2889e5b50a user: thomas tags: refactor_async_tasks
2025-07-30
20:31
Fix deadlock during card data import, that was caused by the internally used PrintingFilterUpdater acquiring the carddb semaphore a second time. check-in: 1b6d22abde user: thomas tags: refactor_async_tasks
20:15
CardInfoDownloader: Stop using the *download* Qt signals inherited from DownloaderBase, and use the AsyncTask signals instead. check-in: 1f3373283a user: thomas tags: refactor_async_tasks
20:14
Remove unused imports check-in: 94e8a26f48 user: thomas tags: refactor_async_tasks
20:12
PrintingFilterUpdater: Move sequence of SQL statements from _update_cached_data() into a static list, and then iterate over it. This reduces code duplication check-in: 08870f0ae5 user: thomas tags: refactor_async_tasks
19:59
PrintingFilterUpdater: Unconditionally emit begin_task signal. When the class is used as an internal helper, the signal is unconnected and thus calls don't matter. check-in: c523ac41ea user: thomas tags: refactor_async_tasks
19:55
PrintingFilterUpdater: Invert the transaction management: Instead of committing when a database is passed in, skip BEGIN/COMMIT during the execution in that case. When a database is passed in, do not emit the task_begin signal to not overwrite the set progress and ui string check-in: aaeba9acd6 user: thomas tags: refactor_async_tasks
19:54
Fix a typo in a docstring. check-in: 76d4f79e93 user: thomas tags: refactor_async_tasks
15:51
UpdateChecker: Fix warning QObject: Cannot create children for a parent that is in a different thread. Also catch ssl.SSLError errors during update checks and abort in those cases. This helps stabilizing the app in unstable networks. check-in: 09f4f7ded7 user: thomas tags: refactor_async_tasks
15:37
Fix a few type warnings raised by the linter. check-in: 878abf9aca user: thomas tags: trunk
02:39
pyproject.toml: PEP 639 license specification. Remove license classifier. MANIFEST.in: Remove some unused entries. check-in: cc65778636 user: thomas tags: trunk
2025-07-28
18:05
DatabaseImportWorker: Remove the basically unused card_data_updated Qt Signal check-in: edf8db4208 user: thomas tags: refactor_async_tasks
17:59
Fix SyntaxError in the tests caused by the last merge check-in: 2bdbe3afbf user: thomas tags: refactor_async_tasks
17:57
Merge with trunk check-in: 199e85e9aa user: thomas tags: refactor_async_tasks
17:08
Fix typo in pip-tools version specified in create_development_environment.sh. Add pip-tools to the build environment requirements. check-in: 5b2cdc2c10 user: thomas tags: trunk
17:06
Restore compatibility with pip-tools 7 check-in: 1610c32ddc user: thomas tags: trunk
16:54
Modernize the application tech stack: Drop support for outdated libraries and platforms: PyQt5, Pint < 0.22, Windows 7, Python 3.8, 3.9, 3.10. Use modern type hinting style. Remove compatibility workarounds that ensured compatibility with Python 3.8 and Python-3.8-compatible dependencies. check-in: fd347b46df user: thomas tags: trunk
16:49
Further typing.Union[] and typing.Optional[] cleanups, replacing with X|Y and X|None. Closed-Leaf check-in: 421ee33ad3 user: thomas tags: modernize_tech_stack
16:01
Remove the +PySide6 build specifier from the version string check-in: 63b15e1ade user: thomas tags: modernize_tech_stack
15:54
__main__.py: Remove Python 3.8-3.9 compatible SSL certificate handling via certifi. check-in: 8d85fb22f6 user: thomas tags: modernize_tech_stack
15:47
Dependencies: Raise pytest-qt minimum version to 4.5, which includes the fix for warnings raised in qtbot.wait_signal(): [https://github.com/pytest-dev/pytest-qt/blob/master/CHANGELOG.rst#450-2025-07-01] check-in: 5d4d266133 user: thomas tags: modernize_tech_stack
15:43
Merge the PySide6 port. check-in: f3a5fe38f7 user: thomas tags: modernize_tech_stack
15:33
Replace a few instances of Optional[X] with X | None. check-in: 8425e4d6d1 user: thomas tags: modernize_tech_stack
15:18
Replace typing.Dict[] with dict[]. Replace typing.Set[] with set[]. check-in: 925e680d8f user: thomas tags: modernize_tech_stack
15:09
Replace typing.List[] with list[]. Replace StringList with list[str]. check-in: dca88d25bd user: thomas tags: modernize_tech_stack