MTGProxyPrinter

Timeline
Login

Timeline

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

50 most recent check-ins

2026-07-30
23:17
Dependencies: Add test environment for Qt 6.11. Ensure Qt 6.7-6.9 get a suitable base python version Leaf check-in: d0b08b31f4 user: thomas tags: trunk
21:49
Add missing test data file check-in: 72cedf110d user: thomas tags: trunk
10:32
Fixes for failing tests check-in: 917ddb35a1 user: thomas tags: trunk
10:05
Dependencies: Specify pytest < 10, based on emitted deprecation warnings. check-in: 66449e4468 user: thomas tags: trunk
09:02
PrintingPreferencePage: Replaced defunct unit tests with new tests verifying UI behavior check-in: d8a53477f6 user: thomas tags: trunk
2026-07-29
18:05
Fix Scryfall API bulk data import failure, caused by API restructuring and switching to [JSONL](https://jsonltools.com/what-is-jsonl) format. Switched away from ijson, and use the standard library json module for per-line parsing, because ijson doesn't yet support JSONL (it chokes on the newline item delimiter). check-in: 3147256b62 user: thomas tags: trunk
2026-07-27
21:16
Printing filters: Added 3 new filters, general promo cards, pre-release promo cards, and WPN promo pack cards. check-in: 63a345801d user: thomas tags: trunk
15:15
Implement per-set preference weights. Store all filters and weights in the settings file. Use the weights to select the initial printing in the AddCardWidget check-in: cf4e21a6f3 user: thomas tags: trunk
15:12
Implement per-set preference weights. Store all filters and weights in the settings file. Use the weights to select the initial printing in the AddCardWidget Closed-Leaf check-in: 757a440424 user: thomas tags: bogus
15:04
Refactored CardDatabase.find_sets_matching(), which now works as intended. Closed-Leaf check-in: 87bc65bdb1 user: thomas tags: set_preference_weights
14:37
AddCardWidget: First implementation for automatically selecting the set containing the highest preference score printing. check-in: d5d0f0db95 user: thomas tags: set_preference_weights
14:18
AddCardWidget: Implement selecting the first collector number of a printing with the highest preference score among printings in the selected set. check-in: 73ac88045a user: thomas tags: set_preference_weights
14:13
PrintingPreferenceUpdater: Fixed AttributeError. Use the passed CardDatabase for lookups check-in: b0b72695f1 user: thomas tags: set_preference_weights
11:20
CardDatabase: Optimize get_available_collector_numbers_for_card_in_set() SQL query, replacing compound query with a plain one that doesn't require DISTINCT. check-in: a84f49e8a7 user: thomas tags: set_preference_weights
09:50
CardDatabase: Optimize get_available_sets_for_card(). Found a single and performant query, instead of a compound UNION ALL query. check-in: 8feaf2d451 user: thomas tags: set_preference_weights
2026-07-26
20:17
MTGSetTreeFilterModel: Wrap filter change signals in helper methods for de-duplication check-in: 93669df2e3 user: thomas tags: set_preference_weights
16:03
settings_window_pages.py: Solved most linter warnings check-in: ef2db8bed5 user: thomas tags: set_preference_weights
15:58
Fixed NameError caused by incomplete refactoring Closed-Leaf check-in: 894ef5640c user: thomas tags: bogus
15:54
settings_window_pages.py: Solved all linter warnings check-in: 3d4b418b21 user: thomas tags: bogus
15:30
Implement MTGSetTreeFilterModel(QSortFilterProxyModel), and use it as a filter model for the set filter view. It automatically hides all non-changed rows when highlighting changed settings to only show relevant data to the user check-in: 3cb6f72f1b user: thomas tags: set_preference_weights
11:33
Update changelog check-in: 74f501edd9 user: thomas tags: set_preference_weights
10:22
Printing preference weights and set preference weights are now stored in MTGProxyPrinter.ini. With this, the CardDatabase no longer holds parts of the application configuration. check-in: 16932e5eb2 user: thomas tags: set_preference_weights
09:26
PrintingPreferencePage: Additional UI touch-ups. Alternating column colors, adjust column widths. Models: Also assign the ModelColumns enums to the model class space for easier access and less ambiguity when used from outside the model class Closed-Leaf check-in: 9b2e4639a7 user: thomas tags: printing_weights_in_settings_ini
09:02
PrintingFilterModel: Fixed TypeError in save(). With this, saving to the configuration file works as intended check-in: 60dd4f9eaa user: thomas tags: printing_weights_in_settings_ini
2026-07-25
08:30
Implement writing all set filters, set preference weights, printing filters and printing preference weights to MTGProxyPrinter.ini check-in: bbd40869fd user: thomas tags: printing_weights_in_settings_ini
2026-07-24
21:28
PrintingPreferenceUpdater: Implemented reading the set preference weights from the settings. The new set preference weights parameter in __init__ is now optional, and when not given, the updater takes the values from the configuration file. check-in: 1c313d38fe user: thomas tags: printing_weights_in_settings_ini
12:49
CardDatabase: Update the EvaluatePrintingFilters view to also consider the set_preference_weight check-in: 75e27c4d09 user: thomas tags: printing_weights_in_settings_ini
12:39
PrintingFilterModel: Minor refactoring and renaming variables check-in: 64a05cba3e user: thomas tags: printing_weights_in_settings_ini
08:13
Settings migration: Migrate section card-filter to printing-filter, aligning wtih printing-weights. Remove settings key prefix "hide-" and "hidden-", so that printing-filter and printing-weights share the same settings keys. Add a CardDatabase migration step performing the key update in the PrintingFilters database table. When updating from 0.35, both database and settings migrations run before the PrintingFilterUpdater runs maintenance tasks at startup. check-in: 5246a130a3 user: thomas tags: printing_weights_in_settings_ini
07:28
Remove the defaultdict settings.CARD_FILTER_DEFAULT_WEIGHTS. Replace that with reading the weights from the regular settings ConfigParser. check-in: a09f847143 user: thomas tags: printing_weights_in_settings_ini
2026-07-23
21:28
Introduce printing-weights settings section, which will hold the printing preference weights. This will unify how settings are stored and keeps everything user-configurable via MTGProxyPrinter.ini, and not rely on the CardDatabase check-in: 23927e2e24 user: thomas tags: printing_weights_in_settings_ini
18:11
PrintingPreferenceUpdater: Fix column name in SQL UPDATE statement check-in: c307d01ba8 user: thomas tags: set_preference_weights
17:44
Implemented saving set preference weights check-in: 3ed79ce6a2 user: thomas tags: set_preference_weights
08:51
MTGSetTreeModel: Refactored index walking into a private method check-in: 33e288b460 user: thomas tags: set_preference_weights
08:42
Wire up saving the weights from the MTGSetTreeModel. Actual data gathering not yet implemented. check-in: cf3f2f5ef1 user: thomas tags: set_preference_weights
2026-07-22
21:42
MTGSetTreeModel: Implement highlight_differing_settings() and clear_highlight(). check-in: 164d34a48b user: thomas tags: set_preference_weights
20:46
MTGSetTreeModel: Fix index(). The method has to return valid indices for all columns of child nodes. check-in: 3f9b773fec user: thomas tags: set_preference_weights
20:04
MTGSetTreeModel: Fixed bug in parent(). With this, clicking child items no longer throws exceptions. check-in: 2e90ff2b68 user: thomas tags: set_preference_weights
2026-07-21
14:28
MTGSetTreeModel: Fix header texts. Fix setData() for the IsHidden column. Toggling Visible/Hidden works check-in: c84bf91db0 user: thomas tags: set_preference_weights
14:06
MTGSetTreeModel: Translation support for the IsHidden column text values check-in: ce0ae41624 user: thomas tags: set_preference_weights
14:03
PrintingPreferencePage: Integrate the MTGSetTreeModel check-in: 1c7a1e352c user: thomas tags: set_preference_weights
14:02
MTGSetTreeModel: Several fixes causing infinite loops. Simplify flags(). Implement loading data from the CardDatabase check-in: fff94a1d2c user: thomas tags: set_preference_weights
14:01
CardDatabase.get_all_sets(): Use a recursive CTE to return sets in tree order. The set tree is nested 3 layers deep, so this sort order allows for easy population of the MTGSetTree model check-in: e6d970f85d user: thomas tags: set_preference_weights
13:59
PrintingPreferencePage: Remove UI stretch to have an equal space distribution between both views on the page check-in: eb7d89dccd user: thomas tags: set_preference_weights
2026-07-20
08:11
SetContainer: Moved data() into the MTGSetTreeModel. MTGSetTreeModel: Implemented setData() check-in: 1a54db287a user: thomas tags: set_preference_weights
07:33
MTGSetTreeModel: Implemented populating the data from the CardDatabase. check-in: 29a8f88723 user: thomas tags: set_preference_weights
07:25
PrintingFilterUpdater: Added a TODO for a potential optimization check-in: 4de165ddf0 user: thomas tags: set_preference_weights
2026-07-19
21:27
CardDatabase: Fix find_sets_matching() no longer reading the icon_svg. Add test case verifying that the SVG is properly read from the database. check-in: 8b079defad user: thomas tags: set_preference_weights
21:10
DatabaseImportTask: Some micro-optimizations check-in: a2ab40d4e8 user: thomas tags: set_preference_weights
21:09
Update the database schema documentation for version 36 check-in: eb9035dedc user: thomas tags: set_preference_weights