Commit graph

109 commits

Author SHA1 Message Date
sriniv27
7564cfb381 rebases are hard 2021-02-18 08:56:58 -05:00
sriniv27
289a307b26 delete unused and redundant code 2021-02-18 08:53:09 -05:00
sriniv27
0b79128023 merge config override step with existing config_var step in core
delete config_override step

unify step description syntax
2021-02-18 08:48:20 -05:00
sriniv27
ccba68013c comment on step 2021-02-12 17:54:07 -05:00
sriniv27
4f933181c6 delete redundant step 2021-02-12 17:52:57 -05:00
sriniv27
0bf4e52c9f renamed variable 2021-02-12 17:50:13 -05:00
sriniv27
e889585935 remove unneeded imports 2021-02-12 17:47:17 -05:00
sriniv27
426deee489 reinstate getpass deletion 2021-02-09 22:51:10 -05:00
sriniv27
113d5e7318 rename variable for intent 2021-02-09 22:26:14 -05:00
sriniv27
336df64a05 remove unnecessary mocks 2021-02-09 21:09:20 -05:00
sriniv27
11f4a87b05 test that no editor is launched 2021-02-09 20:35:58 -05:00
sriniv27
93c62215d9 update for passworded access
context.parser -> parsed_args
2021-02-09 20:35:53 -05:00
sriniv27
1df4b74e53 move overrides earlier in the execution
use existing configs instead of custom

make format

clean up imports
2021-02-09 20:35:44 -05:00
sriniv27
c8e09b023f reuse existing mock; delete unneeded code 2021-02-09 20:35:44 -05:00
sriniv27
9b80d56773 update docs 2021-02-09 20:35:44 -05:00
Suhas
adb7932817 make format 2021-01-28 20:52:14 -05:00
Suhas
3b7e05c69f update tests ith better verifications 2021-01-28 20:52:04 -05:00
dependabot[bot]
3731ccbb43 Bump keyring from 21.8.0 to 22.0.1
Bumps [keyring](https://github.com/jaraco/keyring) from 21.8.0 to 22.0.1.
- [Release notes](https://github.com/jaraco/keyring/releases)
- [Changelog](https://github.com/jaraco/keyring/blob/main/CHANGES.rst)
- [Commits](https://github.com/jaraco/keyring/compare/v21.8.0...v22.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-28 20:47:12 -05:00
Suhas
6e09f93f16 update tests with better verifications
make format

space

review feedbac
2021-01-28 20:47:00 -05:00
Suhas
0f5dfade18 better, more specific behave tests 2021-01-27 18:13:10 -05:00
Suhas
bd61a78fba unittest multiple overrides 2021-01-25 08:52:50 -05:00
Suhas
27a370ce86 make format 2021-01-25 07:11:45 -05:00
Suhas
9f8be334fd rewrite test for better mock call expect 2021-01-25 07:11:17 -05:00
Suhas
e173e12edf remove unused import 2021-01-25 06:59:00 -05:00
Suhas
c8b737e459 code cleanup 2021-01-25 06:56:12 -05:00
Suhas
d348dbd55e move override behave tests out of core 2021-01-24 19:12:59 -05:00
Suhas
ededf23afa cleanup 2021-01-24 16:07:57 -05:00
Suhas
b92dd7edc7 make format 2021-01-24 11:10:00 -05:00
Suhas
99030c4623 iterate on behave step 2021-01-24 11:09:45 -05:00
Suhas
1a8bcfca64 rename --override to --config-override 2021-01-23 21:30:33 -05:00
Suhas
77646eaa1a make format 2021-01-23 11:18:13 -05:00
Suhas
43b8407ad5 implement editor override step 2021-01-23 11:08:01 -05:00
Suhas
2fc19c41b9 start writing integration test 2021-01-21 22:48:01 -05:00
Micah Jerome Ellison
9e6cd8820f
Fix OS compatibility issues for editors with spaces, slashes, and quotes (#1153)
* Fix inverted POSIX check, refactor os_compat, and add tests for it
* Fix missing parentheses and remove skip_win on test that is passing in Windows now
* Fix expected quotes in quoted args
* Make  output clearer on failing test
* Bringing skip_win back to test whose failure is a bit more complicated than expected
2021-01-16 15:19:11 -08:00
Karim Rahal
f0e8fa2060
Add new -today-in-history, -month, -day, and -year search filters (#1145)
* Introduce -reminisce, -month, -day, and -year
* Update expected_args in parse_args tests
* Add check before creating compare_d
* Misc changes
* Implement testing for -month, -day, -year, and -reminisce
* Compress tests into one Scenario Outline
* Fix failing tests by updating dates_similar journal
* Create 'we set current date and time to' step
* Use time.parse in reminisce
* Update dates_similar journal
* Make 'Searching in a journal' test shorter
* Lint
* Implement reminiscing test
* Add combination tests
* Finalize tests
* Finalize pytests
* Simplify reminisce tests
* Change reminsice help (since it also shows today's entries)
* Re-do tests; use various tests
* Remove old test data
* Better scenario description
* Standardize format for compare_d
* Rename -reminisce to -today-in-history
2021-01-16 14:55:27 -08:00
Micah Jerome Ellison
c155bafa84
Notify user when config directory can't be created because there is already a file with the same name (#1134)
* Moving configuration values and methods from install.py to config.py -- everything is broken right now
* Using context to store config path - still lots broken
* Use mocks and context.config_path to store test configs - many tests still broken though
* Update changelog [ci skip]
* Fix jrnl --ls crash
* Fix crash when no editor configured
* Attempt to patch config path with test data - doesn't appear to be working
* Properly use patched config path and add config given to scenario that wasn't using it
* Fix copypasta
* Fix editor test that needed patched config and trapping for system exit
* Add exception and handling for when configuration directory is actually a file
* Remove extraneous comment
* Use more generic JrnlError with messaging switchboard
* Format code a bit nicer
* Remove unnecessary given in diagnostic test
* Ensure full error message is output
* Remove unnecessary whitespace characters
2021-01-02 15:19:44 -08:00
Karim Rahal
57de4f9ba4
Fix keyring error handling (#1138)
* Capture KeyringLocked exception and allow manual password entry
* Create LockedKeyring for steps
* Support types in set_keyring step
* Clarify LockedKeyring docs
* Deal with locked exceptions elsewhere too
* Create behave tests for locked keyring
* Fix linting
* Fix keyring step to allow no type
* Handle all keyring retrieval errors
* Better keyring error handling
* Remove locked keyring for steps; generalize failed keyring
* Finalize tests for keyring handling
* Update set_keyring step
* Make password of failed keyring encryption test more semantic
2021-01-02 13:26:45 -08:00
Karim Rahal
e9fd5cdc0e
Allow custom extensions when editing (for easier syntax highlighting) (#1139)
* Create tests and steps for temporary filename suffix
* Have temporary filename suffix be -{template_filename} or .jrnl
* Finalize extension_editor_file
* Make suffix local variable in get_text_from_editor
2021-01-02 13:23:15 -08:00
Micah Jerome Ellison
9fe56b9e10
Comply with GPL by acknowledging all authors and including license info in each source file (#1121)
* 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
2020-12-19 22:28:22 -08:00
Jonathan Wren
cfdd05358a
Add ability to put --edit partly through a cli entry to move it to the editor (#1091)
also add some functionality to test suite to see what the editor file contents were and make assertions about it
2020-11-21 15:20:21 -08:00
Micah Jerome Ellison
c38c39efee
Update dependencies - pyxdg, pytest, black (#1076)
* 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
2020-11-14 12:42:34 -08:00
Jonathan Wren
d916f66dbf
[WIP] Lots of test refactoring (#1042)
* make behave slightly less verbose for use with behave --format progress2
* standardize behave tests
* move tests around to be more behavior driven
* clean up txt file after tests
* add more tests, add more functionality to behave for calling mock editor
* move around behave tests, get rid of regression files
* clean up some code around keyrings
* add more placeholder test scenarios (marked with @todo)
  You can run just these tests with `behave --no-skipped --tags=todo`
* fix "missing_directory" test
  This test was missing the config file it was trying to use. So, it was
  really a very useless, broken test that we absolutely should not have
  approved the PR (#963) for.
* add write tests for each journal type
* update version tests, add new regex match behave step
* add config test outlines
* add journal types to some search tests
* change "basic" config reference to "simple"
* update configs
* add more journal types in search
* fix basic folder journal reference
* add flush output steps to behave, update delete flag tests
* fix failing test with a flush
* update more delete flag tests to include other journal types
* fix file cleanup after failed test with no debug on
* fix password test
* fix DayOne tag sample data, move search/format tag tests, and run them on multiple jrnl types
* added ability to auto-prompt for password for encrypted journals
  Only uses password when prompted, and doesn't get in the way of other
  input prompts. This allows us to run the same scenarios on both
  encrypted journals and other journal types.
* fold encrypted scenarios into the rest of the scenarios where possible
* remove apostrophe that is breaking tests on CI
* add more journal type tests to import feature
* standardize whitespace in behave tests, take out duplicate test
* update handling of cache directories in test suite (easier syntax)
* skip failing YAML exporter emoji test on Windows
* added @todo tags for things that need follow-up

Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
2020-10-17 15:17:38 -07:00
Jonathan Wren
631e08a557
Clean up help screen, get rid of util.py (#1027)
* 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>
2020-08-22 11:40:39 -07:00
Jonathan Wren
a54ed90259 Move import to be standalone command to reduce clutter in cli.py 2020-08-01 15:54:13 -07:00
Jonathan Wren
a11aa24c7e Allow editing of DayOne entries (#1001)
* 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>
2020-07-18 12:54:52 -07:00
Micah Jerome Ellison
4ca6e3f95f Display warning if Python version is less than 3.7 (#994)
* 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
2020-07-12 16:24:46 -07:00
eshrh
be38cfa87a Add tags to json and xml exporters (#975)
* tag array for json
* add tags to entry in xml
* xml test
* json test
* black
* removed called
2020-06-13 11:58:35 -07:00
eshrh
2a3fd820b9 Create journal with absolute path when no path is specified (#972)
* create jrnl with abspath

Co-authored-by: = <esrh@netc.eu>
2020-06-13 11:08:22 -07:00
MinchinWeb
404760876f Add extended metadata support for DayOne Classic (#928)
* 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>
2020-06-06 12:41:15 -07:00
Eshan
0b9137c17d Fix set_keychain errors (#964)
* fix keyring problems
* black
* remove else and use stderr
* black
* add tests
* black
* change description of nokeyring
* dumb syntax error
2020-05-30 12:43:10 -07:00