* 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
* disable logging by default (only enabled if --debug flag is given)
* Run make format
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* More refactoring of cli.py
break up code from cli.py (now in jrnl.py) up into smaller functions
get rid of export mode
move --encrypt and --decrypt to commands.py
clean up the help screen even more
update flag name for import
* reorganize code, move around lots of functions
* clean up import statements
* move run function out of cli and into jrnl
* rename confusingly named function
* move editor function into editor file
* rename parse_args.py to args.py to make room for more args functions
* Fix error in test suite for windows
I accidentally flipped the conditional, so this fixes it.
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* Update app description on help screen
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
If a date was given with an entry, and the star was also was added, the
star wouldn't be recognized if it was at the start of the title.
Example that didn't work, but now works with this fix:
jrnl "saturday: *Title words."
This is to be consistent in starring functionality with and without a
date in the entry.
Also, cleaned up the way the arg parser handles standalone commands.
Rather than checking individually for each command, you can now register
the command in the proper place, and it will be run with all known
arguments (and cofig if available).
* add test to repro issue #955
* Allow editing of DayOne entries
* Add broken test for Dayone
Add test for editing Dayone entries (this test currently fails)
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
* Fix editing logic for DayOneJournal
DayOneJournal previously reimplemented Journal._parse inside of
DayOneJournal.parse_editable_string, and in doing so caused issues
between itself and the class it was inheriting from. This commit fixes
the issue by moving the UUID to be in the body of the entry, rather than
above it. So, then Journal._parse still finds the correct boundaries
between entries, and DayOneJournal then parses the UUID afterward.
Co-authored-by: MinchinWeb <w_minchin@hotmail.com>
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* Add Python version check and faulty test to confirm it's working (should fail on 3.6 build only)
* Apply formatting
* Fix behave Python version test
* Make error message more descriptive and friendly
* Updating changelog [ci skip]
* Incrementing version to v2.4 [ci skip]
* [DayOne] remove extra spaces from the titles of edited DayOne entries
Otherwise, a leading space was being introduced
* [DayOne] maintain existing tags stored in DayOne metadata
* [DayOne] brings back extended DayOne attributes
* [DayOne] maintain metadata on edited entries
Fixes#358, See also #159
* [DayOne Exporter] apply black formatting
* [JSON Exporter] add support for extended DayOne Metadata
* [DayOne] [Tests] test that extended DayOne metadata is added to new entries
Co-authored-by: Jrnl Bot <jrnl.bot@gmail.com>
* remove period parsing in title
* fix title splitter
* revert title-body switch
* keep both splitting types
* make black happy
* make it lstrip not strip
* fix title-body order for the last time
* make black happy again
* added test
* second test for single line entry with punctuation
* delete extra blank lines
* Fix editor config when an argument with a space is used
* skip broken test on windows
* fix jrnl not behaving nicely with testing suite
* fix argument parsing for test suite
* fix one windows test, disable one windows test
* ask for password before adding entry (#799)
This fixes#799 because previously it would allow you to create an
entry using your editor and then attempt to open the journal. This
behaviour is fine for unencrypted journals but with encrypted journals
it means that if you get the password wrong three times then the entry
you just wrote is lost.
Swapping the order around so that the entry is opened first in the code
and then the editor is added means that this can't happen.
* Prevent filtered deletion from deleting entire journal #932 and add lots of deletion tests
* Undo removal of deletion feature
* Use more performant deletion
The MIT license is a bit outdated, and doesn't provide the protections
we'd like in a modern open-source application.
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>