* fix missed statement from last PR
* replace print statement for adding an entry to a journal
* clean up linting and format
* change print statement over to new print_msg function
* make print_msg always print to stderr
* change print statement over to new print_msg function
* update importer to use new message function
* update yaml format to use new message function
* code cleanup
* update yaml format to use new message function
* update yaml format to use new exception handling
* update Journal class to use new message function
* update install module to use new message function
* update config module to use new message function
* update upgrade module to properly use new message and exception handling
* fix typo
* update upgrade module to use new message handling
* update welcome message to use new handling
* update upgrade module to use new message handling
* update upgrade module journal summaries to use new message handling
* take out old code
* update upgrade module to use new message handling
* update upgrade module to use new message handling
* update more modules to use new message handling
* take out old comment
* update deprecated_cmd to use new message handling
* update text_exporter with new message handling, get rid of old color constants
* get rid of hardcoded text
* whitespace changes
* rework MsgType into MsgStyle so messages can have different styles
* add comment
* Move around code to separate concerns of each function a bit more
* update create_password and yesno prompt functions for new messaging
* fix missing newline for keyboard interrupts
* fix misc linting
* fix bug with panel titles always showing 'error' after one error
* fix missing import
* update debug output after uncaught exception
* update exception for new exception handling
* rewrite yesno function to use new centralized messages
* reduce the debug output slightly
* clean up print_msgs function
* clean up create_password function
* clean up misc linting
* rename screen_input to hide_input to be more clear
* update encrypted journal prompt to use new messaging functionality
* fix typo in message key
* move rich console into function so we can mock properly
* update password mock to use rich console instead of getpass
* add more helpful output to then step
* fix test by updating expected output
* update message to use new functionality
* rework mocks in test suite for new messaging functionality
* fix linting issue
* fix more tests
* fix more tests
* fix more tests
* fix more tests
* fix merge bug
* update prompt_action_entries to use new messaging functionality
* Add new input_method "type"
This does the same thing as input_method "pipe" but is more clear what
it's doing (typing text into the builtin composer)
* get rid of old commented code
* get rid of unused code
* move some files around
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* Refactored path expansion calls into a new path.py file
This also fixed bugs with relative journal and template paths.
* Update tests for new path functions
Also, make the tests specific to Windows, Mac & Linux
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* Remove Python 3.7 and 3.8 from github actions workflows
* Update lockfile after running poetry update a couple times
* Update poetry lock
* Remove Python 3.7 and 3.8 from pyproject.toml and run poetry lock
* Switch from pyyaml to ruamel.yaml
* Remove duplicate editor key in config
* Use ruamel.yaml instead of pyyaml in legacy template.py
* Prevent ruamel from collapsing config YAML
* Run make format
* Remove Python 3.7 and 3.8 from github actions workflows
* Update lockfile after running poetry update a couple times
* Update poetry lock
* Remove Python 3.7 and 3.8 from pyproject.toml and run poetry lock
* Remove special case code needed for Python 3.10 pre-release and try to get Python 3.11 pre-release running on CI
* Wrap 3.10 in quotes so it doesn't resolve to 3.1
* Remove pflake --version call that is crashing in Python 3.11-dev
* Run poetry update and restore removed flake8 line
* update yaml loader to new method
* Add config overrides steps to pytest
This requires some patching around the config object, which now happens
in every test.
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* udpate docs for new tests
* remove behave from deps
* remove feature dir from flake8 checks
* udpate lock file
* disable pip version check (it keeps spamming the pipeline)
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* Add Python 3.10 support
* Change Python 3.10 to 3.10-dev in CI
* Run poetry update
* Turn off fail-fast to troubleshoot
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
* Add continue-on-error for 3.10
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
* use prerelease poetry for prerelease python
* fix syntax error
* rename steps to make more sense
* remove dev dependency that breaks with python 3.10
* update tests
* Change test dependencies for minimal breakage on python 3.10
- loosen the test dep requirements (so we get warned about these
problems sooner)
- add new extras group to provide minimal deps required for testing (we
don't need to run static analysis again on every version)
* change how we check if deps are installed so test don't run wild
* add setuptools due to poetry bug, clean up other steps
* update lock file
* test
* Revert "test"
This reverts commit 31e538300e.
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
- Implement mock editor fixture
- Add fixture to keep track of editor state
- Implement various steps to check editor state
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
- Copy over the current tests from behave into the new directory that
pytest-bdd will use them in
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* Update authors to "jrnl contributors" to comply with GPL3
* Include jrnl email address with contributors
* Include GPL notice in jrnl --version
* Apply consistent copyright and license to all Python files
* Add copyright and license to documentation
* Add copyright and license to docs theme
* Wiping poetry cache to try to resolve a test issue
* Testing with Python 3.9.0 in attempt to bypass GitHub Actions failure in 3.9.1
* make format
* Exclude Windows Python 3.9 build which is failing due to a GitHub Actions problem
* Modify testing to get around this 3.9 issue...
* Fix exclude
This also unpins versions of some dependencies where the API is very
stable, or pinning wasn't getting us any additional stability.
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* Update version pin on pyxdg and run poetry update
* Update pytest pin and rerun poetry update
* Update black pin to latest version, poetry update, and make format
* Support Python 3.9 release in build instead of using 3.9 beta
* Revert Linux and Mac 3.9 definitions since release versions are not working on either
* Run poetry update
* Try out Python 3.10 support on all platforms with allow_failures on
* Adding c:\Python310 path reference for Python 3.10 Windows build
* Clean up unnecessary TOML modification in 3.9 build and always upgrade pyenv in Mac builds
* Clean up unnecessary before_install step on Mac and change 3.9-dev->3.9 definition on Linux
* Reverting Linux Python version to 3.9-dev so that it will run