I'm guessing watchdog's behaviour changed in an update, as the error
thrown when the watched directory doesn't exist is now
"FileNotFoundError" instead of "NotADirectoryError". It'll handle either
one now.
A bunch of options can now be changed without a restart as the config is
now guaranteed to be reloaded on change through the use of a RELOADCONFIG environment variable.
setup.py has been removed, and Poetry is now used to package for
install. This fixed an issue i had with uploading to PyPI, so one can
now run 'pip install jellyfin-accounts' to install.
user_template and other files are now accessed via JSONStorage, which
has dictionary like attributes for each file which can be used like a
dictionary, without the need to manually read and write the file. This
was done so that other storage types (e.g a database) can be added in
future.
Originally i switched this to 'created' because of a Windows issue someone was
having, but I believe it was something else i'd done that fixed it.
Using 'created' also meant multiple password resets for a user wouldn't
be registered, as jellyfin would just overwrite the existing file.
Hopefully this doesn't break anything.
Pressing the user settings button brings up a list of all jellyfin
users, and allows you to add or change their stored email addresses.
Additionally, changed emails.json to use user ID instead of username.
The program automatically converts the file to the new format at start.
The admin page now has the option to send an invite to an email address.
Since there are now two email types (invites and pw resets), the new
sections have been added to config.ini, and email_template and
email_plaintext have been renamed to email_html and email_text
respectively.
Added an extra debugging message to tell the file being read for a
password reset, and changed watchdog form using 'created' events to
'modified', otherwise there may be issues where the file is read before
it is fully written.