DiscoDOS v3.0
github-actions
released this
31 Dec 11:10
·
0 commits
to 24dd644f98caa60ce6f94d609d46bd8e9123b902
since this release
Overview
DiscoDOS 3.0 is huge! The plan was to support "selling records" on the Discogs Marketplace. A lot of fixing seemed to be essential to achieve that goal nicely, refactoring madness started, some unplanned features where suddenly more easily possible, the developer couldn't resist and in the end....all went overboard and dozens of features "just happened" along the road.
Some highlights:
dsc ls
- a TUI app to manage Discogs Marketplace listings using the beautiful Textual framework.- A bunch of new
dsc subcommands
and loads of usability improvements and reworks of existing commands. - Progress bars for longer running process using Rich Progress.
- Generally making more use of the wonderful Rich library which goal is to make CLI applications more coloful, better usable and visually appealing in general.
New Features and Improvements
- Importing is now divided into several subcommands and new things can be imported:
dsc import release
for single releases (fixed and performance improved).dsc import basic
for a minimal full-collection import (more data is imported, a new 'collection' table saves each collection item instance, notes, collection folder).dsc import sales
for the Marketplace inventory (new).dsc import listing
for single Marketplace listings (new).
- Cleanup commands group:
dsc clean sales
dsc clean collection
- Incorporated Rich indicators for each and every (potentially long running)
import
andclean
operation - All
print
statements in DiscoDOS use Rich print which gives a basic set of colors certain CLI elements (numbers, strings, json) but also "enables" futher use of Rich console markup. dsc sell
- a "wizard type" CLI command guiding through the process of listing a record for sale.dsc stats
- More statistics.dsc links
- From the ashes of "dsc search all", a key/value search based report view - get every hyperlink DiscoDOS can generate in one view.dsc ls
- a Textual App for displaying collection and sales data. Its main purpose is "managing Marketplace listings":- Key/value search for what you want to see/edit, for example:
dsc ls artist=squarepusher status=forsale
- A table view displaying search results
- A three column subpanel viewing details about: 1. sales listing, 2. Your price and marketplace stats, 3. A list of YouTube videos
- Supersimple "one-key-commands" v - fetch video links, l - fetch sales listing, return - fetch marketplace stats and suggested prices
- A "non-tui" version of
dsc ls
is available too (-x/--no-tui
or config option - see below).
- Key/value search for what you want to see/edit, for example:
New config options
enable_tui
- toggle Textual-based UI for thedsc ls
command.discogs_sold_folder_id
- collection items in this Discogs collection folder are marked "sold" duringimport basic
automatically.
Documentation
- New layout using the PyData Sphinx theme
- A lot of outdated documentation was removed
- New features where of course documented
- Deprecations where noted, eg. AcousticBrainz is discontinued but still working partly in DiscoDOS
- Generally docs are now more polished - less sections - more self-explanatory "where to look for what"
Fixes and improvements under the hood
- Restructured almost everything. Introduced Python subpackages
ctrl
,model
,view
and separated a lot of 1000+ lines long files to smaller module files. - Online operations moved to a separate mix-in class
DiscogsMixin
- Use
TableDefaults
descriptor class more often - column/field/shortcut/naming-magic - Almost everything touched, now
black
-formatted. - f-strings instead of
.format()
- Wherever possible refactored to "early returns", modularization, pythonic variable/class naming, comprehensions to improve code quality
- Logging now uses
%s
-formatting and loads of INFO level clutter was changed to DEBUG or removed. - Refactored fundamental database functions, supporting new useful flags like
as_dict
,join
,union
- Streamlined "getters" and Discogs "fetchers" naming
- There is still a lot of room for improvement, but it's definitely a start!
Known issues
- Collection folders not yet displayed with names, just ID's in
dsc ls
TUI.