Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins
2025-08-04
| ||
21:05 | Split reading card data from a file out of the DatabaseImportTask. Leaf check-in: e111cf116b user: thomas tags: refactor_async_tasks | |
19:57 | Fix Qt warning regarding parent/child relations across threads. _open_url() no longer sets the MeteredSeekableHTTPFile parent attribute. check-in: 2693ecc613 user: thomas tags: refactor_async_tasks | |
19:56 | runner.py: Improve logging in cancel_all_tasks(): Log the inner task, instead of the AsyncTaskRunner running it. check-in: 7af7609f3c user: thomas tags: refactor_async_tasks | |
19:49 | MeteredSeekableHTTPFile: Do not emit io_begin, if the ui_hint is empty check-in: 2dbd460491 user: thomas tags: refactor_async_tasks | |
19:44 | DatabaseImportTask: Emit task_completed signal to update the UI when the import finishes check-in: a68bd93edb user: thomas tags: refactor_async_tasks | |
19:43 | Use the proper queue type for multi-threaded queues. WIP implementation that uses 2 tasks to import card data from Scryfall. The ApiStreamTask pushes the batched bulk card data into a queue, and DatabaseImportTask consumes it. check-in: 5dc3297b93 user: thomas tags: refactor_async_tasks | |
19:04 | Implemented draft DatabaseImportTask.run(). Add the data source StreamTask as a new __init__() parameter. run() receives a stream of de-serialized JSON cards via the StreamTasks queue, and calls populate_database() using that. check-in: 471fe0702e user: thomas tags: refactor_async_tasks | |
18:42 | Prepare to move data aquisition out of DatabaseImportTask. 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 | |