* 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>
* Check config if FolderJournal and treat as so
* Add test for end of path is slash
* Code format correction
* Requested changes PR 1482
* Add info to doc about path of folder.
* Small addition to doc about folder journal
* Added check for empty config file and if so, use default config
* Added check for empty config file and if so, use default config
* Fix and add tests for empty config file
* Exit program with message if config is empty.
bdd-test doesn't add version if file is (and should stay) empty.
* Exit program with message if config is empty.
* bdd-test doesn't add version if file is (and should stay) empty.
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 skip_editor test and tag
* remove useless test
* unskip blank input test
* formatting
* rename test so it doesn't overwrite other test
* unskip some dayone tests that now work
* WIP
* fix handling of user input (stdin, input, getpass)
* take out redundant pytest step
* fix handling of 'we should' statements
* fix test that doesn't use a config file
* fix another test that uses stdin
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* remove .tool-versions file per PR feedback
* add comment to clarify why disembodied variables are here
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* added new CLI argument option --config-file
* pass argument and fetch alt config file if specified
* argparse argument setting update
* argument alias --cf added
* documentation update - usage of CLI argument
* fixed name-clash + unit tests
* feature test added
* #1170-alternate-config-file: Auto stash before rebase of "refs/heads/#1170-alternate-config-file"
* Update docs/advanced.md
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
* BDD tests added
* Begin migrating/rewording --cf tests in pytest-bdd.
Uses current directory instead of deep directory structure, but requires a given for each config file referenced
* Fix issue where specifying a config-file that needs to be upgraded ended up upgrading the user config file instead
* Uncomment and rework remaining tests for pytest-bdd instead of behave
* Fix copytree for Python 3.7 (which doesn't support dirs_exist_ok)
* Minor fixes to alternative config examples
* Remove behave tests (behave is no longer in use)
* Move config file unit test to unit test dir and use pytext path fixture instead of current directory to find test data
* Use explicit "given the config exists" for copying config files instead of shoehorning in "given we use the config" twice
* Change when/when to when/and
* Clarify scenarios and fix indentation
* Confirm primary config file isn't modified when encrypting/decrypting a journal in an alternate config file
* Remove try/except on copytree since I'm no longer using the same
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* 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 newer tests to pytest (from behave)
* remove 'lib' from gitignore (since we're using it)
* fix capitalization in some steps
* add 'the editor should not have been called' step
* comment out config override step in pytest-bdd since it's not implemented yet
* remove test that didn't really test anything
* implement some missing steps in pytest-bdd
* change comment to match other tests