mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 16:48:31 +02:00
* Remove search mode conditional that added explicit tag search behavior * Fix failing change-time test by using same method signature as base journal class * Fix user input mock - was not appropriately checking return value * Clean up controller - streamline `run` function in `controller.py` - add debug logging - fix unnecessary import of Journal class (only needed for typing) - standardize summary display across different actions * Add currently-failing test conditions for count messages when changing time and deleting * Don't show summary if no entries found and prevent extra line break when no entries found by short-circuiting display method * Track found entry count and remove incorrect modified stat logic * Track journal entry deletion consistently * Remove unneeded exception when editor is empty and fix test that was testing incorrect message * Correct entry edit modified count test * Track modification of entries with --change-time * Preserve existing behavior when editor is empty but make the message more clear * Reconcile tests with new error message when clearing editor in edit mode * Add found/modified counts to edit tests * Add tests for found count with -n equivalent argument * Test combinations of found/deleted messages when using --delete * Add tests for counting combinations of action arguments (change-time, edit, delete) and for change-time counts. Some are failing and should be investigated * Remove extraneous comment in test * Track added/deleted counts in a register in the Journal class instead of attempting to infer it via controller counting * Add encrypted to more tests * Fix merge conflict typo * Change 'write mode' -> 'append mode' in more places --------- Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
24 lines
635 B
Python
24 lines
635 B
Python
# Copyright © 2012-2023 jrnl contributors
|
|
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
|
|
|
from typing import TYPE_CHECKING
|
|
|
|
from jrnl.output import print_msg
|
|
|
|
if TYPE_CHECKING:
|
|
from jrnl.messages import Message
|
|
from jrnl.messages import MsgText
|
|
|
|
|
|
class JrnlException(Exception):
|
|
"""Common exceptions raised by jrnl."""
|
|
|
|
def __init__(self, *messages: "Message"):
|
|
self.messages = messages
|
|
|
|
def print(self) -> None:
|
|
for msg in self.messages:
|
|
print_msg(msg)
|
|
|
|
def has_message_text(self, message_text: "MsgText"):
|
|
return any([m.text == message_text for m in self.messages])
|