Skip to content

Commit

Permalink
Make journal selection behavior more consistent when there's a colon …
Browse files Browse the repository at this point in the history
…with no date (#1164)
  • Loading branch information
wren committed Jan 30, 2021
1 parent ac0c499 commit ea845a8
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 4 deletions.
14 changes: 14 additions & 0 deletions features/multiple_journals.feature
Expand Up @@ -29,6 +29,20 @@ Feature: Multiple journals
And journal "work" should have 1 entry
And journal "work" should contain "2012-07-23"

Scenario: Write to specified journal without a timestamp but with colon
Given we use the config "multiple.yaml"
When we run "jrnl work : a long day in the office"
Then journal "default" should have 2 entries
And journal "work" should have 1 entry
And journal "work" should contain "a long day in the office"

Scenario: Write to specified journal without a timestamp but with colon
Given we use the config "multiple.yaml"
When we run "jrnl work: a long day in the office"
Then journal "default" should have 2 entries
And journal "work" should have 1 entry
And journal "work" should contain "a long day in the office"

Scenario: Create new journals as required
Given we use the config "multiple.yaml"
Then journal "ideas" should not exist
Expand Down
16 changes: 12 additions & 4 deletions jrnl/config.py
Expand Up @@ -138,10 +138,18 @@ def update_config(config, new_config, scope, force_local=False):

def get_journal_name(args, config):
args.journal_name = DEFAULT_JOURNAL_KEY
if args.text and args.text[0] in config["journals"]:
args.journal_name = args.text[0]
args.text = args.text[1:]
elif DEFAULT_JOURNAL_KEY not in config["journals"]:

# The first arg might be a journal name
if args.text:
potential_journal_name = args.text[0]
if potential_journal_name[-1] == ":":
potential_journal_name = potential_journal_name[0:-1]

if potential_journal_name in config["journals"]:
args.journal_name = potential_journal_name
args.text = args.text[1:]

if args.journal_name not in config["journals"]:
print("No default journal configured.", file=sys.stderr)
print(list_journals(config), file=sys.stderr)
sys.exit(1)
Expand Down

0 comments on commit ea845a8

Please sign in to comment.