The deadline daemon is supposed to send emails
to users who have borrowed books and are supposed to deliver
them back, or users who have added themselves to the queue,
and is waiting for a book.
- 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.