Add support to save journals to multiple files in a directory

Update FolderJournal reference to entry __unicode__ method to __str__
Remove DayOne test made obsolete by FolderJournal
Fix FolderJournal path tests for Windows paths
Apply Black linting
This commit is contained in:
Micah Jerome Ellison 2020-02-29 12:35:05 -08:00
parent a3c81d46fe
commit 6985de2844
5 changed files with 37 additions and 32 deletions

View file

@ -23,9 +23,3 @@ Feature: Zapped Dayone bugs stay dead!
2014-04-24 09:00 Ran 6.2 miles today in 1:02:03.
| I'm feeling sore because I forgot to stretch.
"""
Scenario: Opening an folder that's not a DayOne folder gives a nice error message
Given we use the config "empty_folder.yaml"
When we run "jrnl Herro"
Then we should get an error
Then we should see the message "is a directory, but doesn't seem to be a DayOne journal either"

View file

@ -15,7 +15,7 @@ Feature: Testing a journal with a root directory and multiple files in the forma
When we run "jrnl 23 July 2013: Testing folder journal."
Then we should see the message "Entry added"
When the journal directory is listed
Then the output should contain "2013/07/23.txt"
Then the output should contain "2013/07/23.txt" or "2013\07\23.txt"
Scenario: Adding multiple entries to a Folder journal should generate multiple date files
@ -24,9 +24,8 @@ Feature: Testing a journal with a root directory and multiple files in the forma
And we run "jrnl 3/7/2014: Second entry of journal."
Then we should see the message "Entry added"
When the journal directory is listed
Then the output should contain "2013/07/23.txt"
And the output should contain "2014/03/07.txt"
Then the output should contain "2013/07/23.txt" or "2013\07\23.txt"
Then the output should contain "2014/03/07.txt" or "2014\03\07.txt"
Scenario: Out of order entries to a Folder journal should be listed in date order
Given we use the config "empty_folder.yaml"

View file

@ -210,10 +210,11 @@ def check_output_time_inline(context, text):
@then("the output should contain")
@then('the output should contain "{text}"')
def check_output_inline(context, text=None):
@then('the output should contain "{text}" or "{text2}"')
def check_output_inline(context, text=None, text2=None):
text = text or context.text
out = context.stdout_capture.getvalue()
assert text in out, text
assert text in out or text2 in out, text or text2
@then('the output should not contain "{text}"')
@ -269,15 +270,17 @@ def check_journal_entries(context, number, journal_name="default"):
journal = open_journal(journal_name)
assert len(journal.entries) == number
@when('the journal directory is listed')
@when("the journal directory is listed")
def list_journal_directory(context, journal="default"):
files=[]
files = []
with open(install.CONFIG_FILE_PATH) as config_file:
config = yaml.load(config_file, Loader=yaml.FullLoader)
journal_path = config['journals'][journal]
journal_path = config["journals"][journal]
for root, dirnames, f in os.walk(journal_path):
for file in f:
print(os.path.join(root,file))
for file in f:
print(os.path.join(root, file))
@then("fail")
def debug_fail(context):