- Setup alembic and generate the initial migration
- Add poethepoet to dev dependencies in order to put hard-to-remember
commands beneath the poetry namespace
- Add psycopg2-binary dependency, for use with postgresql
- Remove dotenv dependency, as it is no longer required
- Add `config.toml` to gitignore. This is because alembic has no
argument parser that will let you specify the config file to use.
Developers are encouraged to use `config.toml`, which will be
automatically recognized, unless they want to implement the argument
parser functionality for alembic.
- Create a common argument interface and config file format for both
cli and flask version of application.
- Bumped the python version constraint to ^3.11 in order to use the
native tomllib for reading config file.
- Move all the flask specific code under `worblehat.flaskapp`
- Extract the bookshelf selector into its own file, since it was a
little bit complicated with completion and everything.
- Print out bookcase item information on every prompt in the bookcase
item specific subclis
- Add funcs to EditBookcaseCli
- Add shelf editing to EditBookcaseCli
- Ensure shorthand column-row pairs are always written in that order
The scanner tool is about to become a fullfledged repl, much in the same
manner as dibbler.
Changes:
- Rename `tools/scanner.py` -> `cli/main.py`
- Create abstraction layer for Cmd with numbered commands
- Create submenu for items
- Lots of functionality edits
- Fill out more todos in REAMDE
- Rename BookcaseLocation -> BookcaseShelf
- Remove `name` from BookcaseShelfs, and use columns and rows to index
them instead
- Add `amount` to BookcaseItem, and make isbn unique
- Remove ability to use scanner tool without database
- Add a lot of real bookshelfs to seeding data
- Migrate project to use poetry for ease of dependency management and
building
- Add wsgi prod and dev entrypoints
- Start working on a more rigid scanning tool
- Remove unused ignores in .gitignore
- Update README about changes
- Update database models to the new declarative mapping syntax
See https://docs.sqlalchemy.org/en/20/orm/mapping_styles.html#orm-declarative-mapping
- Make use of Flask-SQLAlchemy to manage database connections
- Remove cli command interface in favor of just deleting the
sqlite file and reseeding when no tables are detected.
- Add list of iso639_1 language codes and names, and add to seed list
- Other changes to file structure.