SYMBOL INDEX (478 symbols across 63 files) FILE: jrnl/args.py class WrappingFormatter (line 20) | class WrappingFormatter(argparse.RawTextHelpFormatter): method _split_lines (line 23) | def _split_lines(self, text: str, width: int) -> list[str]: class IgnoreNoneAppendAction (line 31) | class IgnoreNoneAppendAction(argparse._AppendAction): method __call__ (line 37) | def __call__(self, parser, namespace, values, option_string=None): function parse_not_arg (line 42) | def parse_not_arg( function parse_args (line 68) | def parse_args(args: list[str] = []) -> argparse.Namespace: FILE: jrnl/color.py function colorize (line 20) | def colorize(string: str, color: str, bold: bool = False) -> str: function highlight_tags_with_background_color (line 33) | def highlight_tags_with_background_color( FILE: jrnl/commands.py function preconfig_diagnostic (line 31) | def preconfig_diagnostic(_) -> None: function preconfig_version (line 42) | def preconfig_version(_) -> None: function postconfig_list (line 62) | def postconfig_list(args: argparse.Namespace, config: dict, **_) -> int: function postconfig_import (line 71) | def postconfig_import(args: argparse.Namespace, config: dict, **_) -> int: function postconfig_encrypt (line 95) | def postconfig_encrypt( function postconfig_decrypt (line 152) | def postconfig_decrypt( FILE: jrnl/config.py function make_yaml_valid_dict (line 32) | def make_yaml_valid_dict(input: list) -> dict: function save_config (line 57) | def save_config(config: dict, alt_config_path: str | None = None) -> None: function get_default_config (line 72) | def get_default_config() -> dict[str, Any]: function get_default_colors (line 95) | def get_default_colors() -> dict[str, Any]: function scope_config (line 104) | def scope_config(config: dict, journal_name: str) -> dict: function verify_config_colors (line 124) | def verify_config_colors(config: dict) -> bool: function load_config (line 149) | def load_config(config_path: str) -> dict: function is_config_json (line 172) | def is_config_json(config_path: str) -> bool: function update_config (line 178) | def update_config( function get_journal_name (line 193) | def get_journal_name(args: argparse.Namespace, config: dict) -> argparse... function cmd_requires_valid_journal_name (line 210) | def cmd_requires_valid_journal_name(func: Callable) -> Callable: function validate_journal_name (line 218) | def validate_journal_name(journal_name: str, config: dict) -> None: FILE: jrnl/controller.py function run (line 34) | def run(args: "Namespace"): function _perform_actions_on_search_results (line 97) | def _perform_actions_on_search_results(**kwargs): function _is_append_mode (line 112) | def _is_append_mode(args: "Namespace", config: dict, **kwargs) -> bool: function append_mode (line 132) | def append_mode(args: "Namespace", config: dict, journal: "Journal", **k... function _get_template (line 181) | def _get_template(args, config) -> str: function search_mode (line 198) | def search_mode(args: "Namespace", journal: "Journal", **kwargs) -> None: function _write_in_editor (line 214) | def _write_in_editor(config: dict, prepopulated_text: str | None = None)... function _filter_journal_entries (line 224) | def _filter_journal_entries(args: "Namespace", journal: "Journal", **kwa... function _print_entries_found_count (line 252) | def _print_entries_found_count(count: int, args: "Namespace") -> None: function _other_entries (line 274) | def _other_entries(journal: "Journal", entries: list["Entry"]) -> list["... function _edit_search_results (line 279) | def _edit_search_results( function _print_changed_counts (line 318) | def _print_changed_counts(journal: "Journal", **kwargs) -> None: function _get_predit_stats (line 352) | def _get_predit_stats(journal: "Journal") -> dict[str, int]: function _delete_search_results (line 356) | def _delete_search_results( function _change_time_search_results (line 369) | def _change_time_search_results( function _display_search_results (line 388) | def _display_search_results(args: "Namespace", journal: "Journal", **kwa... function _has_search_args (line 411) | def _has_search_args(args: "Namespace") -> bool: function _has_action_args (line 434) | def _has_action_args(args: "Namespace") -> bool: function _has_display_args (line 444) | def _has_display_args(args: "Namespace") -> bool: function _has_only_tags (line 454) | def _has_only_tags(tag_symbols: str, args_text: str) -> bool: FILE: jrnl/editor.py function get_text_from_editor (line 22) | def get_text_from_editor(config: dict, template: str = "") -> str: function get_text_from_stdin (line 55) | def get_text_from_stdin() -> str: function get_template_path (line 80) | def get_template_path(template_path: str, jrnl_template_dir: str) -> str: function read_template_file (line 92) | def read_template_file(template_path: str) -> str: FILE: jrnl/encryption/BaseEncryption.py class BaseEncryption (line 14) | class BaseEncryption(ABC): method __init__ (line 15) | def __init__(self, journal_name: str, config: dict): method clear (line 21) | def clear(self) -> None: method encrypt (line 24) | def encrypt(self, text: str) -> bytes: method decrypt (line 28) | def decrypt(self, text: bytes) -> str: method _encrypt (line 38) | def _encrypt(self, text: str) -> bytes: method _decrypt (line 47) | def _decrypt(self, text: bytes) -> str | None: FILE: jrnl/encryption/BaseKeyEncryption.py class BaseKeyEncryption (line 7) | class BaseKeyEncryption(BaseEncryption): FILE: jrnl/encryption/BasePasswordEncryption.py class BasePasswordEncryption (line 16) | class BasePasswordEncryption(BaseEncryption): method __init__ (line 17) | def __init__(self, *args, **kwargs) -> None: method check_keyring (line 26) | def check_keyring(self) -> bool: method check_keyring (line 30) | def check_keyring(self, value: bool) -> None: method password (line 34) | def password(self) -> str | None: method password (line 38) | def password(self, value: str) -> None: method clear (line 41) | def clear(self): method encrypt (line 45) | def encrypt(self, text: str) -> bytes: method decrypt (line 58) | def decrypt(self, text: bytes) -> str: method _prompt_password (line 74) | def _prompt_password(self) -> None: FILE: jrnl/encryption/Jrnlv1Encryption.py class Jrnlv1Encryption (line 16) | class Jrnlv1Encryption(BasePasswordEncryption): method __init__ (line 17) | def __init__(self, *args, **kwargs) -> None: method _encrypt (line 21) | def _encrypt(self, _: str) -> bytes: method _decrypt (line 24) | def _decrypt(self, text: bytes) -> str | None: FILE: jrnl/encryption/Jrnlv2Encryption.py class Jrnlv2Encryption (line 16) | class Jrnlv2Encryption(BasePasswordEncryption): method __init__ (line 17) | def __init__(self, *args, **kwargs) -> None: method password (line 26) | def password(self): method password (line 30) | def password(self, value: str | None): method _make_key (line 34) | def _make_key(self) -> None: method _encrypt (line 50) | def _encrypt(self, text: str) -> bytes: method _decrypt (line 54) | def _decrypt(self, text: bytes) -> str | None: FILE: jrnl/encryption/NoEncryption.py class NoEncryption (line 9) | class NoEncryption(BaseEncryption): method __init__ (line 10) | def __init__(self, *args, **kwargs): method _encrypt (line 14) | def _encrypt(self, text: str) -> bytes: method _decrypt (line 18) | def _decrypt(self, text: bytes) -> str: FILE: jrnl/encryption/__init__.py class EncryptionMethods (line 13) | class EncryptionMethods(str, Enum): method __str__ (line 14) | def __str__(self) -> str: function determine_encryption_method (line 22) | def determine_encryption_method(config: str | bool) -> Type["BaseEncrypt... FILE: jrnl/exception.py class JrnlException (line 13) | class JrnlException(Exception): method __init__ (line 16) | def __init__(self, *messages: "Message"): method print (line 19) | def print(self) -> None: method has_message_text (line 23) | def has_message_text(self, message_text: "MsgText"): FILE: jrnl/install.py function upgrade_config (line 33) | def upgrade_config(config_data: dict, alt_config_path: str | None = None... function find_default_config (line 60) | def find_default_config() -> str: function find_alt_config (line 69) | def find_alt_config(alt_config: str) -> str: function load_or_install_jrnl (line 80) | def load_or_install_jrnl(alt_config_path: str) -> dict: function install (line 121) | def install() -> dict: function _initialize_autocomplete (line 169) | def _initialize_autocomplete() -> None: function _autocomplete_path (line 179) | def _autocomplete_path(text: str, state: int) -> list[str | None]: FILE: jrnl/journals/DayOneJournal.py class DayOne (line 27) | class DayOne(Journal): method __init__ (line 37) | def __init__(self, **kwargs): method open (line 43) | def open(self) -> "DayOne": method write (line 103) | def write(self) -> None: method editable_str (line 167) | def editable_str(self) -> str: method _update_old_entry (line 172) | def _update_old_entry(self, entry: Entry, new_entry: Entry) -> None: method _get_and_remove_uuid_from_entry (line 180) | def _get_and_remove_uuid_from_entry(self, entry: Entry) -> Entry: method parse_editable_str (line 191) | def parse_editable_str(self, edited: str) -> None: FILE: jrnl/journals/Entry.py class Entry (line 18) | class Entry: method __init__ (line 19) | def __init__( method fulltext (line 36) | def fulltext(self) -> str: method _parse_text (line 39) | def _parse_text(self): method title (line 50) | def title(self) -> str: method title (line 56) | def title(self, x: str): method body (line 60) | def body(self) -> str: method body (line 66) | def body(self, x: str): method tags (line 70) | def tags(self) -> list[str]: method tags (line 76) | def tags(self, x: list[str]): method tag_regex (line 80) | def tag_regex(tagsymbols: str) -> re.Pattern: method _parse_tags (line 84) | def _parse_tags(self) -> set[str]: method __str__ (line 90) | def __str__(self): method pprint (line 102) | def pprint(self, short: bool = False) -> str: method __repr__ (line 183) | def __repr__(self): method __hash__ (line 188) | def __hash__(self): method __eq__ (line 191) | def __eq__(self, other: "Entry"): method __ne__ (line 202) | def __ne__(self, other: "Entry"): function split_title (line 224) | def split_title(text: str) -> tuple[str, str]: FILE: jrnl/journals/FolderJournal.py class Folder (line 23) | class Folder(Journal): method __init__ (line 26) | def __init__(self, name: str = "default", **kwargs): method open (line 32) | def open(self) -> "Folder": method write (line 46) | def write(self) -> None: method delete_entries (line 89) | def delete_entries(self, entries_to_delete: list["Entry"]) -> None: method change_date_entries (line 96) | def change_date_entries(self, date: str, entries_to_change: list["Entr... method parse_editable_str (line 108) | def parse_editable_str(self, edited: str) -> None: method _get_files (line 124) | def _get_files(journal_path: str) -> list[str]: method _get_year_folders (line 132) | def _get_year_folders(path: pathlib.Path) -> list[pathlib.Path]: method _get_month_folders (line 139) | def _get_month_folders(path: pathlib.Path) -> list[pathlib.Path]: method _get_day_files (line 146) | def _get_day_files(path: pathlib.Path) -> list[str]: FILE: jrnl/journals/Journal.py class Tag (line 22) | class Tag: method __init__ (line 23) | def __init__(self, name, count=0): method __str__ (line 27) | def __str__(self): method __repr__ (line 30) | def __repr__(self): class Journal (line 34) | class Journal: method __init__ (line 35) | def __init__(self, name="default", **kwargs): method __len__ (line 58) | def __len__(self): method __iter__ (line 62) | def __iter__(self): method from_journal (line 67) | def from_journal(cls, other: "Journal") -> "Journal": method import_ (line 80) | def import_(self, other_journal_txt: str) -> None: method _get_encryption_method (line 88) | def _get_encryption_method(self) -> None: method _decrypt (line 92) | def _decrypt(self, text: bytes) -> str: method _encrypt (line 98) | def _encrypt(self, text: str) -> bytes: method open (line 104) | def open(self, filename: str | None = None) -> "Journal": method write (line 139) | def write(self, filename: str | None = None) -> None: method validate_parsing (line 146) | def validate_parsing(self) -> bool: method create_file (line 152) | def create_file(filename: str) -> None: method _to_text (line 156) | def _to_text(self) -> str: method _load (line 159) | def _load(self, filename: str) -> bytes: method _store (line 163) | def _store(self, filename: str, text: bytes) -> None: method _parse (line 167) | def _parse(self, journal_txt: str) -> list[Entry]: method pprint (line 206) | def pprint(self, short: bool = False) -> str: method __str__ (line 210) | def __str__(self): method __repr__ (line 213) | def __repr__(self): method sort (line 216) | def sort(self) -> None: method limit (line 220) | def limit(self, n: int | None = None) -> None: method tags (line 226) | def tags(self) -> list[Tag]: method filter (line 236) | def filter( method delete_entries (line 321) | def delete_entries(self, entries_to_delete: list[Entry]) -> None: method change_date_entries (line 327) | def change_date_entries( method prompt_action_entries (line 337) | def prompt_action_entries(self, msg: MsgText) -> list[Entry]: method new_entry (line 357) | def new_entry(self, raw: str, date=None, sort: bool = True) -> Entry: method editable_str (line 395) | def editable_str(self) -> str: method parse_editable_str (line 400) | def parse_editable_str(self, edited: str) -> None: method increment_change_counts_by_edit (line 413) | def increment_change_counts_by_edit(self, mod_entries: Entry) -> None: method get_change_counts (line 419) | def get_change_counts(self) -> dict: class LegacyJournal (line 427) | class LegacyJournal(Journal): method _parse (line 432) | def _parse(self, journal_txt: str) -> list[Entry]: function open_journal (line 479) | def open_journal(journal_name: str, config: dict, legacy: bool = False) ... FILE: jrnl/keyring.py function get_keyring_password (line 12) | def get_keyring_password(journal_name: str = "default") -> str | None: function set_keyring_password (line 21) | def set_keyring_password(password: str, journal_name: str = "default") -... FILE: jrnl/main.py function configure_logger (line 19) | def configure_logger(debug: bool = False) -> None: function run (line 35) | def run(manual_args: list[str] | None = None) -> int: FILE: jrnl/messages/Message.py class Message (line 14) | class Message(NamedTuple): FILE: jrnl/messages/MsgStyle.py class MsgStyle (line 14) | class MsgStyle(Enum): class _Color (line 15) | class _Color(NamedTuple): class _Decoration (line 23) | class _Decoration(Enum): method callback (line 39) | def callback(self) -> Callable: method args (line 43) | def args(self) -> dict: method decoration (line 76) | def decoration(self) -> _Decoration: method color (line 80) | def color(self) -> _Color: method prepend_newline (line 84) | def prepend_newline(self) -> bool: method append_space (line 88) | def append_space(self) -> bool: method box_title (line 92) | def box_title(self) -> MsgText: FILE: jrnl/messages/MsgText.py class MsgText (line 7) | class MsgText(Enum): method __str__ (line 8) | def __str__(self) -> str: FILE: jrnl/os_compat.py function on_windows (line 8) | def on_windows() -> bool: function on_posix (line 12) | def on_posix() -> bool: function split_args (line 16) | def split_args(args: str) -> list[str]: FILE: jrnl/output.py function deprecated_cmd (line 15) | def deprecated_cmd( function journal_list_to_json (line 30) | def journal_list_to_json(journal_list: dict) -> str: function journal_list_to_yaml (line 36) | def journal_list_to_yaml(journal_list: dict) -> str: function journal_list_to_stdout (line 49) | def journal_list_to_stdout(journal_list: dict) -> str: function list_journals (line 59) | def list_journals(configuration: dict, format: str | None = None) -> str: function print_msg (line 77) | def print_msg(msg: Message, **kwargs) -> str | None: function print_msgs (line 83) | def print_msgs( function _get_console (line 117) | def _get_console(stderr: bool = True) -> Console: function _add_extra_style_args_if_needed (line 121) | def _add_extra_style_args_if_needed(args: dict, msg: Message): function format_msg_text (line 127) | def format_msg_text(msg: Message) -> Text: function wrap_with_ansi_colors (line 136) | def wrap_with_ansi_colors(text: str, width: int) -> str: FILE: jrnl/override.py function apply_overrides (line 14) | def apply_overrides(args: "Namespace", base_config: dict) -> dict: function _get_key_and_value_from_pair (line 41) | def _get_key_and_value_from_pair(pairs: dict) -> tuple: function _convert_dots_to_list (line 46) | def _convert_dots_to_list(key_as_dots: str) -> list[str]: function _recursively_apply (line 52) | def _recursively_apply(tree: dict, nodes: list, override_value) -> dict: function _get_config_node (line 74) | def _get_config_node(config: dict, key: str): FILE: jrnl/path.py function home_dir (line 20) | def home_dir() -> str: function expand_path (line 24) | def expand_path(path: str) -> str: function absolute_path (line 28) | def absolute_path(path: str) -> str: function get_default_journal_path (line 32) | def get_default_journal_path() -> str: function get_templates_path (line 37) | def get_templates_path() -> str: function get_config_directory (line 50) | def get_config_directory() -> str: function get_config_path (line 67) | def get_config_path() -> str: FILE: jrnl/plugins/__init__.py function get_exporter (line 39) | def get_exporter(format: str) -> Type[TextExporter] | None: function get_importer (line 46) | def get_importer(format: str) -> Type[JRNLImporter] | None: FILE: jrnl/plugins/calendar_heatmap_exporter.py class CalendarHeatmapExporter (line 24) | class CalendarHeatmapExporter(TextExporter): method export_entry (line 31) | def export_entry(cls, entry: "Entry"): method print_calendar_heatmap (line 35) | def print_calendar_heatmap(cls, journal_frequency: "NestedDict") -> str: method export_journal (line 114) | def export_journal(cls, journal: "Journal"): FILE: jrnl/plugins/dates_exporter.py class DatesExporter (line 14) | class DatesExporter(TextExporter): method export_entry (line 21) | def export_entry(cls, entry: "Entry"): method export_journal (line 25) | def export_journal(cls, journal: "Journal") -> str: FILE: jrnl/plugins/fancy_exporter.py class FancyExporter (line 20) | class FancyExporter(TextExporter): method export_entry (line 43) | def export_entry(cls, entry: "Entry") -> str: method export_journal (line 103) | def export_journal(cls, journal) -> str: function check_provided_linewrap_viability (line 108) | def check_provided_linewrap_viability( FILE: jrnl/plugins/jrnl_importer.py class JRNLImporter (line 17) | class JRNLImporter: method import_ (line 23) | def import_(journal: "Journal", input: str | None = None) -> None: FILE: jrnl/plugins/json_exporter.py class JSONExporter (line 15) | class JSONExporter(TextExporter): method entry_to_dict (line 22) | def entry_to_dict(cls, entry: "Entry") -> dict: method export_entry (line 57) | def export_entry(cls, entry: "Entry") -> str: method export_journal (line 62) | def export_journal(cls, journal: "Journal") -> str: FILE: jrnl/plugins/markdown_exporter.py class MarkdownExporter (line 19) | class MarkdownExporter(TextExporter): method export_entry (line 26) | def export_entry(cls, entry: "Entry", to_multifile: bool = True) -> str: method export_journal (line 81) | def export_journal(cls, journal: "Journal") -> str: FILE: jrnl/plugins/tag_exporter.py class TagExporter (line 14) | class TagExporter(TextExporter): method export_entry (line 21) | def export_entry(cls, entry: "Entry") -> str: method export_journal (line 26) | def export_journal(cls, journal: "Journal") -> str: FILE: jrnl/plugins/text_exporter.py class TextExporter (line 20) | class TextExporter: method export_entry (line 27) | def export_entry(cls, entry: "Entry") -> str: method export_journal (line 32) | def export_journal(cls, journal: "Journal") -> str: method write_file (line 37) | def write_file(cls, journal: "Journal", path: str) -> str: method make_filename (line 54) | def make_filename(cls, entry: "Entry") -> str: method write_files (line 60) | def write_files(cls, journal: "Journal", path: str) -> str: method _slugify (line 90) | def _slugify(string: str) -> str: method export (line 100) | def export(cls, journal: "Journal", output: str | None = None) -> str: FILE: jrnl/plugins/util.py class NestedDict (line 11) | class NestedDict(dict): method __missing__ (line 14) | def __missing__(self, x): function get_tags_count (line 19) | def get_tags_count(journal: "Journal") -> set[tuple[int, str]]: function oxford_list (line 30) | def oxford_list(lst: list) -> str: function get_journal_frequency_nested (line 43) | def get_journal_frequency_nested(journal: "Journal") -> NestedDict: function get_journal_frequency_one_level (line 56) | def get_journal_frequency_one_level(journal: "Journal") -> Counter: FILE: jrnl/plugins/xml_exporter.py class XMLExporter (line 15) | class XMLExporter(JSONExporter): method export_entry (line 22) | def export_entry( method entry_to_xml (line 39) | def entry_to_xml(cls, entry: "Entry", doc: minidom.Document) -> minido... method export_journal (line 54) | def export_journal(cls, journal: "Journal") -> str: FILE: jrnl/plugins/yaml_exporter.py class YAMLExporter (line 20) | class YAMLExporter(TextExporter): method export_entry (line 28) | def export_entry(cls, entry: "Entry", to_multifile: bool = True) -> str: method export_journal (line 140) | def export_journal(cls, journal: "Journal"): FILE: jrnl/prompt.py function create_password (line 11) | def create_password(journal_name: str) -> str: function prompt_password (line 45) | def prompt_password(first_try: bool = True) -> str: function yesno (line 59) | def yesno(prompt: Message | str, default: bool = True) -> bool: FILE: jrnl/time.py function __get_pdt_calendar (line 11) | def __get_pdt_calendar(): function parse (line 21) | def parse( function is_valid_date (line 98) | def is_valid_date(year: int, month: int, day: int) -> bool: FILE: jrnl/upgrade.py function backup (line 23) | def backup(filename: str, binary: bool = False): function check_exists (line 46) | def check_exists(path: str) -> bool: function upgrade_jrnl (line 53) | def upgrade_jrnl(config_path: str) -> None: function is_old_version (line 192) | def is_old_version(config_path: str) -> bool: function _print_journal_summary (line 196) | def _print_journal_summary(journals: dict, header: Message, pad: int) ->... FILE: tasks.py function delete_files (line 17) | def delete_files(files): function run_shell (line 22) | def run_shell(command): function generate_sitemap (line 27) | def generate_sitemap(): function generate_pa11y_config_from_sitemap (line 33) | def generate_pa11y_config_from_sitemap(): function output_file (line 54) | def output_file(file): FILE: tests/conftest.py function pytest_bdd_apply_tag (line 18) | def pytest_bdd_apply_tag(tag, function): function pytest_runtest_setup (line 38) | def pytest_runtest_setup(item): FILE: tests/lib/fixtures.py function keyring (line 25) | def keyring(): function keyring_type (line 30) | def keyring_type(): class TestKeyring (line 34) | class TestKeyring(backend.KeyringBackend): method set_password (line 40) | def set_password(self, servicename, username, password): method get_password (line 43) | def get_password(self, servicename, username): method delete_password (line 46) | def delete_password(self, servicename, username): class NoKeyring (line 50) | class NoKeyring(backend.KeyringBackend): method set_password (line 56) | def set_password(self, servicename, username, password): method get_password (line 59) | def get_password(self, servicename, username): method delete_password (line 62) | def delete_password(self, servicename, username): class FailedKeyring (line 66) | class FailedKeyring(backend.KeyringBackend): method set_password (line 71) | def set_password(self, servicename, username, password): method get_password (line 74) | def get_password(self, servicename, username): method delete_password (line 77) | def delete_password(self, servicename, username): function cli_run (line 83) | def cli_run( function mock_factories (line 114) | def mock_factories(): function mock_args (line 119) | def mock_args(cache_dir, request): function mock_is_tty (line 134) | def mock_is_tty(is_tty): function mock_overrides (line 139) | def mock_overrides(config_in_memory): function mock_config_path (line 155) | def mock_config_path(request): function mock_default_journal_path (line 172) | def mock_default_journal_path(temp_dir): function mock_default_templates_path (line 185) | def mock_default_templates_path(temp_dir): function temp_dir (line 195) | def temp_dir(): function working_dir (line 200) | def working_dir(request): function toml_version (line 205) | def toml_version(working_dir): function input_method (line 220) | def input_method(): function all_input (line 225) | def all_input(): function command (line 230) | def command(): function cache_dir (line 235) | def cache_dir(): function str_value (line 240) | def str_value(): function should_not (line 245) | def should_not(): function mock_user_input (line 250) | def mock_user_input(request, password_input, stdin_input): function password_input (line 285) | def password_input(request): function stdin_input (line 293) | def stdin_input(request, is_tty): function is_tty (line 303) | def is_tty(input_method): function config_on_disk (line 309) | def config_on_disk(config_path): function config_in_memory (line 314) | def config_in_memory(): function journal_name (line 319) | def journal_name(): function which_output_stream (line 324) | def which_output_stream(): function editor_input (line 329) | def editor_input(): function num_args (line 334) | def num_args(): function parsed_output (line 339) | def parsed_output(): function editor_state (line 344) | def editor_state(): function mock_editor (line 353) | def mock_editor(editor_state): FILE: tests/lib/given_steps.py function we_enter_editor_docstring (line 26) | def we_enter_editor_docstring(editor_method, editor_state, docstring): function we_enter_editor (line 31) | def we_enter_editor(editor_method, editor_input, editor_state): function now_is_str (line 44) | def now_is_str(date_str, mock_factories): function we_dont_have_keyring (line 76) | def we_dont_have_keyring(keyring_type): function we_have_type_of_keyring (line 82) | def we_have_type_of_keyring(keyring_type): function we_use_no_config (line 92) | def we_use_no_config(temp_dir): function we_use_the_config (line 98) | def we_use_the_config(request, temp_dir, working_dir, config_file): function we_copy_the_template (line 137) | def we_copy_the_template(request, temp_dir, working_dir, template_file): function config_exists (line 150) | def config_exists(config_file, temp_dir, working_dir): function use_password_forever (line 157) | def use_password_forever(password): function create_cache_dir (line 162) | def create_cache_dir(temp_dir): function parse_output_as_language (line 171) | def parse_output_as_language(cli_run, language_name): function home_directory (line 186) | def home_directory(temp_dir, home_dir, monkeypatch): FILE: tests/lib/helpers.py function does_directory_contain_files (line 8) | def does_directory_contain_files(file_list, directory_path): function does_directory_contain_n_files (line 20) | def does_directory_contain_n_files(directory_path, number): function assert_equal_tags_ignoring_order (line 35) | def assert_equal_tags_ignoring_order( function get_nested_val (line 49) | def get_nested_val(dictionary, path, *default): function spy_wrapper (line 59) | def spy_wrapper(wrapped_function): function get_fixture (line 72) | def get_fixture(request, name, default=None): FILE: tests/lib/then_steps.py function should_get_no_error (line 25) | def should_get_no_error(cli_run): function should_get_an_error (line 30) | def should_get_an_error(cli_run): function output_should_match_docstring (line 35) | def output_should_match_docstring(cli_run, docstring): function output_should_match (line 40) | def output_should_match(regex, cli_run): function output_should_contain_docstring (line 53) | def output_should_contain_docstring(which_output_stream, cli_run, it_sho... function output_should_contain (line 64) | def output_should_contain(expected, which_output_stream, cli_run, it_sho... function output_should_not_contain_docstring (line 88) | def output_should_not_contain_docstring(cli_run, docstring): function output_should_not_contain (line 93) | def output_should_not_contain(expected_output, cli_run): function output_should_be_docstring (line 98) | def output_should_be_docstring(cli_run, docstring): function output_should_be (line 103) | def output_should_be(expected_output, cli_run): function output_should_be_empty (line 110) | def output_should_be_empty(cli_run): function output_should_contain_date (line 116) | def output_should_contain_date(date, cli_run): function output_should_contain_version (line 121) | def output_should_contain_version(cli_run, toml_version): function config_file_version (line 127) | def config_file_version(config_on_disk, toml_version): function output_should_be_columns_wide (line 133) | def output_should_be_columns_wide(cli_run, width): function default_journal_location (line 146) | def default_journal_location(journal_file, journal_dir, config_on_disk, ... function config_var_on_disk_docstring (line 164) | def config_var_on_disk_docstring(config_on_disk, journal_name, it_should... function config_var_on_disk (line 176) | def config_var_on_disk(config_on_disk, journal_name, it_should, some_yaml): function config_var_in_memory_docstring (line 199) | def config_var_in_memory_docstring( function config_var_in_memory (line 215) | def config_var_in_memory(config_in_memory, journal_name, it_should, some... function password_was_called (line 231) | def password_was_called(cli_run): function password_was_not_called (line 236) | def password_was_not_called(cli_run): function assert_dir_contains_files (line 241) | def assert_dir_contains_files(cache_dir, docstring): function assert_dir_contains_n_files (line 248) | def assert_dir_contains_n_files(cache_dir, number): function journal_directory_should_contain (line 253) | def journal_directory_should_contain(config_on_disk, docstring): function journal_directory_should_not_exist (line 260) | def journal_directory_should_not_exist(config_on_disk, journal_name): function journal_should_not_exist (line 269) | def journal_should_not_exist(config_on_disk, it_should): function directory_should_not_exist (line 283) | def directory_should_not_exist(config_on_disk, it_should, journal_name): function content_of_file_should_be (line 292) | def content_of_file_should_be(file_path, cache_dir, docstring): function cache_dir_contains_files (line 312) | def cache_dir_contains_files(cache_dir, docstring): function assert_output_is_valid_language (line 326) | def assert_output_is_valid_language(cli_run, language_name): function assert_parsed_output_item_count (line 338) | def assert_parsed_output_item_count(node_name, number, parsed_output): function assert_output_field_content (line 366) | def assert_output_field_content(field_name, comparison, parsed_output, d... function count_elements (line 417) | def count_elements(number, item, cli_run): function count_editor_args (line 430) | def count_editor_args(num_args, cli_run, editor_state, it_should): function stdin_prompt_called (line 438) | def stdin_prompt_called(cli_run, it_should): function editor_filename_suffix (line 443) | def editor_filename_suffix(suffix, editor_state): function contains_editor_file_docstring (line 450) | def contains_editor_file_docstring(comparison, editor_state, docstring): function contains_editor_file (line 456) | def contains_editor_file(comparison, str_value, editor_state): FILE: tests/lib/when_steps.py function when_we_change_directory (line 22) | def when_we_change_directory(directory_name): function we_run_jrnl_docstring (line 38) | def we_run_jrnl_docstring(capsys, keyring, request, command, input_metho... function we_run_jrnl (line 45) | def we_run_jrnl(capsys, keyring, request, command, input_method, all_inp... FILE: tests/unit/test_color.py function data_fixture (line 12) | def data_fixture(): function test_colorize (line 17) | def test_colorize(data_fixture): FILE: tests/unit/test_config_file.py function test_find_alt_config (line 12) | def test_find_alt_config(request): function test_find_alt_config_not_exist (line 20) | def test_find_alt_config_not_exist(request): FILE: tests/unit/test_controller.py function random_string (line 16) | def random_string(): function test_display_search_results_pretty_short (line 21) | def test_display_search_results_pretty_short(export_format): function test_display_search_results_builtin_plugins (line 39) | def test_display_search_results_builtin_plugins( FILE: tests/unit/test_editor.py function test_read_template_file_with_no_file_raises_exception (line 19) | def test_read_template_file_with_no_file_raises_exception(mock_open, moc... function test_read_template_file_with_valid_file_returns_text (line 29) | def test_read_template_file_with_valid_file_returns_text(mock_file, mock... function test_get_template_path_when_exists_returns_correct_path (line 33) | def test_get_template_path_when_exists_returns_correct_path(): function test_get_template_path_when_doesnt_exist_returns_correct_path (line 41) | def test_get_template_path_when_doesnt_exist_returns_correct_path(mock_a... FILE: tests/unit/test_export.py function datestr (line 14) | def datestr(): function build_card_header (line 18) | def build_card_header(datestr): class TestFancy (line 24) | class TestFancy: method test_too_small_linewrap (line 25) | def test_too_small_linewrap(self, datestr): class TestYaml (line 35) | class TestYaml: method test_export_to_nonexisting_folder (line 37) | def test_export_to_nonexisting_folder(self, mock_open): FILE: tests/unit/test_install.py function test_initialize_autocomplete_runs_without_readline (line 13) | def test_initialize_autocomplete_runs_without_readline(): FILE: tests/unit/test_journals_folder_journal.py function test_get_day_files_expected_filtering (line 42) | def test_get_day_files_expected_filtering(inputs_and_outputs): FILE: tests/unit/test_os_compat.py function test_on_windows (line 31) | def test_on_windows(systems): function test_on_posix (line 55) | def test_on_posix(systems): function test_split_args_on_windows (line 72) | def test_split_args_on_windows(args): function test_split_args_on_not_windows (line 88) | def test_split_args_on_not_windows(args): FILE: tests/unit/test_output.py function test_print_msg_calls_print_msgs_as_list_with_style (line 12) | def test_print_msg_calls_print_msgs_as_list_with_style(print_msgs): function test_print_msg_calls_print_msgs_with_kwargs (line 19) | def test_print_msg_calls_print_msgs_with_kwargs(print_msgs): FILE: tests/unit/test_override.py function minimal_config (line 16) | def minimal_config(): function expected_args (line 26) | def expected_args(overrides): function test_apply_override (line 55) | def test_apply_override(minimal_config): function test_override_dot_notation (line 61) | def test_override_dot_notation(minimal_config): function test_multiple_overrides (line 67) | def test_multiple_overrides(minimal_config): function test_recursively_apply (line 83) | def test_recursively_apply(): function test_get_config_node (line 89) | def test_get_config_node(minimal_config): function test_get_kv_from_pair (line 95) | def test_get_kv_from_pair(): class TestDotNotationToList (line 102) | class TestDotNotationToList: method test_unpack_dots_to_list (line 103) | def test_unpack_dots_to_list(self): method test_sequential_delimiters (line 108) | def test_sequential_delimiters(self): FILE: tests/unit/test_parse_args.py function cli_as_dict (line 12) | def cli_as_dict(str): function expected_args (line 18) | def expected_args(**kwargs): function test_empty (line 53) | def test_empty(): function test_contains_alone (line 57) | def test_contains_alone(): function test_debug_alone (line 61) | def test_debug_alone(): function test_delete_alone (line 65) | def test_delete_alone(): function test_change_time_alone (line 69) | def test_change_time_alone(): function test_diagnostic_alone (line 76) | def test_diagnostic_alone(): function test_edit_alone (line 84) | def test_edit_alone(): function test_encrypt_alone (line 88) | def test_encrypt_alone(): function test_decrypt_alone (line 94) | def test_decrypt_alone(): function test_end_date_alone (line 100) | def test_end_date_alone(): function test_not_empty (line 106) | def test_not_empty(): function test_not_alone (line 112) | def test_not_alone(): function test_not_multiple_alone (line 116) | def test_not_multiple_alone(): function test_not_mixed (line 131) | def test_not_mixed(cli): function test_not_interspersed (line 136) | def test_not_interspersed(): function test_export_alone (line 141) | def test_export_alone(): function test_import_alone (line 145) | def test_import_alone(): function test_file_flag_alone (line 151) | def test_file_flag_alone(): function test_limit_alone (line 158) | def test_limit_alone(): function test_limit_shorthand_alone (line 163) | def test_limit_shorthand_alone(): function test_list_alone (line 168) | def test_list_alone(): function test_on_date_alone (line 174) | def test_on_date_alone(): function test_month_alone (line 178) | def test_month_alone(): function test_day_alone (line 185) | def test_day_alone(): function test_year_alone (line 190) | def test_year_alone(): function test_today_in_history_alone (line 195) | def test_today_in_history_alone(): function test_short_alone (line 199) | def test_short_alone(): function test_starred_alone (line 203) | def test_starred_alone(): function test_start_date_alone (line 207) | def test_start_date_alone(): function test_and_alone (line 212) | def test_and_alone(): function test_tags_alone (line 216) | def test_tags_alone(): function test_text_alone (line 220) | def test_text_alone(): function test_version_alone (line 226) | def test_version_alone(): function test_editor_override (line 232) | def test_editor_override(): function test_color_override (line 237) | def test_color_override(): function test_multiple_overrides (line 243) | def test_multiple_overrides(): function test_and_ordering (line 268) | def test_and_ordering(cli): function test_edit_ordering (line 283) | def test_edit_ordering(cli): class TestDeserialization (line 288) | class TestDeserialization: method test_deserialize_multiword_strings (line 297) | def test_deserialize_multiword_strings(self, input_str): method test_deserialize_multiple_datatypes (line 303) | def test_deserialize_multiple_datatypes(self): FILE: tests/unit/test_path.py function home_dir_str (line 17) | def home_dir_str(monkeypatch): function random_test_var (line 25) | def random_test_var(monkeypatch): function test_home_dir (line 32) | def test_home_dir(home_dir_str): function test_expand_path_actually_expands_mac_linux (line 41) | def test_expand_path_actually_expands_mac_linux(path): function test_expand_path_actually_expands_windows (line 51) | def test_expand_path_actually_expands_windows(path): function test_expand_path_expands_into_correct_value_mac_linux (line 63) | def test_expand_path_expands_into_correct_value_mac_linux(paths): function test_expand_path_expands_into_correct_value_windows (line 76) | def test_expand_path_expands_into_correct_value_windows(paths): function test_expand_path_expands_into_random_env_value_mac_linux (line 83) | def test_expand_path_expands_into_random_env_value_mac_linux(_, random_t... function test_expand_path_expands_into_random_env_value_windows (line 92) | def test_expand_path_expands_into_random_env_value_windows(_, random_tes... function test_absolute_path (line 101) | def test_absolute_path(mock_abspath, mock_expand_path): FILE: tests/unit/test_time.py function test_default_hour_is_added (line 11) | def test_default_hour_is_added(): function test_default_minute_is_added (line 17) | def test_default_minute_is_added(): function test_is_valid_date (line 42) | def test_is_valid_date(inputs):