From 9639c5386feb9b1dae69a99762d071f7c2d291e6 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 11 Jun 2022 21:11:01 +0000 Subject: [PATCH 001/485] Update changelog [ci skip] --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d9980ad..136eb49a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Changelog -## [Unreleased](https://github.com/jrnl-org/jrnl/) +## [v3.0-beta](https://pypi.org/project/jrnl/v3.0-beta/) (2022-06-11) -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v2.8.4...HEAD) +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v2.8.4...v3.0-beta) **Implemented enhancements:** From f5e052937c828cf4023c488ef36788c005b94094 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 18 Jun 2022 11:30:56 -0700 Subject: [PATCH 002/485] Update copyright year (#1502) Update copyright year in comment headers and --version output --- .github/workflows/changelog.yaml | 3 +++ .github/workflows/docs.yaml | 3 +++ .github/workflows/release.yaml | 3 +++ .github/workflows/testing_prs.yaml | 3 +++ .github/workflows/testing_schedule.yaml | 3 +++ CONTRIBUTING.md | 7 +++++-- README.md | 5 +++++ docs/advanced.md | 6 ++++-- docs/contributing.md | 7 +++++-- docs/encryption.md | 7 +++++-- docs/external-editors.md | 5 +++++ docs/formats.md | 7 +++++-- docs/installation.md | 7 +++++-- docs/journal-types.md | 7 +++++-- docs/overview.md | 7 +++++-- docs/privacy-and-security.md | 7 +++++-- docs/reference-command-line.md | 5 +++++ docs/reference-config-file.md | 5 +++++ docs/tips-and-tricks.md | 7 +++++-- docs/usage.md | 7 +++++-- docs_theme/assets/colors.css | 6 ++++-- docs_theme/assets/highlight.css | 3 +++ docs_theme/assets/index.css | 7 +++++-- docs_theme/assets/theme.css | 6 ++++-- docs_theme/index.html | 7 +++++-- docs_theme/main.html | 5 +++++ docs_theme/search.html | 5 +++++ jrnl/DayOneJournal.py | 3 +++ jrnl/EncryptedJournal.py | 3 +++ jrnl/Entry.py | 3 +-- jrnl/FolderJournal.py | 4 +--- jrnl/Journal.py | 3 +-- jrnl/__init__.py | 2 +- jrnl/__main__.py | 2 +- jrnl/args.py | 2 +- jrnl/cli.py | 2 +- jrnl/color.py | 3 +++ jrnl/commands.py | 5 ++++- jrnl/config.py | 3 +++ jrnl/editor.py | 3 +++ jrnl/exception.py | 3 ++- jrnl/install.py | 3 +-- jrnl/jrnl.py | 2 +- jrnl/messages/Message.py | 3 +++ jrnl/messages/MsgStyle.py | 3 +++ jrnl/messages/MsgText.py | 3 +++ jrnl/messages/__init__.py | 3 +++ jrnl/os_compat.py | 2 +- jrnl/output.py | 3 ++- jrnl/override.py | 3 +++ jrnl/path.py | 3 +++ jrnl/plugins/__init__.py | 3 +-- jrnl/plugins/dates_exporter.py | 4 ++-- jrnl/plugins/fancy_exporter.py | 3 +-- jrnl/plugins/jrnl_importer.py | 3 +-- jrnl/plugins/json_exporter.py | 3 +-- jrnl/plugins/markdown_exporter.py | 3 +-- jrnl/plugins/tag_exporter.py | 3 +-- jrnl/plugins/text_exporter.py | 3 +-- jrnl/plugins/util.py | 3 +-- jrnl/plugins/xml_exporter.py | 3 +-- jrnl/plugins/yaml_exporter.py | 3 +-- jrnl/prompt.py | 3 ++- jrnl/time.py | 2 +- jrnl/upgrade.py | 2 +- tests/bdd/features/build.feature | 3 +++ tests/bdd/features/change_time.feature | 3 +++ tests/bdd/features/config_file.feature | 3 +++ tests/bdd/features/core.feature | 3 +++ tests/bdd/features/datetime.feature | 3 +++ tests/bdd/features/delete.feature | 3 +++ tests/bdd/features/encrypt.feature | 3 +++ tests/bdd/features/file_storage.feature | 3 +++ tests/bdd/features/format.feature | 3 +++ tests/bdd/features/import.feature | 3 +++ tests/bdd/features/multiple_journals.feature | 3 +++ tests/bdd/features/override.feature | 3 +++ tests/bdd/features/password.feature | 3 +++ tests/bdd/features/search.feature | 3 +++ tests/bdd/features/star.feature | 3 +++ tests/bdd/features/tag.feature | 3 +++ tests/bdd/features/upgrade.feature | 3 +++ tests/bdd/features/write.feature | 3 +++ tests/bdd/test_features.py | 3 +++ tests/conftest.py | 2 +- tests/lib/fixtures.py | 2 +- tests/lib/given_steps.py | 2 +- tests/lib/helpers.py | 2 +- tests/lib/then_steps.py | 2 +- tests/lib/when_steps.py | 2 +- tests/unit/test_color.py | 3 +++ tests/unit/test_config_file.py | 3 +++ tests/unit/test_export.py | 3 +++ tests/unit/test_install.py | 3 +++ tests/unit/test_jrnl.py | 3 +++ tests/unit/test_os_compat.py | 3 +++ tests/unit/test_output.py | 3 ++- tests/unit/test_override.py | 3 +++ tests/unit/test_parse_args.py | 3 +++ tests/unit/test_path.py | 3 +++ tests/unit/test_time.py | 3 +++ 101 files changed, 282 insertions(+), 80 deletions(-) diff --git a/.github/workflows/changelog.yaml b/.github/workflows/changelog.yaml index c8d184ec..b6dc9139 100644 --- a/.github/workflows/changelog.yaml +++ b/.github/workflows/changelog.yaml @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + name: Changelog on: diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index ac85f2c0..c4b6ef43 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + name: Docs on: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 5e0169c1..3eb8c8f4 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + name: Release on: workflow_dispatch: diff --git a/.github/workflows/testing_prs.yaml b/.github/workflows/testing_prs.yaml index b5514f19..27126df8 100644 --- a/.github/workflows/testing_prs.yaml +++ b/.github/workflows/testing_prs.yaml @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + name: Testing on: diff --git a/.github/workflows/testing_schedule.yaml b/.github/workflows/testing_schedule.yaml index 44dd0b69..fd38cd41 100644 --- a/.github/workflows/testing_schedule.yaml +++ b/.github/workflows/testing_schedule.yaml @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + name: Testing on: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 93b57d7e..bd00f6e2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,5 +1,8 @@ - + + # Contributing See "[Contributing](docs/contributing.md)" in the `docs` directory. diff --git a/README.md b/README.md index cacd8dda..e2809a0f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ + +

diff --git a/docs/advanced.md b/docs/advanced.md index c0b1195c..61529fc4 100644 --- a/docs/advanced.md +++ b/docs/advanced.md @@ -1,5 +1,7 @@ - + # Advanced Usage diff --git a/docs/contributing.md b/docs/contributing.md index b12ce7be..ea651df5 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,5 +1,8 @@ - + + # Contributing to jrnl We welcome contributions to jrnl, whether it's through reporting bugs, improving the documentation, testing releases, engaging in discussion on features and bugs, or writing code. diff --git a/docs/encryption.md b/docs/encryption.md index 06217f01..e8b86e62 100644 --- a/docs/encryption.md +++ b/docs/encryption.md @@ -1,5 +1,8 @@ - + + # Encryption ## A Note on Security diff --git a/docs/external-editors.md b/docs/external-editors.md index 8797325a..efa0b55c 100644 --- a/docs/external-editors.md +++ b/docs/external-editors.md @@ -1,3 +1,8 @@ + + # External editors Configure your preferred external editor by updating the `editor` option diff --git a/docs/formats.md b/docs/formats.md index 99b3e69b..a87c4e8a 100644 --- a/docs/formats.md +++ b/docs/formats.md @@ -1,5 +1,8 @@ - + + # Formats `jrnl` supports a variety of alternate formats. These can be used to display your diff --git a/docs/installation.md b/docs/installation.md index a37e21fd..4d2c4c97 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -1,5 +1,8 @@ - + + # Getting started ## Installation diff --git a/docs/journal-types.md b/docs/journal-types.md index 65efc143..b2ec78da 100644 --- a/docs/journal-types.md +++ b/docs/journal-types.md @@ -1,5 +1,8 @@ - + + # Journal Types `jrnl` can store your journal in a few different ways: diff --git a/docs/overview.md b/docs/overview.md index 57269585..b20c85f9 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -1,5 +1,8 @@ - + + # Overview `jrnl` is a simple journal application for the command line. diff --git a/docs/privacy-and-security.md b/docs/privacy-and-security.md index c2996d25..9030df99 100644 --- a/docs/privacy-and-security.md +++ b/docs/privacy-and-security.md @@ -1,5 +1,8 @@ - + + # Privacy and Security `jrnl` is designed with privacy and security in mind, but like any other diff --git a/docs/reference-command-line.md b/docs/reference-command-line.md index bc624fe5..149ae26f 100644 --- a/docs/reference-command-line.md +++ b/docs/reference-command-line.md @@ -1,3 +1,8 @@ + + # Command Line Reference ## Synopsis diff --git a/docs/reference-config-file.md b/docs/reference-config-file.md index 97ec290c..03454c05 100644 --- a/docs/reference-config-file.md +++ b/docs/reference-config-file.md @@ -1,3 +1,8 @@ + + # Configuration File Reference `jrnl` stores its information in a YAML configuration file. diff --git a/docs/tips-and-tricks.md b/docs/tips-and-tricks.md index a158916c..c4531798 100644 --- a/docs/tips-and-tricks.md +++ b/docs/tips-and-tricks.md @@ -1,5 +1,8 @@ - + + # Tips and Tricks This page contains tips and tricks for using `jrnl`, often in conjunction diff --git a/docs/usage.md b/docs/usage.md index 1a4de2a2..9e8c3ee3 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -1,5 +1,8 @@ - + + # Basic Usage # `jrnl` has two modes: **composing** and **viewing**. Whenever you don't enter diff --git a/docs_theme/assets/colors.css b/docs_theme/assets/colors.css index 93d84b4d..3f8b46a8 100644 --- a/docs_theme/assets/colors.css +++ b/docs_theme/assets/colors.css @@ -1,5 +1,7 @@ -/* Copyright (C) 2012-2021 jrnl contributors - License: https://www.gnu.org/licenses/gpl-3.0.html */ +/* +Copyright (C) 2012-2022 jrnl contributors +License: https://www.gnu.org/licenses/gpl-3.0.html +*/ :root { /* For dark bg */ diff --git a/docs_theme/assets/highlight.css b/docs_theme/assets/highlight.css index b7052917..27950c0f 100644 --- a/docs_theme/assets/highlight.css +++ b/docs_theme/assets/highlight.css @@ -1,4 +1,7 @@ /* +Copyright (C) 2012-2022 jrnl contributors +License: https://www.gnu.org/licenses/gpl-3.0.html + Atom One Dark With support for ReasonML by Gidi Morris, based off work by Daniel Gamage diff --git a/docs_theme/assets/index.css b/docs_theme/assets/index.css index a7ed63ee..d6e834e3 100644 --- a/docs_theme/assets/index.css +++ b/docs_theme/assets/index.css @@ -1,5 +1,8 @@ -/* Copyright (C) 2012-2021 jrnl contributors - License: https://www.gnu.org/licenses/gpl-3.0.html */ +/* +Copyright (C) 2012-2022 jrnl contributors +License: https://www.gnu.org/licenses/gpl-3.0.html +*/ + /* reset */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0} body { diff --git a/docs_theme/assets/theme.css b/docs_theme/assets/theme.css index 20c4cd89..152e0521 100644 --- a/docs_theme/assets/theme.css +++ b/docs_theme/assets/theme.css @@ -1,5 +1,7 @@ -/* Copyright (C) 2012-2021 jrnl contributors - License: https://www.gnu.org/licenses/gpl-3.0.html */ +/* +Copyright (C) 2012-2022 jrnl contributors +License: https://www.gnu.org/licenses/gpl-3.0.html +*/ /* ------------------------------------------------------------ */ /* Overrides for jrnl theme */ diff --git a/docs_theme/index.html b/docs_theme/index.html index b21493d2..57c90c76 100644 --- a/docs_theme/index.html +++ b/docs_theme/index.html @@ -1,5 +1,8 @@ - + + diff --git a/docs_theme/main.html b/docs_theme/main.html index 18a4f1cf..7849dd02 100644 --- a/docs_theme/main.html +++ b/docs_theme/main.html @@ -1,3 +1,8 @@ + + {% extends "base.html" %} {%- block search_button %} diff --git a/docs_theme/search.html b/docs_theme/search.html index b191fc2a..37bcfe5d 100644 --- a/docs_theme/search.html +++ b/docs_theme/search.html @@ -1,3 +1,8 @@ + + {% extends "main.html" %} {% block content %} diff --git a/jrnl/DayOneJournal.py b/jrnl/DayOneJournal.py index 1e484365..8034e36b 100644 --- a/jrnl/DayOneJournal.py +++ b/jrnl/DayOneJournal.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import datetime import fnmatch import os diff --git a/jrnl/EncryptedJournal.py b/jrnl/EncryptedJournal.py index fb4ba5ce..e2aec8ed 100644 --- a/jrnl/EncryptedJournal.py +++ b/jrnl/EncryptedJournal.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import base64 import hashlib import logging diff --git a/jrnl/Entry.py b/jrnl/Entry.py index 800345c6..323eef73 100644 --- a/jrnl/Entry.py +++ b/jrnl/Entry.py @@ -1,7 +1,6 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html - import datetime import re diff --git a/jrnl/FolderJournal.py b/jrnl/FolderJournal.py index a381c872..b5cf2e71 100644 --- a/jrnl/FolderJournal.py +++ b/jrnl/FolderJournal.py @@ -1,8 +1,6 @@ -# encoding: utf-8 -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html - import codecs import fnmatch import os diff --git a/jrnl/Journal.py b/jrnl/Journal.py index b2e5383b..301bba76 100644 --- a/jrnl/Journal.py +++ b/jrnl/Journal.py @@ -1,7 +1,6 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html - import datetime import logging import os diff --git a/jrnl/__init__.py b/jrnl/__init__.py index 550d580f..2fc7e3bf 100644 --- a/jrnl/__init__.py +++ b/jrnl/__init__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html try: diff --git a/jrnl/__main__.py b/jrnl/__main__.py index 49497161..06ffedaa 100644 --- a/jrnl/__main__.py +++ b/jrnl/__main__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import sys diff --git a/jrnl/args.py b/jrnl/args.py index 1f3e3c9a..5fd8e370 100644 --- a/jrnl/args.py +++ b/jrnl/args.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import argparse diff --git a/jrnl/cli.py b/jrnl/cli.py index 305e4502..e81fb1ce 100644 --- a/jrnl/cli.py +++ b/jrnl/cli.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import logging diff --git a/jrnl/color.py b/jrnl/color.py index 7cc8df2f..7268d773 100644 --- a/jrnl/color.py +++ b/jrnl/color.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import re from string import punctuation from string import whitespace diff --git a/jrnl/commands.py b/jrnl/commands.py index 7ef9f09c..dd2ce52b 100644 --- a/jrnl/commands.py +++ b/jrnl/commands.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + """ Functions in this file are standalone commands. All standalone commands are split into two categories depending on whether they require the config to be loaded to be able to @@ -38,7 +41,7 @@ def preconfig_version(_): version_str = f"""{__title__} version {__version__} -Copyright (C) 2012-2021 jrnl contributors +Copyright (C) 2012-2022 jrnl contributors This is free software, and you are welcome to redistribute it under certain conditions; for details, see: https://www.gnu.org/licenses/gpl-3.0.html""" diff --git a/jrnl/config.py b/jrnl/config.py index c9b860bb..40746d3e 100644 --- a/jrnl/config.py +++ b/jrnl/config.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import logging import os diff --git a/jrnl/editor.py b/jrnl/editor.py index 91aa4d52..a6bff5d3 100644 --- a/jrnl/editor.py +++ b/jrnl/editor.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import logging import os import subprocess diff --git a/jrnl/exception.py b/jrnl/exception.py index fdfa61a4..6dfc6593 100644 --- a/jrnl/exception.py +++ b/jrnl/exception.py @@ -1,5 +1,6 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html + from jrnl.messages import Message from jrnl.output import print_msg diff --git a/jrnl/install.py b/jrnl/install.py index 88663d58..a7dc6318 100644 --- a/jrnl/install.py +++ b/jrnl/install.py @@ -1,7 +1,6 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html - import glob import logging import os diff --git a/jrnl/jrnl.py b/jrnl/jrnl.py index 18ee4ed4..2c5fafae 100644 --- a/jrnl/jrnl.py +++ b/jrnl/jrnl.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import logging diff --git a/jrnl/messages/Message.py b/jrnl/messages/Message.py index 2c02e8a0..86809192 100644 --- a/jrnl/messages/Message.py +++ b/jrnl/messages/Message.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + from typing import NamedTuple from typing import Mapping diff --git a/jrnl/messages/MsgStyle.py b/jrnl/messages/MsgStyle.py index 41daa535..b8e15316 100644 --- a/jrnl/messages/MsgStyle.py +++ b/jrnl/messages/MsgStyle.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + from enum import Enum from typing import NamedTuple from typing import Callable diff --git a/jrnl/messages/MsgText.py b/jrnl/messages/MsgText.py index f8e85b60..8de0d518 100644 --- a/jrnl/messages/MsgText.py +++ b/jrnl/messages/MsgText.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + from enum import Enum diff --git a/jrnl/messages/__init__.py b/jrnl/messages/__init__.py index 930fbe75..f2eaec4c 100644 --- a/jrnl/messages/__init__.py +++ b/jrnl/messages/__init__.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + from .Message import Message from .MsgStyle import MsgStyle from .MsgText import MsgText diff --git a/jrnl/os_compat.py b/jrnl/os_compat.py index 6615b886..1ede4534 100644 --- a/jrnl/os_compat.py +++ b/jrnl/os_compat.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import shlex diff --git a/jrnl/output.py b/jrnl/output.py index fb21990b..3eae32cc 100644 --- a/jrnl/output.py +++ b/jrnl/output.py @@ -1,5 +1,6 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html + import textwrap from typing import Union diff --git a/jrnl/override.py b/jrnl/override.py index 760b003e..6ef378f4 100644 --- a/jrnl/override.py +++ b/jrnl/override.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + from .config import update_config, make_yaml_valid_dict from argparse import Namespace diff --git a/jrnl/path.py b/jrnl/path.py index bb465d6e..cf13a2a8 100644 --- a/jrnl/path.py +++ b/jrnl/path.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import os.path diff --git a/jrnl/plugins/__init__.py b/jrnl/plugins/__init__.py index e3484927..f994e4fc 100644 --- a/jrnl/plugins/__init__.py +++ b/jrnl/plugins/__init__.py @@ -1,5 +1,4 @@ -# encoding: utf-8 -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from .fancy_exporter import FancyExporter diff --git a/jrnl/plugins/dates_exporter.py b/jrnl/plugins/dates_exporter.py index e032b652..c1c8fd0a 100644 --- a/jrnl/plugins/dates_exporter.py +++ b/jrnl/plugins/dates_exporter.py @@ -1,6 +1,6 @@ -# encoding: utf-8 -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html + from collections import Counter from .text_exporter import TextExporter diff --git a/jrnl/plugins/fancy_exporter.py b/jrnl/plugins/fancy_exporter.py index 0c440e96..cdbd4b08 100644 --- a/jrnl/plugins/fancy_exporter.py +++ b/jrnl/plugins/fancy_exporter.py @@ -1,5 +1,4 @@ -# encoding: utf-8 -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from jrnl.exception import JrnlException diff --git a/jrnl/plugins/jrnl_importer.py b/jrnl/plugins/jrnl_importer.py index cfdee0d7..0468b476 100644 --- a/jrnl/plugins/jrnl_importer.py +++ b/jrnl/plugins/jrnl_importer.py @@ -1,5 +1,4 @@ -# encoding: utf-8 -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import sys diff --git a/jrnl/plugins/json_exporter.py b/jrnl/plugins/json_exporter.py index 666d9a3d..abce6f50 100644 --- a/jrnl/plugins/json_exporter.py +++ b/jrnl/plugins/json_exporter.py @@ -1,5 +1,4 @@ -# encoding: utf-8 -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import json diff --git a/jrnl/plugins/markdown_exporter.py b/jrnl/plugins/markdown_exporter.py index 63be85e0..30614746 100644 --- a/jrnl/plugins/markdown_exporter.py +++ b/jrnl/plugins/markdown_exporter.py @@ -1,5 +1,4 @@ -# encoding: utf-8 -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import os diff --git a/jrnl/plugins/tag_exporter.py b/jrnl/plugins/tag_exporter.py index 1153fa01..9c2b7fb5 100644 --- a/jrnl/plugins/tag_exporter.py +++ b/jrnl/plugins/tag_exporter.py @@ -1,5 +1,4 @@ -# encoding: utf-8 -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from .text_exporter import TextExporter diff --git a/jrnl/plugins/text_exporter.py b/jrnl/plugins/text_exporter.py index d82a1e40..55c0d83a 100644 --- a/jrnl/plugins/text_exporter.py +++ b/jrnl/plugins/text_exporter.py @@ -1,5 +1,4 @@ -# encoding: utf-8 -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import os diff --git a/jrnl/plugins/util.py b/jrnl/plugins/util.py index ae49a2a8..a2188306 100644 --- a/jrnl/plugins/util.py +++ b/jrnl/plugins/util.py @@ -1,5 +1,4 @@ -# encoding: utf-8 -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html diff --git a/jrnl/plugins/xml_exporter.py b/jrnl/plugins/xml_exporter.py index 9901f4b7..10050b50 100644 --- a/jrnl/plugins/xml_exporter.py +++ b/jrnl/plugins/xml_exporter.py @@ -1,5 +1,4 @@ -# encoding: utf-8 -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from xml.dom import minidom diff --git a/jrnl/plugins/yaml_exporter.py b/jrnl/plugins/yaml_exporter.py index f78c781b..00a4613b 100644 --- a/jrnl/plugins/yaml_exporter.py +++ b/jrnl/plugins/yaml_exporter.py @@ -1,5 +1,4 @@ -# encoding: utf-8 -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import os diff --git a/jrnl/prompt.py b/jrnl/prompt.py index 843e7425..4cd38d90 100644 --- a/jrnl/prompt.py +++ b/jrnl/prompt.py @@ -1,5 +1,6 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html + from jrnl.messages import Message from jrnl.messages import MsgText from jrnl.messages import MsgStyle diff --git a/jrnl/time.py b/jrnl/time.py index f4e7319d..c457c12b 100644 --- a/jrnl/time.py +++ b/jrnl/time.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import datetime diff --git a/jrnl/upgrade.py b/jrnl/upgrade.py index 5c033534..29ff8eb4 100644 --- a/jrnl/upgrade.py +++ b/jrnl/upgrade.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import os diff --git a/tests/bdd/features/build.feature b/tests/bdd/features/build.feature index e9b47b49..d2f5e950 100644 --- a/tests/bdd/features/build.feature +++ b/tests/bdd/features/build.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Build process Scenario: Version numbers should stay in sync diff --git a/tests/bdd/features/change_time.feature b/tests/bdd/features/change_time.feature index bd8e77f7..7f4a08e3 100644 --- a/tests/bdd/features/change_time.feature +++ b/tests/bdd/features/change_time.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Change entry times in journal Scenario Outline: Change time flag changes single entry timestamp Given we use the config "" diff --git a/tests/bdd/features/config_file.feature b/tests/bdd/features/config_file.feature index 168cd7aa..76e93059 100644 --- a/tests/bdd/features/config_file.feature +++ b/tests/bdd/features/config_file.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Multiple journals Scenario: Read a journal from an alternate config diff --git a/tests/bdd/features/core.feature b/tests/bdd/features/core.feature index 4399341d..7b8de194 100644 --- a/tests/bdd/features/core.feature +++ b/tests/bdd/features/core.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Functionality of jrnl outside of actually handling journals Scenario: Displaying the version number diff --git a/tests/bdd/features/datetime.feature b/tests/bdd/features/datetime.feature index 1b9d00b9..28d63169 100644 --- a/tests/bdd/features/datetime.feature +++ b/tests/bdd/features/datetime.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Reading and writing to journal with custom date formats Scenario: Dates can include a time diff --git a/tests/bdd/features/delete.feature b/tests/bdd/features/delete.feature index fe323966..806abb18 100644 --- a/tests/bdd/features/delete.feature +++ b/tests/bdd/features/delete.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Delete entries from journal Scenario Outline: Delete flag allows deletion of single entry Given we use the config "" diff --git a/tests/bdd/features/encrypt.feature b/tests/bdd/features/encrypt.feature index 09a80bcc..16c8855c 100644 --- a/tests/bdd/features/encrypt.feature +++ b/tests/bdd/features/encrypt.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Encrypting and decrypting journals Scenario: Decrypting a journal diff --git a/tests/bdd/features/file_storage.feature b/tests/bdd/features/file_storage.feature index 5cb6ba45..0e54f620 100644 --- a/tests/bdd/features/file_storage.feature +++ b/tests/bdd/features/file_storage.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Journals iteracting with the file system in a way that users can see Scenario: Adding entries to a Folder journal should generate date files diff --git a/tests/bdd/features/format.feature b/tests/bdd/features/format.feature index ce29a016..9781ff51 100644 --- a/tests/bdd/features/format.feature +++ b/tests/bdd/features/format.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Custom formats Scenario Outline: Short printing via --format flag diff --git a/tests/bdd/features/import.feature b/tests/bdd/features/import.feature index 920cddf2..3872702e 100644 --- a/tests/bdd/features/import.feature +++ b/tests/bdd/features/import.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Importing data Scenario Outline: --import allows new entry from stdin diff --git a/tests/bdd/features/multiple_journals.feature b/tests/bdd/features/multiple_journals.feature index 09bd71fd..642149ca 100644 --- a/tests/bdd/features/multiple_journals.feature +++ b/tests/bdd/features/multiple_journals.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Multiple journals Scenario: Loading a config with two journals diff --git a/tests/bdd/features/override.feature b/tests/bdd/features/override.feature index 90b7e40b..9af459f3 100644 --- a/tests/bdd/features/override.feature +++ b/tests/bdd/features/override.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Implementing Runtime Overrides for Select Configuration Keys Scenario: Override configured editor with built-in input === editor:'' diff --git a/tests/bdd/features/password.feature b/tests/bdd/features/password.feature index 23a08aab..cf00f85c 100644 --- a/tests/bdd/features/password.feature +++ b/tests/bdd/features/password.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Using the installed keyring Scenario: Storing a password in keyring diff --git a/tests/bdd/features/search.feature b/tests/bdd/features/search.feature index 60b4fefb..239f74d5 100644 --- a/tests/bdd/features/search.feature +++ b/tests/bdd/features/search.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Searching in a journal Scenario Outline: Displaying entries using -on today should display entries created today diff --git a/tests/bdd/features/star.feature b/tests/bdd/features/star.feature index f59a7ecc..825ee2fa 100644 --- a/tests/bdd/features/star.feature +++ b/tests/bdd/features/star.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Starring entries Scenario Outline: Starring an entry will mark it in the journal file diff --git a/tests/bdd/features/tag.feature b/tests/bdd/features/tag.feature index a62b5ac8..1d762431 100644 --- a/tests/bdd/features/tag.feature +++ b/tests/bdd/features/tag.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Tagging # See search.feature for tag-related searches # And format.feature for tag-related output diff --git a/tests/bdd/features/upgrade.feature b/tests/bdd/features/upgrade.feature index c092dedb..5e53130a 100644 --- a/tests/bdd/features/upgrade.feature +++ b/tests/bdd/features/upgrade.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Upgrading Journals from 1.x.x to 2.x.x Scenario: Upgrade and parse journals with square brackets diff --git a/tests/bdd/features/write.feature b/tests/bdd/features/write.feature index ede1934b..fe0573ff 100644 --- a/tests/bdd/features/write.feature +++ b/tests/bdd/features/write.feature @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + Feature: Writing new entries. Scenario Outline: Multiline entry with punctuation should keep title punctuation diff --git a/tests/bdd/test_features.py b/tests/bdd/test_features.py index 04f9d46f..fda146e1 100644 --- a/tests/bdd/test_features.py +++ b/tests/bdd/test_features.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + from pytest_bdd import scenarios scenarios("features/build.feature") diff --git a/tests/conftest.py b/tests/conftest.py index c4dc5ef5..ed85affa 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from pytest import mark diff --git a/tests/lib/fixtures.py b/tests/lib/fixtures.py index 6fc7cc2a..1ad17708 100644 --- a/tests/lib/fixtures.py +++ b/tests/lib/fixtures.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from collections import defaultdict diff --git a/tests/lib/given_steps.py b/tests/lib/given_steps.py index 4b545849..6da84643 100644 --- a/tests/lib/given_steps.py +++ b/tests/lib/given_steps.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from datetime import datetime diff --git a/tests/lib/helpers.py b/tests/lib/helpers.py index ad68cde3..39a24f71 100644 --- a/tests/lib/helpers.py +++ b/tests/lib/helpers.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import functools diff --git a/tests/lib/then_steps.py b/tests/lib/then_steps.py index 5ec83d3c..08d8ddc7 100644 --- a/tests/lib/then_steps.py +++ b/tests/lib/then_steps.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import json diff --git a/tests/lib/when_steps.py b/tests/lib/when_steps.py index bc1d742d..759c708d 100644 --- a/tests/lib/when_steps.py +++ b/tests/lib/when_steps.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from contextlib import ExitStack diff --git a/tests/unit/test_color.py b/tests/unit/test_color.py index 527b8e89..800d619a 100644 --- a/tests/unit/test_color.py +++ b/tests/unit/test_color.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + from colorama import Fore from colorama import Style import pytest diff --git a/tests/unit/test_config_file.py b/tests/unit/test_config_file.py index f9cdb7ec..0ffb3b38 100644 --- a/tests/unit/test_config_file.py +++ b/tests/unit/test_config_file.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import pytest import os diff --git a/tests/unit/test_export.py b/tests/unit/test_export.py index 1ca8856f..c5137794 100644 --- a/tests/unit/test_export.py +++ b/tests/unit/test_export.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import pytest from jrnl.exception import JrnlException diff --git a/tests/unit/test_install.py b/tests/unit/test_install.py index bc36b927..8e5db8df 100644 --- a/tests/unit/test_install.py +++ b/tests/unit/test_install.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import sys from unittest import mock diff --git a/tests/unit/test_jrnl.py b/tests/unit/test_jrnl.py index f87f6dad..247a9fd1 100644 --- a/tests/unit/test_jrnl.py +++ b/tests/unit/test_jrnl.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + from unittest import mock import pytest diff --git a/tests/unit/test_os_compat.py b/tests/unit/test_os_compat.py index 02d54716..2a3b0b14 100644 --- a/tests/unit/test_os_compat.py +++ b/tests/unit/test_os_compat.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + from unittest import mock import pytest diff --git a/tests/unit/test_output.py b/tests/unit/test_output.py index 0fa9f45b..e93ec44a 100644 --- a/tests/unit/test_output.py +++ b/tests/unit/test_output.py @@ -1,5 +1,6 @@ -# Copyright (C) 2012-2021 jrnl contributors +# Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html + from unittest.mock import Mock from unittest.mock import patch diff --git a/tests/unit/test_override.py b/tests/unit/test_override.py index 2719e884..438ae03b 100644 --- a/tests/unit/test_override.py +++ b/tests/unit/test_override.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import pytest from jrnl.override import _convert_dots_to_list diff --git a/tests/unit/test_parse_args.py b/tests/unit/test_parse_args.py index 7acae571..6c187576 100644 --- a/tests/unit/test_parse_args.py +++ b/tests/unit/test_parse_args.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import shlex import pytest diff --git a/tests/unit/test_path.py b/tests/unit/test_path.py index a13b89e5..efc6e54d 100644 --- a/tests/unit/test_path.py +++ b/tests/unit/test_path.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import pytest import random import string diff --git a/tests/unit/test_time.py b/tests/unit/test_time.py index 5f22148e..8bed5f86 100644 --- a/tests/unit/test_time.py +++ b/tests/unit/test_time.py @@ -1,3 +1,6 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + import datetime from jrnl import time From c1c70e643ab0b7db3e5a69d7cae9e38595b2e07a Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 18 Jun 2022 18:32:43 +0000 Subject: [PATCH 003/485] Update changelog [ci skip] --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 136eb49a..01522eaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [Unreleased](https://github.com/jrnl-org/jrnl/) + +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0-beta...HEAD) + +**Fixed bugs:** + +- Adding new entry with date only works with format m.d.Y [\#1509](https://github.com/jrnl-org/jrnl/issues/1509) + +**Build:** + +- Update copyright year [\#1502](https://github.com/jrnl-org/jrnl/pull/1502) ([wren](https://github.com/wren)) + ## [v3.0-beta](https://pypi.org/project/jrnl/v3.0-beta/) (2022-06-11) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v2.8.4...v3.0-beta) From 51ab747019b0a6d4a4e2b01e7c03eb03363ba4c7 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 18 Jun 2022 11:36:56 -0700 Subject: [PATCH 004/485] Replace `make` with python alternative (`poe`) (#1503) * Get rid of `make` in favor of `poe` This moves the tasks that were previously in Makefile, into pyproject.toml (with all the other config) This is also more inclusive of Windows developers since they only need Python, and no longer have to install make separately. * udpate docs * don't make code blocks also links --- .github/PULL_REQUEST_TEMPLATE.md | 4 ++-- Makefile | 39 -------------------------------- docs/contributing.md | 16 ++++++++----- poetry.lock | 39 ++++++++++++++++++++++++++++---- pyproject.toml | 21 +++++++++++++++++ 5 files changed, 68 insertions(+), 51 deletions(-) delete mode 100644 Makefile diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 695290e8..8a1fe45f 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -19,6 +19,6 @@ Here are some key points to include in your description: - [ ] I have written new tests for these changes, as needed. diff --git a/Makefile b/Makefile deleted file mode 100644 index a9833c3e..00000000 --- a/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# A Makefile for commands I run frequently: - -clean: - rm -rf dist - rm -rf _static - rm -rf jrnl.egg-info - rm -rf _build - rm -rf _sources - rm -rf _static - rm -rf site/ - rm -f *.html - -html: - poetry run mkdocs serve - -format: ## Format files to match style - poetry run black . - -lint: ## Check style with various tools - poetry check - poetry run pflake8 jrnl tests - poetry run black --check --diff . - -unit: # unit tests - poetry run pytest tests/unit - -bdd: # bdd tests - poetry run pytest tests/bdd --gherkin-terminal-reporter --tb=native - -bdd-debug: # bdd tests - poetry run pytest tests/bdd --gherkin-terminal-reporter --tb=native -x -vv - -test: lint unit bdd - -build: - poetry build - -install: clean ## install the package to the active Python's site-packages - poetry install diff --git a/docs/contributing.md b/docs/contributing.md index ea651df5..650d0cda 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -27,7 +27,7 @@ Please report bugs by [opening a new issue](https://github.com/jrnl-org/jrnl/iss If you find a typo or a mistake in the docs, please fix it right away and send a pull request. If you're unsure what to change but still see a problem, you can [open a new issue](https://github.com/jrnl-org/jrnl/issues/new/choose) with the "Documentation change" type. -To edit the documentation, edit the `docs/*.md` files on the **develop** branch. You can see the result by running `make html` (or `poetry run mkdocs serve` if on Windows) inside the project's root directory, then navigating your browser to [localhost:8000](http://localhost:8000). +To edit the documentation, edit the `docs/*.md` files on the **develop** branch. You can see the result by running `poe docs` inside the project's root directory, then navigating your browser to [localhost:8000](http://localhost:8000). The `gh-pages` branch is automatically maintained and generated after your changes are merged. You should never have to edit that branch. @@ -85,16 +85,20 @@ In general, pull requests should be made on the `develop` branch. ### Common development commands -You can find an inventory of commands in the `makefile`. \*nix users can run the commands by typing `make` followed by the name of the command; however, Windows users will need to type out the commands directly, or install a third-party make tool such as [GNU Make for Windows](http://gnuwin32.sourceforge.net/packages/make.htm). +You can find an inventory of commands in the `pyproject.toml`. Users can run the commands by typing `poe` followed by the name of the command ([Poe the Poet](https://github.com/nat-n/poethepoet) can be installed on its own, or as part of `poetry install`). A typical development workflow includes: - * Installing dependencies: `poetry install` - * Running tests: `make test` - * Running the source in a virtual environment: + * Installing dependencies: + * `poetry install` + * Activate virtual environment: * `poetry shell` + * Running the source in a virtual environment: * `jrnl` (with or without arguments as necessary) - * Linting the code to standardize its style: `make lint` + * Running tests: + * `poe test` + * Formatting the code to standardize its style: + * `poe format` ### Updating automated tests diff --git a/poetry.lock b/poetry.lock index 88e973cb..1f144a90 100644 --- a/poetry.lock +++ b/poetry.lock @@ -128,7 +128,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" name = "commonmark" version = "0.9.1" description = "Python parser for the CommonMark Markdown spec" -category = "dev" +category = "main" optional = false python-versions = "*" @@ -487,6 +487,14 @@ python-versions = ">=3.6" qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] testing = ["docopt", "pytest (<6.0.0)"] +[[package]] +name = "pastel" +version = "0.2.1" +description = "Bring colors to your terminal." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + [[package]] name = "pathspec" version = "0.9.0" @@ -538,6 +546,21 @@ python-versions = ">=3.6" dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] +[[package]] +name = "poethepoet" +version = "0.13.1" +description = "A task runner that works well with poetry." +category = "dev" +optional = false +python-versions = ">=3.6.2" + +[package.dependencies] +pastel = ">=0.2.1,<0.3.0" +tomli = ">=1.2.2" + +[package.extras] +poetry_plugin = ["poetry (>=1.0,<2.0)"] + [[package]] name = "pprintpp" version = "0.4.0" @@ -612,7 +635,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" name = "pygments" version = "2.12.0" description = "Pygments is a syntax highlighting package written in Python." -category = "dev" +category = "main" optional = false python-versions = ">=3.6" @@ -747,7 +770,7 @@ pyyaml = "*" name = "rich" version = "12.4.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" -category = "dev" +category = "main" optional = false python-versions = ">=3.6.3,<4.0.0" @@ -933,7 +956,7 @@ testing = ["pytest", "pytest-bdd", "toml"] [metadata] lock-version = "1.1" python-versions = ">=3.9.0, <3.12" -content-hash = "8cd80d198bf8208d9e4b2054b89a22f1ce9faccc91aaef3440fb22e1782b0239" +content-hash = "7c8a664dc14ce88642bb27318d23b158c044022b791361c98997a3f518c7cd8b" [metadata.files] ansiwrap = [ @@ -1216,6 +1239,10 @@ parso = [ {file = "parso-0.8.3-py2.py3-none-any.whl", hash = "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"}, {file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"}, ] +pastel = [ + {file = "pastel-0.2.1-py2.py3-none-any.whl", hash = "sha256:4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364"}, + {file = "pastel-0.2.1.tar.gz", hash = "sha256:e6581ac04e973cac858828c6202c1e1e81fee1dc7de7683f3e1ffe0bfd8a573d"}, +] pathspec = [ {file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"}, {file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"}, @@ -1236,6 +1263,10 @@ pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] +poethepoet = [ + {file = "poethepoet-0.13.1-py3-none-any.whl", hash = "sha256:47e7b38c8b5412f840447f7612a9330697e8633e7500a7340b6734f50e26e380"}, + {file = "poethepoet-0.13.1.tar.gz", hash = "sha256:4f6962f17f5d5a453fd7fa66e3e7897e9191d4289148433efe441c81f2451a46"}, +] pprintpp = [ {file = "pprintpp-0.4.0-py2.py3-none-any.whl", hash = "sha256:b6b4dcdd0c0c0d75e4d7b2f21a9e933e5b2ce62b26e1a54537f9651ae5a5c01d"}, {file = "pprintpp-0.4.0.tar.gz", hash = "sha256:ea826108e2c7f49dc6d66c752973c3fc9749142a798d6b254e1e301cfdbc6403"}, diff --git a/pyproject.toml b/pyproject.toml index e37c3767..b81c285b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -58,6 +58,7 @@ toml = ">=0.10" pytest = ">=6.2" pytest-bdd = ">=4.0.1" ipdb = "*" +poethepoet = "*" pytest-clarity = "*" pyproject-flake8 = "*" yq = "*" @@ -68,6 +69,26 @@ testing = [ "pytest", "pytest-bdd", "toml" ] [tool.poetry.scripts] jrnl = 'jrnl.cli:cli' +[tool.poe.tasks] +bdd = "pytest tests/bdd --gherkin-terminal-reporter --tb=native" +bdd-debug = "poe bdd -x -vv" +format = "black ." +docs = "mkdocs serve" +unit = "pytest tests/unit" + +# Groups of tasks +lint = [ + {cmd = "poetry check"}, + {cmd = "pflake8 jrnl tests"}, + {cmd = "black --check --diff ."}, +] + +test = [ + "lint", + "unit", + "bdd", +] + [tool.isort] multi_line_output = 7 force_single_line = true From 2981de95b00e9ec5dc7c387448a4b3261ed8c4dd Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 18 Jun 2022 18:39:06 +0000 Subject: [PATCH 005/485] Update changelog [ci skip] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 01522eaa..03730fd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ **Build:** +- Replace `make` with python alternative \(`poe`\) [\#1503](https://github.com/jrnl-org/jrnl/pull/1503) ([wren](https://github.com/wren)) - Update copyright year [\#1502](https://github.com/jrnl-org/jrnl/pull/1502) ([wren](https://github.com/wren)) ## [v3.0-beta](https://pypi.org/project/jrnl/v3.0-beta/) (2022-06-11) From fe2b9768492a5ce503d1761633606d6832ab5025 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 18 Jun 2022 11:51:51 -0700 Subject: [PATCH 006/485] update cache for accessibility tests (to match other tests) (#1505) --- .github/workflows/docs.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index c4b6ef43..4cb8218b 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -42,11 +42,14 @@ jobs: - name: Setup Node.js environment uses: actions/setup-node@main + - name: Capture full Python version in env + run: echo "PYTHON_FULL_VERSION=$(python --version)" >> $GITHUB_ENV + - name: poetry cache uses: actions/cache@v2 with: path: .venv - key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ matrix.python-version }} + key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ env.PYTHON_FULL_VERSION }}-${{ secrets.CACHE_STRING }} - name: npm cache uses: actions/cache@v2 From bd590213a146bc6cc59a0329c43ce10b9601cd61 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 18 Jun 2022 11:53:20 -0700 Subject: [PATCH 007/485] Stop hardcoding bot info in some pipelines (#1506) --- .github/workflows/changelog.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/changelog.yaml b/.github/workflows/changelog.yaml index b6dc9139..ba1ad405 100644 --- a/.github/workflows/changelog.yaml +++ b/.github/workflows/changelog.yaml @@ -144,8 +144,8 @@ jobs: - name: Commit if: env.SOMETHING_CHANGED == 'true' run: | - git config user.email "jrnl.bot@gmail.com" - git config user.name "Jrnl Bot" + git config --global user.name "${{ secrets.JRNL_BOT_NAME }}" + git config --global user.email "${{ secrets.JRNL_BOT_EMAIL }}" git add "$FILENAME" git commit -m "Update changelog [ci skip]" git push origin $BRANCH From 7dccc469b53f1d614e5a2105f6d1018238272525 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 18 Jun 2022 11:54:28 -0700 Subject: [PATCH 008/485] Implement Tox for testing (#1504) * Get rid of `make` in favor of `poe` This moves the tasks that were previously in Makefile, into pyproject.toml (with all the other config) This is also more inclusive of Windows developers since they only need Python, and no longer have to install make separately. * update docs * don't make code blocks also links * implement tox for testing * update command to use new task runner --- .github/actions/run_tests/action.yaml | 21 +-- .github/workflows/docs.yaml | 2 +- .gitignore | 1 + poetry.lock | 217 +++++++++++++++++--------- pyproject.toml | 72 +++++++-- tests/__init__.py | 0 6 files changed, 209 insertions(+), 104 deletions(-) create mode 100644 tests/__init__.py diff --git a/.github/actions/run_tests/action.yaml b/.github/actions/run_tests/action.yaml index 3f40f2fd..c2242e0c 100644 --- a/.github/actions/run_tests/action.yaml +++ b/.github/actions/run_tests/action.yaml @@ -39,23 +39,12 @@ runs: echo 'DEPS_INSTALLED=true' >> $GITHUB_ENV shell: bash - - name: Code formatting (Black) + - name: Linting if: ${{ env.DEPS_INSTALLED == 'true' }} - run: | - poetry run black --version - poetry run black --check --diff . + run: poetry run poe ci-lint shell: bash - - name: Code Style (flake8) - if: > - ${{ env.DEPS_INSTALLED == 'true' }} - run: | - poetry run pflake8 --version - poetry run pflake8 jrnl tests - shell: bash - - - name: Test with pytest - if: > - ${{ env.DEPS_INSTALLED == 'true' }} - run: poetry run pytest --junitxml=reports/pytest/results.xml + - name: Testing + if: ${{ env.DEPS_INSTALLED == 'true' }} + run: poetry run poe ci-test shell: bash diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 4cb8218b..395ba66f 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -66,7 +66,7 @@ jobs: echo "node_modules/.bin" >> $GITHUB_PATH - name: Start docs server - run: poetry run mkdocs serve & + run: poetry run poe docs & - name: Generate sitemap env: diff --git a/.gitignore b/.gitignore index 4def365f..48cbcddc 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ eggs/ lib64/ parts/ sdist/ +.tox/ var/ # Versioning diff --git a/poetry.lock b/poetry.lock index 1f144a90..2a0abc4c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -46,7 +46,7 @@ test = ["astroid", "pytest"] name = "atomicwrites" version = "1.4.0" description = "Atomic file writes." -category = "main" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" @@ -54,7 +54,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" name = "attrs" version = "21.4.0" description = "Classes Without Boilerplate" -category = "main" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" @@ -118,7 +118,7 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} [[package]] name = "colorama" -version = "0.4.4" +version = "0.4.5" description = "Cross-platform colored terminal text." category = "main" optional = false @@ -162,6 +162,14 @@ category = "dev" optional = false python-versions = ">=3.5" +[[package]] +name = "distlib" +version = "0.3.4" +description = "Distribution utilities" +category = "dev" +optional = false +python-versions = "*" + [[package]] name = "executing" version = "0.8.3" @@ -170,6 +178,18 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "filelock" +version = "3.7.1" +description = "A platform independent file lock." +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["furo (>=2021.8.17b43)", "sphinx (>=4.1)", "sphinx-autodoc-typehints (>=1.12)"] +testing = ["covdefaults (>=1.2.0)", "coverage (>=4)", "pytest (>=4)", "pytest-cov", "pytest-timeout (>=1.4.2)"] + [[package]] name = "flake8" version = "4.0.1" @@ -201,13 +221,13 @@ dev = ["twine", "markdown", "flake8", "wheel"] name = "glob2" version = "0.7" description = "Version of the glob module that can capture patterns and supports recursive wildcards" -category = "main" +category = "dev" optional = false python-versions = "*" [[package]] name = "importlib-metadata" -version = "4.11.3" +version = "4.11.4" description = "Read metadata from Python packages" category = "main" optional = false @@ -225,7 +245,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest- name = "iniconfig" version = "1.1.1" description = "iniconfig: brain-dead simple config-ini parsing" -category = "main" +category = "dev" optional = false python-versions = "*" @@ -244,7 +264,7 @@ toml = {version = ">=0.10.2", markers = "python_version > \"3.6\""} [[package]] name = "ipython" -version = "8.3.0" +version = "8.4.0" description = "IPython: Productive Interactive Computing" category = "dev" optional = false @@ -340,7 +360,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest- name = "mako" version = "1.2.0" description = "A super-fast templating language that borrows the best ideas from the existing templating languages." -category = "main" +category = "dev" optional = false python-versions = ">=3.7" @@ -370,7 +390,7 @@ testing = ["coverage", "pyyaml"] name = "markupsafe" version = "2.1.1" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" +category = "dev" optional = false python-versions = ">=3.7" @@ -436,7 +456,7 @@ python-versions = "*" name = "packaging" version = "21.3" description = "Core utilities for Python packages" -category = "main" +category = "dev" optional = false python-versions = ">=3.6" @@ -447,7 +467,7 @@ pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" name = "parse" version = "1.19.0" description = "parse() is the opposite of format()" -category = "main" +category = "dev" optional = false python-versions = "*" @@ -455,7 +475,7 @@ python-versions = "*" name = "parse-type" version = "0.6.0" description = "Simplifies to build parse types based on the parse module" -category = "main" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*" @@ -538,7 +558,7 @@ test = ["appdirs (==1.4.4)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)", "pytes name = "pluggy" version = "1.0.0" description = "plugin and hook calling mechanisms for python" -category = "main" +category = "dev" optional = false python-versions = ">=3.6" @@ -603,7 +623,7 @@ tests = ["pytest"] name = "py" version = "1.11.0" description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "main" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" @@ -641,9 +661,9 @@ python-versions = ">=3.6" [[package]] name = "pyparsing" -version = "3.0.8" +version = "3.0.9" description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" +category = "dev" optional = false python-versions = ">=3.6.8" @@ -666,7 +686,7 @@ tomli = {version = "*", markers = "python_version < \"3.11\""} name = "pytest" version = "7.1.2" description = "pytest: simple powerful testing with Python" -category = "main" +category = "dev" optional = false python-versions = ">=3.7" @@ -687,7 +707,7 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2. name = "pytest-bdd" version = "5.0.0" description = "BDD for pytest" -category = "main" +category = "dev" optional = false python-versions = ">=3.6" @@ -768,7 +788,7 @@ pyyaml = "*" [[package]] name = "rich" -version = "12.4.0" +version = "12.4.4" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" category = "main" optional = false @@ -826,7 +846,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" [[package]] name = "stack-data" -version = "0.2.0" +version = "0.3.0" description = "Extract data from python stack frames and tracebacks for informative displays" category = "dev" optional = false @@ -852,7 +872,7 @@ python-versions = "*" name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "main" +category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" @@ -860,20 +880,42 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "main" +category = "dev" optional = false python-versions = ">=3.7" +[[package]] +name = "tox" +version = "3.25.0" +description = "tox is a generic virtualenv management and test command line tool" +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + +[package.dependencies] +colorama = {version = ">=0.4.1", markers = "platform_system == \"Windows\""} +filelock = ">=3.0.0" +packaging = ">=14" +pluggy = ">=0.12.0" +py = ">=1.4.17" +six = ">=1.14.0" +toml = ">=0.9.4" +virtualenv = ">=16.0.0,<20.0.0 || >20.0.0,<20.0.1 || >20.0.1,<20.0.2 || >20.0.2,<20.0.3 || >20.0.3,<20.0.4 || >20.0.4,<20.0.5 || >20.0.5,<20.0.6 || >20.0.6,<20.0.7 || >20.0.7" + +[package.extras] +docs = ["pygments-github-lexers (>=0.0.5)", "sphinx (>=2.0.0)", "sphinxcontrib-autoprogram (>=0.1.5)", "towncrier (>=18.5.0)"] +testing = ["flaky (>=3.4.0)", "freezegun (>=0.3.11)", "pytest (>=4.0.0)", "pytest-cov (>=2.5.1)", "pytest-mock (>=1.10.0)", "pytest-randomly (>=1.0.0)", "psutil (>=5.6.1)", "pathlib2 (>=2.3.3)"] + [[package]] name = "traitlets" -version = "5.1.1" -description = "Traitlets Python configuration system" +version = "5.3.0" +description = "" category = "dev" optional = false python-versions = ">=3.7" [package.extras] -test = ["pytest"] +test = ["pre-commit", "pytest"] [[package]] name = "typing-extensions" @@ -894,9 +936,27 @@ python-versions = "*" [package.dependencies] pytz = "*" +[[package]] +name = "virtualenv" +version = "20.14.1" +description = "Virtual Python Environment builder" +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + +[package.dependencies] +distlib = ">=0.3.1,<1" +filelock = ">=3.2,<4" +platformdirs = ">=2,<3" +six = ">=1.9.0,<2" + +[package.extras] +docs = ["proselint (>=0.10.2)", "sphinx (>=3)", "sphinx-argparse (>=0.2.5)", "sphinx-rtd-theme (>=0.4.3)", "towncrier (>=21.3)"] +testing = ["coverage (>=4)", "coverage-enable-subprocess (>=1)", "flaky (>=3)", "pytest (>=4)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.1)", "pytest-mock (>=2)", "pytest-randomly (>=1)", "pytest-timeout (>=1)", "packaging (>=20.0)"] + [[package]] name = "watchdog" -version = "2.1.7" +version = "2.1.9" description = "Filesystem events monitoring" category = "dev" optional = false @@ -915,11 +975,11 @@ python-versions = "*" [[package]] name = "xmltodict" -version = "0.12.0" +version = "0.13.0" description = "Makes working with XML feel like you are working with JSON" category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.4" [[package]] name = "yq" @@ -951,12 +1011,12 @@ docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"] testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"] [extras] -testing = ["pytest", "pytest-bdd", "toml"] +testing = [] [metadata] lock-version = "1.1" python-versions = ">=3.9.0, <3.12" -content-hash = "7c8a664dc14ce88642bb27318d23b158c044022b791361c98997a3f518c7cd8b" +content-hash = "ceca9186ac31a0b8ec81a6cc134469842080c786971bb8642d9e67d51bd73fca" [metadata.files] ansiwrap = [ @@ -1069,8 +1129,8 @@ click = [ {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, ] colorama = [ - {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, - {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, + {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, + {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, ] commonmark = [ {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, @@ -1104,10 +1164,18 @@ decorator = [ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, ] +distlib = [ + {file = "distlib-0.3.4-py2.py3-none-any.whl", hash = "sha256:6564fe0a8f51e734df6333d08b8b94d4ea8ee6b99b5ed50613f731fd4089f34b"}, + {file = "distlib-0.3.4.zip", hash = "sha256:e4b58818180336dc9c529bfb9a0b58728ffc09ad92027a3f30b7cd91e3458579"}, +] executing = [ {file = "executing-0.8.3-py2.py3-none-any.whl", hash = "sha256:d1eef132db1b83649a3905ca6dd8897f71ac6f8cac79a7e58a1a09cf137546c9"}, {file = "executing-0.8.3.tar.gz", hash = "sha256:c6554e21c6b060590a6d3be4b82fb78f8f0194d809de5ea7df1c093763311501"}, ] +filelock = [ + {file = "filelock-3.7.1-py3-none-any.whl", hash = "sha256:37def7b658813cda163b56fc564cdc75e86d338246458c4c28ae84cabefa2404"}, + {file = "filelock-3.7.1.tar.gz", hash = "sha256:3a0fd85166ad9dbab54c9aec96737b744106dc5f15c0b09a6744a445299fcf04"}, +] flake8 = [ {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"}, {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"}, @@ -1120,8 +1188,8 @@ glob2 = [ {file = "glob2-0.7.tar.gz", hash = "sha256:85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c"}, ] importlib-metadata = [ - {file = "importlib_metadata-4.11.3-py3-none-any.whl", hash = "sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6"}, - {file = "importlib_metadata-4.11.3.tar.gz", hash = "sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539"}, + {file = "importlib_metadata-4.11.4-py3-none-any.whl", hash = "sha256:c58c8eb8a762858f49e18436ff552e83914778e50e9d2f1660535ffb364552ec"}, + {file = "importlib_metadata-4.11.4.tar.gz", hash = "sha256:5d26852efe48c0a32b0509ffbc583fda1a2266545a78d104a6f4aff3db17d700"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -1131,8 +1199,8 @@ ipdb = [ {file = "ipdb-0.13.9.tar.gz", hash = "sha256:951bd9a64731c444fd907a5ce268543020086a697f6be08f7cc2c9a752a278c5"}, ] ipython = [ - {file = "ipython-8.3.0-py3-none-any.whl", hash = "sha256:341456643a764c28f670409bbd5d2518f9b82c013441084ff2c2fc999698f83b"}, - {file = "ipython-8.3.0.tar.gz", hash = "sha256:807ae3cf43b84693c9272f70368440a9a7eaa2e7e6882dad943c32fbf7e51402"}, + {file = "ipython-8.4.0-py3-none-any.whl", hash = "sha256:7ca74052a38fa25fe9bedf52da0be7d3fdd2fb027c3b778ea78dfe8c212937d1"}, + {file = "ipython-8.4.0.tar.gz", hash = "sha256:f2db3a10254241d9b447232cec8b424847f338d9d36f9a577a6192c332a46abd"}, ] jedi = [ {file = "jedi-0.18.1-py2.py3-none-any.whl", hash = "sha256:637c9635fcf47945ceb91cd7f320234a7be540ded6f3e99a50cb6febdfd1ba8d"}, @@ -1304,8 +1372,8 @@ pygments = [ {file = "Pygments-2.12.0.tar.gz", hash = "sha256:5eb116118f9612ff1ee89ac96437bb6b49e8f04d8a13b514ba26f620208e26eb"}, ] pyparsing = [ - {file = "pyparsing-3.0.8-py3-none-any.whl", hash = "sha256:ef7b523f6356f763771559412c0d7134753f037822dad1b16945b7b846f7ad06"}, - {file = "pyparsing-3.0.8.tar.gz", hash = "sha256:7bf433498c016c4314268d95df76c81b842a4cb2b276fa3312cfb1e1d85f6954"}, + {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, + {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] pyproject-flake8 = [ {file = "pyproject-flake8-0.0.1a4.tar.gz", hash = "sha256:8ed9453f1d984cfe94c998f9840275359e29e7f435b8ddd188ae084e2dc1270c"}, @@ -1378,8 +1446,8 @@ pyyaml-env-tag = [ {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, ] rich = [ - {file = "rich-12.4.0-py3-none-any.whl", hash = "sha256:fdf6f447f231289dd446d31e5ee856fb0cc7dccd852a80f3e9d5aeecccabaedc"}, - {file = "rich-12.4.0.tar.gz", hash = "sha256:7aebf67874dc5cc2c89e2cb6ac322c95bd92510df2af0296c8bf494335ef704f"}, + {file = "rich-12.4.4-py3-none-any.whl", hash = "sha256:d2bbd99c320a2532ac71ff6a3164867884357da3e3301f0240090c5d2fdac7ec"}, + {file = "rich-12.4.4.tar.gz", hash = "sha256:4c586de507202505346f3e32d1363eb9ed6932f0c2f63184dea88983ff4971e2"}, ] "ruamel.yaml" = [ {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, @@ -1421,8 +1489,8 @@ six = [ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] stack-data = [ - {file = "stack_data-0.2.0-py3-none-any.whl", hash = "sha256:999762f9c3132308789affa03e9271bbbe947bf78311851f4d485d8402ed858e"}, - {file = "stack_data-0.2.0.tar.gz", hash = "sha256:45692d41bd633a9503a5195552df22b583caf16f0b27c4e58c98d88c8b648e12"}, + {file = "stack_data-0.3.0-py3-none-any.whl", hash = "sha256:aa1d52d14d09c7a9a12bb740e6bdfffe0f5e8f4f9218d85e7c73a8c37f7ae38d"}, + {file = "stack_data-0.3.0.tar.gz", hash = "sha256:77bec1402dcd0987e9022326473fdbcc767304892a533ed8c29888dacb7dddbc"}, ] textwrap3 = [ {file = "textwrap3-0.9.2-py2.py3-none-any.whl", hash = "sha256:bf5f4c40faf2a9ff00a9e0791fed5da7415481054cef45bb4a3cfb1f69044ae0"}, @@ -1436,9 +1504,13 @@ tomli = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] +tox = [ + {file = "tox-3.25.0-py2.py3-none-any.whl", hash = "sha256:0805727eb4d6b049de304977dfc9ce315a1938e6619c3ab9f38682bb04662a5a"}, + {file = "tox-3.25.0.tar.gz", hash = "sha256:37888f3092aa4e9f835fc8cc6dadbaaa0782651c41ef359e3a5743fcb0308160"}, +] traitlets = [ - {file = "traitlets-5.1.1-py3-none-any.whl", hash = "sha256:2d313cc50a42cd6c277e7d7dc8d4d7fedd06a2c215f78766ae7b1a66277e0033"}, - {file = "traitlets-5.1.1.tar.gz", hash = "sha256:059f456c5a7c1c82b98c2e8c799f39c9b8128f6d0d46941ee118daace9eb70c7"}, + {file = "traitlets-5.3.0-py3-none-any.whl", hash = "sha256:65fa18961659635933100db8ca120ef6220555286949774b9cfc106f941d1c7a"}, + {file = "traitlets-5.3.0.tar.gz", hash = "sha256:0bb9f1f9f017aa8ec187d8b1b2a7a6626a2a1d877116baba52a129bfa124f8e2"}, ] typing-extensions = [ {file = "typing_extensions-4.2.0-py3-none-any.whl", hash = "sha256:6657594ee297170d19f67d55c05852a874e7eb634f4f753dbd667855e07c1708"}, @@ -1448,39 +1520,44 @@ tzlocal = [ {file = "tzlocal-2.1-py2.py3-none-any.whl", hash = "sha256:e2cb6c6b5b604af38597403e9852872d7f534962ae2954c7f35efcb1ccacf4a4"}, {file = "tzlocal-2.1.tar.gz", hash = "sha256:643c97c5294aedc737780a49d9df30889321cbe1204eac2c2ec6134035a92e44"}, ] +virtualenv = [ + {file = "virtualenv-20.14.1-py2.py3-none-any.whl", hash = "sha256:e617f16e25b42eb4f6e74096b9c9e37713cf10bf30168fb4a739f3fa8f898a3a"}, + {file = "virtualenv-20.14.1.tar.gz", hash = "sha256:ef589a79795589aada0c1c5b319486797c03b67ac3984c48c669c0e4f50df3a5"}, +] watchdog = [ - {file = "watchdog-2.1.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:177bae28ca723bc00846466016d34f8c1d6a621383b6caca86745918d55c7383"}, - {file = "watchdog-2.1.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1d1cf7dfd747dec519486a98ef16097e6c480934ef115b16f18adb341df747a4"}, - {file = "watchdog-2.1.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7f14ce6adea2af1bba495acdde0e510aecaeb13b33f7bd2f6324e551b26688ca"}, - {file = "watchdog-2.1.7-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4d0e98ac2e8dd803a56f4e10438b33a2d40390a72750cff4939b4b274e7906fa"}, - {file = "watchdog-2.1.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:81982c7884aac75017a6ecc72f1a4fedbae04181a8665a34afce9539fc1b3fab"}, - {file = "watchdog-2.1.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0b4a1fe6201c6e5a1926f5767b8664b45f0fcb429b62564a41f490ff1ce1dc7a"}, - {file = "watchdog-2.1.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6e6ae29b72977f2e1ee3d0b760d7ee47896cb53e831cbeede3e64485e5633cc8"}, - {file = "watchdog-2.1.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b9777664848160449e5b4260e0b7bc1ae0f6f4992a8b285db4ec1ef119ffa0e2"}, - {file = "watchdog-2.1.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:19b36d436578eb437e029c6b838e732ed08054956366f6dd11875434a62d2b99"}, - {file = "watchdog-2.1.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b61acffaf5cd5d664af555c0850f9747cc5f2baf71e54bbac164c58398d6ca7b"}, - {file = "watchdog-2.1.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1e877c70245424b06c41ac258023ea4bd0c8e4ff15d7c1368f17cd0ae6e351dd"}, - {file = "watchdog-2.1.7-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d802d65262a560278cf1a65ef7cae4e2bc7ecfe19e5451349e4c67e23c9dc420"}, - {file = "watchdog-2.1.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b3750ee5399e6e9c69eae8b125092b871ee9e2fcbd657a92747aea28f9056a5c"}, - {file = "watchdog-2.1.7-py3-none-manylinux2014_aarch64.whl", hash = "sha256:ed6d9aad09a2a948572224663ab00f8975fae242aa540509737bb4507133fa2d"}, - {file = "watchdog-2.1.7-py3-none-manylinux2014_armv7l.whl", hash = "sha256:b26e13e8008dcaea6a909e91d39b629a39635d1a8a7239dd35327c74f4388601"}, - {file = "watchdog-2.1.7-py3-none-manylinux2014_i686.whl", hash = "sha256:0908bb50f6f7de54d5d31ec3da1654cb7287c6b87bce371954561e6de379d690"}, - {file = "watchdog-2.1.7-py3-none-manylinux2014_ppc64.whl", hash = "sha256:bdcbf75580bf4b960fb659bbccd00123d83119619195f42d721e002c1621602f"}, - {file = "watchdog-2.1.7-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:81a5861d0158a7e55fe149335fb2bbfa6f48cbcbd149b52dbe2cd9a544034bbd"}, - {file = "watchdog-2.1.7-py3-none-manylinux2014_s390x.whl", hash = "sha256:03b43d583df0f18782a0431b6e9e9965c5b3f7cf8ec36a00b930def67942c385"}, - {file = "watchdog-2.1.7-py3-none-manylinux2014_x86_64.whl", hash = "sha256:ae934e34c11aa8296c18f70bf66ed60e9870fcdb4cc19129a04ca83ab23e7055"}, - {file = "watchdog-2.1.7-py3-none-win32.whl", hash = "sha256:49639865e3db4be032a96695c98ac09eed39bbb43fe876bb217da8f8101689a6"}, - {file = "watchdog-2.1.7-py3-none-win_amd64.whl", hash = "sha256:340b875aecf4b0e6672076a6f05cfce6686935559bb6d34cebedee04126a9566"}, - {file = "watchdog-2.1.7-py3-none-win_ia64.whl", hash = "sha256:351e09b6d9374d5bcb947e6ac47a608ec25b9d70583e9db00b2fcdb97b00b572"}, - {file = "watchdog-2.1.7.tar.gz", hash = "sha256:3fd47815353be9c44eebc94cc28fe26b2b0c5bd889dafc4a5a7cbdf924143480"}, + {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330"}, + {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d"}, + {file = "watchdog-2.1.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ee3e38a6cc050a8830089f79cbec8a3878ec2fe5160cdb2dc8ccb6def8552658"}, + {file = "watchdog-2.1.9-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64a27aed691408a6abd83394b38503e8176f69031ca25d64131d8d640a307591"}, + {file = "watchdog-2.1.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:195fc70c6e41237362ba720e9aaf394f8178bfc7fa68207f112d108edef1af33"}, + {file = "watchdog-2.1.9-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:bfc4d351e6348d6ec51df007432e6fe80adb53fd41183716017026af03427846"}, + {file = "watchdog-2.1.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8250546a98388cbc00c3ee3cc5cf96799b5a595270dfcfa855491a64b86ef8c3"}, + {file = "watchdog-2.1.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:117ffc6ec261639a0209a3252546b12800670d4bf5f84fbd355957a0595fe654"}, + {file = "watchdog-2.1.9-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:97f9752208f5154e9e7b76acc8c4f5a58801b338de2af14e7e181ee3b28a5d39"}, + {file = "watchdog-2.1.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:247dcf1df956daa24828bfea5a138d0e7a7c98b1a47cf1fa5b0c3c16241fcbb7"}, + {file = "watchdog-2.1.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:226b3c6c468ce72051a4c15a4cc2ef317c32590d82ba0b330403cafd98a62cfd"}, + {file = "watchdog-2.1.9-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d9820fe47c20c13e3c9dd544d3706a2a26c02b2b43c993b62fcd8011bcc0adb3"}, + {file = "watchdog-2.1.9-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:70af927aa1613ded6a68089a9262a009fbdf819f46d09c1a908d4b36e1ba2b2d"}, + {file = "watchdog-2.1.9-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ed80a1628cee19f5cfc6bb74e173f1b4189eb532e705e2a13e3250312a62e0c9"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_aarch64.whl", hash = "sha256:9f05a5f7c12452f6a27203f76779ae3f46fa30f1dd833037ea8cbc2887c60213"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_armv7l.whl", hash = "sha256:255bb5758f7e89b1a13c05a5bceccec2219f8995a3a4c4d6968fe1de6a3b2892"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_i686.whl", hash = "sha256:d3dda00aca282b26194bdd0adec21e4c21e916956d972369359ba63ade616153"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_ppc64.whl", hash = "sha256:186f6c55abc5e03872ae14c2f294a153ec7292f807af99f57611acc8caa75306"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:083171652584e1b8829581f965b9b7723ca5f9a2cd7e20271edf264cfd7c1412"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_s390x.whl", hash = "sha256:b530ae007a5f5d50b7fbba96634c7ee21abec70dc3e7f0233339c81943848dc1"}, + {file = "watchdog-2.1.9-py3-none-manylinux2014_x86_64.whl", hash = "sha256:4f4e1c4aa54fb86316a62a87b3378c025e228178d55481d30d857c6c438897d6"}, + {file = "watchdog-2.1.9-py3-none-win32.whl", hash = "sha256:5952135968519e2447a01875a6f5fc8c03190b24d14ee52b0f4b1682259520b1"}, + {file = "watchdog-2.1.9-py3-none-win_amd64.whl", hash = "sha256:7a833211f49143c3d336729b0020ffd1274078e94b0ae42e22f596999f50279c"}, + {file = "watchdog-2.1.9-py3-none-win_ia64.whl", hash = "sha256:ad576a565260d8f99d97f2e64b0f97a48228317095908568a9d5c786c829d428"}, + {file = "watchdog-2.1.9.tar.gz", hash = "sha256:43ce20ebb36a51f21fa376f76d1d4692452b2527ccd601950d69ed36b9e21609"}, ] wcwidth = [ {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, ] xmltodict = [ - {file = "xmltodict-0.12.0-py2.py3-none-any.whl", hash = "sha256:8bbcb45cc982f48b2ca8fe7e7827c5d792f217ecf1792626f808bf41c3b86051"}, - {file = "xmltodict-0.12.0.tar.gz", hash = "sha256:50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21"}, + {file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"}, + {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, ] yq = [ {file = "yq-2.14.0-py3-none-any.whl", hash = "sha256:b6321b29cb39c4e92a4a6f16d47d99a024650211e45e09a02d1906ec45fbaede"}, diff --git a/pyproject.toml b/pyproject.toml index b81c285b..7733d0e2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,20 +37,12 @@ parsedatetime = ">=2.6" python-dateutil = "^2.8" # https://github.com/dateutil/dateutil/blob/master/RELEASING pyxdg = ">=0.27.0" "ruamel.yaml" = "^0.17.21" +rich = "^12.2.0" # dayone-only deps pytz = ">=2020" # https://pythonhosted.org/pytz/#issues-limitations tzlocal = ">2.0, <3.0" # https://github.com/regebro/tzlocal/blob/master/CHANGES.txt -# Minimal deps required for testing -# I don't like repeating deps here, but -# there's no other way to do this yet until poetry v1.2 releases -# see: https://github.com/python-poetry/poetry/issues/1644 -pytest = { version = ">=6.2", optional = true } -pytest-bdd = { version = ">=4.0.1", optional = true } -toml = { version = ">=0.10", optional = true } -rich = "^12.2.0" - [tool.poetry.dev-dependencies] mkdocs = ">=1.0,<1.3" black = { version = ">=21.5b2", allow-prereleases = true } @@ -62,6 +54,7 @@ poethepoet = "*" pytest-clarity = "*" pyproject-flake8 = "*" yq = "*" +tox = "*" [tool.poetry.extras] testing = [ "pytest", "pytest-bdd", "toml" ] @@ -70,23 +63,46 @@ testing = [ "pytest", "pytest-bdd", "toml" ] jrnl = 'jrnl.cli:cli' [tool.poe.tasks] -bdd = "pytest tests/bdd --gherkin-terminal-reporter --tb=native" -bdd-debug = "poe bdd -x -vv" format = "black ." +format-check = "black --check --diff ." +format-version = "black --version" + +style-check = "pflake8 jrnl tests" +style-version = "pflake8 --version" + docs = "mkdocs serve" -unit = "pytest tests/unit" + +test-unit = "tox -q -e unit --" +test-bdd = "tox -q -e bdd --" +test-all = "tox -e py --" + +installer-check = "poetry check" +installer-version = "poetry --version" # Groups of tasks lint = [ - {cmd = "poetry check"}, - {cmd = "pflake8 jrnl tests"}, - {cmd = "black --check --diff ."}, + "installer-check", + "style-check", + "format-check", ] test = [ "lint", - "unit", - "bdd", + "test-unit", + "test-bdd", +] + +ci-lint = [ + "installer-version", + "installer-check", + "style-version", + "style-check", + "format-version", + "format-check", +] + +ci-test = [ + "test-all", ] [tool.isort] @@ -127,3 +143,25 @@ extend-ignore = "E101,E111,E114,E115,E116,E117,E12,E13,E2,E3,E401,E5,E70,W1,W2,W requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" +[tool.tox] +# see: https://tox.wiki/en/latest/example/basic.html +legacy_tox_ini = """ +[tox] +envlist = py-{unit,bdd} +isolated_build = True + +[testenv] +deps = + pytest >= 6.2 + pytest-bdd >=4.0.1 + toml >=0.10 +commands = pytest --junitxml=reports/pytest/results.xml {posargs} +passenv = HOME + +[testenv:unit] +commands = pytest tests/unit {posargs} + +[testenv:bdd] +commands = pytest tests/bdd --gherkin-terminal-reporter --tb=native {posargs} +""" + diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 00000000..e69de29b From 5fb5e1140afd6c3978a1125fced3fe1a12e2f80a Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 18 Jun 2022 18:56:04 +0000 Subject: [PATCH 009/485] Update changelog [ci skip] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 03730fd2..7c9dfd6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,10 @@ **Build:** +- Use tox [\#1361](https://github.com/jrnl-org/jrnl/issues/1361) +- Stop hardcoding bot info in changelog pipeline [\#1506](https://github.com/jrnl-org/jrnl/pull/1506) ([wren](https://github.com/wren)) +- Fix Poetry caching for accessibility tests [\#1505](https://github.com/jrnl-org/jrnl/pull/1505) ([wren](https://github.com/wren)) +- Implement Tox for testing [\#1504](https://github.com/jrnl-org/jrnl/pull/1504) ([wren](https://github.com/wren)) - Replace `make` with python alternative \(`poe`\) [\#1503](https://github.com/jrnl-org/jrnl/pull/1503) ([wren](https://github.com/wren)) - Update copyright year [\#1502](https://github.com/jrnl-org/jrnl/pull/1502) ([wren](https://github.com/wren)) From 28051046d51085fb22ac442e3c9334687ced8597 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 25 Jun 2022 11:51:19 -0700 Subject: [PATCH 010/485] Update maintainer email (#1515) --- CODE_OF_CONDUCT.md | 2 +- SECURITY.md | 2 +- pyproject.toml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index b177c666..68716f88 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -59,7 +59,7 @@ representative at an online or offline event. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by [emailing the maintainers](mailto:jrnl-sh@googlegroups.com). +reported by [emailing the maintainers](mailto:maintainers@jrnl.sh). All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the diff --git a/SECURITY.md b/SECURITY.md index c239b957..44a0f958 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,6 +1,6 @@ # Security -If you've discovered a potential security issue in jrnl, please contact the maintainers at [jrnl-sh@googlegroups.com](mailto:jrnl-sh@googlegroups.com). +If you've discovered a potential security issue in jrnl, please contact the maintainers at [maintainers@jrnl.sh](mailto:maintainers@jrnl.sh). You can also feel free to [open an issue](https://github.com/jrnl-org/jrnl/issues/new/choose) (but please don't disclose the vulnerability) in case the email goes to spam. diff --git a/pyproject.toml b/pyproject.toml index 7733d0e2..79f8303b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,13 +3,13 @@ name = "jrnl" version = "v3.0-beta" description = "Collect your thoughts and notes without leaving the command line." authors = [ - "jrnl contributors ", + "jrnl contributors ", "Manuel Ebert ", "Jonathan Wren ", "Micah Ellison " ] maintainers = [ - "Jonathan Wren and Micah Ellison ", + "Jonathan Wren and Micah Ellison ", ] license = "GPL-3.0-only" readme = "README.md" From ed4f8eacea42ff186933afb5ec98ec0fd0481784 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sat, 25 Jun 2022 11:58:31 -0700 Subject: [PATCH 011/485] Display message when no edits take place (#1510) --- jrnl/editor.py | 2 +- jrnl/jrnl.py | 5 ++++- jrnl/messages/MsgText.py | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/jrnl/editor.py b/jrnl/editor.py index a6bff5d3..1090f5d6 100644 --- a/jrnl/editor.py +++ b/jrnl/editor.py @@ -46,7 +46,7 @@ def get_text_from_editor(config, template=""): os.remove(tmpfile) if not raw: - raise JrnlException(Message(MsgText.NoTextReceived, MsgStyle.ERROR)) + raise JrnlException(Message(MsgText.NoTextReceived, MsgStyle.NORMAL)) return raw diff --git a/jrnl/jrnl.py b/jrnl/jrnl.py index 2c5fafae..68b061b2 100644 --- a/jrnl/jrnl.py +++ b/jrnl/jrnl.py @@ -141,7 +141,7 @@ def write_mode(args, config, journal, **kwargs): if not raw or raw.isspace(): logging.error("Write mode: couldn't get raw text or entry was empty") - raise JrnlException(Message(MsgText.NoTextReceived, MsgStyle.ERROR)) + raise JrnlException(Message(MsgText.NoTextReceived, MsgStyle.NORMAL)) logging.debug( 'Write mode: appending raw text to journal "%s": %s', args.journal_name, raw @@ -342,6 +342,9 @@ def _print_edited_summary(journal, old_stats, **kwargs): ) msgs.append(Message(my_msg, MsgStyle.NORMAL, {"num": stats["modified"]})) + if not msgs: + msgs.append(Message(MsgText.NoEditsReceived, MsgStyle.NORMAL)) + print_msgs(msgs) diff --git a/jrnl/messages/MsgText.py b/jrnl/messages/MsgText.py index 8de0d518..d26f1dfd 100644 --- a/jrnl/messages/MsgText.py +++ b/jrnl/messages/MsgText.py @@ -149,6 +149,8 @@ class MsgText(Enum): https://jrnl.sh/en/stable/external-editors/ """ + NoEditsReceived = "No edits to save, because nothing was changed" + NoTextReceived = """ No entry to save, because no text was received """ From c0ebf12cc8b2af44727f7fb35060025b135b4623 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 25 Jun 2022 11:59:09 -0700 Subject: [PATCH 012/485] Bump cryptography from 37.0.2 to 37.0.3 (#1516) Bumps [cryptography](https://github.com/pyca/cryptography) from 37.0.2 to 37.0.3. - [Release notes](https://github.com/pyca/cryptography/releases) - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/37.0.2...37.0.3) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/poetry.lock b/poetry.lock index 2a0abc4c..32163c36 100644 --- a/poetry.lock +++ b/poetry.lock @@ -137,7 +137,7 @@ test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] [[package]] name = "cryptography" -version = "37.0.2" +version = "37.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false @@ -1137,28 +1137,28 @@ commonmark = [ {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, ] cryptography = [ - {file = "cryptography-37.0.2-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:ef15c2df7656763b4ff20a9bc4381d8352e6640cfeb95c2972c38ef508e75181"}, - {file = "cryptography-37.0.2-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:3c81599befb4d4f3d7648ed3217e00d21a9341a9a688ecdd615ff72ffbed7336"}, - {file = "cryptography-37.0.2-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2bd1096476aaac820426239ab534b636c77d71af66c547b9ddcd76eb9c79e004"}, - {file = "cryptography-37.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:31fe38d14d2e5f787e0aecef831457da6cec68e0bb09a35835b0b44ae8b988fe"}, - {file = "cryptography-37.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:093cb351031656d3ee2f4fa1be579a8c69c754cf874206be1d4cf3b542042804"}, - {file = "cryptography-37.0.2-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59b281eab51e1b6b6afa525af2bd93c16d49358404f814fe2c2410058623928c"}, - {file = "cryptography-37.0.2-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:0cc20f655157d4cfc7bada909dc5cc228211b075ba8407c46467f63597c78178"}, - {file = "cryptography-37.0.2-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:f8ec91983e638a9bcd75b39f1396e5c0dc2330cbd9ce4accefe68717e6779e0a"}, - {file = "cryptography-37.0.2-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:46f4c544f6557a2fefa7ac8ac7d1b17bf9b647bd20b16decc8fbcab7117fbc15"}, - {file = "cryptography-37.0.2-cp36-abi3-win32.whl", hash = "sha256:731c8abd27693323b348518ed0e0705713a36d79fdbd969ad968fbef0979a7e0"}, - {file = "cryptography-37.0.2-cp36-abi3-win_amd64.whl", hash = "sha256:471e0d70201c069f74c837983189949aa0d24bb2d751b57e26e3761f2f782b8d"}, - {file = "cryptography-37.0.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a68254dd88021f24a68b613d8c51d5c5e74d735878b9e32cc0adf19d1f10aaf9"}, - {file = "cryptography-37.0.2-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:a7d5137e556cc0ea418dca6186deabe9129cee318618eb1ffecbd35bee55ddc1"}, - {file = "cryptography-37.0.2-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:aeaba7b5e756ea52c8861c133c596afe93dd716cbcacae23b80bc238202dc023"}, - {file = "cryptography-37.0.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95e590dd70642eb2079d280420a888190aa040ad20f19ec8c6e097e38aa29e06"}, - {file = "cryptography-37.0.2-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:1b9362d34363f2c71b7853f6251219298124aa4cc2075ae2932e64c91a3e2717"}, - {file = "cryptography-37.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e53258e69874a306fcecb88b7534d61820db8a98655662a3dd2ec7f1afd9132f"}, - {file = "cryptography-37.0.2-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:1f3bfbd611db5cb58ca82f3deb35e83af34bb8cf06043fa61500157d50a70982"}, - {file = "cryptography-37.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:419c57d7b63f5ec38b1199a9521d77d7d1754eb97827bbb773162073ccd8c8d4"}, - {file = "cryptography-37.0.2-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:dc26bb134452081859aa21d4990474ddb7e863aa39e60d1592800a8865a702de"}, - {file = "cryptography-37.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3b8398b3d0efc420e777c40c16764d6870bcef2eb383df9c6dbb9ffe12c64452"}, - {file = "cryptography-37.0.2.tar.gz", hash = "sha256:f224ad253cc9cea7568f49077007d2263efa57396a2f2f78114066fd54b5c68e"}, + {file = "cryptography-37.0.3-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:d10413d493e98075060d3e62e5826de372912ea653ccc948f3c41b21ddca087f"}, + {file = "cryptography-37.0.3-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:cd64147ff16506632893ceb2569624b48c84daa3ba4d89695f7c7bc24188eee9"}, + {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:17c74f7d9e9e9bb7e84521243695c1b4bdc3a0e44ca764e6bcf8f05f3de3d0df"}, + {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:0713bee6c8077786c56bdec9c5d3f099d40d2c862ff3200416f6862e9dd63156"}, + {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9c2008417741cdfbe945ef2d16b7b7ba0790886a0b49e1de533acf93eb66ed6"}, + {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:646905ff7a712e415bf0d0f214e0eb669dd2257c4d7a27db1e8baec5d2a1d55f"}, + {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:dcafadb5a06cb7a6bb49fb4c1de7414ee2f8c8e12b047606d97c3175d690f582"}, + {file = "cryptography-37.0.3-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:0b4bfc5ccfe4e5c7de535670680398fed4a0bbc5dfd52b3a295baad42230abdf"}, + {file = "cryptography-37.0.3-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a03dbc0d8ce8c1146c177cd0e3a66ea106f36733fb1b997ea4d051f8a68539ff"}, + {file = "cryptography-37.0.3-cp36-abi3-win32.whl", hash = "sha256:190a24c14e91c1fa3101069aac7e77d11c5a73911c3904128367f52946bbb6fd"}, + {file = "cryptography-37.0.3-cp36-abi3-win_amd64.whl", hash = "sha256:b05c5478524deb7a019e240f2a970040c4b0f01f58f0425e6262c96b126c6a3e"}, + {file = "cryptography-37.0.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:891ed8312840fd43e0696468a6520a582a033c0109f7b14b96067bfe1123226b"}, + {file = "cryptography-37.0.3-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:30d6aabf623a01affc7c0824936c3dde6590076b61f5dd299df3cc2c75fc5915"}, + {file = "cryptography-37.0.3-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:31a7c1f1c2551f013d4294d06e22848e2ccd77825f0987cba3239df6ebf7b020"}, + {file = "cryptography-37.0.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a94fd1ff80001cb97add71d07f596d8b865b716f25ef501183e0e199390e50d3"}, + {file = "cryptography-37.0.3-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:8a85dbcc770256918b40c2f40bd3ffd3b2ae45b0cf19068b561db8f8d61bf492"}, + {file = "cryptography-37.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:773d5b5f2e2bd2c7cbb1bd24902ad41283c88b9dd463a0f82adc9a2870d9d066"}, + {file = "cryptography-37.0.3-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:0f9193428a55a4347af2d4fd8141a2002dedbcc26487e67fd2ae19f977ee8afc"}, + {file = "cryptography-37.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bf652c73e8f7c32a3f92f7184bf7f9106dacdf5ef59c3c3683d7dae2c4972fb"}, + {file = "cryptography-37.0.3-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:c3c8b1ad2c266fdf7adc041cc4156d6a3d14db93de2f81b26a5af97ef3f209e5"}, + {file = "cryptography-37.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2383d6c3088e863304c37c65cd2ea404b7fbb4886823eab1d74137cc27f3d2ee"}, + {file = "cryptography-37.0.3.tar.gz", hash = "sha256:ae430d51c67ac638dfbb42edf56c669ca9c74744f4d225ad11c6f3d355858187"}, ] decorator = [ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, From e531d575be4c8c85fd8f51eb15089ecf0d3417f7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 25 Jun 2022 11:59:41 -0700 Subject: [PATCH 013/485] Bump poethepoet from 0.13.1 to 0.14.0 (#1514) Bumps [poethepoet](https://github.com/nat-n/poethepoet) from 0.13.1 to 0.14.0. - [Release notes](https://github.com/nat-n/poethepoet/releases) - [Commits](https://github.com/nat-n/poethepoet/compare/v0.13.1...v0.14.0) --- updated-dependencies: - dependency-name: poethepoet dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/poetry.lock b/poetry.lock index 32163c36..e18a0197 100644 --- a/poetry.lock +++ b/poetry.lock @@ -568,11 +568,11 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "poethepoet" -version = "0.13.1" +version = "0.14.0" description = "A task runner that works well with poetry." category = "dev" optional = false -python-versions = ">=3.6.2" +python-versions = ">=3.7" [package.dependencies] pastel = ">=0.2.1,<0.3.0" @@ -1332,8 +1332,8 @@ pluggy = [ {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] poethepoet = [ - {file = "poethepoet-0.13.1-py3-none-any.whl", hash = "sha256:47e7b38c8b5412f840447f7612a9330697e8633e7500a7340b6734f50e26e380"}, - {file = "poethepoet-0.13.1.tar.gz", hash = "sha256:4f6962f17f5d5a453fd7fa66e3e7897e9191d4289148433efe441c81f2451a46"}, + {file = "poethepoet-0.14.0-py3-none-any.whl", hash = "sha256:e274988b469306c11b634b1c6b1cf1ffc880353afbcff874540090c3c9c50c2c"}, + {file = "poethepoet-0.14.0.tar.gz", hash = "sha256:1557f324e3ad791d86f515d4138dbfd97ac71c6ff3ec2d308f4d792e3002d1f0"}, ] pprintpp = [ {file = "pprintpp-0.4.0-py2.py3-none-any.whl", hash = "sha256:b6b4dcdd0c0c0d75e4d7b2f21a9e933e5b2ce62b26e1a54537f9651ae5a5c01d"}, From 856f3612717e2ebca5cc9d71b46965301e5f20f2 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 25 Jun 2022 19:01:37 +0000 Subject: [PATCH 014/485] Update changelog [ci skip] --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c9dfd6c..5ea6ebd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ **Fixed bugs:** - Adding new entry with date only works with format m.d.Y [\#1509](https://github.com/jrnl-org/jrnl/issues/1509) +- Blank box displays when not making any changes in --edit [\#1501](https://github.com/jrnl-org/jrnl/issues/1501) +- Display message when no edits take place [\#1510](https://github.com/jrnl-org/jrnl/pull/1510) ([apainintheneck](https://github.com/apainintheneck)) **Build:** @@ -17,6 +19,11 @@ - Replace `make` with python alternative \(`poe`\) [\#1503](https://github.com/jrnl-org/jrnl/pull/1503) ([wren](https://github.com/wren)) - Update copyright year [\#1502](https://github.com/jrnl-org/jrnl/pull/1502) ([wren](https://github.com/wren)) +**Packaging:** + +- Bump cryptography from 37.0.2 to 37.0.3 [\#1516](https://github.com/jrnl-org/jrnl/pull/1516) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump poethepoet from 0.13.1 to 0.14.0 [\#1514](https://github.com/jrnl-org/jrnl/pull/1514) ([dependabot[bot]](https://github.com/apps/dependabot)) + ## [v3.0-beta](https://pypi.org/project/jrnl/v3.0-beta/) (2022-06-11) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v2.8.4...v3.0-beta) From 23bc0f2c8f249e8db5dcc900794488f9842c9151 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 25 Jun 2022 12:45:39 -0700 Subject: [PATCH 015/485] Reduce difference between local and CI environments (#1518) * Clean up pyproject file This reduces the differences between local tasks and tasks run in the CI pipelines * remove linting step (it's part of test now) * remove useless arg --- .github/actions/run_tests/action.yaml | 9 +-- pyproject.toml | 83 +++++++++++---------------- 2 files changed, 37 insertions(+), 55 deletions(-) diff --git a/.github/actions/run_tests/action.yaml b/.github/actions/run_tests/action.yaml index c2242e0c..9ab6c6ca 100644 --- a/.github/actions/run_tests/action.yaml +++ b/.github/actions/run_tests/action.yaml @@ -39,12 +39,7 @@ runs: echo 'DEPS_INSTALLED=true' >> $GITHUB_ENV shell: bash - - name: Linting + - name: Linting & Testing if: ${{ env.DEPS_INSTALLED == 'true' }} - run: poetry run poe ci-lint - shell: bash - - - name: Testing - if: ${{ env.DEPS_INSTALLED == 'true' }} - run: poetry run poe ci-test + run: poetry run poe test shell: bash diff --git a/pyproject.toml b/pyproject.toml index 79f8303b..175dfa00 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,40 +44,45 @@ pytz = ">=2020" # https://pythonhosted.org/pytz/#issues-limitations tzlocal = ">2.0, <3.0" # https://github.com/regebro/tzlocal/blob/master/CHANGES.txt [tool.poetry.dev-dependencies] -mkdocs = ">=1.0,<1.3" black = { version = ">=21.5b2", allow-prereleases = true } -toml = ">=0.10" +ipdb = "*" +mkdocs = ">=1.0,<1.3" +poethepoet = "*" +pyproject-flake8 = "*" pytest = ">=6.2" pytest-bdd = ">=4.0.1" -ipdb = "*" -poethepoet = "*" pytest-clarity = "*" -pyproject-flake8 = "*" -yq = "*" +toml = ">=0.10" tox = "*" - -[tool.poetry.extras] -testing = [ "pytest", "pytest-bdd", "toml" ] +yq = "*" [tool.poetry.scripts] jrnl = 'jrnl.cli:cli' [tool.poe.tasks] -format = "black ." -format-check = "black --check --diff ." -format-version = "black --version" +format-run = [ + {cmd = "black ."}, +] +format-check = [ + {cmd = "black --version"}, + {cmd = "black --check --diff ."}, +] +style-check = [ + {cmd = "pflake8 --version"}, + {cmd = "pflake8 jrnl tests"}, +] +# docs-check = ? +docs-run = [ + {cmd = "mkdocs serve"}, +] +test-run =[ + {cmd = "tox -q -e py --"}, +] -style-check = "pflake8 jrnl tests" -style-version = "pflake8 --version" - -docs = "mkdocs serve" - -test-unit = "tox -q -e unit --" -test-bdd = "tox -q -e bdd --" -test-all = "tox -e py --" - -installer-check = "poetry check" -installer-version = "poetry --version" +installer-check = [ + {cmd = "poetry --version"}, + {cmd = "poetry check"}, +] # Groups of tasks lint = [ @@ -88,21 +93,7 @@ lint = [ test = [ "lint", - "test-unit", - "test-bdd", -] - -ci-lint = [ - "installer-version", - "installer-check", - "style-version", - "style-check", - "format-version", - "format-check", -] - -ci-test = [ - "test-all", + "test-run", ] [tool.isort] @@ -125,7 +116,9 @@ markers = [ "on_posix", ] addopts = [ - "--pdbcls=IPython.terminal.debugger:Pdb" + "--pdbcls=IPython.terminal.debugger:Pdb", + "--gherkin-terminal-reporter", + "--tb=native", ] filterwarnings = [ @@ -147,7 +140,7 @@ build-backend = "poetry.core.masonry.api" # see: https://tox.wiki/en/latest/example/basic.html legacy_tox_ini = """ [tox] -envlist = py-{unit,bdd} +envlist = py isolated_build = True [testenv] @@ -155,13 +148,7 @@ deps = pytest >= 6.2 pytest-bdd >=4.0.1 toml >=0.10 -commands = pytest --junitxml=reports/pytest/results.xml {posargs} + +commands = pytest {posargs} passenv = HOME - -[testenv:unit] -commands = pytest tests/unit {posargs} - -[testenv:bdd] -commands = pytest tests/bdd --gherkin-terminal-reporter --tb=native {posargs} """ - From 8b955ef002a3705e2700f7bd01a557cb0d6f7193 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sat, 25 Jun 2022 12:47:05 -0700 Subject: [PATCH 016/485] Add bdd tests for jrnl installation (#1513) * Added bdd tests for jrnl installation --- tests/bdd/features/install.feature | 45 ++++++++++++++++++++++++++++++ tests/bdd/test_features.py | 1 + tests/lib/fixtures.py | 19 ++++++++++++- tests/lib/given_steps.py | 7 +++++ tests/lib/then_steps.py | 22 +++++++++++++++ tests/lib/when_steps.py | 2 ++ 6 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 tests/bdd/features/install.feature diff --git a/tests/bdd/features/install.feature b/tests/bdd/features/install.feature new file mode 100644 index 00000000..abef3d91 --- /dev/null +++ b/tests/bdd/features/install.feature @@ -0,0 +1,45 @@ +Feature: Installing jrnl + + Scenario: Install jrnl with default options + Given we use no config + When we run "jrnl hello world" and enter + \n + \n + Then the output should contain "Journal 'default' created" + And the default journal "journal.txt" should be in the "." directory + And the config should contain "encrypt: false" + And the version in the config file should be up-to-date + + Scenario: Install jrnl with custom relative default journal path + Given we use no config + When we run "jrnl hello world" and enter + default/custom.txt + n + Then the output should contain "Journal 'default' created" + And the default journal "custom.txt" should be in the "default" directory + And the config should contain "encrypt: false" + And the version in the config file should be up-to-date + + Scenario: Install jrnl with custom expanded default journal path + Given we use no config + And the home directory is called "home" + When we run "jrnl hello world" and enter + ~/custom.txt + n + Then the output should contain "Journal 'default' created" + And the default journal "custom.txt" should be in the "home" directory + And the config should contain "encrypt: false" + And the version in the config file should be up-to-date + + Scenario: Install jrnl with encrypted default journal + Given we use no config + When we run "jrnl hello world" and enter + encrypted.txt + y + Then the output should contain "Journal will be encrypted" + And the default journal "encrypted.txt" should be in the "." directory + And the config should contain "encrypt: true" + And the version in the config file should be up-to-date + When we run "jrnl" + Then we should be prompted for a password + \ No newline at end of file diff --git a/tests/bdd/test_features.py b/tests/bdd/test_features.py index fda146e1..7f02e6b3 100644 --- a/tests/bdd/test_features.py +++ b/tests/bdd/test_features.py @@ -13,6 +13,7 @@ scenarios("features/encrypt.feature") scenarios("features/file_storage.feature") scenarios("features/format.feature") scenarios("features/import.feature") +scenarios("features/install.feature") scenarios("features/multiple_journals.feature") scenarios("features/override.feature") scenarios("features/password.feature") diff --git a/tests/lib/fixtures.py b/tests/lib/fixtures.py index 1ad17708..b5c6895f 100644 --- a/tests/lib/fixtures.py +++ b/tests/lib/fixtures.py @@ -88,6 +88,7 @@ def cli_run( mock_editor, mock_user_input, mock_overrides, + mock_default_journal_path, ): # Check if we need more mocks mock_factories.update(mock_args) @@ -96,6 +97,7 @@ def cli_run( mock_factories.update(mock_editor) mock_factories.update(mock_config_path) mock_factories.update(mock_user_input) + mock_factories.update(mock_default_journal_path) return { "status": 0, @@ -164,6 +166,19 @@ def mock_config_path(request): } +@fixture +def mock_default_journal_path(temp_dir): + journal_path = os.path.join(temp_dir.name, "journal.txt") + return { + "default_journal_path_install": lambda: patch( + "jrnl.install.get_default_journal_path", return_value=journal_path + ), + "default_journal_path_config": lambda: patch( + "jrnl.config.get_default_journal_path", return_value=journal_path + ), + } + + @fixture def temp_dir(): return tempfile.TemporaryDirectory() @@ -216,7 +231,9 @@ def mock_user_input(request, password_input, stdin_input): return password_input if isinstance(user_input, Iterable): - return next(user_input) + input_line = next(user_input) + # A raw newline is used to indicate deliberate empty input + return "" if input_line == r"\n" else input_line # exceptions return user_input if not kwargs["password"] else password_input diff --git a/tests/lib/given_steps.py b/tests/lib/given_steps.py index 6da84643..a2cdd1ea 100644 --- a/tests/lib/given_steps.py +++ b/tests/lib/given_steps.py @@ -147,3 +147,10 @@ def parse_output_as_language(cli_run, language_name): assert False, f"Language name {language_name} not recognized" return {"lang": language_name, "obj": parsed_output} + + +@given(parse('the home directory is called "{home_dir}"')) +def home_directory(temp_dir, home_dir, monkeypatch): + home_path = os.path.join(temp_dir.name, home_dir) + monkeypatch.setenv("USERPROFILE", home_path) # for windows + monkeypatch.setenv("HOME", home_path) # for *nix diff --git a/tests/lib/then_steps.py b/tests/lib/then_steps.py index 08d8ddc7..857cf1f4 100644 --- a/tests/lib/then_steps.py +++ b/tests/lib/then_steps.py @@ -97,6 +97,12 @@ def output_should_contain_version(cli_run, toml_version): assert toml_version in out, toml_version +@then("the version in the config file should be up-to-date") +def config_file_version(config_on_disk, toml_version): + config_version = config_on_disk["version"] + assert config_version == toml_version + + @then(parse("the output should be {width:d} columns wide")) def output_should_be_columns_wide(cli_run, width): out = cli_run["stdout"] @@ -105,6 +111,22 @@ def output_should_be_columns_wide(cli_run, width): assert len(line) <= width +@then( + parse( + 'the default journal "{journal_file}" should be in the "{journal_dir}" directory' + ) +) +def default_journal_location(journal_file, journal_dir, config_on_disk, temp_dir): + default_journal_path = config_on_disk["journals"]["default"] + expected_journal_path = ( + os.path.join(temp_dir.name, journal_file) + if journal_dir == "." + else os.path.join(temp_dir.name, journal_dir, journal_file) + ) + # Use os.path.samefile here because both paths might not be fully expanded. + assert os.path.samefile(default_journal_path, expected_journal_path) + + @then( parse( 'the config for journal "{journal_name}" {should_or_should_not} contain "{some_yaml}"' diff --git a/tests/lib/when_steps.py b/tests/lib/when_steps.py index 759c708d..bd51b503 100644 --- a/tests/lib/when_steps.py +++ b/tests/lib/when_steps.py @@ -23,6 +23,8 @@ def when_we_change_directory(directory_name): command = '(?P[^"]*)' input_method = "(?Penter|pipe|type)" all_input = '("(?P[^"]*)")' +# Note: A line with only a raw newline r'\n' is treated as +# an empty line of input internally for testing purposes. @when(parse('we run "jrnl {command}" and {input_method}\n{all_input}')) From 3fd109b6cdc493e25d890f309acc862713e11ace Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 25 Jun 2022 19:48:47 +0000 Subject: [PATCH 017/485] Update changelog [ci skip] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ea6ebd6..67eb58b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ **Build:** - Use tox [\#1361](https://github.com/jrnl-org/jrnl/issues/1361) +- Reduce difference between local and CI environments [\#1518](https://github.com/jrnl-org/jrnl/pull/1518) ([wren](https://github.com/wren)) +- Add bdd tests for jrnl installation [\#1513](https://github.com/jrnl-org/jrnl/pull/1513) ([apainintheneck](https://github.com/apainintheneck)) - Stop hardcoding bot info in changelog pipeline [\#1506](https://github.com/jrnl-org/jrnl/pull/1506) ([wren](https://github.com/wren)) - Fix Poetry caching for accessibility tests [\#1505](https://github.com/jrnl-org/jrnl/pull/1505) ([wren](https://github.com/wren)) - Implement Tox for testing [\#1504](https://github.com/jrnl-org/jrnl/pull/1504) ([wren](https://github.com/wren)) From 20254f7434d6821329646683ead7772f024b272e Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 25 Jun 2022 13:12:52 -0700 Subject: [PATCH 018/485] Run tests in parallel (#1519) * Clean up pyproject file This reduces the differences between local tasks and tasks run in the CI pipelines * remove linting step (it's part of test now) * remove useless arg * add xdist for parallel test execution in pytest --- poetry.lock | 58 ++++++++++++++++++++++++++++++++++++++++++++++---- pyproject.toml | 3 +++ 2 files changed, 57 insertions(+), 4 deletions(-) diff --git a/poetry.lock b/poetry.lock index e18a0197..7cfac23b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -170,6 +170,17 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "execnet" +version = "1.9.0" +description = "execnet: rapid multi-Python deployment" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.extras] +testing = ["pre-commit"] + [[package]] name = "executing" version = "0.8.3" @@ -732,6 +743,36 @@ pprintpp = ">=0.4.0" pytest = ">=3.5.0" rich = ">=8.0.0" +[[package]] +name = "pytest-forked" +version = "1.4.0" +description = "run tests in isolated forked subprocesses" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +py = "*" +pytest = ">=3.10" + +[[package]] +name = "pytest-xdist" +version = "2.5.0" +description = "pytest xdist plugin for distributed testing and loop-on-failing modes" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +execnet = ">=1.1" +pytest = ">=6.2.0" +pytest-forked = "*" + +[package.extras] +psutil = ["psutil (>=3.0)"] +setproctitle = ["setproctitle"] +testing = ["filelock"] + [[package]] name = "python-dateutil" version = "2.8.2" @@ -1010,13 +1051,10 @@ python-versions = ">=3.7" docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"] testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"] -[extras] -testing = [] - [metadata] lock-version = "1.1" python-versions = ">=3.9.0, <3.12" -content-hash = "ceca9186ac31a0b8ec81a6cc134469842080c786971bb8642d9e67d51bd73fca" +content-hash = "8f6875939de19061a92093ce15d9566f5e038f899effd64db5bc8590024129fa" [metadata.files] ansiwrap = [ @@ -1168,6 +1206,10 @@ distlib = [ {file = "distlib-0.3.4-py2.py3-none-any.whl", hash = "sha256:6564fe0a8f51e734df6333d08b8b94d4ea8ee6b99b5ed50613f731fd4089f34b"}, {file = "distlib-0.3.4.zip", hash = "sha256:e4b58818180336dc9c529bfb9a0b58728ffc09ad92027a3f30b7cd91e3458579"}, ] +execnet = [ + {file = "execnet-1.9.0-py2.py3-none-any.whl", hash = "sha256:a295f7cc774947aac58dde7fdc85f4aa00c42adf5d8f5468fc630c1acf30a142"}, + {file = "execnet-1.9.0.tar.gz", hash = "sha256:8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5"}, +] executing = [ {file = "executing-0.8.3-py2.py3-none-any.whl", hash = "sha256:d1eef132db1b83649a3905ca6dd8897f71ac6f8cac79a7e58a1a09cf137546c9"}, {file = "executing-0.8.3.tar.gz", hash = "sha256:c6554e21c6b060590a6d3be4b82fb78f8f0194d809de5ea7df1c093763311501"}, @@ -1390,6 +1432,14 @@ pytest-bdd = [ pytest-clarity = [ {file = "pytest-clarity-1.0.1.tar.gz", hash = "sha256:505fe345fad4fe11c6a4187fe683f2c7c52c077caa1e135f3e483fe112db7772"}, ] +pytest-forked = [ + {file = "pytest-forked-1.4.0.tar.gz", hash = "sha256:8b67587c8f98cbbadfdd804539ed5455b6ed03802203485dd2f53c1422d7440e"}, + {file = "pytest_forked-1.4.0-py3-none-any.whl", hash = "sha256:bbbb6717efc886b9d64537b41fb1497cfaf3c9601276be8da2cccfea5a3c8ad8"}, +] +pytest-xdist = [ + {file = "pytest-xdist-2.5.0.tar.gz", hash = "sha256:4580deca3ff04ddb2ac53eba39d76cb5dd5edeac050cb6fbc768b0dd712b4edf"}, + {file = "pytest_xdist-2.5.0-py3-none-any.whl", hash = "sha256:6fe5c74fec98906deb8f2d2b616b5c782022744978e7bd4695d39c8f42d0ce65"}, +] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, diff --git a/pyproject.toml b/pyproject.toml index 175dfa00..73569ff3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -52,6 +52,7 @@ pyproject-flake8 = "*" pytest = ">=6.2" pytest-bdd = ">=4.0.1" pytest-clarity = "*" +pytest-xdist = ">=2.5.0" toml = ">=0.10" tox = "*" yq = "*" @@ -119,6 +120,7 @@ addopts = [ "--pdbcls=IPython.terminal.debugger:Pdb", "--gherkin-terminal-reporter", "--tb=native", + "-n=auto", ] filterwarnings = [ @@ -147,6 +149,7 @@ isolated_build = True deps = pytest >= 6.2 pytest-bdd >=4.0.1 + pytest-xdist >=2.5.0 toml >=0.10 commands = pytest {posargs} From 0f2962a95f5eb580e1c0efe509799b4eaabea973 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 25 Jun 2022 14:43:32 -0700 Subject: [PATCH 019/485] Add and run `isort` on Python files (#1520) * add and run isort * udpate more import statements * fix typo --- jrnl/DayOneJournal.py | 10 ++++----- jrnl/EncryptedJournal.py | 9 ++++---- jrnl/Entry.py | 4 ++-- jrnl/FolderJournal.py | 4 ++-- jrnl/Journal.py | 21 +++++++++---------- jrnl/__init__.py | 2 +- jrnl/__main__.py | 2 +- jrnl/args.py | 20 +++++++++--------- jrnl/cli.py | 9 ++++---- jrnl/color.py | 2 +- jrnl/commands.py | 26 +++++++++++------------ jrnl/config.py | 13 ++++++------ jrnl/editor.py | 9 ++++---- jrnl/install.py | 29 +++++++++++++------------- jrnl/jrnl.py | 31 ++++++++++++++-------------- jrnl/messages/Message.py | 6 +++--- jrnl/messages/MsgStyle.py | 9 ++++---- jrnl/messages/__init__.py | 6 +++--- jrnl/output.py | 6 +++--- jrnl/override.py | 5 ++++- jrnl/plugins/__init__.py | 18 ++++++++-------- jrnl/plugins/dates_exporter.py | 2 +- jrnl/plugins/fancy_exporter.py | 10 ++++----- jrnl/plugins/jrnl_importer.py | 2 +- jrnl/plugins/json_exporter.py | 4 ++-- jrnl/plugins/markdown_exporter.py | 7 +++---- jrnl/plugins/tag_exporter.py | 4 ++-- jrnl/plugins/text_exporter.py | 4 ++-- jrnl/plugins/xml_exporter.py | 4 ++-- jrnl/plugins/yaml_exporter.py | 5 ++--- jrnl/prompt.py | 4 ++-- jrnl/upgrade.py | 23 ++++++++++----------- poetry.lock | 34 +++++++++++++++++++++++-------- pyproject.toml | 20 +++++++++++++----- tests/conftest.py | 3 +-- tests/lib/fixtures.py | 14 ++++++------- tests/lib/given_steps.py | 9 ++++---- tests/lib/then_steps.py | 9 ++++---- tests/lib/when_steps.py | 2 +- tests/unit/test_color.py | 2 +- tests/unit/test_config_file.py | 5 +++-- tests/unit/test_jrnl.py | 6 +++--- tests/unit/test_override.py | 4 ++-- tests/unit/test_path.py | 8 ++++---- 44 files changed, 223 insertions(+), 203 deletions(-) diff --git a/jrnl/DayOneJournal.py b/jrnl/DayOneJournal.py index 8034e36b..27ffef6d 100644 --- a/jrnl/DayOneJournal.py +++ b/jrnl/DayOneJournal.py @@ -4,22 +4,22 @@ import datetime import fnmatch import os -from pathlib import Path import platform import plistlib import re import socket import time import uuid +from pathlib import Path from xml.parsers.expat import ExpatError import pytz import tzlocal -from . import Entry -from . import Journal -from . import __title__ -from . import __version__ +from jrnl import Entry +from jrnl import Journal +from jrnl import __title__ +from jrnl import __version__ class DayOne(Journal.Journal): diff --git a/jrnl/EncryptedJournal.py b/jrnl/EncryptedJournal.py index e2aec8ed..fb1bd355 100644 --- a/jrnl/EncryptedJournal.py +++ b/jrnl/EncryptedJournal.py @@ -18,15 +18,14 @@ from cryptography.hazmat.primitives.ciphers import algorithms from cryptography.hazmat.primitives.ciphers import modes from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC -from .Journal import Journal -from .Journal import LegacyJournal -from .prompt import create_password - from jrnl.exception import JrnlException +from jrnl.Journal import Journal +from jrnl.Journal import LegacyJournal from jrnl.messages import Message -from jrnl.messages import MsgText from jrnl.messages import MsgStyle +from jrnl.messages import MsgText from jrnl.output import print_msg +from jrnl.prompt import create_password def make_key(password): diff --git a/jrnl/Entry.py b/jrnl/Entry.py index 323eef73..73f26190 100644 --- a/jrnl/Entry.py +++ b/jrnl/Entry.py @@ -6,8 +6,8 @@ import re import ansiwrap -from .color import colorize -from .color import highlight_tags_with_background_color +from jrnl.color import colorize +from jrnl.color import highlight_tags_with_background_color class Entry: diff --git a/jrnl/FolderJournal.py b/jrnl/FolderJournal.py index b5cf2e71..9362e269 100644 --- a/jrnl/FolderJournal.py +++ b/jrnl/FolderJournal.py @@ -5,8 +5,8 @@ import codecs import fnmatch import os -from . import Journal -from . import time +from jrnl import Journal +from jrnl import time def get_files(journal_config): diff --git a/jrnl/Journal.py b/jrnl/Journal.py index 301bba76..d389963b 100644 --- a/jrnl/Journal.py +++ b/jrnl/Journal.py @@ -6,15 +6,14 @@ import logging import os import re -from . import Entry -from . import time -from .prompt import yesno -from .path import expand_path - -from jrnl.output import print_msg +from jrnl import Entry +from jrnl import time from jrnl.messages import Message -from jrnl.messages import MsgText from jrnl.messages import MsgStyle +from jrnl.messages import MsgText +from jrnl.output import print_msg +from jrnl.path import expand_path +from jrnl.prompt import yesno class Tag: @@ -449,11 +448,11 @@ def open_journal(journal_name, config, legacy=False): if config["journal"].strip("/").endswith(".dayone") or "entries" in os.listdir( config["journal"] ): - from . import DayOneJournal + from jrnl import DayOneJournal return DayOneJournal.DayOne(**config).open() else: - from . import FolderJournal + from jrnl import FolderJournal return FolderJournal.Folder(journal_name, **config).open() @@ -461,12 +460,12 @@ def open_journal(journal_name, config, legacy=False): if legacy: return LegacyJournal(journal_name, **config).open() if config["journal"].endswith(os.sep): - from . import FolderJournal + from jrnl import FolderJournal return FolderJournal.Folder(journal_name, **config).open() return PlainJournal(journal_name, **config).open() - from . import EncryptedJournal + from jrnl import EncryptedJournal if legacy: return EncryptedJournal.LegacyEncryptedJournal(journal_name, **config).open() diff --git a/jrnl/__init__.py b/jrnl/__init__.py index 2fc7e3bf..1328df2a 100644 --- a/jrnl/__init__.py +++ b/jrnl/__init__.py @@ -2,7 +2,7 @@ # License: https://www.gnu.org/licenses/gpl-3.0.html try: - from .__version__ import __version__ + from jrnl.__version__ import __version__ except ImportError: __version__ = "source" __title__ = "jrnl" diff --git a/jrnl/__main__.py b/jrnl/__main__.py index 06ffedaa..8017142e 100644 --- a/jrnl/__main__.py +++ b/jrnl/__main__.py @@ -3,7 +3,7 @@ import sys -from .cli import cli +from jrnl.cli import cli if __name__ == "__main__": sys.exit(cli()) diff --git a/jrnl/args.py b/jrnl/args.py index 5fd8e370..ed33325b 100644 --- a/jrnl/args.py +++ b/jrnl/args.py @@ -5,16 +5,16 @@ import argparse import re import textwrap -from .commands import postconfig_decrypt -from .commands import postconfig_encrypt -from .commands import postconfig_import -from .commands import postconfig_list -from .commands import preconfig_diagnostic -from .commands import preconfig_version -from .output import deprecated_cmd -from .plugins import EXPORT_FORMATS -from .plugins import IMPORT_FORMATS -from .plugins import util +from jrnl.commands import postconfig_decrypt +from jrnl.commands import postconfig_encrypt +from jrnl.commands import postconfig_import +from jrnl.commands import postconfig_list +from jrnl.commands import preconfig_diagnostic +from jrnl.commands import preconfig_version +from jrnl.output import deprecated_cmd +from jrnl.plugins import EXPORT_FORMATS +from jrnl.plugins import IMPORT_FORMATS +from jrnl.plugins import util class WrappingFormatter(argparse.RawTextHelpFormatter): diff --git a/jrnl/cli.py b/jrnl/cli.py index e81fb1ce..5941e02c 100644 --- a/jrnl/cli.py +++ b/jrnl/cli.py @@ -5,14 +5,13 @@ import logging import sys import traceback -from .jrnl import run -from .args import parse_args -from jrnl.output import print_msg - +from jrnl.args import parse_args from jrnl.exception import JrnlException +from jrnl.jrnl import run from jrnl.messages import Message -from jrnl.messages import MsgText from jrnl.messages import MsgStyle +from jrnl.messages import MsgText +from jrnl.output import print_msg def configure_logger(debug=False): diff --git a/jrnl/color.py b/jrnl/color.py index 7268d773..1970f487 100644 --- a/jrnl/color.py +++ b/jrnl/color.py @@ -7,7 +7,7 @@ from string import whitespace import colorama -from .os_compat import on_windows +from jrnl.os_compat import on_windows if on_windows(): colorama.init() diff --git a/jrnl/commands.py b/jrnl/commands.py index dd2ce52b..b03bbf60 100644 --- a/jrnl/commands.py +++ b/jrnl/commands.py @@ -17,11 +17,11 @@ avoid any possible overhead for these standalone commands. import platform import sys -from jrnl.output import print_msg from jrnl.exception import JrnlException from jrnl.messages import Message -from jrnl.messages import MsgText from jrnl.messages import MsgStyle +from jrnl.messages import MsgText +from jrnl.output import print_msg from jrnl.prompt import create_password @@ -50,14 +50,14 @@ conditions; for details, see: https://www.gnu.org/licenses/gpl-3.0.html""" def postconfig_list(config, **kwargs): - from .output import list_journals + from jrnl.output import list_journals print(list_journals(config)) def postconfig_import(args, config, **kwargs): - from .Journal import open_journal - from .plugins import get_importer + from jrnl.Journal import open_journal + from jrnl.plugins import get_importer # Requires opening the journal journal = open_journal(args.journal_name, config) @@ -70,10 +70,10 @@ def postconfig_encrypt(args, config, original_config, **kwargs): """ Encrypt a journal in place, or optionally to a new file """ - from .EncryptedJournal import EncryptedJournal - from .Journal import open_journal - from .config import update_config - from .install import save_config + from jrnl.config import update_config + from jrnl.EncryptedJournal import EncryptedJournal + from jrnl.install import save_config + from jrnl.Journal import open_journal # Open the journal journal = open_journal(args.journal_name, config) @@ -118,10 +118,10 @@ def postconfig_encrypt(args, config, original_config, **kwargs): def postconfig_decrypt(args, config, original_config, **kwargs): """Decrypts into new file. If filename is not set, we encrypt the journal file itself.""" - from .Journal import PlainJournal - from .Journal import open_journal - from .config import update_config - from .install import save_config + from jrnl.config import update_config + from jrnl.install import save_config + from jrnl.Journal import PlainJournal + from jrnl.Journal import open_journal journal = open_journal(args.journal_name, config) journal.config["encrypt"] = False diff --git a/jrnl/config.py b/jrnl/config.py index 40746d3e..045958c1 100644 --- a/jrnl/config.py +++ b/jrnl/config.py @@ -5,18 +5,17 @@ import logging import os import colorama -from ruamel.yaml import YAML import xdg.BaseDirectory +from ruamel.yaml import YAML -from . import __version__ -from jrnl.output import list_journals -from jrnl.output import print_msg +from jrnl import __version__ from jrnl.exception import JrnlException from jrnl.messages import Message -from jrnl.messages import MsgText from jrnl.messages import MsgStyle - -from .path import home_dir +from jrnl.messages import MsgText +from jrnl.output import list_journals +from jrnl.output import print_msg +from jrnl.path import home_dir # Constants DEFAULT_CONFIG_NAME = "jrnl.yaml" diff --git a/jrnl/editor.py b/jrnl/editor.py index 1090f5d6..f5be8395 100644 --- a/jrnl/editor.py +++ b/jrnl/editor.py @@ -8,15 +8,14 @@ import sys import tempfile from pathlib import Path +from jrnl.exception import JrnlException +from jrnl.messages import Message +from jrnl.messages import MsgStyle +from jrnl.messages import MsgText from jrnl.os_compat import on_windows from jrnl.os_compat import split_args from jrnl.output import print_msg -from jrnl.exception import JrnlException -from jrnl.messages import Message -from jrnl.messages import MsgText -from jrnl.messages import MsgStyle - def get_text_from_editor(config, template=""): suffix = ".jrnl" diff --git a/jrnl/install.py b/jrnl/install.py index a7dc6318..d0ae4ac7 100644 --- a/jrnl/install.py +++ b/jrnl/install.py @@ -6,24 +6,23 @@ import logging import os import sys -from .path import home_dir -from .path import absolute_path -from .path import expand_path -from .config import DEFAULT_JOURNAL_KEY -from .config import get_config_path -from .config import get_default_config -from .config import get_default_journal_path -from .config import load_config -from .config import save_config -from .config import verify_config_colors -from .prompt import yesno -from .upgrade import is_old_version - -from jrnl.output import print_msg +from jrnl.config import DEFAULT_JOURNAL_KEY +from jrnl.config import get_config_path +from jrnl.config import get_default_config +from jrnl.config import get_default_journal_path +from jrnl.config import load_config +from jrnl.config import save_config +from jrnl.config import verify_config_colors from jrnl.exception import JrnlException from jrnl.messages import Message -from jrnl.messages import MsgText from jrnl.messages import MsgStyle +from jrnl.messages import MsgText +from jrnl.output import print_msg +from jrnl.path import absolute_path +from jrnl.path import expand_path +from jrnl.path import home_dir +from jrnl.prompt import yesno +from jrnl.upgrade import is_old_version def upgrade_config(config_data, alt_config_path=None): diff --git a/jrnl/jrnl.py b/jrnl/jrnl.py index 68b061b2..b8f924bd 100644 --- a/jrnl/jrnl.py +++ b/jrnl/jrnl.py @@ -4,24 +4,23 @@ import logging import sys -from . import install -from . import plugins -from .Journal import open_journal -from .config import get_journal_name -from .config import scope_config -from .config import get_config_path -from .editor import get_text_from_editor -from .editor import get_text_from_stdin -from . import time -from .override import apply_overrides +from jrnl import install +from jrnl import plugins +from jrnl import time +from jrnl.config import get_config_path +from jrnl.config import get_journal_name +from jrnl.config import scope_config +from jrnl.editor import get_text_from_editor +from jrnl.editor import get_text_from_stdin +from jrnl.exception import JrnlException +from jrnl.Journal import open_journal +from jrnl.messages import Message +from jrnl.messages import MsgStyle +from jrnl.messages import MsgText from jrnl.output import print_msg from jrnl.output import print_msgs -from .path import expand_path - -from jrnl.exception import JrnlException -from jrnl.messages import Message -from jrnl.messages import MsgText -from jrnl.messages import MsgStyle +from jrnl.override import apply_overrides +from jrnl.path import expand_path def run(args): diff --git a/jrnl/messages/Message.py b/jrnl/messages/Message.py index 86809192..3008db3b 100644 --- a/jrnl/messages/Message.py +++ b/jrnl/messages/Message.py @@ -1,11 +1,11 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html -from typing import NamedTuple from typing import Mapping +from typing import NamedTuple -from .MsgText import MsgText -from .MsgStyle import MsgStyle +from jrnl.messages.MsgStyle import MsgStyle +from jrnl.messages.MsgText import MsgText class Message(NamedTuple): diff --git a/jrnl/messages/MsgStyle.py b/jrnl/messages/MsgStyle.py index b8e15316..c4a001d1 100644 --- a/jrnl/messages/MsgStyle.py +++ b/jrnl/messages/MsgStyle.py @@ -2,12 +2,13 @@ # License: https://www.gnu.org/licenses/gpl-3.0.html from enum import Enum -from typing import NamedTuple from typing import Callable -from rich.panel import Panel -from rich import box +from typing import NamedTuple -from .MsgText import MsgText +from rich import box +from rich.panel import Panel + +from jrnl.messages.MsgText import MsgText class MsgStyle(Enum): diff --git a/jrnl/messages/__init__.py b/jrnl/messages/__init__.py index f2eaec4c..c452f08f 100644 --- a/jrnl/messages/__init__.py +++ b/jrnl/messages/__init__.py @@ -1,9 +1,9 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html -from .Message import Message -from .MsgStyle import MsgStyle -from .MsgText import MsgText +from jrnl.messages.Message import Message +from jrnl.messages.MsgStyle import MsgStyle +from jrnl.messages.MsgText import MsgText Message = Message MsgStyle = MsgStyle diff --git a/jrnl/output.py b/jrnl/output.py index 3eae32cc..78a1da24 100644 --- a/jrnl/output.py +++ b/jrnl/output.py @@ -2,10 +2,10 @@ # License: https://www.gnu.org/licenses/gpl-3.0.html import textwrap - from typing import Union -from rich.text import Text + from rich.console import Console +from rich.text import Text from jrnl.messages import Message from jrnl.messages import MsgStyle @@ -26,7 +26,7 @@ def deprecated_cmd(old_cmd, new_cmd, callback=None, **kwargs): def list_journals(configuration): - from . import config + from jrnl import config """List the journals specified in the configuration file""" result = f"Journals defined in config ({config.get_config_path()})\n" diff --git a/jrnl/override.py b/jrnl/override.py index 6ef378f4..7244fb8f 100644 --- a/jrnl/override.py +++ b/jrnl/override.py @@ -1,9 +1,12 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html -from .config import update_config, make_yaml_valid_dict from argparse import Namespace +from jrnl.config import make_yaml_valid_dict +from jrnl.config import update_config + + # import logging def apply_overrides(args: Namespace, base_config: dict) -> dict: """Unpack CLI provided overrides into the configuration tree. diff --git a/jrnl/plugins/__init__.py b/jrnl/plugins/__init__.py index f994e4fc..015725b2 100644 --- a/jrnl/plugins/__init__.py +++ b/jrnl/plugins/__init__.py @@ -1,15 +1,15 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html -from .fancy_exporter import FancyExporter -from .jrnl_importer import JRNLImporter -from .json_exporter import JSONExporter -from .markdown_exporter import MarkdownExporter -from .tag_exporter import TagExporter -from .dates_exporter import DatesExporter -from .text_exporter import TextExporter -from .xml_exporter import XMLExporter -from .yaml_exporter import YAMLExporter +from jrnl.plugins.dates_exporter import DatesExporter +from jrnl.plugins.fancy_exporter import FancyExporter +from jrnl.plugins.jrnl_importer import JRNLImporter +from jrnl.plugins.json_exporter import JSONExporter +from jrnl.plugins.markdown_exporter import MarkdownExporter +from jrnl.plugins.tag_exporter import TagExporter +from jrnl.plugins.text_exporter import TextExporter +from jrnl.plugins.xml_exporter import XMLExporter +from jrnl.plugins.yaml_exporter import YAMLExporter __exporters = [ JSONExporter, diff --git a/jrnl/plugins/dates_exporter.py b/jrnl/plugins/dates_exporter.py index c1c8fd0a..a5a7054f 100644 --- a/jrnl/plugins/dates_exporter.py +++ b/jrnl/plugins/dates_exporter.py @@ -3,7 +3,7 @@ from collections import Counter -from .text_exporter import TextExporter +from jrnl.plugins.text_exporter import TextExporter class DatesExporter(TextExporter): diff --git a/jrnl/plugins/fancy_exporter.py b/jrnl/plugins/fancy_exporter.py index cdbd4b08..b9567bfd 100644 --- a/jrnl/plugins/fancy_exporter.py +++ b/jrnl/plugins/fancy_exporter.py @@ -1,13 +1,13 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html -from jrnl.exception import JrnlException -from jrnl.messages import Message -from jrnl.messages import MsgText -from jrnl.messages import MsgStyle from textwrap import TextWrapper -from .text_exporter import TextExporter +from jrnl.exception import JrnlException +from jrnl.messages import Message +from jrnl.messages import MsgStyle +from jrnl.messages import MsgText +from jrnl.plugins.text_exporter import TextExporter class FancyExporter(TextExporter): diff --git a/jrnl/plugins/jrnl_importer.py b/jrnl/plugins/jrnl_importer.py index 0468b476..813702d8 100644 --- a/jrnl/plugins/jrnl_importer.py +++ b/jrnl/plugins/jrnl_importer.py @@ -5,8 +5,8 @@ import sys from jrnl.exception import JrnlException from jrnl.messages import Message -from jrnl.messages import MsgText from jrnl.messages import MsgStyle +from jrnl.messages import MsgText from jrnl.output import print_msg diff --git a/jrnl/plugins/json_exporter.py b/jrnl/plugins/json_exporter.py index abce6f50..6aa23434 100644 --- a/jrnl/plugins/json_exporter.py +++ b/jrnl/plugins/json_exporter.py @@ -3,8 +3,8 @@ import json -from .text_exporter import TextExporter -from .util import get_tags_count +from jrnl.plugins.text_exporter import TextExporter +from jrnl.plugins.util import get_tags_count class JSONExporter(TextExporter): diff --git a/jrnl/plugins/markdown_exporter.py b/jrnl/plugins/markdown_exporter.py index 30614746..29e07bc1 100644 --- a/jrnl/plugins/markdown_exporter.py +++ b/jrnl/plugins/markdown_exporter.py @@ -4,12 +4,11 @@ import os import re -from .text_exporter import TextExporter - -from jrnl.output import print_msg from jrnl.messages import Message -from jrnl.messages import MsgText from jrnl.messages import MsgStyle +from jrnl.messages import MsgText +from jrnl.output import print_msg +from jrnl.plugins.text_exporter import TextExporter class MarkdownExporter(TextExporter): diff --git a/jrnl/plugins/tag_exporter.py b/jrnl/plugins/tag_exporter.py index 9c2b7fb5..35b25fdd 100644 --- a/jrnl/plugins/tag_exporter.py +++ b/jrnl/plugins/tag_exporter.py @@ -1,8 +1,8 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html -from .text_exporter import TextExporter -from .util import get_tags_count +from jrnl.plugins.text_exporter import TextExporter +from jrnl.plugins.util import get_tags_count class TagExporter(TextExporter): diff --git a/jrnl/plugins/text_exporter.py b/jrnl/plugins/text_exporter.py index 55c0d83a..cfd4a8ec 100644 --- a/jrnl/plugins/text_exporter.py +++ b/jrnl/plugins/text_exporter.py @@ -5,10 +5,10 @@ import os import re import unicodedata -from jrnl.output import print_msg from jrnl.messages import Message -from jrnl.messages import MsgText from jrnl.messages import MsgStyle +from jrnl.messages import MsgText +from jrnl.output import print_msg class TextExporter: diff --git a/jrnl/plugins/xml_exporter.py b/jrnl/plugins/xml_exporter.py index 10050b50..02c8398a 100644 --- a/jrnl/plugins/xml_exporter.py +++ b/jrnl/plugins/xml_exporter.py @@ -3,8 +3,8 @@ from xml.dom import minidom -from .json_exporter import JSONExporter -from .util import get_tags_count +from jrnl.plugins.json_exporter import JSONExporter +from jrnl.plugins.util import get_tags_count class XMLExporter(JSONExporter): diff --git a/jrnl/plugins/yaml_exporter.py b/jrnl/plugins/yaml_exporter.py index 00a4613b..a9ff958b 100644 --- a/jrnl/plugins/yaml_exporter.py +++ b/jrnl/plugins/yaml_exporter.py @@ -4,13 +4,12 @@ import os import re -from .text_exporter import TextExporter - from jrnl.exception import JrnlException from jrnl.messages import Message -from jrnl.messages import MsgText from jrnl.messages import MsgStyle +from jrnl.messages import MsgText from jrnl.output import print_msg +from jrnl.plugins.text_exporter import TextExporter class YAMLExporter(TextExporter): diff --git a/jrnl/prompt.py b/jrnl/prompt.py index 4cd38d90..803a5214 100644 --- a/jrnl/prompt.py +++ b/jrnl/prompt.py @@ -2,8 +2,8 @@ # License: https://www.gnu.org/licenses/gpl-3.0.html from jrnl.messages import Message -from jrnl.messages import MsgText from jrnl.messages import MsgStyle +from jrnl.messages import MsgText from jrnl.output import print_msg from jrnl.output import print_msgs @@ -35,7 +35,7 @@ def create_password(journal_name: str) -> str: print_msg(Message(MsgText.PasswordDidNotMatch, MsgStyle.ERROR)) if yesno(Message(MsgText.PasswordStoreInKeychain), default=True): - from .EncryptedJournal import set_keychain + from jrnl.EncryptedJournal import set_keychain set_keychain(journal_name, pw) diff --git a/jrnl/upgrade.py b/jrnl/upgrade.py index 29ff8eb4..473f29e5 100644 --- a/jrnl/upgrade.py +++ b/jrnl/upgrade.py @@ -3,21 +3,20 @@ import os -from . import Journal -from . import __version__ -from .EncryptedJournal import EncryptedJournal -from .config import is_config_json -from .config import load_config -from .config import scope_config -from .prompt import yesno -from .path import expand_path - -from jrnl.output import print_msg -from jrnl.output import print_msgs +from jrnl import Journal +from jrnl import __version__ +from jrnl.config import is_config_json +from jrnl.config import load_config +from jrnl.config import scope_config +from jrnl.EncryptedJournal import EncryptedJournal from jrnl.exception import JrnlException from jrnl.messages import Message -from jrnl.messages import MsgText from jrnl.messages import MsgStyle +from jrnl.messages import MsgText +from jrnl.output import print_msg +from jrnl.output import print_msgs +from jrnl.path import expand_path +from jrnl.prompt import yesno def backup(filename, binary=False): diff --git a/poetry.lock b/poetry.lock index 7cfac23b..34836e59 100644 --- a/poetry.lock +++ b/poetry.lock @@ -238,7 +238,7 @@ python-versions = "*" [[package]] name = "importlib-metadata" -version = "4.11.4" +version = "4.12.0" description = "Read metadata from Python packages" category = "main" optional = false @@ -250,7 +250,7 @@ zipp = ">=0.5" [package.extras] docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"] perf = ["ipython"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "importlib-resources (>=1.3)"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.3)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "importlib-resources (>=1.3)"] [[package]] name = "iniconfig" @@ -308,6 +308,20 @@ qtconsole = ["qtconsole"] test = ["pytest (<7.1)", "pytest-asyncio", "testpath"] test_extra = ["pytest (<7.1)", "pytest-asyncio", "testpath", "curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.19)", "pandas", "trio"] +[[package]] +name = "isort" +version = "5.10.1" +description = "A Python utility / library to sort Python imports." +category = "dev" +optional = false +python-versions = ">=3.6.1,<4.0" + +[package.extras] +pipfile_deprecated_finder = ["pipreqs", "requirementslib"] +requirements_deprecated_finder = ["pipreqs", "pip-api"] +colors = ["colorama (>=0.4.3,<0.5.0)"] +plugins = ["setuptools"] + [[package]] name = "jedi" version = "0.18.1" @@ -979,7 +993,7 @@ pytz = "*" [[package]] name = "virtualenv" -version = "20.14.1" +version = "20.15.0" description = "Virtual Python Environment builder" category = "dev" optional = false @@ -1054,7 +1068,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest- [metadata] lock-version = "1.1" python-versions = ">=3.9.0, <3.12" -content-hash = "8f6875939de19061a92093ce15d9566f5e038f899effd64db5bc8590024129fa" +content-hash = "c739d49855d287e2a4a813938b243976f3af9f17425cfb4371fe2041dfe9f446" [metadata.files] ansiwrap = [ @@ -1230,8 +1244,8 @@ glob2 = [ {file = "glob2-0.7.tar.gz", hash = "sha256:85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c"}, ] importlib-metadata = [ - {file = "importlib_metadata-4.11.4-py3-none-any.whl", hash = "sha256:c58c8eb8a762858f49e18436ff552e83914778e50e9d2f1660535ffb364552ec"}, - {file = "importlib_metadata-4.11.4.tar.gz", hash = "sha256:5d26852efe48c0a32b0509ffbc583fda1a2266545a78d104a6f4aff3db17d700"}, + {file = "importlib_metadata-4.12.0-py3-none-any.whl", hash = "sha256:7401a975809ea1fdc658c3aa4f78cc2195a0e019c5cbc4c06122884e9ae80c23"}, + {file = "importlib_metadata-4.12.0.tar.gz", hash = "sha256:637245b8bab2b6502fcbc752cc4b7a6f6243bb02b31c5c26156ad103d3d45670"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -1244,6 +1258,10 @@ ipython = [ {file = "ipython-8.4.0-py3-none-any.whl", hash = "sha256:7ca74052a38fa25fe9bedf52da0be7d3fdd2fb027c3b778ea78dfe8c212937d1"}, {file = "ipython-8.4.0.tar.gz", hash = "sha256:f2db3a10254241d9b447232cec8b424847f338d9d36f9a577a6192c332a46abd"}, ] +isort = [ + {file = "isort-5.10.1-py3-none-any.whl", hash = "sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7"}, + {file = "isort-5.10.1.tar.gz", hash = "sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951"}, +] jedi = [ {file = "jedi-0.18.1-py2.py3-none-any.whl", hash = "sha256:637c9635fcf47945ceb91cd7f320234a7be540ded6f3e99a50cb6febdfd1ba8d"}, {file = "jedi-0.18.1.tar.gz", hash = "sha256:74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab"}, @@ -1571,8 +1589,8 @@ tzlocal = [ {file = "tzlocal-2.1.tar.gz", hash = "sha256:643c97c5294aedc737780a49d9df30889321cbe1204eac2c2ec6134035a92e44"}, ] virtualenv = [ - {file = "virtualenv-20.14.1-py2.py3-none-any.whl", hash = "sha256:e617f16e25b42eb4f6e74096b9c9e37713cf10bf30168fb4a739f3fa8f898a3a"}, - {file = "virtualenv-20.14.1.tar.gz", hash = "sha256:ef589a79795589aada0c1c5b319486797c03b67ac3984c48c669c0e4f50df3a5"}, + {file = "virtualenv-20.15.0-py2.py3-none-any.whl", hash = "sha256:804cce4de5b8a322f099897e308eecc8f6e2951f1a8e7e2b3598dff865f01336"}, + {file = "virtualenv-20.15.0.tar.gz", hash = "sha256:4c44b1d77ca81f8368e2d7414f9b20c428ad16b343ac6d226206c5b84e2b4fcc"}, ] watchdog = [ {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330"}, diff --git a/pyproject.toml b/pyproject.toml index 73569ff3..8c0db562 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,6 +46,7 @@ tzlocal = ">2.0, <3.0" # https://github.com/regebro/tzlocal/blob/master/CHANGE [tool.poetry.dev-dependencies] black = { version = ">=21.5b2", allow-prereleases = true } ipdb = "*" +isort = ">=5.10" mkdocs = ">=1.0,<1.3" poethepoet = "*" pyproject-flake8 = "*" @@ -72,6 +73,13 @@ style-check = [ {cmd = "pflake8 --version"}, {cmd = "pflake8 jrnl tests"}, ] +sort-run = [ + {cmd = "isort ."}, +] +sort-check = [ + {cmd = "isort --version"}, + {cmd = "isort --check ."}, +] # docs-check = ? docs-run = [ {cmd = "mkdocs serve"}, @@ -86,23 +94,25 @@ installer-check = [ ] # Groups of tasks +format = [ + "format-run", + "sort-run", +] lint = [ "installer-check", "style-check", + "sort-check", "format-check", ] - test = [ "lint", "test-run", ] [tool.isort] -multi_line_output = 7 +profile = "black" force_single_line = true -line_length = 88 -known_first_party = ["jrnl"] -force_sort_within_sections = true +known_first_party = ["jrnl", "tests"] [tool.pytest.ini_options] minversion = "6.0" diff --git a/tests/conftest.py b/tests/conftest.py index ed85affa..61d73c66 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -4,9 +4,8 @@ from pytest import mark from pytest import skip -from jrnl.os_compat import on_windows from jrnl.os_compat import on_posix - +from jrnl.os_compat import on_windows pytest_plugins = [ "tests.lib.fixtures", diff --git a/tests/lib/fixtures.py b/tests/lib/fixtures.py index b5c6895f..1b65e765 100644 --- a/tests/lib/fixtures.py +++ b/tests/lib/fixtures.py @@ -1,23 +1,23 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html -from collections import defaultdict import os -from pathlib import Path import tempfile - +from collections import defaultdict from collections.abc import Iterable +from pathlib import Path +from unittest.mock import Mock +from unittest.mock import patch + +import toml from keyring import backend from keyring import errors from pytest import fixture -from unittest.mock import patch -from unittest.mock import Mock -from .helpers import get_fixture -import toml from rich.console import Console from jrnl.config import load_config from jrnl.os_compat import split_args +from tests.lib.helpers import get_fixture # --- Keyring --- # diff --git a/tests/lib/given_steps.py b/tests/lib/given_steps.py index a2cdd1ea..490b92f3 100644 --- a/tests/lib/given_steps.py +++ b/tests/lib/given_steps.py @@ -1,12 +1,12 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html -from datetime import datetime import json import os import random import shutil import string +from datetime import datetime from unittest.mock import MagicMock from unittest.mock import patch from xml.etree import ElementTree @@ -16,10 +16,9 @@ from pytest_bdd.parsers import parse from jrnl import __version__ from jrnl.time import __get_pdt_calendar - -from .fixtures import FailedKeyring -from .fixtures import TestKeyring -from .helpers import get_fixture +from tests.lib.fixtures import FailedKeyring +from tests.lib.fixtures import TestKeyring +from tests.lib.helpers import get_fixture @given(parse("we {editor_method} to the editor if opened\n{editor_input}")) diff --git a/tests/lib/then_steps.py b/tests/lib/then_steps.py index 857cf1f4..4efde7a5 100644 --- a/tests/lib/then_steps.py +++ b/tests/lib/then_steps.py @@ -11,11 +11,10 @@ from pytest_bdd.parsers import parse from ruamel.yaml import YAML from jrnl.config import scope_config - -from .helpers import assert_equal_tags_ignoring_order -from .helpers import does_directory_contain_files -from .helpers import parse_should_or_should_not -from .helpers import get_nested_val +from tests.lib.helpers import assert_equal_tags_ignoring_order +from tests.lib.helpers import does_directory_contain_files +from tests.lib.helpers import get_nested_val +from tests.lib.helpers import parse_should_or_should_not @then("we should get no error") diff --git a/tests/lib/when_steps.py b/tests/lib/when_steps.py index bd51b503..6590b21f 100644 --- a/tests/lib/when_steps.py +++ b/tests/lib/when_steps.py @@ -1,8 +1,8 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html -from contextlib import ExitStack import os +from contextlib import ExitStack from pytest_bdd import when from pytest_bdd.parsers import parse diff --git a/tests/unit/test_color.py b/tests/unit/test_color.py index 800d619a..1543834c 100644 --- a/tests/unit/test_color.py +++ b/tests/unit/test_color.py @@ -1,9 +1,9 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html +import pytest from colorama import Fore from colorama import Style -import pytest from jrnl.color import colorize diff --git a/tests/unit/test_config_file.py b/tests/unit/test_config_file.py index 0ffb3b38..80734de4 100644 --- a/tests/unit/test_config_file.py +++ b/tests/unit/test_config_file.py @@ -1,11 +1,12 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html -import pytest import os -from jrnl.install import find_alt_config +import pytest + from jrnl.exception import JrnlException +from jrnl.install import find_alt_config def test_find_alt_config(request): diff --git a/tests/unit/test_jrnl.py b/tests/unit/test_jrnl.py index 247a9fd1..a310a281 100644 --- a/tests/unit/test_jrnl.py +++ b/tests/unit/test_jrnl.py @@ -1,15 +1,15 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html +import random +import string from unittest import mock import pytest -import random -import string import jrnl -from jrnl.jrnl import _display_search_results from jrnl.args import parse_args +from jrnl.jrnl import _display_search_results @pytest.fixture diff --git a/tests/unit/test_override.py b/tests/unit/test_override.py index 438ae03b..fedd91dd 100644 --- a/tests/unit/test_override.py +++ b/tests/unit/test_override.py @@ -1,6 +1,8 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html +from argparse import Namespace + import pytest from jrnl.override import _convert_dots_to_list @@ -9,8 +11,6 @@ from jrnl.override import _get_key_and_value_from_pair from jrnl.override import _recursively_apply from jrnl.override import apply_overrides -from argparse import Namespace - @pytest.fixture() def minimal_config(): diff --git a/tests/unit/test_path.py b/tests/unit/test_path.py index efc6e54d..2759eac1 100644 --- a/tests/unit/test_path.py +++ b/tests/unit/test_path.py @@ -1,16 +1,16 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html -import pytest import random import string - from os import getenv from unittest.mock import patch -from jrnl.path import home_dir -from jrnl.path import expand_path +import pytest + from jrnl.path import absolute_path +from jrnl.path import expand_path +from jrnl.path import home_dir @pytest.fixture From 97cb7a678e38776f8c992faec37ad83e9fc2c813 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 25 Jun 2022 21:46:02 +0000 Subject: [PATCH 020/485] Increment version to v3.0-beta2 --- jrnl/__version__.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jrnl/__version__.py b/jrnl/__version__.py index d8b052d1..e919d47f 100644 --- a/jrnl/__version__.py +++ b/jrnl/__version__.py @@ -1 +1 @@ -__version__ = "v3.0-beta" +__version__ = "v3.0-beta2" diff --git a/pyproject.toml b/pyproject.toml index 8c0db562..8050f019 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "jrnl" -version = "v3.0-beta" +version = "v3.0-beta2" description = "Collect your thoughts and notes without leaving the command line." authors = [ "jrnl contributors ", From 0279637fe42c3e0e70b7f2879a9e389d72fe355b Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 25 Jun 2022 21:47:37 +0000 Subject: [PATCH 021/485] Update changelog [ci skip] --- CHANGELOG.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 67eb58b0..01ec4142 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,11 @@ # Changelog -## [Unreleased](https://github.com/jrnl-org/jrnl/) +## [v3.0-beta2](https://pypi.org/project/jrnl/v3.0-beta2/) (2022-06-25) -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0-beta...HEAD) +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0-beta...v3.0-beta2) **Fixed bugs:** -- Adding new entry with date only works with format m.d.Y [\#1509](https://github.com/jrnl-org/jrnl/issues/1509) - Blank box displays when not making any changes in --edit [\#1501](https://github.com/jrnl-org/jrnl/issues/1501) - Display message when no edits take place [\#1510](https://github.com/jrnl-org/jrnl/pull/1510) ([apainintheneck](https://github.com/apainintheneck)) From db6f80d721d6583a797495b0ebfe073d17fe40f6 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 9 Jul 2022 11:54:15 -0700 Subject: [PATCH 022/485] Limit pytest-bdd to <6.0 to temporarily avoid breaking changes (#1536) This will unblock other tests for now --- poetry.lock | 170 +++++++------------------------------------------ pyproject.toml | 4 +- 2 files changed, 26 insertions(+), 148 deletions(-) diff --git a/poetry.lock b/poetry.lock index 34836e59..31d03998 100644 --- a/poetry.lock +++ b/poetry.lock @@ -44,7 +44,7 @@ test = ["astroid", "pytest"] [[package]] name = "atomicwrites" -version = "1.4.0" +version = "1.4.1" description = "Atomic file writes." category = "dev" optional = false @@ -74,7 +74,7 @@ python-versions = "*" [[package]] name = "black" -version = "22.3.0" +version = "22.6.0" description = "The uncompromising code formatter." category = "dev" optional = false @@ -85,7 +85,7 @@ click = ">=8.0.0" mypy-extensions = ">=0.4.3" pathspec = ">=0.9.0" platformdirs = ">=2" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} [package.extras] @@ -96,7 +96,7 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "cffi" -version = "1.15.0" +version = "1.15.1" description = "Foreign Function Interface for Python calling C code." category = "main" optional = false @@ -137,7 +137,7 @@ test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] [[package]] name = "cryptography" -version = "37.0.3" +version = "37.0.4" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false @@ -383,7 +383,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest- [[package]] name = "mako" -version = "1.2.0" +version = "1.2.1" description = "A super-fast templating language that borrows the best ideas from the existing templating languages." category = "dev" optional = false @@ -593,7 +593,7 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "poethepoet" -version = "0.14.0" +version = "0.15.0" description = "A task runner that works well with poetry." category = "dev" optional = false @@ -616,7 +616,7 @@ python-versions = "*" [[package]] name = "prompt-toolkit" -version = "3.0.29" +version = "3.0.30" description = "Library for building powerful interactive command lines in Python" category = "dev" optional = false @@ -941,7 +941,7 @@ python-versions = ">=3.7" [[package]] name = "tox" -version = "3.25.0" +version = "3.25.1" description = "tox is a generic virtualenv management and test command line tool" category = "dev" optional = false @@ -974,7 +974,7 @@ test = ["pre-commit", "pytest"] [[package]] name = "typing-extensions" -version = "4.2.0" +version = "4.3.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "dev" optional = false @@ -993,7 +993,7 @@ pytz = "*" [[package]] name = "virtualenv" -version = "20.15.0" +version = "20.15.1" description = "Virtual Python Environment builder" category = "dev" optional = false @@ -1038,7 +1038,7 @@ python-versions = ">=3.4" [[package]] name = "yq" -version = "2.14.0" +version = "3.0.2" description = "Command-line YAML/XML processor - jq wrapper for YAML/XML documents" category = "dev" optional = false @@ -1068,7 +1068,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest- [metadata] lock-version = "1.1" python-versions = ">=3.9.0, <3.12" -content-hash = "c739d49855d287e2a4a813938b243976f3af9f17425cfb4371fe2041dfe9f446" +content-hash = "647a60d3f5c77ae365e4acef948b048a112eebd0315e026ffe31a0cc441c6601" [metadata.files] ansiwrap = [ @@ -1087,10 +1087,7 @@ asttokens = [ {file = "asttokens-2.0.5-py2.py3-none-any.whl", hash = "sha256:0844691e88552595a6f4a4281a9f7f79b8dd45ca4ccea82e5e05b4bbdb76705c"}, {file = "asttokens-2.0.5.tar.gz", hash = "sha256:9a54c114f02c7a9480d56550932546a3f1fe71d8a02f1bc7ccd0ee3ee35cf4d5"}, ] -atomicwrites = [ - {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, - {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, -] +atomicwrites = [] attrs = [ {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, @@ -1099,83 +1096,8 @@ backcall = [ {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, ] -black = [ - {file = "black-22.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2497f9c2386572e28921fa8bec7be3e51de6801f7459dffd6e62492531c47e09"}, - {file = "black-22.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5795a0375eb87bfe902e80e0c8cfaedf8af4d49694d69161e5bd3206c18618bb"}, - {file = "black-22.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3556168e2e5c49629f7b0f377070240bd5511e45e25a4497bb0073d9dda776a"}, - {file = "black-22.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67c8301ec94e3bcc8906740fe071391bce40a862b7be0b86fb5382beefecd968"}, - {file = "black-22.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:fd57160949179ec517d32ac2ac898b5f20d68ed1a9c977346efbac9c2f1e779d"}, - {file = "black-22.3.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cc1e1de68c8e5444e8f94c3670bb48a2beef0e91dddfd4fcc29595ebd90bb9ce"}, - {file = "black-22.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2fc92002d44746d3e7db7cf9313cf4452f43e9ea77a2c939defce3b10b5c82"}, - {file = "black-22.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:a6342964b43a99dbc72f72812bf88cad8f0217ae9acb47c0d4f141a6416d2d7b"}, - {file = "black-22.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:328efc0cc70ccb23429d6be184a15ce613f676bdfc85e5fe8ea2a9354b4e9015"}, - {file = "black-22.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06f9d8846f2340dfac80ceb20200ea5d1b3f181dd0556b47af4e8e0b24fa0a6b"}, - {file = "black-22.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4efa5fad66b903b4a5f96d91461d90b9507a812b3c5de657d544215bb7877a"}, - {file = "black-22.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8477ec6bbfe0312c128e74644ac8a02ca06bcdb8982d4ee06f209be28cdf163"}, - {file = "black-22.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:637a4014c63fbf42a692d22b55d8ad6968a946b4a6ebc385c5505d9625b6a464"}, - {file = "black-22.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:863714200ada56cbc366dc9ae5291ceb936573155f8bf8e9de92aef51f3ad0f0"}, - {file = "black-22.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10dbe6e6d2988049b4655b2b739f98785a884d4d6b85bc35133a8fb9a2233176"}, - {file = "black-22.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:cee3e11161dde1b2a33a904b850b0899e0424cc331b7295f2a9698e79f9a69a0"}, - {file = "black-22.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5891ef8abc06576985de8fa88e95ab70641de6c1fca97e2a15820a9b69e51b20"}, - {file = "black-22.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:30d78ba6bf080eeaf0b7b875d924b15cd46fec5fd044ddfbad38c8ea9171043a"}, - {file = "black-22.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee8f1f7228cce7dffc2b464f07ce769f478968bfb3dd1254a4c2eeed84928aad"}, - {file = "black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ee227b696ca60dd1c507be80a6bc849a5a6ab57ac7352aad1ffec9e8b805f21"}, - {file = "black-22.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:9b542ced1ec0ceeff5b37d69838106a6348e60db7b8fdd245294dc1d26136265"}, - {file = "black-22.3.0-py3-none-any.whl", hash = "sha256:bc58025940a896d7e5356952228b68f793cf5fcb342be703c3a2669a1488cb72"}, - {file = "black-22.3.0.tar.gz", hash = "sha256:35020b8886c022ced9282b51b5a875b6d1ab0c387b31a065b84db7c33085ca79"}, -] -cffi = [ - {file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"}, - {file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"}, - {file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"}, - {file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"}, - {file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"}, - {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"}, - {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"}, - {file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"}, - {file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"}, - {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"}, - {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"}, - {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"}, - {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"}, - {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"}, - {file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"}, - {file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"}, - {file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"}, - {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"}, - {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"}, - {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"}, - {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"}, - {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"}, - {file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"}, - {file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"}, - {file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"}, - {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"}, - {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"}, - {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"}, - {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"}, - {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"}, - {file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"}, - {file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"}, - {file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"}, - {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"}, - {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"}, - {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"}, - {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"}, - {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"}, - {file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"}, - {file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"}, - {file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"}, - {file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"}, - {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"}, - {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"}, - {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"}, - {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"}, - {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"}, - {file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"}, - {file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"}, - {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"}, -] +black = [] +cffi = [] click = [ {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, @@ -1188,30 +1110,7 @@ commonmark = [ {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, ] -cryptography = [ - {file = "cryptography-37.0.3-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:d10413d493e98075060d3e62e5826de372912ea653ccc948f3c41b21ddca087f"}, - {file = "cryptography-37.0.3-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:cd64147ff16506632893ceb2569624b48c84daa3ba4d89695f7c7bc24188eee9"}, - {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:17c74f7d9e9e9bb7e84521243695c1b4bdc3a0e44ca764e6bcf8f05f3de3d0df"}, - {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:0713bee6c8077786c56bdec9c5d3f099d40d2c862ff3200416f6862e9dd63156"}, - {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9c2008417741cdfbe945ef2d16b7b7ba0790886a0b49e1de533acf93eb66ed6"}, - {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:646905ff7a712e415bf0d0f214e0eb669dd2257c4d7a27db1e8baec5d2a1d55f"}, - {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:dcafadb5a06cb7a6bb49fb4c1de7414ee2f8c8e12b047606d97c3175d690f582"}, - {file = "cryptography-37.0.3-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:0b4bfc5ccfe4e5c7de535670680398fed4a0bbc5dfd52b3a295baad42230abdf"}, - {file = "cryptography-37.0.3-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a03dbc0d8ce8c1146c177cd0e3a66ea106f36733fb1b997ea4d051f8a68539ff"}, - {file = "cryptography-37.0.3-cp36-abi3-win32.whl", hash = "sha256:190a24c14e91c1fa3101069aac7e77d11c5a73911c3904128367f52946bbb6fd"}, - {file = "cryptography-37.0.3-cp36-abi3-win_amd64.whl", hash = "sha256:b05c5478524deb7a019e240f2a970040c4b0f01f58f0425e6262c96b126c6a3e"}, - {file = "cryptography-37.0.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:891ed8312840fd43e0696468a6520a582a033c0109f7b14b96067bfe1123226b"}, - {file = "cryptography-37.0.3-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:30d6aabf623a01affc7c0824936c3dde6590076b61f5dd299df3cc2c75fc5915"}, - {file = "cryptography-37.0.3-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:31a7c1f1c2551f013d4294d06e22848e2ccd77825f0987cba3239df6ebf7b020"}, - {file = "cryptography-37.0.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a94fd1ff80001cb97add71d07f596d8b865b716f25ef501183e0e199390e50d3"}, - {file = "cryptography-37.0.3-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:8a85dbcc770256918b40c2f40bd3ffd3b2ae45b0cf19068b561db8f8d61bf492"}, - {file = "cryptography-37.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:773d5b5f2e2bd2c7cbb1bd24902ad41283c88b9dd463a0f82adc9a2870d9d066"}, - {file = "cryptography-37.0.3-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:0f9193428a55a4347af2d4fd8141a2002dedbcc26487e67fd2ae19f977ee8afc"}, - {file = "cryptography-37.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bf652c73e8f7c32a3f92f7184bf7f9106dacdf5ef59c3c3683d7dae2c4972fb"}, - {file = "cryptography-37.0.3-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:c3c8b1ad2c266fdf7adc041cc4156d6a3d14db93de2f81b26a5af97ef3f209e5"}, - {file = "cryptography-37.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2383d6c3088e863304c37c65cd2ea404b7fbb4886823eab1d74137cc27f3d2ee"}, - {file = "cryptography-37.0.3.tar.gz", hash = "sha256:ae430d51c67ac638dfbb42edf56c669ca9c74744f4d225ad11c6f3d355858187"}, -] +cryptography = [] decorator = [ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, @@ -1278,10 +1177,7 @@ keyring = [ {file = "keyring-23.6.0-py3-none-any.whl", hash = "sha256:372ff2fc43ab779e3f87911c26e6c7acc8bb440cbd82683e383ca37594cb0617"}, {file = "keyring-23.6.0.tar.gz", hash = "sha256:3ac00c26e4c93739e19103091a9986a9f79665a78cf15a4df1dba7ea9ac8da2f"}, ] -mako = [ - {file = "Mako-1.2.0-py3-none-any.whl", hash = "sha256:23aab11fdbbb0f1051b93793a58323ff937e98e34aece1c4219675122e57e4ba"}, - {file = "Mako-1.2.0.tar.gz", hash = "sha256:9a7c7e922b87db3686210cf49d5d767033a41d4010b284e747682c92bddd8b39"}, -] +mako = [] markdown = [ {file = "Markdown-3.3.7-py3-none-any.whl", hash = "sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"}, {file = "Markdown-3.3.7.tar.gz", hash = "sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"}, @@ -1391,18 +1287,12 @@ pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] -poethepoet = [ - {file = "poethepoet-0.14.0-py3-none-any.whl", hash = "sha256:e274988b469306c11b634b1c6b1cf1ffc880353afbcff874540090c3c9c50c2c"}, - {file = "poethepoet-0.14.0.tar.gz", hash = "sha256:1557f324e3ad791d86f515d4138dbfd97ac71c6ff3ec2d308f4d792e3002d1f0"}, -] +poethepoet = [] pprintpp = [ {file = "pprintpp-0.4.0-py2.py3-none-any.whl", hash = "sha256:b6b4dcdd0c0c0d75e4d7b2f21a9e933e5b2ce62b26e1a54537f9651ae5a5c01d"}, {file = "pprintpp-0.4.0.tar.gz", hash = "sha256:ea826108e2c7f49dc6d66c752973c3fc9749142a798d6b254e1e301cfdbc6403"}, ] -prompt-toolkit = [ - {file = "prompt_toolkit-3.0.29-py3-none-any.whl", hash = "sha256:62291dad495e665fca0bda814e342c69952086afb0f4094d0893d357e5c78752"}, - {file = "prompt_toolkit-3.0.29.tar.gz", hash = "sha256:bd640f60e8cecd74f0dc249713d433ace2ddc62b65ee07f96d358e0b152b6ea7"}, -] +prompt-toolkit = [] ptyprocess = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, @@ -1572,26 +1462,17 @@ tomli = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] -tox = [ - {file = "tox-3.25.0-py2.py3-none-any.whl", hash = "sha256:0805727eb4d6b049de304977dfc9ce315a1938e6619c3ab9f38682bb04662a5a"}, - {file = "tox-3.25.0.tar.gz", hash = "sha256:37888f3092aa4e9f835fc8cc6dadbaaa0782651c41ef359e3a5743fcb0308160"}, -] +tox = [] traitlets = [ {file = "traitlets-5.3.0-py3-none-any.whl", hash = "sha256:65fa18961659635933100db8ca120ef6220555286949774b9cfc106f941d1c7a"}, {file = "traitlets-5.3.0.tar.gz", hash = "sha256:0bb9f1f9f017aa8ec187d8b1b2a7a6626a2a1d877116baba52a129bfa124f8e2"}, ] -typing-extensions = [ - {file = "typing_extensions-4.2.0-py3-none-any.whl", hash = "sha256:6657594ee297170d19f67d55c05852a874e7eb634f4f753dbd667855e07c1708"}, - {file = "typing_extensions-4.2.0.tar.gz", hash = "sha256:f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376"}, -] +typing-extensions = [] tzlocal = [ {file = "tzlocal-2.1-py2.py3-none-any.whl", hash = "sha256:e2cb6c6b5b604af38597403e9852872d7f534962ae2954c7f35efcb1ccacf4a4"}, {file = "tzlocal-2.1.tar.gz", hash = "sha256:643c97c5294aedc737780a49d9df30889321cbe1204eac2c2ec6134035a92e44"}, ] -virtualenv = [ - {file = "virtualenv-20.15.0-py2.py3-none-any.whl", hash = "sha256:804cce4de5b8a322f099897e308eecc8f6e2951f1a8e7e2b3598dff865f01336"}, - {file = "virtualenv-20.15.0.tar.gz", hash = "sha256:4c44b1d77ca81f8368e2d7414f9b20c428ad16b343ac6d226206c5b84e2b4fcc"}, -] +virtualenv = [] watchdog = [ {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330"}, {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d"}, @@ -1627,10 +1508,7 @@ xmltodict = [ {file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"}, {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, ] -yq = [ - {file = "yq-2.14.0-py3-none-any.whl", hash = "sha256:b6321b29cb39c4e92a4a6f16d47d99a024650211e45e09a02d1906ec45fbaede"}, - {file = "yq-2.14.0.tar.gz", hash = "sha256:f4bf2b299d1e5c7ebd74cfb25d1f5d9b6401063bac07a2d09a156144c1d644e1"}, -] +yq = [] zipp = [ {file = "zipp-3.8.0-py3-none-any.whl", hash = "sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099"}, {file = "zipp-3.8.0.tar.gz", hash = "sha256:56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad"}, diff --git a/pyproject.toml b/pyproject.toml index 8050f019..6a844618 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,7 +51,7 @@ mkdocs = ">=1.0,<1.3" poethepoet = "*" pyproject-flake8 = "*" pytest = ">=6.2" -pytest-bdd = ">=4.0.1" +pytest-bdd = ">=4.0.1,<6.0" pytest-clarity = "*" pytest-xdist = ">=2.5.0" toml = ">=0.10" @@ -158,7 +158,7 @@ isolated_build = True [testenv] deps = pytest >= 6.2 - pytest-bdd >=4.0.1 + pytest-bdd >=4.0.1,<6.0 pytest-xdist >=2.5.0 toml >=0.10 From bfe58a18e56b60bc15d10016da30f0bd411e5dd4 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 9 Jul 2022 18:56:09 +0000 Subject: [PATCH 023/485] Update changelog [ci skip] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 01ec4142..04903d3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [Unreleased](https://github.com/jrnl-org/jrnl/) + +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0-beta2...HEAD) + +**Build:** + +- Pin `pytest-bdd` to \<6.0 to temporarily avoid breaking changes [\#1536](https://github.com/jrnl-org/jrnl/pull/1536) ([wren](https://github.com/wren)) + ## [v3.0-beta2](https://pypi.org/project/jrnl/v3.0-beta2/) (2022-06-25) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0-beta...v3.0-beta2) From 50b320063abe0f5f8122feb401279eaf33c3b6f7 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 9 Jul 2022 19:02:32 +0000 Subject: [PATCH 024/485] Increment version to v3.0 --- jrnl/__version__.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jrnl/__version__.py b/jrnl/__version__.py index e919d47f..1cb4416f 100644 --- a/jrnl/__version__.py +++ b/jrnl/__version__.py @@ -1 +1 @@ -__version__ = "v3.0-beta2" +__version__ = "v3.0" diff --git a/pyproject.toml b/pyproject.toml index 6a844618..7c57e5e5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "jrnl" -version = "v3.0-beta2" +version = "v3.0" description = "Collect your thoughts and notes without leaving the command line." authors = [ "jrnl contributors ", From ca1f2a76d898bb7b27a0b4a910a0b20ac9f1ce36 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 9 Jul 2022 19:03:51 +0000 Subject: [PATCH 025/485] Update changelog [ci skip] --- CHANGELOG.md | 60 ++++++++++++---------------------------------------- 1 file changed, 13 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04903d3c..61bb664c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,45 +1,11 @@ # Changelog -## [Unreleased](https://github.com/jrnl-org/jrnl/) +## [v3.0](https://pypi.org/project/jrnl/v3.0/) (2022-07-09) -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0-beta2...HEAD) - -**Build:** - -- Pin `pytest-bdd` to \<6.0 to temporarily avoid breaking changes [\#1536](https://github.com/jrnl-org/jrnl/pull/1536) ([wren](https://github.com/wren)) - -## [v3.0-beta2](https://pypi.org/project/jrnl/v3.0-beta2/) (2022-06-25) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0-beta...v3.0-beta2) - -**Fixed bugs:** - -- Blank box displays when not making any changes in --edit [\#1501](https://github.com/jrnl-org/jrnl/issues/1501) -- Display message when no edits take place [\#1510](https://github.com/jrnl-org/jrnl/pull/1510) ([apainintheneck](https://github.com/apainintheneck)) - -**Build:** - -- Use tox [\#1361](https://github.com/jrnl-org/jrnl/issues/1361) -- Reduce difference between local and CI environments [\#1518](https://github.com/jrnl-org/jrnl/pull/1518) ([wren](https://github.com/wren)) -- Add bdd tests for jrnl installation [\#1513](https://github.com/jrnl-org/jrnl/pull/1513) ([apainintheneck](https://github.com/apainintheneck)) -- Stop hardcoding bot info in changelog pipeline [\#1506](https://github.com/jrnl-org/jrnl/pull/1506) ([wren](https://github.com/wren)) -- Fix Poetry caching for accessibility tests [\#1505](https://github.com/jrnl-org/jrnl/pull/1505) ([wren](https://github.com/wren)) -- Implement Tox for testing [\#1504](https://github.com/jrnl-org/jrnl/pull/1504) ([wren](https://github.com/wren)) -- Replace `make` with python alternative \(`poe`\) [\#1503](https://github.com/jrnl-org/jrnl/pull/1503) ([wren](https://github.com/wren)) -- Update copyright year [\#1502](https://github.com/jrnl-org/jrnl/pull/1502) ([wren](https://github.com/wren)) - -**Packaging:** - -- Bump cryptography from 37.0.2 to 37.0.3 [\#1516](https://github.com/jrnl-org/jrnl/pull/1516) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump poethepoet from 0.13.1 to 0.14.0 [\#1514](https://github.com/jrnl-org/jrnl/pull/1514) ([dependabot[bot]](https://github.com/apps/dependabot)) - -## [v3.0-beta](https://pypi.org/project/jrnl/v3.0-beta/) (2022-06-11) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v2.8.4...v3.0-beta) +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0-beta2...v3.0) **Implemented enhancements:** -- Add --change-time command to change the timestamp of an entry [\#1429](https://github.com/jrnl-org/jrnl/issues/1429) - Show name of journal when creating a password/encrypting [\#1478](https://github.com/jrnl-org/jrnl/pull/1478) ([jonakeys](https://github.com/jonakeys)) - Rework how all output and messaging works in jrnl [\#1475](https://github.com/jrnl-org/jrnl/pull/1475) ([wren](https://github.com/wren)) - Implement --change-time flag [\#1452](https://github.com/jrnl-org/jrnl/pull/1452) ([richardjs](https://github.com/richardjs)) @@ -48,14 +14,7 @@ **Fixed bugs:** -- --debug leads to logging error after composing new entry [\#1496](https://github.com/jrnl-org/jrnl/issues/1496) -- Using -not argument by itself leads to new entry creation [\#1472](https://github.com/jrnl-org/jrnl/issues/1472) -- Empty config file leads to confusing error message [\#1420](https://github.com/jrnl-org/jrnl/issues/1420) -- "Entry not saved" text doesn't appear in default stdin editor [\#1419](https://github.com/jrnl-org/jrnl/issues/1419) -- jrnl --encrypt doesn't prompt me for password change [\#1358](https://github.com/jrnl-org/jrnl/issues/1358) -- '-not -contains x' raises an AttributeError exception [\#1350](https://github.com/jrnl-org/jrnl/issues/1350) -- Exception when providing folder name of folder that does not exist as journal path [\#1293](https://github.com/jrnl-org/jrnl/issues/1293) -- display\_format: pretty and display\_format: short lead to crash [\#1263](https://github.com/jrnl-org/jrnl/issues/1263) +- Display message when no edits take place [\#1510](https://github.com/jrnl-org/jrnl/pull/1510) ([apainintheneck](https://github.com/apainintheneck)) - Fixed error related to display\_format in config file for some values [\#1495](https://github.com/jrnl-org/jrnl/pull/1495) ([apainintheneck](https://github.com/apainintheneck)) - Create folder if config ends with \(back\)slash [\#1492](https://github.com/jrnl-org/jrnl/pull/1492) ([jonakeys](https://github.com/jonakeys)) - `-not` search parameter no longer opens editor [\#1490](https://github.com/jrnl-org/jrnl/pull/1490) ([apainintheneck](https://github.com/apainintheneck)) @@ -69,12 +28,18 @@ **Deprecated:** -- Remove "sample" format and its asteval dependency [\#1435](https://github.com/jrnl-org/jrnl/issues/1435) - Drop support for Python 3.7 and 3.8 [\#1412](https://github.com/jrnl-org/jrnl/pull/1412) ([micahellison](https://github.com/micahellison)) **Build:** -- Clean up .gitignore [\#1286](https://github.com/jrnl-org/jrnl/issues/1286) +- Pin `pytest-bdd` to \<6.0 to temporarily avoid breaking changes [\#1536](https://github.com/jrnl-org/jrnl/pull/1536) ([wren](https://github.com/wren)) +- Reduce difference between local and CI environments [\#1518](https://github.com/jrnl-org/jrnl/pull/1518) ([wren](https://github.com/wren)) +- Add bdd tests for jrnl installation [\#1513](https://github.com/jrnl-org/jrnl/pull/1513) ([apainintheneck](https://github.com/apainintheneck)) +- Stop hardcoding bot info in changelog pipeline [\#1506](https://github.com/jrnl-org/jrnl/pull/1506) ([wren](https://github.com/wren)) +- Fix Poetry caching for accessibility tests [\#1505](https://github.com/jrnl-org/jrnl/pull/1505) ([wren](https://github.com/wren)) +- Implement Tox for testing [\#1504](https://github.com/jrnl-org/jrnl/pull/1504) ([wren](https://github.com/wren)) +- Replace `make` with python alternative \(`poe`\) [\#1503](https://github.com/jrnl-org/jrnl/pull/1503) ([wren](https://github.com/wren)) +- Update copyright year [\#1502](https://github.com/jrnl-org/jrnl/pull/1502) ([wren](https://github.com/wren)) - Add Python 3.11 to PR tests [\#1500](https://github.com/jrnl-org/jrnl/pull/1500) ([micahellison](https://github.com/micahellison)) - Pin jinja2 in docs requirements to keep readthedocs builds from failing [\#1439](https://github.com/jrnl-org/jrnl/pull/1439) ([micahellison](https://github.com/micahellison)) - Tidy up git ignore [\#1414](https://github.com/jrnl-org/jrnl/pull/1414) ([nelnog](https://github.com/nelnog)) @@ -85,7 +50,8 @@ **Packaging:** -- Sync jrnl's Python version support more closely to Python release cycle [\#1406](https://github.com/jrnl-org/jrnl/issues/1406) +- Bump cryptography from 37.0.2 to 37.0.3 [\#1516](https://github.com/jrnl-org/jrnl/pull/1516) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump poethepoet from 0.13.1 to 0.14.0 [\#1514](https://github.com/jrnl-org/jrnl/pull/1514) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump keyring from 23.5.1 to 23.6.0 [\#1499](https://github.com/jrnl-org/jrnl/pull/1499) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump pyxdg from 0.27 to 0.28 [\#1497](https://github.com/jrnl-org/jrnl/pull/1497) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump keyring from 23.5.0 to 23.5.1 [\#1487](https://github.com/jrnl-org/jrnl/pull/1487) ([dependabot[bot]](https://github.com/apps/dependabot)) From c45bed7f6ce5d06991844b02f066beb68300039e Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 16 Jul 2022 14:13:48 -0700 Subject: [PATCH 026/485] Disable gherkin reporter to fix failing test suite (#1540) --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 7c57e5e5..51bd6ff6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -128,7 +128,6 @@ markers = [ ] addopts = [ "--pdbcls=IPython.terminal.debugger:Pdb", - "--gherkin-terminal-reporter", "--tb=native", "-n=auto", ] From 3a5316cedc7ec1f06f8ff3346a0323367f18777f Mon Sep 17 00:00:00 2001 From: Jonathan van der Steege Date: Sat, 16 Jul 2022 23:21:21 +0200 Subject: [PATCH 027/485] Check for duplicate keys in config file (#1511) * Check for duplicate keys in config file * Corrected BDD tests * Unneeded check removed * Make use of ruamel DuplicateKeyError exception * Remove unneeded import and function * slightly reword warning message * fix merge conflicts * update tests Co-authored-by: Jonathan Wren --- jrnl/config.py | 24 +++++++++++++++++++---- jrnl/messages/MsgText.py | 7 +++++++ tests/bdd/features/config_file.feature | 17 ++++++++++++++++ tests/data/configs/duplicate_keys.yaml | 27 ++++++++++++++++++++++++++ 4 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 tests/data/configs/duplicate_keys.yaml diff --git a/jrnl/config.py b/jrnl/config.py index 045958c1..cea3720e 100644 --- a/jrnl/config.py +++ b/jrnl/config.py @@ -7,6 +7,7 @@ import os import colorama import xdg.BaseDirectory from ruamel.yaml import YAML +from ruamel.yaml import constructor from jrnl import __version__ from jrnl.exception import JrnlException @@ -159,10 +160,25 @@ def verify_config_colors(config): def load_config(config_path): """Tries to load a config file from YAML.""" - with open(config_path, encoding=YAML_FILE_ENCODING) as f: - yaml = YAML(typ="safe") - yaml.allow_duplicate_keys = True - return yaml.load(f) + try: + with open(config_path, encoding=YAML_FILE_ENCODING) as f: + yaml = YAML(typ="safe") + yaml.allow_duplicate_keys = False + return yaml.load(f) + except constructor.DuplicateKeyError as e: + print_msg( + Message( + MsgText.ConfigDoubleKeys, + MsgStyle.WARNING, + { + "error_message": e, + }, + ) + ) + with open(config_path, encoding=YAML_FILE_ENCODING) as f: + yaml = YAML(typ="safe") + yaml.allow_duplicate_keys = True + return yaml.load(f) def is_config_json(config_path): diff --git a/jrnl/messages/MsgText.py b/jrnl/messages/MsgText.py index d26f1dfd..b8250970 100644 --- a/jrnl/messages/MsgText.py +++ b/jrnl/messages/MsgText.py @@ -198,6 +198,13 @@ class MsgText(Enum): Configuration updated to newest version at {config_path} """ + ConfigDoubleKeys = """ + There is at least one duplicate key in your configuration file. + + Details: + {error_message} + """ + # --- Password --- # Password = "Password:" PasswordFirstEntry = "Enter password for journal '{journal_name}': " diff --git a/tests/bdd/features/config_file.feature b/tests/bdd/features/config_file.feature index 76e93059..d6b6121f 100644 --- a/tests/bdd/features/config_file.feature +++ b/tests/bdd/features/config_file.feature @@ -106,3 +106,20 @@ Feature: Multiple journals And we use the config "basic_onefile.yaml" When we run "jrnl --cf empty_file.yaml" Then the error output should contain "Unable to parse config file" + + Scenario: Show a warning message when the config file contains duplicate keys at the same level + Given the config "duplicate_keys.yaml" exists + And we use the config "duplicate_keys.yaml" + When we run "jrnl -1" + Then the output should contain "There is at least one duplicate key in your configuration file" + + Scenario: Show a warning message when using --config-file with duplicate keys + Given the config "duplicate_keys.yaml" exists + And we use the config "multiple.yaml" + When we run "jrnl --cf duplicate_keys.yaml -1" + Then the output should contain "There is at least one duplicate key in your configuration file" + + Scenario: Don't show a duplicate keys warning message when using --config-override on an existing value + Given we use the config "multiple.yaml" + When we run "jrnl --config-override highlight false" + Then the output should not contain "There is at least one duplicate key in your configuration file" \ No newline at end of file diff --git a/tests/data/configs/duplicate_keys.yaml b/tests/data/configs/duplicate_keys.yaml new file mode 100644 index 00000000..ca74c738 --- /dev/null +++ b/tests/data/configs/duplicate_keys.yaml @@ -0,0 +1,27 @@ +default_hour: 9 +default_minute: 0 +editor: '' +encrypt: false +highlight: true +template: false +template: false +journals: + default: + encrypt: false + journal: features/journals/simple.journal + journal: features/journals/simple.journal + ideas: + encrypt: false + journal: features/journals/does-not-exist.journal + simple: + encrypt: false + journal: features/journals/simple.journal + encrypt: false + work: + encrypt: false + journal: features/journals/work.journal +linewrap: 80 +tagsymbols: '@' +editor: nano +timeformat: '%Y-%m-%d %H:%M' +indent_character: "|" From e695180049c2d3270d8afa34c7f3d703d33258f4 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 16 Jul 2022 21:22:57 +0000 Subject: [PATCH 028/485] Update changelog [ci skip] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 61bb664c..d51df7a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [Unreleased](https://github.com/jrnl-org/jrnl/) + +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0...HEAD) + +**Implemented enhancements:** + +- Warn user when there are duplicate keys in the config file [\#1415](https://github.com/jrnl-org/jrnl/issues/1415) + ## [v3.0](https://pypi.org/project/jrnl/v3.0/) (2022-07-09) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0-beta2...v3.0) From ec8bbd2187e9e908beaaabdd190695d270749e45 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 16 Jul 2022 14:45:13 -0700 Subject: [PATCH 029/485] update formatting function to better account for indenting (#1541) --- jrnl/output.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jrnl/output.py b/jrnl/output.py index 78a1da24..78765ca9 100644 --- a/jrnl/output.py +++ b/jrnl/output.py @@ -89,5 +89,9 @@ def _add_extra_style_args_if_needed(args, msg): def format_msg_text(msg: Message) -> Text: - text = textwrap.dedent(msg.text.value.format(**msg.params)).strip() + text = textwrap.dedent(msg.text.value) + text = text.format(**msg.params) + # dedent again in case inserted text needs it + text = textwrap.dedent(text) + text = text.strip() return Text(text) From 24ee35b95bb4f9bf62ab1c2a5d129020ed1dbacc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 30 Jul 2022 12:02:02 -0700 Subject: [PATCH 030/485] Bump keyring from 23.6.0 to 23.7.0 (#1539) Bumps [keyring](https://github.com/jaraco/keyring) from 23.6.0 to 23.7.0. - [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/v23.6.0...v23.7.0) --- updated-dependencies: - dependency-name: keyring dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 165 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 150 insertions(+), 15 deletions(-) diff --git a/poetry.lock b/poetry.lock index 31d03998..64985299 100644 --- a/poetry.lock +++ b/poetry.lock @@ -365,7 +365,7 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "keyring" -version = "23.6.0" +version = "23.7.0" description = "Store and access your passwords safely." category = "main" optional = false @@ -379,7 +379,7 @@ SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""} [package.extras] docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "jaraco.tidelift (>=1.4)"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"] [[package]] name = "mako" @@ -1087,7 +1087,9 @@ asttokens = [ {file = "asttokens-2.0.5-py2.py3-none-any.whl", hash = "sha256:0844691e88552595a6f4a4281a9f7f79b8dd45ca4ccea82e5e05b4bbdb76705c"}, {file = "asttokens-2.0.5.tar.gz", hash = "sha256:9a54c114f02c7a9480d56550932546a3f1fe71d8a02f1bc7ccd0ee3ee35cf4d5"}, ] -atomicwrites = [] +atomicwrites = [ + {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, +] attrs = [ {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, @@ -1096,8 +1098,97 @@ backcall = [ {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, ] -black = [] -cffi = [] +black = [ + {file = "black-22.6.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f586c26118bc6e714ec58c09df0157fe2d9ee195c764f630eb0d8e7ccce72e69"}, + {file = "black-22.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b270a168d69edb8b7ed32c193ef10fd27844e5c60852039599f9184460ce0807"}, + {file = "black-22.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6797f58943fceb1c461fb572edbe828d811e719c24e03375fd25170ada53825e"}, + {file = "black-22.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c85928b9d5f83b23cee7d0efcb310172412fbf7cb9d9ce963bd67fd141781def"}, + {file = "black-22.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:f6fe02afde060bbeef044af7996f335fbe90b039ccf3f5eb8f16df8b20f77666"}, + {file = "black-22.6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cfaf3895a9634e882bf9d2363fed5af8888802d670f58b279b0bece00e9a872d"}, + {file = "black-22.6.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94783f636bca89f11eb5d50437e8e17fbc6a929a628d82304c80fa9cd945f256"}, + {file = "black-22.6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:2ea29072e954a4d55a2ff58971b83365eba5d3d357352a07a7a4df0d95f51c78"}, + {file = "black-22.6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e439798f819d49ba1c0bd9664427a05aab79bfba777a6db94fd4e56fae0cb849"}, + {file = "black-22.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:187d96c5e713f441a5829e77120c269b6514418f4513a390b0499b0987f2ff1c"}, + {file = "black-22.6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:074458dc2f6e0d3dab7928d4417bb6957bb834434516f21514138437accdbe90"}, + {file = "black-22.6.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a218d7e5856f91d20f04e931b6f16d15356db1c846ee55f01bac297a705ca24f"}, + {file = "black-22.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:568ac3c465b1c8b34b61cd7a4e349e93f91abf0f9371eda1cf87194663ab684e"}, + {file = "black-22.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6c1734ab264b8f7929cef8ae5f900b85d579e6cbfde09d7387da8f04771b51c6"}, + {file = "black-22.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9a3ac16efe9ec7d7381ddebcc022119794872abce99475345c5a61aa18c45ad"}, + {file = "black-22.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:b9fd45787ba8aa3f5e0a0a98920c1012c884622c6c920dbe98dbd05bc7c70fbf"}, + {file = "black-22.6.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7ba9be198ecca5031cd78745780d65a3f75a34b2ff9be5837045dce55db83d1c"}, + {file = "black-22.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a3db5b6409b96d9bd543323b23ef32a1a2b06416d525d27e0f67e74f1446c8f2"}, + {file = "black-22.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:560558527e52ce8afba936fcce93a7411ab40c7d5fe8c2463e279e843c0328ee"}, + {file = "black-22.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b154e6bbde1e79ea3260c4b40c0b7b3109ffcdf7bc4ebf8859169a6af72cd70b"}, + {file = "black-22.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:4af5bc0e1f96be5ae9bd7aaec219c901a94d6caa2484c21983d043371c733fc4"}, + {file = "black-22.6.0-py3-none-any.whl", hash = "sha256:ac609cf8ef5e7115ddd07d85d988d074ed00e10fbc3445aee393e70164a2219c"}, + {file = "black-22.6.0.tar.gz", hash = "sha256:6c6d39e28aed379aec40da1c65434c77d75e65bb59a1e1c283de545fb4e7c6c9"}, +] +cffi = [ + {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, + {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, + {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, + {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, + {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, + {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, + {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, + {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, + {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, + {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, + {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, + {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, + {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, + {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, + {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, + {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, + {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, + {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, + {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, + {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, + {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, + {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, + {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, + {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, + {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, + {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, + {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, + {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, + {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, + {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, + {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, + {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, + {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, + {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, + {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, +] click = [ {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, @@ -1110,7 +1201,30 @@ commonmark = [ {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, ] -cryptography = [] +cryptography = [ + {file = "cryptography-37.0.4-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:549153378611c0cca1042f20fd9c5030d37a72f634c9326e225c9f666d472884"}, + {file = "cryptography-37.0.4-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:a958c52505c8adf0d3822703078580d2c0456dd1d27fabfb6f76fe63d2971cd6"}, + {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f721d1885ecae9078c3f6bbe8a88bc0786b6e749bf32ccec1ef2b18929a05046"}, + {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:3d41b965b3380f10e4611dbae366f6dc3cefc7c9ac4e8842a806b9672ae9add5"}, + {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80f49023dd13ba35f7c34072fa17f604d2f19bf0989f292cedf7ab5770b87a0b"}, + {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2dcb0b3b63afb6df7fd94ec6fbddac81b5492513f7b0436210d390c14d46ee8"}, + {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:b7f8dd0d4c1f21759695c05a5ec8536c12f31611541f8904083f3dc582604280"}, + {file = "cryptography-37.0.4-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:30788e070800fec9bbcf9faa71ea6d8068f5136f60029759fd8c3efec3c9dcb3"}, + {file = "cryptography-37.0.4-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:190f82f3e87033821828f60787cfa42bff98404483577b591429ed99bed39d59"}, + {file = "cryptography-37.0.4-cp36-abi3-win32.whl", hash = "sha256:b62439d7cd1222f3da897e9a9fe53bbf5c104fff4d60893ad1355d4c14a24157"}, + {file = "cryptography-37.0.4-cp36-abi3-win_amd64.whl", hash = "sha256:f7a6de3e98771e183645181b3627e2563dcde3ce94a9e42a3f427d2255190327"}, + {file = "cryptography-37.0.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc95ed67b6741b2607298f9ea4932ff157e570ef456ef7ff0ef4884a134cc4b"}, + {file = "cryptography-37.0.4-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:f8c0a6e9e1dd3eb0414ba320f85da6b0dcbd543126e30fcc546e7372a7fbf3b9"}, + {file = "cryptography-37.0.4-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:e007f052ed10cc316df59bc90fbb7ff7950d7e2919c9757fd42a2b8ecf8a5f67"}, + {file = "cryptography-37.0.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bc997818309f56c0038a33b8da5c0bfbb3f1f067f315f9abd6fc07ad359398d"}, + {file = "cryptography-37.0.4-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:d204833f3c8a33bbe11eda63a54b1aad7aa7456ed769a982f21ec599ba5fa282"}, + {file = "cryptography-37.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:75976c217f10d48a8b5a8de3d70c454c249e4b91851f6838a4e48b8f41eb71aa"}, + {file = "cryptography-37.0.4-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:7099a8d55cd49b737ffc99c17de504f2257e3787e02abe6d1a6d136574873441"}, + {file = "cryptography-37.0.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2be53f9f5505673eeda5f2736bea736c40f051a739bfae2f92d18aed1eb54596"}, + {file = "cryptography-37.0.4-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:91ce48d35f4e3d3f1d83e29ef4a9267246e6a3be51864a5b7d2247d5086fa99a"}, + {file = "cryptography-37.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4c590ec31550a724ef893c50f9a97a0c14e9c851c85621c5650d699a7b88f7ab"}, + {file = "cryptography-37.0.4.tar.gz", hash = "sha256:63f9c17c0e2474ccbebc9302ce2f07b55b3b3fcb211ded18a42d5764f5c10a82"}, +] decorator = [ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, @@ -1174,10 +1288,13 @@ jinja2 = [ {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, ] keyring = [ - {file = "keyring-23.6.0-py3-none-any.whl", hash = "sha256:372ff2fc43ab779e3f87911c26e6c7acc8bb440cbd82683e383ca37594cb0617"}, - {file = "keyring-23.6.0.tar.gz", hash = "sha256:3ac00c26e4c93739e19103091a9986a9f79665a78cf15a4df1dba7ea9ac8da2f"}, + {file = "keyring-23.7.0-py3-none-any.whl", hash = "sha256:e67fc91a7955785fd2efcbccdd72d7dacf136dbc381d27de305b2b660b3de886"}, + {file = "keyring-23.7.0.tar.gz", hash = "sha256:782e1cd1132e91bf459fcd243bcf25b326015c1ac0b198e4408f91fa6791062b"}, +] +mako = [ + {file = "Mako-1.2.1-py3-none-any.whl", hash = "sha256:df3921c3081b013c8a2d5ff03c18375651684921ae83fd12e64800b7da923257"}, + {file = "Mako-1.2.1.tar.gz", hash = "sha256:f054a5ff4743492f1aa9ecc47172cb33b42b9d993cffcc146c9de17e717b0307"}, ] -mako = [] markdown = [ {file = "Markdown-3.3.7-py3-none-any.whl", hash = "sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"}, {file = "Markdown-3.3.7.tar.gz", hash = "sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"}, @@ -1287,12 +1404,18 @@ pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] -poethepoet = [] +poethepoet = [ + {file = "poethepoet-0.15.0-py3-none-any.whl", hash = "sha256:8ca49d8a9928a3ce1753315d6df0866888557eccb0fe37a8c88fea47454cfe12"}, + {file = "poethepoet-0.15.0.tar.gz", hash = "sha256:5843260c9074b6c42bf2e51f21107efe37e230cf75da3dd3f4b43904f365b26c"}, +] pprintpp = [ {file = "pprintpp-0.4.0-py2.py3-none-any.whl", hash = "sha256:b6b4dcdd0c0c0d75e4d7b2f21a9e933e5b2ce62b26e1a54537f9651ae5a5c01d"}, {file = "pprintpp-0.4.0.tar.gz", hash = "sha256:ea826108e2c7f49dc6d66c752973c3fc9749142a798d6b254e1e301cfdbc6403"}, ] -prompt-toolkit = [] +prompt-toolkit = [ + {file = "prompt_toolkit-3.0.30-py3-none-any.whl", hash = "sha256:d8916d3f62a7b67ab353a952ce4ced6a1d2587dfe9ef8ebc30dd7c386751f289"}, + {file = "prompt_toolkit-3.0.30.tar.gz", hash = "sha256:859b283c50bde45f5f97829f77a4674d1c1fcd88539364f1b28a37805cfd89c0"}, +] ptyprocess = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, @@ -1462,17 +1585,26 @@ tomli = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] -tox = [] +tox = [ + {file = "tox-3.25.1-py2.py3-none-any.whl", hash = "sha256:c38e15f4733683a9cc0129fba078633e07eb0961f550a010ada879e95fb32632"}, + {file = "tox-3.25.1.tar.gz", hash = "sha256:c138327815f53bc6da4fe56baec5f25f00622ae69ef3fe4e1e385720e22486f9"}, +] traitlets = [ {file = "traitlets-5.3.0-py3-none-any.whl", hash = "sha256:65fa18961659635933100db8ca120ef6220555286949774b9cfc106f941d1c7a"}, {file = "traitlets-5.3.0.tar.gz", hash = "sha256:0bb9f1f9f017aa8ec187d8b1b2a7a6626a2a1d877116baba52a129bfa124f8e2"}, ] -typing-extensions = [] +typing-extensions = [ + {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, + {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, +] tzlocal = [ {file = "tzlocal-2.1-py2.py3-none-any.whl", hash = "sha256:e2cb6c6b5b604af38597403e9852872d7f534962ae2954c7f35efcb1ccacf4a4"}, {file = "tzlocal-2.1.tar.gz", hash = "sha256:643c97c5294aedc737780a49d9df30889321cbe1204eac2c2ec6134035a92e44"}, ] -virtualenv = [] +virtualenv = [ + {file = "virtualenv-20.15.1-py2.py3-none-any.whl", hash = "sha256:b30aefac647e86af6d82bfc944c556f8f1a9c90427b2fb4e3bfbf338cb82becf"}, + {file = "virtualenv-20.15.1.tar.gz", hash = "sha256:288171134a2ff3bfb1a2f54f119e77cd1b81c29fc1265a2356f3e8d14c7d58c4"}, +] watchdog = [ {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330"}, {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d"}, @@ -1508,7 +1640,10 @@ xmltodict = [ {file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"}, {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, ] -yq = [] +yq = [ + {file = "yq-3.0.2-py3-none-any.whl", hash = "sha256:ec58e003c3b5f1d03702b3c56a2bc81ac9cb400567e0e53f5bf82eae3bcff755"}, + {file = "yq-3.0.2.tar.gz", hash = "sha256:e47ff2479a3746f90bdbb77f84e3ebdb789ce46a092b1c261ae5b1f5f914f8e8"}, +] zipp = [ {file = "zipp-3.8.0-py3-none-any.whl", hash = "sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099"}, {file = "zipp-3.8.0.tar.gz", hash = "sha256:56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad"}, From 7b5106dd08c62c2ec8930f68e6f0f4bfef920224 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 30 Jul 2022 19:03:58 +0000 Subject: [PATCH 031/485] Update changelog [ci skip] --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d51df7a8..a99cb1d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,8 +6,13 @@ **Implemented enhancements:** +- Create an environment variable when jrnl is called [\#1537](https://github.com/jrnl-org/jrnl/issues/1537) - Warn user when there are duplicate keys in the config file [\#1415](https://github.com/jrnl-org/jrnl/issues/1415) +**Packaging:** + +- Bump keyring from 23.6.0 to 23.7.0 [\#1539](https://github.com/jrnl-org/jrnl/pull/1539) ([dependabot[bot]](https://github.com/apps/dependabot)) + ## [v3.0](https://pypi.org/project/jrnl/v3.0/) (2022-07-09) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0-beta2...v3.0) From 08c366d95073c6aa232fe5287316ea64a305e23a Mon Sep 17 00:00:00 2001 From: Kevin Date: Sat, 30 Jul 2022 12:16:56 -0700 Subject: [PATCH 032/485] Fixed index out of range error in fancy exporter (#1522) --- jrnl/plugins/fancy_exporter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jrnl/plugins/fancy_exporter.py b/jrnl/plugins/fancy_exporter.py index b9567bfd..a1e31869 100644 --- a/jrnl/plugins/fancy_exporter.py +++ b/jrnl/plugins/fancy_exporter.py @@ -50,7 +50,7 @@ class FancyExporter(TextExporter): subsequent_indent=cls.border_g + " ", ) - title_lines = w.wrap(entry.title) + title_lines = w.wrap(entry.title) or [""] card.append( title_lines[0].ljust(initial_linewrap + 1) + cls.border_d From 252c63f4dd4ffc1a79d4c8d2507064a0b2cf180b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 30 Jul 2022 12:20:50 -0700 Subject: [PATCH 033/485] Bump yq from 3.0.2 to 3.1.0 (#1546) Bumps [yq](https://github.com/kislyuk/yq) from 3.0.2 to 3.1.0. - [Release notes](https://github.com/kislyuk/yq/releases) - [Changelog](https://github.com/kislyuk/yq/blob/develop/Changes.rst) - [Commits](https://github.com/kislyuk/yq/compare/v3.0.2...v3.1.0) --- updated-dependencies: - dependency-name: yq dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/poetry.lock b/poetry.lock index 64985299..8adad950 100644 --- a/poetry.lock +++ b/poetry.lock @@ -26,7 +26,7 @@ optional = false python-versions = ">=3.6" [package.extras] -test = ["coverage", "flake8", "pexpect", "wheel"] +test = ["wheel", "pexpect", "flake8", "coverage"] [[package]] name = "asttokens" @@ -133,7 +133,7 @@ optional = false python-versions = "*" [package.extras] -test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] +test = ["hypothesis (==3.55.3)", "flake8 (==3.7.8)"] [[package]] name = "cryptography" @@ -226,7 +226,7 @@ python-versions = "*" python-dateutil = ">=2.8.1" [package.extras] -dev = ["twine", "markdown", "flake8", "wheel"] +dev = ["wheel", "flake8", "markdown", "twine"] [[package]] name = "glob2" @@ -346,8 +346,8 @@ optional = false python-versions = ">=3.7" [package.extras] -test = ["pytest", "pytest-trio", "pytest-asyncio (>=0.17)", "testpath", "trio", "async-timeout"] -trio = ["trio", "async-generator"] +trio = ["async-generator", "trio"] +test = ["async-timeout", "trio", "testpath", "pytest-asyncio (>=0.17)", "pytest-trio", "pytest"] [[package]] name = "jinja2" @@ -509,8 +509,8 @@ parse = {version = ">=1.18.0", markers = "python_version >= \"3.0\""} six = ">=1.11" [package.extras] -develop = ["coverage (>=4.4)", "pytest-html (>=1.19.0)", "pytest-cov", "tox (>=2.8)", "pytest (<5.0)", "pytest (>=5.0)"] docs = ["sphinx (>=1.2)"] +develop = ["pytest (>=5.0)", "pytest (<5.0)", "tox (>=2.8)", "pytest-cov", "pytest-html (>=1.19.0)", "coverage (>=4.4)"] [[package]] name = "parsedatetime" @@ -588,8 +588,8 @@ optional = false python-versions = ">=3.6" [package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] +testing = ["pytest-benchmark", "pytest"] +dev = ["tox", "pre-commit"] [[package]] name = "poethepoet" @@ -913,7 +913,7 @@ executing = "*" pure-eval = "*" [package.extras] -tests = ["pytest", "typeguard", "pygments", "littleutils", "cython"] +tests = ["cython", "littleutils", "pygments", "typeguard", "pytest"] [[package]] name = "textwrap3" @@ -1038,7 +1038,7 @@ python-versions = ">=3.4" [[package]] name = "yq" -version = "3.0.2" +version = "3.1.0" description = "Command-line YAML/XML processor - jq wrapper for YAML/XML documents" category = "dev" optional = false @@ -1641,8 +1641,8 @@ xmltodict = [ {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, ] yq = [ - {file = "yq-3.0.2-py3-none-any.whl", hash = "sha256:ec58e003c3b5f1d03702b3c56a2bc81ac9cb400567e0e53f5bf82eae3bcff755"}, - {file = "yq-3.0.2.tar.gz", hash = "sha256:e47ff2479a3746f90bdbb77f84e3ebdb789ce46a092b1c261ae5b1f5f914f8e8"}, + {file = "yq-3.1.0-py3-none-any.whl", hash = "sha256:a1acffd3257a0b8e460f1a7ec1ae5af4646944e810f7d7099084b3104aa05769"}, + {file = "yq-3.1.0.tar.gz", hash = "sha256:30a84aa22486c749ba269256bd586c0bcd370b7e2a71e76c3924ead4867e74f2"}, ] zipp = [ {file = "zipp-3.8.0-py3-none-any.whl", hash = "sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099"}, From 80bfff384e7d17c0a6530791d5ee2d4f858ebf68 Mon Sep 17 00:00:00 2001 From: Jonathan van der Steege Date: Sat, 30 Jul 2022 21:22:04 +0200 Subject: [PATCH 034/485] Add linewrap option 'auto' (#1507) * Add linewrap option 'auto' * Specify the exception thrown * Add BDD test * Specify name instead of number * Create test for linewrap auto and fancy format * Fix linewrap auto for fancy format --- docs/reference-config-file.md | 3 ++- jrnl/Entry.py | 22 ++++++++++++++++++---- jrnl/plugins/fancy_exporter.py | 19 ++++++++++++++++++- tests/bdd/features/config_file.feature | 12 +++++++++++- tests/data/configs/linewrap_auto.yaml | 17 +++++++++++++++++ 5 files changed, 66 insertions(+), 7 deletions(-) create mode 100644 tests/data/configs/linewrap_auto.yaml diff --git a/docs/reference-config-file.md b/docs/reference-config-file.md index 03454c05..80949156 100644 --- a/docs/reference-config-file.md +++ b/docs/reference-config-file.md @@ -101,7 +101,8 @@ If `true`, tags will be highlighted in cyan. ### linewrap Controls the width of the output. Set to `false` if you don't want to -wrap long lines. +wrap long lines. Set to `auto` to let `jrnl` automatically determine +the terminal width. ### colors A dictionary that controls the colors used to display journal entries. diff --git a/jrnl/Entry.py b/jrnl/Entry.py index 73f26190..6754072f 100644 --- a/jrnl/Entry.py +++ b/jrnl/Entry.py @@ -2,12 +2,14 @@ # License: https://www.gnu.org/licenses/gpl-3.0.html import datetime +import logging +import os import re import ansiwrap -from jrnl.color import colorize -from jrnl.color import highlight_tags_with_background_color +from .color import colorize +from .color import highlight_tags_with_background_color class Entry: @@ -104,6 +106,18 @@ class Entry: ) if not short and self.journal.config["linewrap"]: + columns = self.journal.config["linewrap"] + + if columns == "auto": + try: + columns = os.get_terminal_size().columns + except OSError: + logging.debug( + "Can't determine terminal size automatically 'linewrap': '%s'", + self.journal.config["linewrap"], + ) + columns = 79 + # Color date / title and bold title title = ansiwrap.fill( date_str @@ -114,7 +128,7 @@ class Entry: self.journal.config["colors"]["title"], is_title=True, ), - self.journal.config["linewrap"], + columns, ) body = highlight_tags_with_background_color( self, self.body.rstrip(" \n"), self.journal.config["colors"]["body"] @@ -123,7 +137,7 @@ class Entry: colorize( ansiwrap.fill( line, - self.journal.config["linewrap"], + columns, initial_indent=indent, subsequent_indent=indent, drop_whitespace=True, diff --git a/jrnl/plugins/fancy_exporter.py b/jrnl/plugins/fancy_exporter.py index a1e31869..2ce39ae0 100644 --- a/jrnl/plugins/fancy_exporter.py +++ b/jrnl/plugins/fancy_exporter.py @@ -1,6 +1,8 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html +import logging +import os from textwrap import TextWrapper from jrnl.exception import JrnlException @@ -36,7 +38,22 @@ class FancyExporter(TextExporter): def export_entry(cls, entry): """Returns a fancy unicode representation of a single entry.""" date_str = entry.date.strftime(entry.journal.config["timeformat"]) - linewrap = entry.journal.config["linewrap"] or 78 + + if entry.journal.config["linewrap"]: + linewrap = entry.journal.config["linewrap"] + + if linewrap == "auto": + try: + linewrap = os.get_terminal_size().columns + except OSError: + logging.debug( + "Can't determine terminal size automatically 'linewrap': '%s'", + entry.journal.config["linewrap"], + ) + linewrap = 79 + else: + linewrap = 79 + initial_linewrap = max((1, linewrap - len(date_str) - 2)) body_linewrap = linewrap - 2 card = [ diff --git a/tests/bdd/features/config_file.feature b/tests/bdd/features/config_file.feature index d6b6121f..5cd3a6c5 100644 --- a/tests/bdd/features/config_file.feature +++ b/tests/bdd/features/config_file.feature @@ -107,6 +107,16 @@ Feature: Multiple journals When we run "jrnl --cf empty_file.yaml" Then the error output should contain "Unable to parse config file" + Scenario: Use a config file with linewrap set to 'auto' + Given we use the config "linewrap_auto.yaml" + When we run "jrnl -1" + Then the output should contain "Life is good." + + Scenario: Use a config file with linewrap set to 'auto' and use format 'fancy' + Given we use the config "linewrap_auto.yaml" + When we run "jrnl -1 --format fancy" + Then the output should contain "Life is good." + Scenario: Show a warning message when the config file contains duplicate keys at the same level Given the config "duplicate_keys.yaml" exists And we use the config "duplicate_keys.yaml" @@ -122,4 +132,4 @@ Feature: Multiple journals Scenario: Don't show a duplicate keys warning message when using --config-override on an existing value Given we use the config "multiple.yaml" When we run "jrnl --config-override highlight false" - Then the output should not contain "There is at least one duplicate key in your configuration file" \ No newline at end of file + Then the output should not contain "There is at least one duplicate key in your configuration file" diff --git a/tests/data/configs/linewrap_auto.yaml b/tests/data/configs/linewrap_auto.yaml new file mode 100644 index 00000000..69188710 --- /dev/null +++ b/tests/data/configs/linewrap_auto.yaml @@ -0,0 +1,17 @@ +default_hour: 9 +default_minute: 0 +editor: "" +encrypt: false +highlight: true +journals: + default: features/journals/simple.journal +linewrap: auto +tagsymbols: "@" +template: false +timeformat: "%Y-%m-%d %H:%M" +indent_character: "|" +colors: + date: none + title: none + body: none + tags: none From 2d15a7a5cf5cca337ff0dfed22e6e247d5d3faf6 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 30 Jul 2022 19:23:51 +0000 Subject: [PATCH 035/485] Update changelog [ci skip] --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a99cb1d1..9781e00c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,9 +8,16 @@ - Create an environment variable when jrnl is called [\#1537](https://github.com/jrnl-org/jrnl/issues/1537) - Warn user when there are duplicate keys in the config file [\#1415](https://github.com/jrnl-org/jrnl/issues/1415) +- Add linewrap option 'auto' [\#1507](https://github.com/jrnl-org/jrnl/pull/1507) ([jonakeys](https://github.com/jonakeys)) + +**Fixed bugs:** + +- Update formatting function to better account for indentation [\#1541](https://github.com/jrnl-org/jrnl/pull/1541) ([wren](https://github.com/wren)) +- Fixed index out of range error in fancy exporter [\#1522](https://github.com/jrnl-org/jrnl/pull/1522) ([apainintheneck](https://github.com/apainintheneck)) **Packaging:** +- Bump yq from 3.0.2 to 3.1.0 [\#1546](https://github.com/jrnl-org/jrnl/pull/1546) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump keyring from 23.6.0 to 23.7.0 [\#1539](https://github.com/jrnl-org/jrnl/pull/1539) ([dependabot[bot]](https://github.com/apps/dependabot)) ## [v3.0](https://pypi.org/project/jrnl/v3.0/) (2022-07-09) From 506cc664b2f6752dbe85679c73eeba91c436feb3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 30 Jul 2022 12:34:09 -0700 Subject: [PATCH 036/485] Bump rich from 12.4.4 to 12.5.1 (#1538) Bumps [rich](https://github.com/willmcgugan/rich) from 12.4.4 to 12.5.1. - [Release notes](https://github.com/willmcgugan/rich/releases) - [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md) - [Commits](https://github.com/willmcgugan/rich/compare/v12.4.4...v12.5.1) --- updated-dependencies: - dependency-name: rich dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 8adad950..db59d64c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -843,7 +843,7 @@ pyyaml = "*" [[package]] name = "rich" -version = "12.4.4" +version = "12.5.1" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" category = "main" optional = false @@ -1527,8 +1527,8 @@ pyyaml-env-tag = [ {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, ] rich = [ - {file = "rich-12.4.4-py3-none-any.whl", hash = "sha256:d2bbd99c320a2532ac71ff6a3164867884357da3e3301f0240090c5d2fdac7ec"}, - {file = "rich-12.4.4.tar.gz", hash = "sha256:4c586de507202505346f3e32d1363eb9ed6932f0c2f63184dea88983ff4971e2"}, + {file = "rich-12.5.1-py3-none-any.whl", hash = "sha256:2eb4e6894cde1e017976d2975ac210ef515d7548bc595ba20e195fb9628acdeb"}, + {file = "rich-12.5.1.tar.gz", hash = "sha256:63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca"}, ] "ruamel.yaml" = [ {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, From e233ab4a742fcbe3b143799653894bf57a8a120f Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 30 Jul 2022 19:35:48 +0000 Subject: [PATCH 037/485] Update changelog [ci skip] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9781e00c..64fe2094 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - Bump yq from 3.0.2 to 3.1.0 [\#1546](https://github.com/jrnl-org/jrnl/pull/1546) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump keyring from 23.6.0 to 23.7.0 [\#1539](https://github.com/jrnl-org/jrnl/pull/1539) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump rich from 12.4.4 to 12.5.1 [\#1538](https://github.com/jrnl-org/jrnl/pull/1538) ([dependabot[bot]](https://github.com/apps/dependabot)) ## [v3.0](https://pypi.org/project/jrnl/v3.0/) (2022-07-09) From 94d126b0c88d132c2e88d80ccf87cd68712dc13f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 30 Jul 2022 12:43:57 -0700 Subject: [PATCH 038/485] Bump poethepoet from 0.15.0 to 0.16.0 (#1542) Bumps [poethepoet](https://github.com/nat-n/poethepoet) from 0.15.0 to 0.16.0. - [Release notes](https://github.com/nat-n/poethepoet/releases) - [Commits](https://github.com/nat-n/poethepoet/compare/v0.15.0...v0.16.0) --- updated-dependencies: - dependency-name: poethepoet dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index db59d64c..fd01fde0 100644 --- a/poetry.lock +++ b/poetry.lock @@ -593,7 +593,7 @@ dev = ["tox", "pre-commit"] [[package]] name = "poethepoet" -version = "0.15.0" +version = "0.16.0" description = "A task runner that works well with poetry." category = "dev" optional = false @@ -1405,8 +1405,8 @@ pluggy = [ {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] poethepoet = [ - {file = "poethepoet-0.15.0-py3-none-any.whl", hash = "sha256:8ca49d8a9928a3ce1753315d6df0866888557eccb0fe37a8c88fea47454cfe12"}, - {file = "poethepoet-0.15.0.tar.gz", hash = "sha256:5843260c9074b6c42bf2e51f21107efe37e230cf75da3dd3f4b43904f365b26c"}, + {file = "poethepoet-0.16.0-py3-none-any.whl", hash = "sha256:87482ea8bba4e5db4abbd8e6360baee73b2ce0f3d5f5e99e81cdfa39d72d118f"}, + {file = "poethepoet-0.16.0.tar.gz", hash = "sha256:6455aec39f198be92dbf210a4416e1635119e967204c092b431c8b10024db1d1"}, ] pprintpp = [ {file = "pprintpp-0.4.0-py2.py3-none-any.whl", hash = "sha256:b6b4dcdd0c0c0d75e4d7b2f21a9e933e5b2ce62b26e1a54537f9651ae5a5c01d"}, From 049d2a72c85b2e96db7f29b01b941660fa150311 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 30 Jul 2022 19:46:19 +0000 Subject: [PATCH 039/485] Update changelog [ci skip] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64fe2094..d63f085f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ **Packaging:** - Bump yq from 3.0.2 to 3.1.0 [\#1546](https://github.com/jrnl-org/jrnl/pull/1546) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump poethepoet from 0.15.0 to 0.16.0 [\#1542](https://github.com/jrnl-org/jrnl/pull/1542) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump keyring from 23.6.0 to 23.7.0 [\#1539](https://github.com/jrnl-org/jrnl/pull/1539) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump rich from 12.4.4 to 12.5.1 [\#1538](https://github.com/jrnl-org/jrnl/pull/1538) ([dependabot[bot]](https://github.com/apps/dependabot)) From 62f65ce3b99aeb420855f15cac4255ffe7002922 Mon Sep 17 00:00:00 2001 From: outa Date: Sat, 30 Jul 2022 21:46:43 +0200 Subject: [PATCH 040/485] Update tzlocal to v4.x and remove pytz dependency (#1528) * Update tzlocal to v4.x and remove pytz dependency * Avoid `unwrap_shim` method * Remove upper bound of tzlocal version --- jrnl/DayOneJournal.py | 17 +- poetry.lock | 284 +++++++--------------------- pyproject.toml | 3 +- tests/bdd/features/datetime.feature | 2 +- 4 files changed, 78 insertions(+), 228 deletions(-) diff --git a/jrnl/DayOneJournal.py b/jrnl/DayOneJournal.py index 27ffef6d..faeb5210 100644 --- a/jrnl/DayOneJournal.py +++ b/jrnl/DayOneJournal.py @@ -10,10 +10,10 @@ import re import socket import time import uuid +import zoneinfo from pathlib import Path from xml.parsers.expat import ExpatError -import pytz import tzlocal from jrnl import Entry @@ -39,10 +39,6 @@ class DayOne(Journal.Journal): super().__init__(**kwargs) def open(self): - filenames = [ - os.path.join(self.config["journal"], "entries", f) - for f in os.listdir(os.path.join(self.config["journal"], "entries")) - ] filenames = [] for root, dirnames, f in os.walk(self.config["journal"]): for filename in fnmatch.filter(f, "*.doentry"): @@ -56,14 +52,15 @@ class DayOne(Journal.Journal): pass else: try: - timezone = pytz.timezone(dict_entry["Time Zone"]) - except (KeyError, pytz.exceptions.UnknownTimeZoneError): - timezone = tzlocal.get_localzone() + timezone = zoneinfo.ZoneInfo(dict_entry["Time Zone"]) + except KeyError: + timezone_name = str(tzlocal.get_localzone()) + timezone = zoneinfo.ZoneInfo(timezone_name) date = dict_entry["Creation Date"] # convert the date to UTC rather than keep messing with # timezones - if timezone.zone != "UTC": - date = date + timezone.utcoffset(date, is_dst=False) + if timezone.key != "UTC": + date = date.replace(fold=1) + timezone.utcoffset(date) entry = Entry.Entry( self, diff --git a/poetry.lock b/poetry.lock index fd01fde0..63cebaaf 100644 --- a/poetry.lock +++ b/poetry.lock @@ -26,7 +26,7 @@ optional = false python-versions = ">=3.6" [package.extras] -test = ["wheel", "pexpect", "flake8", "coverage"] +test = ["coverage", "flake8", "pexpect", "wheel"] [[package]] name = "asttokens" @@ -52,17 +52,17 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "attrs" -version = "21.4.0" +version = "22.1.0" description = "Classes Without Boilerplate" category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=3.5" [package.extras] -dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] -tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "cloudpickle"] [[package]] name = "backcall" @@ -133,7 +133,7 @@ optional = false python-versions = "*" [package.extras] -test = ["hypothesis (==3.55.3)", "flake8 (==3.7.8)"] +test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] [[package]] name = "cryptography" @@ -164,7 +164,7 @@ python-versions = ">=3.5" [[package]] name = "distlib" -version = "0.3.4" +version = "0.3.5" description = "Distribution utilities" category = "dev" optional = false @@ -183,7 +183,7 @@ testing = ["pre-commit"] [[package]] name = "executing" -version = "0.8.3" +version = "0.9.1" description = "Get the currently executing AST node of a frame, and other information" category = "dev" optional = false @@ -226,7 +226,7 @@ python-versions = "*" python-dateutil = ">=2.8.1" [package.extras] -dev = ["wheel", "flake8", "markdown", "twine"] +dev = ["twine", "markdown", "flake8", "wheel"] [[package]] name = "glob2" @@ -346,8 +346,8 @@ optional = false python-versions = ">=3.7" [package.extras] -trio = ["async-generator", "trio"] -test = ["async-timeout", "trio", "testpath", "pytest-asyncio (>=0.17)", "pytest-trio", "pytest"] +test = ["pytest", "pytest-trio", "pytest-asyncio (>=0.17)", "testpath", "trio", "async-timeout"] +trio = ["trio", "async-generator"] [[package]] name = "jinja2" @@ -399,11 +399,11 @@ testing = ["pytest"] [[package]] name = "markdown" -version = "3.3.7" +version = "3.4.1" description = "Python implementation of Markdown." category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.dependencies] importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} @@ -509,8 +509,8 @@ parse = {version = ">=1.18.0", markers = "python_version >= \"3.0\""} six = ">=1.11" [package.extras] +develop = ["coverage (>=4.4)", "pytest-html (>=1.19.0)", "pytest-cov", "tox (>=2.8)", "pytest (<5.0)", "pytest (>=5.0)"] docs = ["sphinx (>=1.2)"] -develop = ["pytest (>=5.0)", "pytest (<5.0)", "tox (>=2.8)", "pytest-cov", "pytest-html (>=1.19.0)", "coverage (>=4.4)"] [[package]] name = "parsedatetime" @@ -588,8 +588,8 @@ optional = false python-versions = ">=3.6" [package.extras] -testing = ["pytest-benchmark", "pytest"] -dev = ["tox", "pre-commit"] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] [[package]] name = "poethepoet" @@ -799,12 +799,15 @@ python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" six = ">=1.5" [[package]] -name = "pytz" -version = "2022.1" -description = "World timezone definitions, modern and historical" +name = "pytz-deprecation-shim" +version = "0.1.0.post0" +description = "Shims to make deprecation of pytz easier" category = "main" optional = false -python-versions = "*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" + +[package.dependencies] +tzdata = {version = "*", markers = "python_version >= \"3.6\""} [[package]] name = "pywin32-ctypes" @@ -913,7 +916,7 @@ executing = "*" pure-eval = "*" [package.extras] -tests = ["cython", "littleutils", "pygments", "typeguard", "pytest"] +tests = ["pytest", "typeguard", "pygments", "littleutils", "cython"] [[package]] name = "textwrap3" @@ -980,34 +983,46 @@ category = "dev" optional = false python-versions = ">=3.7" +[[package]] +name = "tzdata" +version = "2022.1" +description = "Provider of IANA time zone data" +category = "main" +optional = false +python-versions = ">=2" + [[package]] name = "tzlocal" -version = "2.1" +version = "4.2" description = "tzinfo object for the local timezone" category = "main" optional = false -python-versions = "*" +python-versions = ">=3.6" [package.dependencies] -pytz = "*" +pytz-deprecation-shim = "*" +tzdata = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +devenv = ["black", "pyroma", "pytest-cov", "zest.releaser"] +test = ["pytest-mock (>=3.3)", "pytest (>=4.3)"] [[package]] name = "virtualenv" -version = "20.15.1" +version = "20.16.2" description = "Virtual Python Environment builder" category = "dev" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +python-versions = ">=3.6" [package.dependencies] distlib = ">=0.3.1,<1" filelock = ">=3.2,<4" platformdirs = ">=2,<3" -six = ">=1.9.0,<2" [package.extras] docs = ["proselint (>=0.10.2)", "sphinx (>=3)", "sphinx-argparse (>=0.2.5)", "sphinx-rtd-theme (>=0.4.3)", "towncrier (>=21.3)"] -testing = ["coverage (>=4)", "coverage-enable-subprocess (>=1)", "flaky (>=3)", "pytest (>=4)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.1)", "pytest-mock (>=2)", "pytest-randomly (>=1)", "pytest-timeout (>=1)", "packaging (>=20.0)"] +testing = ["coverage (>=4)", "coverage-enable-subprocess (>=1)", "flaky (>=3)", "packaging (>=20.0)", "pytest (>=4)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.1)", "pytest-mock (>=2)", "pytest-randomly (>=1)", "pytest-timeout (>=1)"] [[package]] name = "watchdog" @@ -1055,20 +1070,20 @@ tests = ["coverage", "flake8", "wheel"] [[package]] name = "zipp" -version = "3.8.0" +version = "3.8.1" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"] +docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "jaraco.tidelift (>=1.4)"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.3)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" python-versions = ">=3.9.0, <3.12" -content-hash = "647a60d3f5c77ae365e4acef948b048a112eebd0315e026ffe31a0cc441c6601" +content-hash = "5f5954af39ca238b840a95e932999bcb1ead3b8d403d0d18e0a89806ddcc59f9" [metadata.files] ansiwrap = [ @@ -1087,108 +1102,14 @@ asttokens = [ {file = "asttokens-2.0.5-py2.py3-none-any.whl", hash = "sha256:0844691e88552595a6f4a4281a9f7f79b8dd45ca4ccea82e5e05b4bbdb76705c"}, {file = "asttokens-2.0.5.tar.gz", hash = "sha256:9a54c114f02c7a9480d56550932546a3f1fe71d8a02f1bc7ccd0ee3ee35cf4d5"}, ] -atomicwrites = [ - {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, -] -attrs = [ - {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, - {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, -] +atomicwrites = [] +attrs = [] backcall = [ {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, ] -black = [ - {file = "black-22.6.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f586c26118bc6e714ec58c09df0157fe2d9ee195c764f630eb0d8e7ccce72e69"}, - {file = "black-22.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b270a168d69edb8b7ed32c193ef10fd27844e5c60852039599f9184460ce0807"}, - {file = "black-22.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6797f58943fceb1c461fb572edbe828d811e719c24e03375fd25170ada53825e"}, - {file = "black-22.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c85928b9d5f83b23cee7d0efcb310172412fbf7cb9d9ce963bd67fd141781def"}, - {file = "black-22.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:f6fe02afde060bbeef044af7996f335fbe90b039ccf3f5eb8f16df8b20f77666"}, - {file = "black-22.6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cfaf3895a9634e882bf9d2363fed5af8888802d670f58b279b0bece00e9a872d"}, - {file = "black-22.6.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94783f636bca89f11eb5d50437e8e17fbc6a929a628d82304c80fa9cd945f256"}, - {file = "black-22.6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:2ea29072e954a4d55a2ff58971b83365eba5d3d357352a07a7a4df0d95f51c78"}, - {file = "black-22.6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e439798f819d49ba1c0bd9664427a05aab79bfba777a6db94fd4e56fae0cb849"}, - {file = "black-22.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:187d96c5e713f441a5829e77120c269b6514418f4513a390b0499b0987f2ff1c"}, - {file = "black-22.6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:074458dc2f6e0d3dab7928d4417bb6957bb834434516f21514138437accdbe90"}, - {file = "black-22.6.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a218d7e5856f91d20f04e931b6f16d15356db1c846ee55f01bac297a705ca24f"}, - {file = "black-22.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:568ac3c465b1c8b34b61cd7a4e349e93f91abf0f9371eda1cf87194663ab684e"}, - {file = "black-22.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6c1734ab264b8f7929cef8ae5f900b85d579e6cbfde09d7387da8f04771b51c6"}, - {file = "black-22.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9a3ac16efe9ec7d7381ddebcc022119794872abce99475345c5a61aa18c45ad"}, - {file = "black-22.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:b9fd45787ba8aa3f5e0a0a98920c1012c884622c6c920dbe98dbd05bc7c70fbf"}, - {file = "black-22.6.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7ba9be198ecca5031cd78745780d65a3f75a34b2ff9be5837045dce55db83d1c"}, - {file = "black-22.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a3db5b6409b96d9bd543323b23ef32a1a2b06416d525d27e0f67e74f1446c8f2"}, - {file = "black-22.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:560558527e52ce8afba936fcce93a7411ab40c7d5fe8c2463e279e843c0328ee"}, - {file = "black-22.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b154e6bbde1e79ea3260c4b40c0b7b3109ffcdf7bc4ebf8859169a6af72cd70b"}, - {file = "black-22.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:4af5bc0e1f96be5ae9bd7aaec219c901a94d6caa2484c21983d043371c733fc4"}, - {file = "black-22.6.0-py3-none-any.whl", hash = "sha256:ac609cf8ef5e7115ddd07d85d988d074ed00e10fbc3445aee393e70164a2219c"}, - {file = "black-22.6.0.tar.gz", hash = "sha256:6c6d39e28aed379aec40da1c65434c77d75e65bb59a1e1c283de545fb4e7c6c9"}, -] -cffi = [ - {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, - {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, - {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, - {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, - {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, - {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, - {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, - {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, - {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, - {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, - {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, - {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, - {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, - {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, - {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, - {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, - {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, - {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, - {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, -] +black = [] +cffi = [] click = [ {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, @@ -1201,46 +1122,17 @@ commonmark = [ {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, ] -cryptography = [ - {file = "cryptography-37.0.4-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:549153378611c0cca1042f20fd9c5030d37a72f634c9326e225c9f666d472884"}, - {file = "cryptography-37.0.4-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:a958c52505c8adf0d3822703078580d2c0456dd1d27fabfb6f76fe63d2971cd6"}, - {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f721d1885ecae9078c3f6bbe8a88bc0786b6e749bf32ccec1ef2b18929a05046"}, - {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:3d41b965b3380f10e4611dbae366f6dc3cefc7c9ac4e8842a806b9672ae9add5"}, - {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80f49023dd13ba35f7c34072fa17f604d2f19bf0989f292cedf7ab5770b87a0b"}, - {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2dcb0b3b63afb6df7fd94ec6fbddac81b5492513f7b0436210d390c14d46ee8"}, - {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:b7f8dd0d4c1f21759695c05a5ec8536c12f31611541f8904083f3dc582604280"}, - {file = "cryptography-37.0.4-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:30788e070800fec9bbcf9faa71ea6d8068f5136f60029759fd8c3efec3c9dcb3"}, - {file = "cryptography-37.0.4-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:190f82f3e87033821828f60787cfa42bff98404483577b591429ed99bed39d59"}, - {file = "cryptography-37.0.4-cp36-abi3-win32.whl", hash = "sha256:b62439d7cd1222f3da897e9a9fe53bbf5c104fff4d60893ad1355d4c14a24157"}, - {file = "cryptography-37.0.4-cp36-abi3-win_amd64.whl", hash = "sha256:f7a6de3e98771e183645181b3627e2563dcde3ce94a9e42a3f427d2255190327"}, - {file = "cryptography-37.0.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc95ed67b6741b2607298f9ea4932ff157e570ef456ef7ff0ef4884a134cc4b"}, - {file = "cryptography-37.0.4-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:f8c0a6e9e1dd3eb0414ba320f85da6b0dcbd543126e30fcc546e7372a7fbf3b9"}, - {file = "cryptography-37.0.4-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:e007f052ed10cc316df59bc90fbb7ff7950d7e2919c9757fd42a2b8ecf8a5f67"}, - {file = "cryptography-37.0.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bc997818309f56c0038a33b8da5c0bfbb3f1f067f315f9abd6fc07ad359398d"}, - {file = "cryptography-37.0.4-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:d204833f3c8a33bbe11eda63a54b1aad7aa7456ed769a982f21ec599ba5fa282"}, - {file = "cryptography-37.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:75976c217f10d48a8b5a8de3d70c454c249e4b91851f6838a4e48b8f41eb71aa"}, - {file = "cryptography-37.0.4-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:7099a8d55cd49b737ffc99c17de504f2257e3787e02abe6d1a6d136574873441"}, - {file = "cryptography-37.0.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2be53f9f5505673eeda5f2736bea736c40f051a739bfae2f92d18aed1eb54596"}, - {file = "cryptography-37.0.4-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:91ce48d35f4e3d3f1d83e29ef4a9267246e6a3be51864a5b7d2247d5086fa99a"}, - {file = "cryptography-37.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4c590ec31550a724ef893c50f9a97a0c14e9c851c85621c5650d699a7b88f7ab"}, - {file = "cryptography-37.0.4.tar.gz", hash = "sha256:63f9c17c0e2474ccbebc9302ce2f07b55b3b3fcb211ded18a42d5764f5c10a82"}, -] +cryptography = [] decorator = [ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, ] -distlib = [ - {file = "distlib-0.3.4-py2.py3-none-any.whl", hash = "sha256:6564fe0a8f51e734df6333d08b8b94d4ea8ee6b99b5ed50613f731fd4089f34b"}, - {file = "distlib-0.3.4.zip", hash = "sha256:e4b58818180336dc9c529bfb9a0b58728ffc09ad92027a3f30b7cd91e3458579"}, -] +distlib = [] execnet = [ {file = "execnet-1.9.0-py2.py3-none-any.whl", hash = "sha256:a295f7cc774947aac58dde7fdc85f4aa00c42adf5d8f5468fc630c1acf30a142"}, {file = "execnet-1.9.0.tar.gz", hash = "sha256:8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5"}, ] -executing = [ - {file = "executing-0.8.3-py2.py3-none-any.whl", hash = "sha256:d1eef132db1b83649a3905ca6dd8897f71ac6f8cac79a7e58a1a09cf137546c9"}, - {file = "executing-0.8.3.tar.gz", hash = "sha256:c6554e21c6b060590a6d3be4b82fb78f8f0194d809de5ea7df1c093763311501"}, -] +executing = [] filelock = [ {file = "filelock-3.7.1-py3-none-any.whl", hash = "sha256:37def7b658813cda163b56fc564cdc75e86d338246458c4c28ae84cabefa2404"}, {file = "filelock-3.7.1.tar.gz", hash = "sha256:3a0fd85166ad9dbab54c9aec96737b744106dc5f15c0b09a6744a445299fcf04"}, @@ -1287,18 +1179,9 @@ jinja2 = [ {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, ] -keyring = [ - {file = "keyring-23.7.0-py3-none-any.whl", hash = "sha256:e67fc91a7955785fd2efcbccdd72d7dacf136dbc381d27de305b2b660b3de886"}, - {file = "keyring-23.7.0.tar.gz", hash = "sha256:782e1cd1132e91bf459fcd243bcf25b326015c1ac0b198e4408f91fa6791062b"}, -] -mako = [ - {file = "Mako-1.2.1-py3-none-any.whl", hash = "sha256:df3921c3081b013c8a2d5ff03c18375651684921ae83fd12e64800b7da923257"}, - {file = "Mako-1.2.1.tar.gz", hash = "sha256:f054a5ff4743492f1aa9ecc47172cb33b42b9d993cffcc146c9de17e717b0307"}, -] -markdown = [ - {file = "Markdown-3.3.7-py3-none-any.whl", hash = "sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"}, - {file = "Markdown-3.3.7.tar.gz", hash = "sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"}, -] +keyring = [] +mako = [] +markdown = [] markupsafe = [ {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, @@ -1404,18 +1287,12 @@ pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] -poethepoet = [ - {file = "poethepoet-0.16.0-py3-none-any.whl", hash = "sha256:87482ea8bba4e5db4abbd8e6360baee73b2ce0f3d5f5e99e81cdfa39d72d118f"}, - {file = "poethepoet-0.16.0.tar.gz", hash = "sha256:6455aec39f198be92dbf210a4416e1635119e967204c092b431c8b10024db1d1"}, -] +poethepoet = [] pprintpp = [ {file = "pprintpp-0.4.0-py2.py3-none-any.whl", hash = "sha256:b6b4dcdd0c0c0d75e4d7b2f21a9e933e5b2ce62b26e1a54537f9651ae5a5c01d"}, {file = "pprintpp-0.4.0.tar.gz", hash = "sha256:ea826108e2c7f49dc6d66c752973c3fc9749142a798d6b254e1e301cfdbc6403"}, ] -prompt-toolkit = [ - {file = "prompt_toolkit-3.0.30-py3-none-any.whl", hash = "sha256:d8916d3f62a7b67ab353a952ce4ced6a1d2587dfe9ef8ebc30dd7c386751f289"}, - {file = "prompt_toolkit-3.0.30.tar.gz", hash = "sha256:859b283c50bde45f5f97829f77a4674d1c1fcd88539364f1b28a37805cfd89c0"}, -] +prompt-toolkit = [] ptyprocess = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, @@ -1475,10 +1352,7 @@ python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, ] -pytz = [ - {file = "pytz-2022.1-py2.py3-none-any.whl", hash = "sha256:e68985985296d9a66a881eb3193b0906246245294a881e7c8afe623866ac6a5c"}, - {file = "pytz-2022.1.tar.gz", hash = "sha256:1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7"}, -] +pytz-deprecation-shim = [] pywin32-ctypes = [ {file = "pywin32-ctypes-0.2.0.tar.gz", hash = "sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942"}, {file = "pywin32_ctypes-0.2.0-py2.py3-none-any.whl", hash = "sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98"}, @@ -1526,10 +1400,7 @@ pyyaml-env-tag = [ {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, ] -rich = [ - {file = "rich-12.5.1-py3-none-any.whl", hash = "sha256:2eb4e6894cde1e017976d2975ac210ef515d7548bc595ba20e195fb9628acdeb"}, - {file = "rich-12.5.1.tar.gz", hash = "sha256:63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca"}, -] +rich = [] "ruamel.yaml" = [ {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, {file = "ruamel.yaml-0.17.21.tar.gz", hash = "sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af"}, @@ -1585,26 +1456,15 @@ tomli = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] -tox = [ - {file = "tox-3.25.1-py2.py3-none-any.whl", hash = "sha256:c38e15f4733683a9cc0129fba078633e07eb0961f550a010ada879e95fb32632"}, - {file = "tox-3.25.1.tar.gz", hash = "sha256:c138327815f53bc6da4fe56baec5f25f00622ae69ef3fe4e1e385720e22486f9"}, -] +tox = [] traitlets = [ {file = "traitlets-5.3.0-py3-none-any.whl", hash = "sha256:65fa18961659635933100db8ca120ef6220555286949774b9cfc106f941d1c7a"}, {file = "traitlets-5.3.0.tar.gz", hash = "sha256:0bb9f1f9f017aa8ec187d8b1b2a7a6626a2a1d877116baba52a129bfa124f8e2"}, ] -typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, -] -tzlocal = [ - {file = "tzlocal-2.1-py2.py3-none-any.whl", hash = "sha256:e2cb6c6b5b604af38597403e9852872d7f534962ae2954c7f35efcb1ccacf4a4"}, - {file = "tzlocal-2.1.tar.gz", hash = "sha256:643c97c5294aedc737780a49d9df30889321cbe1204eac2c2ec6134035a92e44"}, -] -virtualenv = [ - {file = "virtualenv-20.15.1-py2.py3-none-any.whl", hash = "sha256:b30aefac647e86af6d82bfc944c556f8f1a9c90427b2fb4e3bfbf338cb82becf"}, - {file = "virtualenv-20.15.1.tar.gz", hash = "sha256:288171134a2ff3bfb1a2f54f119e77cd1b81c29fc1265a2356f3e8d14c7d58c4"}, -] +typing-extensions = [] +tzdata = [] +tzlocal = [] +virtualenv = [] watchdog = [ {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330"}, {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d"}, @@ -1640,11 +1500,5 @@ xmltodict = [ {file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"}, {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, ] -yq = [ - {file = "yq-3.1.0-py3-none-any.whl", hash = "sha256:a1acffd3257a0b8e460f1a7ec1ae5af4646944e810f7d7099084b3104aa05769"}, - {file = "yq-3.1.0.tar.gz", hash = "sha256:30a84aa22486c749ba269256bd586c0bcd370b7e2a71e76c3924ead4867e74f2"}, -] -zipp = [ - {file = "zipp-3.8.0-py3-none-any.whl", hash = "sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099"}, - {file = "zipp-3.8.0.tar.gz", hash = "sha256:56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad"}, -] +yq = [] +zipp = [] diff --git a/pyproject.toml b/pyproject.toml index 51bd6ff6..1c5e7bf7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -40,8 +40,7 @@ pyxdg = ">=0.27.0" rich = "^12.2.0" # dayone-only deps -pytz = ">=2020" # https://pythonhosted.org/pytz/#issues-limitations -tzlocal = ">2.0, <3.0" # https://github.com/regebro/tzlocal/blob/master/CHANGES.txt +tzlocal = ">=4.0" # https://github.com/regebro/tzlocal/blob/master/CHANGES.txt [tool.poetry.dev-dependencies] black = { version = ">=21.5b2", allow-prereleases = true } diff --git a/tests/bdd/features/datetime.feature b/tests/bdd/features/datetime.feature index 28d63169..e2b0fa76 100644 --- a/tests/bdd/features/datetime.feature +++ b/tests/bdd/features/datetime.feature @@ -175,7 +175,7 @@ Feature: Reading and writing to journal with custom date formats When we run "jrnl -1" Then we should get no error And the output should be - 2013-10-27 03:27 Some text. + 2013-10-27 04:27 Some text. @skip #1422 From a78632768c8f9df3829bf4dbbe653f3cd378a2b9 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 30 Jul 2022 19:48:19 +0000 Subject: [PATCH 041/485] Update changelog [ci skip] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d63f085f..e07e15aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - Create an environment variable when jrnl is called [\#1537](https://github.com/jrnl-org/jrnl/issues/1537) - Warn user when there are duplicate keys in the config file [\#1415](https://github.com/jrnl-org/jrnl/issues/1415) +- Support tzlocal v4 [\#1338](https://github.com/jrnl-org/jrnl/issues/1338) - Add linewrap option 'auto' [\#1507](https://github.com/jrnl-org/jrnl/pull/1507) ([jonakeys](https://github.com/jonakeys)) **Fixed bugs:** From 6ade0da597d5be62adb5b6ec930daf529b595e05 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 30 Jul 2022 19:51:10 +0000 Subject: [PATCH 042/485] Increment version to v3.1-beta --- jrnl/__version__.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jrnl/__version__.py b/jrnl/__version__.py index 1cb4416f..c4a343ad 100644 --- a/jrnl/__version__.py +++ b/jrnl/__version__.py @@ -1 +1 @@ -__version__ = "v3.0" +__version__ = "v3.1-beta" diff --git a/pyproject.toml b/pyproject.toml index 1c5e7bf7..fa40a1c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "jrnl" -version = "v3.0" +version = "v3.1-beta" description = "Collect your thoughts and notes without leaving the command line." authors = [ "jrnl contributors ", From 6f4df4b55ee5be644803229b53c3f906707fe546 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 30 Jul 2022 19:52:53 +0000 Subject: [PATCH 043/485] Update changelog [ci skip] --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e07e15aa..594d127e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,14 @@ # Changelog -## [Unreleased](https://github.com/jrnl-org/jrnl/) +## [v3.1-beta](https://pypi.org/project/jrnl/v3.1-beta/) (2022-07-30) -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0...HEAD) +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0...v3.1-beta) **Implemented enhancements:** -- Create an environment variable when jrnl is called [\#1537](https://github.com/jrnl-org/jrnl/issues/1537) - Warn user when there are duplicate keys in the config file [\#1415](https://github.com/jrnl-org/jrnl/issues/1415) - Support tzlocal v4 [\#1338](https://github.com/jrnl-org/jrnl/issues/1338) +- Update tzlocal to v4.x and remove pytz dependency [\#1528](https://github.com/jrnl-org/jrnl/pull/1528) ([outa](https://github.com/outa)) - Add linewrap option 'auto' [\#1507](https://github.com/jrnl-org/jrnl/pull/1507) ([jonakeys](https://github.com/jonakeys)) **Fixed bugs:** From 611d6d7b117b3bf85d4b6de39d62434d231257f9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 13 Aug 2022 12:47:57 -0700 Subject: [PATCH 044/485] Bump pyproject-flake8 from 0.0.1a4 to 0.0.1a5 (#1552) Bumps [pyproject-flake8](https://github.com/csachs/pyproject-flake8) from 0.0.1a4 to 0.0.1a5. - [Release notes](https://github.com/csachs/pyproject-flake8/releases) - [Commits](https://github.com/csachs/pyproject-flake8/compare/v0.0.1a4...v0.0.1a5) --- updated-dependencies: - dependency-name: pyproject-flake8 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 233 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 199 insertions(+), 34 deletions(-) diff --git a/poetry.lock b/poetry.lock index 63cebaaf..ef3d3582 100644 --- a/poetry.lock +++ b/poetry.lock @@ -26,7 +26,7 @@ optional = false python-versions = ">=3.6" [package.extras] -test = ["coverage", "flake8", "pexpect", "wheel"] +test = ["wheel", "pexpect", "flake8", "coverage"] [[package]] name = "asttokens" @@ -133,7 +133,7 @@ optional = false python-versions = "*" [package.extras] -test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] +test = ["hypothesis (==3.55.3)", "flake8 (==3.7.8)"] [[package]] name = "cryptography" @@ -226,7 +226,7 @@ python-versions = "*" python-dateutil = ">=2.8.1" [package.extras] -dev = ["twine", "markdown", "flake8", "wheel"] +dev = ["wheel", "flake8", "markdown", "twine"] [[package]] name = "glob2" @@ -346,8 +346,8 @@ optional = false python-versions = ">=3.7" [package.extras] -test = ["pytest", "pytest-trio", "pytest-asyncio (>=0.17)", "testpath", "trio", "async-timeout"] -trio = ["trio", "async-generator"] +trio = ["async-generator", "trio"] +test = ["async-timeout", "trio", "testpath", "pytest-asyncio (>=0.17)", "pytest-trio", "pytest"] [[package]] name = "jinja2" @@ -509,8 +509,8 @@ parse = {version = ">=1.18.0", markers = "python_version >= \"3.0\""} six = ">=1.11" [package.extras] -develop = ["coverage (>=4.4)", "pytest-html (>=1.19.0)", "pytest-cov", "tox (>=2.8)", "pytest (<5.0)", "pytest (>=5.0)"] docs = ["sphinx (>=1.2)"] +develop = ["pytest (>=5.0)", "pytest (<5.0)", "tox (>=2.8)", "pytest-cov", "pytest-html (>=1.19.0)", "coverage (>=4.4)"] [[package]] name = "parsedatetime" @@ -588,8 +588,8 @@ optional = false python-versions = ">=3.6" [package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] +testing = ["pytest-benchmark", "pytest"] +dev = ["tox", "pre-commit"] [[package]] name = "poethepoet" @@ -697,14 +697,14 @@ diagrams = ["railroad-diagrams", "jinja2"] [[package]] name = "pyproject-flake8" -version = "0.0.1a4" +version = "0.0.1a5" description = "pyproject-flake8 (`pflake8`), a monkey patching wrapper to connect flake8 with pyproject.toml configuration" category = "dev" optional = false python-versions = "*" [package.dependencies] -flake8 = "*" +flake8 = "<5.0.0" tomli = {version = "*", markers = "python_version < \"3.11\""} [[package]] @@ -916,7 +916,7 @@ executing = "*" pure-eval = "*" [package.extras] -tests = ["pytest", "typeguard", "pygments", "littleutils", "cython"] +tests = ["cython", "littleutils", "pygments", "typeguard", "pytest"] [[package]] name = "textwrap3" @@ -1102,14 +1102,108 @@ asttokens = [ {file = "asttokens-2.0.5-py2.py3-none-any.whl", hash = "sha256:0844691e88552595a6f4a4281a9f7f79b8dd45ca4ccea82e5e05b4bbdb76705c"}, {file = "asttokens-2.0.5.tar.gz", hash = "sha256:9a54c114f02c7a9480d56550932546a3f1fe71d8a02f1bc7ccd0ee3ee35cf4d5"}, ] -atomicwrites = [] -attrs = [] +atomicwrites = [ + {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, +] +attrs = [ + {file = "attrs-22.1.0-py2.py3-none-any.whl", hash = "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"}, + {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, +] backcall = [ {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, ] -black = [] -cffi = [] +black = [ + {file = "black-22.6.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f586c26118bc6e714ec58c09df0157fe2d9ee195c764f630eb0d8e7ccce72e69"}, + {file = "black-22.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b270a168d69edb8b7ed32c193ef10fd27844e5c60852039599f9184460ce0807"}, + {file = "black-22.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6797f58943fceb1c461fb572edbe828d811e719c24e03375fd25170ada53825e"}, + {file = "black-22.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c85928b9d5f83b23cee7d0efcb310172412fbf7cb9d9ce963bd67fd141781def"}, + {file = "black-22.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:f6fe02afde060bbeef044af7996f335fbe90b039ccf3f5eb8f16df8b20f77666"}, + {file = "black-22.6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cfaf3895a9634e882bf9d2363fed5af8888802d670f58b279b0bece00e9a872d"}, + {file = "black-22.6.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94783f636bca89f11eb5d50437e8e17fbc6a929a628d82304c80fa9cd945f256"}, + {file = "black-22.6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:2ea29072e954a4d55a2ff58971b83365eba5d3d357352a07a7a4df0d95f51c78"}, + {file = "black-22.6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e439798f819d49ba1c0bd9664427a05aab79bfba777a6db94fd4e56fae0cb849"}, + {file = "black-22.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:187d96c5e713f441a5829e77120c269b6514418f4513a390b0499b0987f2ff1c"}, + {file = "black-22.6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:074458dc2f6e0d3dab7928d4417bb6957bb834434516f21514138437accdbe90"}, + {file = "black-22.6.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a218d7e5856f91d20f04e931b6f16d15356db1c846ee55f01bac297a705ca24f"}, + {file = "black-22.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:568ac3c465b1c8b34b61cd7a4e349e93f91abf0f9371eda1cf87194663ab684e"}, + {file = "black-22.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6c1734ab264b8f7929cef8ae5f900b85d579e6cbfde09d7387da8f04771b51c6"}, + {file = "black-22.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9a3ac16efe9ec7d7381ddebcc022119794872abce99475345c5a61aa18c45ad"}, + {file = "black-22.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:b9fd45787ba8aa3f5e0a0a98920c1012c884622c6c920dbe98dbd05bc7c70fbf"}, + {file = "black-22.6.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7ba9be198ecca5031cd78745780d65a3f75a34b2ff9be5837045dce55db83d1c"}, + {file = "black-22.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a3db5b6409b96d9bd543323b23ef32a1a2b06416d525d27e0f67e74f1446c8f2"}, + {file = "black-22.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:560558527e52ce8afba936fcce93a7411ab40c7d5fe8c2463e279e843c0328ee"}, + {file = "black-22.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b154e6bbde1e79ea3260c4b40c0b7b3109ffcdf7bc4ebf8859169a6af72cd70b"}, + {file = "black-22.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:4af5bc0e1f96be5ae9bd7aaec219c901a94d6caa2484c21983d043371c733fc4"}, + {file = "black-22.6.0-py3-none-any.whl", hash = "sha256:ac609cf8ef5e7115ddd07d85d988d074ed00e10fbc3445aee393e70164a2219c"}, + {file = "black-22.6.0.tar.gz", hash = "sha256:6c6d39e28aed379aec40da1c65434c77d75e65bb59a1e1c283de545fb4e7c6c9"}, +] +cffi = [ + {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, + {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, + {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, + {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, + {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, + {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, + {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, + {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, + {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, + {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, + {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, + {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, + {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, + {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, + {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, + {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, + {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, + {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, + {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, + {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, + {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, + {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, + {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, + {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, + {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, + {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, + {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, + {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, + {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, + {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, + {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, + {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, + {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, + {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, + {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, +] click = [ {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, @@ -1122,17 +1216,46 @@ commonmark = [ {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, ] -cryptography = [] +cryptography = [ + {file = "cryptography-37.0.4-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:549153378611c0cca1042f20fd9c5030d37a72f634c9326e225c9f666d472884"}, + {file = "cryptography-37.0.4-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:a958c52505c8adf0d3822703078580d2c0456dd1d27fabfb6f76fe63d2971cd6"}, + {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f721d1885ecae9078c3f6bbe8a88bc0786b6e749bf32ccec1ef2b18929a05046"}, + {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:3d41b965b3380f10e4611dbae366f6dc3cefc7c9ac4e8842a806b9672ae9add5"}, + {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80f49023dd13ba35f7c34072fa17f604d2f19bf0989f292cedf7ab5770b87a0b"}, + {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2dcb0b3b63afb6df7fd94ec6fbddac81b5492513f7b0436210d390c14d46ee8"}, + {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:b7f8dd0d4c1f21759695c05a5ec8536c12f31611541f8904083f3dc582604280"}, + {file = "cryptography-37.0.4-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:30788e070800fec9bbcf9faa71ea6d8068f5136f60029759fd8c3efec3c9dcb3"}, + {file = "cryptography-37.0.4-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:190f82f3e87033821828f60787cfa42bff98404483577b591429ed99bed39d59"}, + {file = "cryptography-37.0.4-cp36-abi3-win32.whl", hash = "sha256:b62439d7cd1222f3da897e9a9fe53bbf5c104fff4d60893ad1355d4c14a24157"}, + {file = "cryptography-37.0.4-cp36-abi3-win_amd64.whl", hash = "sha256:f7a6de3e98771e183645181b3627e2563dcde3ce94a9e42a3f427d2255190327"}, + {file = "cryptography-37.0.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc95ed67b6741b2607298f9ea4932ff157e570ef456ef7ff0ef4884a134cc4b"}, + {file = "cryptography-37.0.4-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:f8c0a6e9e1dd3eb0414ba320f85da6b0dcbd543126e30fcc546e7372a7fbf3b9"}, + {file = "cryptography-37.0.4-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:e007f052ed10cc316df59bc90fbb7ff7950d7e2919c9757fd42a2b8ecf8a5f67"}, + {file = "cryptography-37.0.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bc997818309f56c0038a33b8da5c0bfbb3f1f067f315f9abd6fc07ad359398d"}, + {file = "cryptography-37.0.4-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:d204833f3c8a33bbe11eda63a54b1aad7aa7456ed769a982f21ec599ba5fa282"}, + {file = "cryptography-37.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:75976c217f10d48a8b5a8de3d70c454c249e4b91851f6838a4e48b8f41eb71aa"}, + {file = "cryptography-37.0.4-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:7099a8d55cd49b737ffc99c17de504f2257e3787e02abe6d1a6d136574873441"}, + {file = "cryptography-37.0.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2be53f9f5505673eeda5f2736bea736c40f051a739bfae2f92d18aed1eb54596"}, + {file = "cryptography-37.0.4-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:91ce48d35f4e3d3f1d83e29ef4a9267246e6a3be51864a5b7d2247d5086fa99a"}, + {file = "cryptography-37.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4c590ec31550a724ef893c50f9a97a0c14e9c851c85621c5650d699a7b88f7ab"}, + {file = "cryptography-37.0.4.tar.gz", hash = "sha256:63f9c17c0e2474ccbebc9302ce2f07b55b3b3fcb211ded18a42d5764f5c10a82"}, +] decorator = [ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, ] -distlib = [] +distlib = [ + {file = "distlib-0.3.5-py2.py3-none-any.whl", hash = "sha256:b710088c59f06338ca514800ad795a132da19fda270e3ce4affc74abf955a26c"}, + {file = "distlib-0.3.5.tar.gz", hash = "sha256:a7f75737c70be3b25e2bee06288cec4e4c221de18455b2dd037fe2a795cab2fe"}, +] execnet = [ {file = "execnet-1.9.0-py2.py3-none-any.whl", hash = "sha256:a295f7cc774947aac58dde7fdc85f4aa00c42adf5d8f5468fc630c1acf30a142"}, {file = "execnet-1.9.0.tar.gz", hash = "sha256:8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5"}, ] -executing = [] +executing = [ + {file = "executing-0.9.1-py2.py3-none-any.whl", hash = "sha256:4ce4d6082d99361c0231fc31ac1a0f56979363cc6819de0b1410784f99e49105"}, + {file = "executing-0.9.1.tar.gz", hash = "sha256:ea278e2cf90cbbacd24f1080dd1f0ac25b71b2e21f50ab439b7ba45dd3195587"}, +] filelock = [ {file = "filelock-3.7.1-py3-none-any.whl", hash = "sha256:37def7b658813cda163b56fc564cdc75e86d338246458c4c28ae84cabefa2404"}, {file = "filelock-3.7.1.tar.gz", hash = "sha256:3a0fd85166ad9dbab54c9aec96737b744106dc5f15c0b09a6744a445299fcf04"}, @@ -1179,9 +1302,18 @@ jinja2 = [ {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, ] -keyring = [] -mako = [] -markdown = [] +keyring = [ + {file = "keyring-23.7.0-py3-none-any.whl", hash = "sha256:e67fc91a7955785fd2efcbccdd72d7dacf136dbc381d27de305b2b660b3de886"}, + {file = "keyring-23.7.0.tar.gz", hash = "sha256:782e1cd1132e91bf459fcd243bcf25b326015c1ac0b198e4408f91fa6791062b"}, +] +mako = [ + {file = "Mako-1.2.1-py3-none-any.whl", hash = "sha256:df3921c3081b013c8a2d5ff03c18375651684921ae83fd12e64800b7da923257"}, + {file = "Mako-1.2.1.tar.gz", hash = "sha256:f054a5ff4743492f1aa9ecc47172cb33b42b9d993cffcc146c9de17e717b0307"}, +] +markdown = [ + {file = "Markdown-3.4.1-py3-none-any.whl", hash = "sha256:08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186"}, + {file = "Markdown-3.4.1.tar.gz", hash = "sha256:3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff"}, +] markupsafe = [ {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, @@ -1287,12 +1419,18 @@ pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] -poethepoet = [] +poethepoet = [ + {file = "poethepoet-0.16.0-py3-none-any.whl", hash = "sha256:87482ea8bba4e5db4abbd8e6360baee73b2ce0f3d5f5e99e81cdfa39d72d118f"}, + {file = "poethepoet-0.16.0.tar.gz", hash = "sha256:6455aec39f198be92dbf210a4416e1635119e967204c092b431c8b10024db1d1"}, +] pprintpp = [ {file = "pprintpp-0.4.0-py2.py3-none-any.whl", hash = "sha256:b6b4dcdd0c0c0d75e4d7b2f21a9e933e5b2ce62b26e1a54537f9651ae5a5c01d"}, {file = "pprintpp-0.4.0.tar.gz", hash = "sha256:ea826108e2c7f49dc6d66c752973c3fc9749142a798d6b254e1e301cfdbc6403"}, ] -prompt-toolkit = [] +prompt-toolkit = [ + {file = "prompt_toolkit-3.0.30-py3-none-any.whl", hash = "sha256:d8916d3f62a7b67ab353a952ce4ced6a1d2587dfe9ef8ebc30dd7c386751f289"}, + {file = "prompt_toolkit-3.0.30.tar.gz", hash = "sha256:859b283c50bde45f5f97829f77a4674d1c1fcd88539364f1b28a37805cfd89c0"}, +] ptyprocess = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, @@ -1326,8 +1464,8 @@ pyparsing = [ {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] pyproject-flake8 = [ - {file = "pyproject-flake8-0.0.1a4.tar.gz", hash = "sha256:8ed9453f1d984cfe94c998f9840275359e29e7f435b8ddd188ae084e2dc1270c"}, - {file = "pyproject_flake8-0.0.1a4-py2.py3-none-any.whl", hash = "sha256:1a8f94e18d08677ee780625049d9d00a9ee823661c6606caab8a383351037a75"}, + {file = "pyproject-flake8-0.0.1a5.tar.gz", hash = "sha256:22542080ba90d4bd80ee060852db15a24aeea61c9a29ed7c16f5b59b0e47a03a"}, + {file = "pyproject_flake8-0.0.1a5-py2.py3-none-any.whl", hash = "sha256:c843d760c49d7b270e9abda58a57765c031918a9d10da25aa43572f5d77cac43"}, ] pytest = [ {file = "pytest-7.1.2-py3-none-any.whl", hash = "sha256:13d0e3ccfc2b6e26be000cb6568c832ba67ba32e719443bfe725814d3c42433c"}, @@ -1352,7 +1490,10 @@ python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, ] -pytz-deprecation-shim = [] +pytz-deprecation-shim = [ + {file = "pytz_deprecation_shim-0.1.0.post0-py2.py3-none-any.whl", hash = "sha256:8314c9692a636c8eb3bda879b9f119e350e93223ae83e70e80c31675a0fdc1a6"}, + {file = "pytz_deprecation_shim-0.1.0.post0.tar.gz", hash = "sha256:af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d"}, +] pywin32-ctypes = [ {file = "pywin32-ctypes-0.2.0.tar.gz", hash = "sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942"}, {file = "pywin32_ctypes-0.2.0-py2.py3-none-any.whl", hash = "sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98"}, @@ -1400,7 +1541,10 @@ pyyaml-env-tag = [ {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, ] -rich = [] +rich = [ + {file = "rich-12.5.1-py3-none-any.whl", hash = "sha256:2eb4e6894cde1e017976d2975ac210ef515d7548bc595ba20e195fb9628acdeb"}, + {file = "rich-12.5.1.tar.gz", hash = "sha256:63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca"}, +] "ruamel.yaml" = [ {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, {file = "ruamel.yaml-0.17.21.tar.gz", hash = "sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af"}, @@ -1456,15 +1600,30 @@ tomli = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] -tox = [] +tox = [ + {file = "tox-3.25.1-py2.py3-none-any.whl", hash = "sha256:c38e15f4733683a9cc0129fba078633e07eb0961f550a010ada879e95fb32632"}, + {file = "tox-3.25.1.tar.gz", hash = "sha256:c138327815f53bc6da4fe56baec5f25f00622ae69ef3fe4e1e385720e22486f9"}, +] traitlets = [ {file = "traitlets-5.3.0-py3-none-any.whl", hash = "sha256:65fa18961659635933100db8ca120ef6220555286949774b9cfc106f941d1c7a"}, {file = "traitlets-5.3.0.tar.gz", hash = "sha256:0bb9f1f9f017aa8ec187d8b1b2a7a6626a2a1d877116baba52a129bfa124f8e2"}, ] -typing-extensions = [] -tzdata = [] -tzlocal = [] -virtualenv = [] +typing-extensions = [ + {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, + {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, +] +tzdata = [ + {file = "tzdata-2022.1-py2.py3-none-any.whl", hash = "sha256:238e70234214138ed7b4e8a0fab0e5e13872edab3be586ab8198c407620e2ab9"}, + {file = "tzdata-2022.1.tar.gz", hash = "sha256:8b536a8ec63dc0751342b3984193a3118f8fca2afe25752bb9b7fffd398552d3"}, +] +tzlocal = [ + {file = "tzlocal-4.2-py3-none-any.whl", hash = "sha256:89885494684c929d9191c57aa27502afc87a579be5cdd3225c77c463ea043745"}, + {file = "tzlocal-4.2.tar.gz", hash = "sha256:ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7"}, +] +virtualenv = [ + {file = "virtualenv-20.16.2-py2.py3-none-any.whl", hash = "sha256:635b272a8e2f77cb051946f46c60a54ace3cb5e25568228bd6b57fc70eca9ff3"}, + {file = "virtualenv-20.16.2.tar.gz", hash = "sha256:0ef5be6d07181946891f5abc8047fda8bc2f0b4b9bf222c64e6e8963baee76db"}, +] watchdog = [ {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330"}, {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d"}, @@ -1500,5 +1659,11 @@ xmltodict = [ {file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"}, {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, ] -yq = [] -zipp = [] +yq = [ + {file = "yq-3.1.0-py3-none-any.whl", hash = "sha256:a1acffd3257a0b8e460f1a7ec1ae5af4646944e810f7d7099084b3104aa05769"}, + {file = "yq-3.1.0.tar.gz", hash = "sha256:30a84aa22486c749ba269256bd586c0bcd370b7e2a71e76c3924ead4867e74f2"}, +] +zipp = [ + {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, + {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, +] From c92ee476323077fb476d1a6039c750b13b6f315c Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 13 Aug 2022 19:49:55 +0000 Subject: [PATCH 045/485] Update changelog [ci skip] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 594d127e..178ead4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [Unreleased](https://github.com/jrnl-org/jrnl/) + +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1-beta...HEAD) + +**Packaging:** + +- Bump pyproject-flake8 from 0.0.1a4 to 0.0.1a5 [\#1552](https://github.com/jrnl-org/jrnl/pull/1552) ([dependabot[bot]](https://github.com/apps/dependabot)) + ## [v3.1-beta](https://pypi.org/project/jrnl/v3.1-beta/) (2022-07-30) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0...v3.1-beta) From fb473007da79c78827b76ed576e71768f22c034a Mon Sep 17 00:00:00 2001 From: Jonathan van der Steege Date: Sat, 13 Aug 2022 22:02:19 +0200 Subject: [PATCH 046/485] Export to file(s) when first line/title of an entry is very long (#1527) --- jrnl/plugins/text_exporter.py | 22 +++++++++++++++++++--- tests/bdd/features/format.feature | 18 ++++++++++++++++++ tests/lib/helpers.py | 15 +++++++++++++++ tests/lib/then_steps.py | 6 ++++++ 4 files changed, 58 insertions(+), 3 deletions(-) diff --git a/jrnl/plugins/text_exporter.py b/jrnl/plugins/text_exporter.py index cfd4a8ec..eeb934f9 100644 --- a/jrnl/plugins/text_exporter.py +++ b/jrnl/plugins/text_exporter.py @@ -1,6 +1,7 @@ # Copyright (C) 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html +import errno import os import re import unicodedata @@ -53,9 +54,24 @@ class TextExporter: def write_files(cls, journal, path): """Exports a journal into individual files for each entry.""" for entry in journal.entries: - full_path = os.path.join(path, cls.make_filename(entry)) - with open(full_path, "w", encoding="utf-8") as f: - f.write(cls.export_entry(entry)) + entry_is_written = False + while not entry_is_written: + full_path = os.path.join(path, cls.make_filename(entry)) + try: + with open(full_path, "w", encoding="utf-8") as f: + f.write(cls.export_entry(entry)) + entry_is_written = True + except OSError as oserr: + title_length = len(str(entry.title)) + if ( + oserr.errno == errno.ENAMETOOLONG + or oserr.errno == errno.ENOENT + or oserr.errno == errno.EINVAL + ) and title_length > 1: + shorter_file_length = title_length // 2 + entry.title = str(entry.title)[:shorter_file_length] + else: + raise print_msg( Message( MsgText.JournalExportedTo, diff --git a/tests/bdd/features/format.feature b/tests/bdd/features/format.feature index 9781ff51..d5714630 100644 --- a/tests/bdd/features/format.feature +++ b/tests/bdd/features/format.feature @@ -579,3 +579,21 @@ Feature: Custom formats | basic_encrypted.yaml | | basic_folder.yaml | | basic_dayone.yaml | + + Scenario: Export entries in markdown format with a title longer than max file name length. + Given we use the config "basic_onefile.yaml" + And we create a cache directory + When we run "jrnl 2022-07-31 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Laoreet id donec ultrices tincidunt arcu Dolor sit amet consectetur adipiscing elit duis tristique sollicitudin Ut pharetra sit amet aliquam id diam maecenas Habitasse platea dictumst quisque sagittis Aliquam purus sit amet luctus venenatis lectus magna Aenean sed adipiscing diam donec adipiscing tristique risus nec feugiat Diam vel quam elementum pulvinar etiam non Odio ut enim blandit volutpat maecenas volutpat Lacus vestibulum sed arcu non odio euismod lacinia at quis. Pretium nibh ipsum consequat nisl." + When we run "jrnl 2022-07-31 Magna fermentum iaculis eu non diam phasellus Non pulvinar neque laoreet suspendisse interdum consectetur libero id Scelerisque felis imperdiet proin fermentum leo Eu ultrices vitae auctor eu augue ut lectus Bibendum arcu vitae elementum curabitur vitae nunc sed Tincidunt tortor aliquam nulla facilisi cras fermentum Malesuada nunc vel risus commodo viverra maecenas accumsan lacus vel Non sodales neque sodales ut Enim nulla aliquet porttitor lacus luctus accumsan Volutpat blandit aliquam etiam erat velit scelerisque in dictum non Egestas fringilla phasellus faucibus scelerisque At risus viverra adipiscing at in tellus integer feugiat scelerisque Eget velit aliquet sagittis id consectetur purus ut Imperdiet nulla malesuada pellentesque elit eget gravida cum sociis Lacus vestibulum sed arcu non odio euismod lacinia at Elit pellentesque habitant morbi tristique Vestibulum lorem sed risus ultricies Integer eget aliquet nibh praesent tristique magna sit amet purus Quisque id diam vel quam elementum pulvinar etiam non quam Nisi scelerisque eu ultrices vitae auctor eu augue. Malesuada fames ac turpis egestas integer eget aliquet." + When we run "jrnl --format markdown --file {cache_dir}" + Then the cache directory should contain 5 files + And we should get no error + + Scenario: Export entries in text format with a title longer than max file name length. + Given we use the config "basic_onefile.yaml" + And we create a cache directory + When we run "jrnl 2022-07-31 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Laoreet id donec ultrices tincidunt arcu Dolor sit amet consectetur adipiscing elit duis tristique sollicitudin Ut pharetra sit amet aliquam id diam maecenas Habitasse platea dictumst quisque sagittis Aliquam purus sit amet luctus venenatis lectus magna Aenean sed adipiscing diam donec adipiscing tristique risus nec feugiat Diam vel quam elementum pulvinar etiam non Odio ut enim blandit volutpat maecenas volutpat Lacus vestibulum sed arcu non odio euismod lacinia at quis. Pretium nibh ipsum consequat nisl." + When we run "jrnl 2022-07-31 Magna fermentum iaculis eu non diam phasellus Non pulvinar neque laoreet suspendisse interdum consectetur libero id Scelerisque felis imperdiet proin fermentum leo Eu ultrices vitae auctor eu augue ut lectus Bibendum arcu vitae elementum curabitur vitae nunc sed Tincidunt tortor aliquam nulla facilisi cras fermentum Malesuada nunc vel risus commodo viverra maecenas accumsan lacus vel Non sodales neque sodales ut Enim nulla aliquet porttitor lacus luctus accumsan Volutpat blandit aliquam etiam erat velit scelerisque in dictum non Egestas fringilla phasellus faucibus scelerisque At risus viverra adipiscing at in tellus integer feugiat scelerisque Eget velit aliquet sagittis id consectetur purus ut Imperdiet nulla malesuada pellentesque elit eget gravida cum sociis Lacus vestibulum sed arcu non odio euismod lacinia at Elit pellentesque habitant morbi tristique Vestibulum lorem sed risus ultricies Integer eget aliquet nibh praesent tristique magna sit amet purus Quisque id diam vel quam elementum pulvinar etiam non quam Nisi scelerisque eu ultrices vitae auctor eu augue. Malesuada fames ac turpis egestas integer eget aliquet." + When we run "jrnl --format text --file {cache_dir}" + Then the cache directory should contain 5 files + And we should get no error diff --git a/tests/lib/helpers.py b/tests/lib/helpers.py index 39a24f71..e3a4d70d 100644 --- a/tests/lib/helpers.py +++ b/tests/lib/helpers.py @@ -17,6 +17,21 @@ def does_directory_contain_files(file_list, directory_path): return True +def does_directory_contain_n_files(directory_path, number): + count = 0 + if not os.path.isdir(directory_path): + return False + + files = [ + f + for f in os.listdir(directory_path) + if os.path.isfile(os.path.join(directory_path, f)) + ] + count = len(files) + + return int(number) == count + + def parse_should_or_should_not(should_or_should_not): if should_or_should_not == "should": return True diff --git a/tests/lib/then_steps.py b/tests/lib/then_steps.py index 4efde7a5..51b145d1 100644 --- a/tests/lib/then_steps.py +++ b/tests/lib/then_steps.py @@ -13,6 +13,7 @@ from ruamel.yaml import YAML from jrnl.config import scope_config from tests.lib.helpers import assert_equal_tags_ignoring_order from tests.lib.helpers import does_directory_contain_files +from tests.lib.helpers import does_directory_contain_n_files from tests.lib.helpers import get_nested_val from tests.lib.helpers import parse_should_or_should_not @@ -201,6 +202,11 @@ def assert_dir_contains_files(file_list, cache_dir): assert does_directory_contain_files(file_list, cache_dir["path"]) +@then(parse("the cache directory should contain {number} files")) +def assert_dir_contains_n_files(cache_dir, number): + assert does_directory_contain_n_files(cache_dir["path"], number) + + @then(parse("the journal directory should contain\n{file_list}")) def journal_directory_should_contain(config_on_disk, file_list): scoped_config = scope_config(config_on_disk, "default") From 5387763169cb006d093990dc2a9bc6d4457370b7 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 13 Aug 2022 20:04:09 +0000 Subject: [PATCH 047/485] Update changelog [ci skip] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 178ead4f..c49a334c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1-beta...HEAD) +**Fixed bugs:** + +- Export to file\(s\) when first line/title of an entry is very long [\#1527](https://github.com/jrnl-org/jrnl/pull/1527) ([jonakeys](https://github.com/jonakeys)) + **Packaging:** - Bump pyproject-flake8 from 0.0.1a4 to 0.0.1a5 [\#1552](https://github.com/jrnl-org/jrnl/pull/1552) ([dependabot[bot]](https://github.com/apps/dependabot)) From 4b53d16ea0fd0cab900796692ba9988212f5002d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 13 Aug 2022 13:48:38 -0700 Subject: [PATCH 048/485] Bump keyring from 23.7.0 to 23.8.2 (#1551) Bumps [keyring](https://github.com/jaraco/keyring) from 23.7.0 to 23.8.2. - [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/v23.7.0...v23.8.2) --- updated-dependencies: - dependency-name: keyring dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 102 ++++++++++++++++++++++++++-------------------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/poetry.lock b/poetry.lock index ef3d3582..2e922711 100644 --- a/poetry.lock +++ b/poetry.lock @@ -40,7 +40,7 @@ python-versions = "*" six = "*" [package.extras] -test = ["astroid", "pytest"] +test = ["pytest", "astroid"] [[package]] name = "atomicwrites" @@ -59,10 +59,10 @@ optional = false python-versions = ">=3.5" [package.extras] -dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] -docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] -tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "cloudpickle"] +tests_no_zope = ["cloudpickle", "pytest-mypy-plugins", "mypy (>=0.900,!=0.940)", "pytest (>=4.3.0)", "pympler", "hypothesis", "coverage[toml] (>=5.0.2)"] +tests = ["cloudpickle", "zope.interface", "pytest-mypy-plugins", "mypy (>=0.900,!=0.940)", "pytest (>=4.3.0)", "pympler", "hypothesis", "coverage[toml] (>=5.0.2)"] +docs = ["sphinx-notfound-page", "zope.interface", "sphinx", "furo"] +dev = ["cloudpickle", "pre-commit", "sphinx-notfound-page", "sphinx", "furo", "zope.interface", "pytest-mypy-plugins", "mypy (>=0.900,!=0.940)", "pytest (>=4.3.0)", "pympler", "hypothesis", "coverage[toml] (>=5.0.2)"] [[package]] name = "backcall" @@ -89,10 +89,10 @@ tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} [package.extras] -colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] -jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] +jupyter = ["tokenize-rt (>=3.2.0)", "ipython (>=7.8.0)"] +d = ["aiohttp (>=3.7.4)"] +colorama = ["colorama (>=0.4.3)"] [[package]] name = "cffi" @@ -198,8 +198,8 @@ optional = false python-versions = ">=3.7" [package.extras] -docs = ["furo (>=2021.8.17b43)", "sphinx (>=4.1)", "sphinx-autodoc-typehints (>=1.12)"] -testing = ["covdefaults (>=1.2.0)", "coverage (>=4)", "pytest (>=4)", "pytest-cov", "pytest-timeout (>=1.4.2)"] +testing = ["pytest-timeout (>=1.4.2)", "pytest-cov", "pytest (>=4)", "coverage (>=4)", "covdefaults (>=1.2.0)"] +docs = ["sphinx-autodoc-typehints (>=1.12)", "sphinx (>=4.1)", "furo (>=2021.8.17b43)"] [[package]] name = "flake8" @@ -248,9 +248,9 @@ python-versions = ">=3.7" zipp = ">=0.5" [package.extras] -docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"] +testing = ["importlib-resources (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-black (>=0.3.7)", "pytest-perf (>=0.9.2)", "flufl.flake8", "pyfakefs", "packaging", "pytest-enabler (>=1.3)", "pytest-cov", "pytest-flake8", "pytest-checkdocs (>=2.4)", "pytest (>=6)"] perf = ["ipython"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.3)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "importlib-resources (>=1.3)"] +docs = ["rst.linker (>=1.9)", "jaraco.packaging (>=9)", "sphinx"] [[package]] name = "iniconfig" @@ -296,17 +296,17 @@ stack-data = "*" traitlets = ">=5" [package.extras] -all = ["black", "Sphinx (>=1.3)", "ipykernel", "nbconvert", "nbformat", "ipywidgets", "notebook", "ipyparallel", "qtconsole", "pytest (<7.1)", "pytest-asyncio", "testpath", "curio", "matplotlib (!=3.2.0)", "numpy (>=1.19)", "pandas", "trio"] -black = ["black"] -doc = ["Sphinx (>=1.3)"] -kernel = ["ipykernel"] -nbconvert = ["nbconvert"] -nbformat = ["nbformat"] -notebook = ["ipywidgets", "notebook"] -parallel = ["ipyparallel"] +test_extra = ["trio", "pandas", "numpy (>=1.19)", "nbformat", "matplotlib (!=3.2.0)", "curio", "testpath", "pytest-asyncio", "pytest (<7.1)"] +test = ["testpath", "pytest-asyncio", "pytest (<7.1)"] qtconsole = ["qtconsole"] -test = ["pytest (<7.1)", "pytest-asyncio", "testpath"] -test_extra = ["pytest (<7.1)", "pytest-asyncio", "testpath", "curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.19)", "pandas", "trio"] +parallel = ["ipyparallel"] +notebook = ["notebook", "ipywidgets"] +nbformat = ["nbformat"] +nbconvert = ["nbconvert"] +kernel = ["ipykernel"] +doc = ["Sphinx (>=1.3)"] +black = ["black"] +all = ["trio", "pandas", "numpy (>=1.19)", "matplotlib (!=3.2.0)", "curio", "testpath", "pytest-asyncio", "pytest (<7.1)", "qtconsole", "ipyparallel", "notebook", "ipywidgets", "nbformat", "nbconvert", "ipykernel", "Sphinx (>=1.3)", "black"] [[package]] name = "isort" @@ -317,10 +317,10 @@ optional = false python-versions = ">=3.6.1,<4.0" [package.extras] -pipfile_deprecated_finder = ["pipreqs", "requirementslib"] -requirements_deprecated_finder = ["pipreqs", "pip-api"] -colors = ["colorama (>=0.4.3,<0.5.0)"] plugins = ["setuptools"] +colors = ["colorama (>=0.4.3,<0.5.0)"] +requirements_deprecated_finder = ["pip-api", "pipreqs"] +pipfile_deprecated_finder = ["requirementslib", "pipreqs"] [[package]] name = "jedi" @@ -334,8 +334,8 @@ python-versions = ">=3.6" parso = ">=0.8.0,<0.9.0" [package.extras] -qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] -testing = ["Django (<3.1)", "colorama", "docopt", "pytest (<7.0.0)"] +testing = ["pytest (<7.0.0)", "docopt", "colorama", "Django (<3.1)"] +qa = ["mypy (==0.782)", "flake8 (==3.8.3)"] [[package]] name = "jeepney" @@ -365,7 +365,7 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "keyring" -version = "23.7.0" +version = "23.8.2" description = "Store and access your passwords safely." category = "main" optional = false @@ -378,8 +378,8 @@ pywin32-ctypes = {version = "<0.1.0 || >0.1.0,<0.1.1 || >0.1.1", markers = "sys_ SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""} [package.extras] -docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "jaraco.tidelift (>=1.4)"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"] +testing = ["pytest-mypy (>=0.9.1)", "pytest-black (>=0.3.7)", "pytest-enabler (>=1.3)", "pytest-cov", "flake8 (<5)", "pytest-flake8", "pytest-checkdocs (>=2.4)", "pytest (>=6)"] +docs = ["jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "jaraco.packaging (>=9)", "sphinx"] [[package]] name = "mako" @@ -409,7 +409,7 @@ python-versions = ">=3.7" importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} [package.extras] -testing = ["coverage", "pyyaml"] +testing = ["pyyaml", "coverage"] [[package]] name = "markupsafe" @@ -529,8 +529,8 @@ optional = false python-versions = ">=3.6" [package.extras] -qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] -testing = ["docopt", "pytest (<6.0.0)"] +testing = ["pytest (<6.0.0)", "docopt"] +qa = ["mypy (==0.782)", "flake8 (==3.8.3)"] [[package]] name = "pastel" @@ -576,8 +576,8 @@ optional = false python-versions = ">=3.7" [package.extras] -docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)", "sphinx (>=4)"] -test = ["appdirs (==1.4.4)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)", "pytest (>=6)"] +test = ["pytest (>=6)", "pytest-mock (>=3.6)", "pytest-cov (>=2.7)", "appdirs (==1.4.4)"] +docs = ["sphinx (>=4)", "sphinx-autodoc-typehints (>=1.12)", "proselint (>=0.10.2)", "furo (>=2021.7.5b38)"] [[package]] name = "pluggy" @@ -693,7 +693,7 @@ optional = false python-versions = ">=3.6.8" [package.extras] -diagrams = ["railroad-diagrams", "jinja2"] +diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyproject-flake8" @@ -726,7 +726,7 @@ py = ">=1.8.2" tomli = ">=1.0.0" [package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] +testing = ["xmlschema", "requests", "pygments (>=2.7.2)", "nose", "mock", "hypothesis (>=3.56)", "argcomplete"] [[package]] name = "pytest-bdd" @@ -783,9 +783,9 @@ pytest = ">=6.2.0" pytest-forked = "*" [package.extras] -psutil = ["psutil (>=3.0)"] -setproctitle = ["setproctitle"] testing = ["filelock"] +setproctitle = ["setproctitle"] +psutil = ["psutil (>=3.0)"] [[package]] name = "python-dateutil" @@ -961,8 +961,8 @@ toml = ">=0.9.4" virtualenv = ">=16.0.0,<20.0.0 || >20.0.0,<20.0.1 || >20.0.1,<20.0.2 || >20.0.2,<20.0.3 || >20.0.3,<20.0.4 || >20.0.4,<20.0.5 || >20.0.5,<20.0.6 || >20.0.6,<20.0.7 || >20.0.7" [package.extras] -docs = ["pygments-github-lexers (>=0.0.5)", "sphinx (>=2.0.0)", "sphinxcontrib-autoprogram (>=0.1.5)", "towncrier (>=18.5.0)"] -testing = ["flaky (>=3.4.0)", "freezegun (>=0.3.11)", "pytest (>=4.0.0)", "pytest-cov (>=2.5.1)", "pytest-mock (>=1.10.0)", "pytest-randomly (>=1.0.0)", "psutil (>=5.6.1)", "pathlib2 (>=2.3.3)"] +testing = ["pathlib2 (>=2.3.3)", "psutil (>=5.6.1)", "pytest-randomly (>=1.0.0)", "pytest-mock (>=1.10.0)", "pytest-cov (>=2.5.1)", "pytest (>=4.0.0)", "freezegun (>=0.3.11)", "flaky (>=3.4.0)"] +docs = ["towncrier (>=18.5.0)", "sphinxcontrib-autoprogram (>=0.1.5)", "sphinx (>=2.0.0)", "pygments-github-lexers (>=0.0.5)"] [[package]] name = "traitlets" @@ -973,7 +973,7 @@ optional = false python-versions = ">=3.7" [package.extras] -test = ["pre-commit", "pytest"] +test = ["pytest", "pre-commit"] [[package]] name = "typing-extensions" @@ -1004,8 +1004,8 @@ pytz-deprecation-shim = "*" tzdata = {version = "*", markers = "platform_system == \"Windows\""} [package.extras] -devenv = ["black", "pyroma", "pytest-cov", "zest.releaser"] -test = ["pytest-mock (>=3.3)", "pytest (>=4.3)"] +test = ["pytest (>=4.3)", "pytest-mock (>=3.3)"] +devenv = ["zest.releaser", "pytest-cov", "pyroma", "black"] [[package]] name = "virtualenv" @@ -1021,8 +1021,8 @@ filelock = ">=3.2,<4" platformdirs = ">=2,<3" [package.extras] -docs = ["proselint (>=0.10.2)", "sphinx (>=3)", "sphinx-argparse (>=0.2.5)", "sphinx-rtd-theme (>=0.4.3)", "towncrier (>=21.3)"] -testing = ["coverage (>=4)", "coverage-enable-subprocess (>=1)", "flaky (>=3)", "packaging (>=20.0)", "pytest (>=4)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.1)", "pytest-mock (>=2)", "pytest-randomly (>=1)", "pytest-timeout (>=1)"] +testing = ["pytest-timeout (>=1)", "pytest-randomly (>=1)", "pytest-mock (>=2)", "pytest-freezegun (>=0.4.1)", "pytest-env (>=0.6.2)", "pytest (>=4)", "packaging (>=20.0)", "flaky (>=3)", "coverage-enable-subprocess (>=1)", "coverage (>=4)"] +docs = ["towncrier (>=21.3)", "sphinx-rtd-theme (>=0.4.3)", "sphinx-argparse (>=0.2.5)", "sphinx (>=3)", "proselint (>=0.10.2)"] [[package]] name = "watchdog" @@ -1066,7 +1066,7 @@ toml = ">=0.10.0" xmltodict = ">=0.11.0" [package.extras] -tests = ["coverage", "flake8", "wheel"] +tests = ["wheel", "flake8", "coverage"] [[package]] name = "zipp" @@ -1077,8 +1077,8 @@ optional = false python-versions = ">=3.7" [package.extras] -docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "jaraco.tidelift (>=1.4)"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.3)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"] +testing = ["pytest-mypy (>=0.9.1)", "pytest-black (>=0.3.7)", "func-timeout", "jaraco.itertools", "pytest-enabler (>=1.3)", "pytest-cov", "pytest-flake8", "pytest-checkdocs (>=2.4)", "pytest (>=6)"] +docs = ["jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "jaraco.packaging (>=9)", "sphinx"] [metadata] lock-version = "1.1" @@ -1303,8 +1303,8 @@ jinja2 = [ {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, ] keyring = [ - {file = "keyring-23.7.0-py3-none-any.whl", hash = "sha256:e67fc91a7955785fd2efcbccdd72d7dacf136dbc381d27de305b2b660b3de886"}, - {file = "keyring-23.7.0.tar.gz", hash = "sha256:782e1cd1132e91bf459fcd243bcf25b326015c1ac0b198e4408f91fa6791062b"}, + {file = "keyring-23.8.2-py3-none-any.whl", hash = "sha256:10d2a8639663fe2090705a00b8c47c687cacdf97598ea9c11456679fa974473a"}, + {file = "keyring-23.8.2.tar.gz", hash = "sha256:0d9973f8891850f1ade5f26aafd06bb16865fbbae3fc56b0defb6a14a2624003"}, ] mako = [ {file = "Mako-1.2.1-py3-none-any.whl", hash = "sha256:df3921c3081b013c8a2d5ff03c18375651684921ae83fd12e64800b7da923257"}, From a6756ebe0f43efcfe473b0e7f05d70e190ce3172 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 13 Aug 2022 20:50:33 +0000 Subject: [PATCH 049/485] Update changelog [ci skip] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c49a334c..cabb4750 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ **Packaging:** - Bump pyproject-flake8 from 0.0.1a4 to 0.0.1a5 [\#1552](https://github.com/jrnl-org/jrnl/pull/1552) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump keyring from 23.7.0 to 23.8.2 [\#1551](https://github.com/jrnl-org/jrnl/pull/1551) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump keyring from 23.6.0 to 23.7.0 [\#1539](https://github.com/jrnl-org/jrnl/pull/1539) ([dependabot[bot]](https://github.com/apps/dependabot)) ## [v3.1-beta](https://pypi.org/project/jrnl/v3.1-beta/) (2022-07-30) From 6f4e669e0d3ed38d3a4d41ce22e346cc5f193a34 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 13 Aug 2022 21:03:51 +0000 Subject: [PATCH 050/485] Increment version to v3.1-beta2 --- jrnl/__version__.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jrnl/__version__.py b/jrnl/__version__.py index c4a343ad..bae5c2a2 100644 --- a/jrnl/__version__.py +++ b/jrnl/__version__.py @@ -1 +1 @@ -__version__ = "v3.1-beta" +__version__ = "v3.1-beta2" diff --git a/pyproject.toml b/pyproject.toml index fa40a1c3..5d57af1e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "jrnl" -version = "v3.1-beta" +version = "v3.1-beta2" description = "Collect your thoughts and notes without leaving the command line." authors = [ "jrnl contributors ", From 33607acbb6c00c6475445ed87b31dfa2a960e107 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 13 Aug 2022 21:05:29 +0000 Subject: [PATCH 051/485] Update changelog [ci skip] --- CHANGELOG.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cabb4750..473706ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Changelog -## [Unreleased](https://github.com/jrnl-org/jrnl/) +## [v3.1-beta2](https://pypi.org/project/jrnl/v3.1-beta2/) (2022-08-13) -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1-beta...HEAD) +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1-beta...v3.1-beta2) **Fixed bugs:** @@ -12,7 +12,6 @@ - Bump pyproject-flake8 from 0.0.1a4 to 0.0.1a5 [\#1552](https://github.com/jrnl-org/jrnl/pull/1552) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump keyring from 23.7.0 to 23.8.2 [\#1551](https://github.com/jrnl-org/jrnl/pull/1551) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Bump keyring from 23.6.0 to 23.7.0 [\#1539](https://github.com/jrnl-org/jrnl/pull/1539) ([dependabot[bot]](https://github.com/apps/dependabot)) ## [v3.1-beta](https://pypi.org/project/jrnl/v3.1-beta/) (2022-07-30) From 671f4036029617921825846b05eaa2457b80d8b9 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sun, 21 Aug 2022 13:47:25 -0700 Subject: [PATCH 052/485] Fix docs pipeline, make docs tests easier to run locally and on different OSes (#1554) * update docs pipeline to use poe task runner * move npm dependency into package.json file instead of hardcoding into pipeline * replace nix-specific call with python version (for windows compat) * update commands to use python for win compat * update lock file * change deps to take out xq and use xmltodict instead * move script tasks from pyproject into new tasks.py * run linting on new tasks.py file * fix typo * clean up pyproject to make valid toml * update docs with correct task runner command * use npx in case node_modules/.bin isn't in the path * Run pa11y-ci in cross-platform manner (works on Windows) * Add node_modules to .gitignore * clean up poe alias Co-authored-by: Micah Jerome Ellison --- .github/workflows/docs.yaml | 21 +- .gitignore | 1 + docs/contributing.md | 2 +- package-lock.json | 2173 +++++++++++++++++++++++++++++++++++ package.json | 5 + poetry.lock | 419 +++---- pyproject.toml | 20 +- tasks.py | 56 + 8 files changed, 2397 insertions(+), 300 deletions(-) create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 tasks.py diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 395ba66f..12fda5e2 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -62,26 +62,11 @@ jobs: pip install poetry poetry config --local virtualenvs.in-project true poetry install --no-root --remove-untracked - npm install pa11y-ci + npm install echo "node_modules/.bin" >> $GITHUB_PATH - name: Start docs server - run: poetry run poe docs & - - - name: Generate sitemap - env: - site_url: http://127.0.0.1:8000 - run: | - filename='sitemap.xml' - select="{urls: [\"${site_url}/\", \"${site_url}/search.html?q=jrnl\", .urlset.url[].loc]}" - - curl -s "${site_url}/${filename}" > $filename - - echo "::group::${filename}" - cat $filename - echo '::endgroup::' - - poetry run xq "$select" $filename > list.json + run: poetry run poe docs-run & - name: Accessibility testing (Pa11y) - run: pa11y-ci -c list.json + run: poetry run poe docs-check diff --git a/.gitignore b/.gitignore index 48cbcddc..186ef3ac 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ parts/ sdist/ .tox/ var/ +node_modules/ # Versioning .python-version diff --git a/docs/contributing.md b/docs/contributing.md index 650d0cda..2005106f 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -27,7 +27,7 @@ Please report bugs by [opening a new issue](https://github.com/jrnl-org/jrnl/iss If you find a typo or a mistake in the docs, please fix it right away and send a pull request. If you're unsure what to change but still see a problem, you can [open a new issue](https://github.com/jrnl-org/jrnl/issues/new/choose) with the "Documentation change" type. -To edit the documentation, edit the `docs/*.md` files on the **develop** branch. You can see the result by running `poe docs` inside the project's root directory, then navigating your browser to [localhost:8000](http://localhost:8000). +To edit the documentation, edit the `docs/*.md` files on the **develop** branch. You can see the result by running `poe docs-run` inside the project's root directory, then navigating your browser to [localhost:8000](http://localhost:8000). The `gh-pages` branch is automatically maintained and generated after your changes are merged. You should never have to edit that branch. diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..8459ebe7 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2173 @@ +{ + "name": "jrnl", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "devDependencies": { + "pa11y-ci": ">=3.0.1" + } + }, + "node_modules/@types/node": { + "version": "18.7.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.3.tgz", + "integrity": "sha512-LJgzOEwWuMTBxHzgBR/fhhBOWrvBjvO+zPteUgbbuQi80rYIZHrk1mNbRUqPZqSLP2H7Rwt1EFLL/tNLD1Xx/w==", + "dev": true, + "optional": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/axe-core": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz", + "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bfj": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/check-types": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", + "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==", + "dev": true + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dev": true, + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/devtools-protocol": { + "version": "0.0.869402", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.869402.tgz", + "integrity": "sha512-VvlVYY+VDJe639yHs5PHISzdWTLL3Aw8rO4cvUtwvoxFd6FHbE4OpHHcde52M6096uYYazAmd4l0o5VuFRO2WA==", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz", + "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/file-url": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/file-url/-/file-url-3.0.0.tgz", + "integrity": "sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/hogan.js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz", + "integrity": "sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==", + "dev": true, + "dependencies": { + "mkdirp": "0.3.0", + "nopt": "1.0.10" + }, + "bin": { + "hulk": "bin/hulk" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/html_codesniffer": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/html_codesniffer/-/html_codesniffer-2.5.1.tgz", + "integrity": "sha512-vcz0yAaX/OaV6sdNHuT9alBOKkSxYb8h5Yq26dUqgi7XmCgGUSa7U9PiY1PBXQFMjKv1wVPs5/QzHlGuxPDUGg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/is/-/is-3.3.0.tgz", + "integrity": "sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node.extend": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node.extend/-/node.extend-2.0.2.tgz", + "integrity": "sha512-pDT4Dchl94/+kkgdwyS2PauDFjZG0Hk0IcHIB+LkW27HLDtdoeMxHTxZh39DYbPP8UflWXWj9JcdDozF+YDOpQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3", + "is": "^3.2.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-timeout": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz", + "integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pa11y": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/pa11y/-/pa11y-6.1.1.tgz", + "integrity": "sha512-2NzqA3D9CUlDWj8WuOI4fM2P0qM1d/IUxsRRpzCOfDT5eMR1oEgmUwW2TAk+f90ff/GVck0BewdYT4et4BANew==", + "dev": true, + "dependencies": { + "axe-core": "^4.0.2", + "bfj": "~7.0.2", + "commander": "~8.0.0", + "envinfo": "~7.8.1", + "hogan.js": "^3.0.2", + "html_codesniffer": "^2.5.1", + "kleur": "~4.1.4", + "node.extend": "~2.0.2", + "p-timeout": "~4.1.0", + "puppeteer": "~9.1.1", + "semver": "~7.3.5" + }, + "bin": { + "pa11y": "bin/pa11y.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/pa11y-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pa11y-ci/-/pa11y-ci-3.0.1.tgz", + "integrity": "sha512-DUtEIhEG3Ofds7qRuplq0DdCb9doILRlzcRctFNzo4QUNmVy4iZfM3u51A9cqoPo2irCJZoo5BzfiFrcriY2IQ==", + "dev": true, + "dependencies": { + "async": "~2.6.3", + "cheerio": "~1.0.0-rc.10", + "commander": "~6.2.1", + "globby": "~6.1.0", + "kleur": "~4.1.4", + "lodash": "~4.17.21", + "node-fetch": "~2.6.1", + "pa11y": "~6.1.0", + "protocolify": "~3.0.0", + "puppeteer": "~9.1.1", + "wordwrap": "~1.0.0" + }, + "bin": { + "pa11y-ci": "bin/pa11y-ci.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/pa11y/node_modules/commander": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.0.0.tgz", + "integrity": "sha512-Xvf85aAtu6v22+E5hfVoLHqyul/jyxh91zvqk/ioJTQuJR7Z78n7H558vMPKanPSRgIEeZemT92I2g9Y8LPbSQ==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/parse5": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", + "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", + "dev": true, + "dependencies": { + "entities": "^4.3.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dev": true, + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prepend-http": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-3.0.1.tgz", + "integrity": "sha512-BLxfZh+m6UiAiCPZFJ4+vYoL7NrRs5XgCTRrjseATAggXhdZKKxn+JUNmuVYWY23bDHgaEHodxw8mnmtVEDtHw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/protocolify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/protocolify/-/protocolify-3.0.0.tgz", + "integrity": "sha512-PuvDJOkKJMVQx8jSNf8E5g0bJw/UTKm30mTjFHg4N30c8sefgA5Qr/f8INKqYBKfvP/MUSJrj+z1Smjbq4/3rQ==", + "dev": true, + "dependencies": { + "file-url": "^3.0.0", + "prepend-http": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/puppeteer": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-9.1.1.tgz", + "integrity": "sha512-W+nOulP2tYd/ZG99WuZC/I5ljjQQ7EUw/jQGcIb9eu8mDlZxNY2SgcJXTLG9h5gRvqA3uJOe4hZXYsd3EqioMw==", + "deprecated": "Version no longer supported. Upgrade to @latest", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "debug": "^4.1.0", + "devtools-protocol": "0.0.869402", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.1", + "pkg-dir": "^4.2.0", + "progress": "^2.0.1", + "proxy-from-env": "^1.1.0", + "rimraf": "^3.0.2", + "tar-fs": "^2.0.0", + "unbzip2-stream": "^1.3.3", + "ws": "^7.2.3" + }, + "engines": { + "node": ">=10.18.1" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + }, + "dependencies": { + "@types/node": { + "version": "18.7.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.3.tgz", + "integrity": "sha512-LJgzOEwWuMTBxHzgBR/fhhBOWrvBjvO+zPteUgbbuQi80rYIZHrk1mNbRUqPZqSLP2H7Rwt1EFLL/tNLD1Xx/w==", + "dev": true, + "optional": true + }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "axe-core": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz", + "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bfj": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "check-types": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", + "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==", + "dev": true + }, + "cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dev": true, + "requires": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + } + }, + "cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "devtools-protocol": { + "version": "0.0.869402", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.869402.tgz", + "integrity": "sha512-VvlVYY+VDJe639yHs5PHISzdWTLL3Aw8rO4cvUtwvoxFd6FHbE4OpHHcde52M6096uYYazAmd4l0o5VuFRO2WA==", + "dev": true + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "dev": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "entities": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz", + "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==", + "dev": true + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "file-url": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/file-url/-/file-url-3.0.0.tgz", + "integrity": "sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "hogan.js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz", + "integrity": "sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==", + "dev": true, + "requires": { + "mkdirp": "0.3.0", + "nopt": "1.0.10" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true + }, + "html_codesniffer": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/html_codesniffer/-/html_codesniffer-2.5.1.tgz", + "integrity": "sha512-vcz0yAaX/OaV6sdNHuT9alBOKkSxYb8h5Yq26dUqgi7XmCgGUSa7U9PiY1PBXQFMjKv1wVPs5/QzHlGuxPDUGg==", + "dev": true + }, + "htmlparser2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/is/-/is-3.3.0.tgz", + "integrity": "sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==", + "dev": true + }, + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==", + "dev": true + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node.extend": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node.extend/-/node.extend-2.0.2.tgz", + "integrity": "sha512-pDT4Dchl94/+kkgdwyS2PauDFjZG0Hk0IcHIB+LkW27HLDtdoeMxHTxZh39DYbPP8UflWXWj9JcdDozF+YDOpQ==", + "dev": true, + "requires": { + "has": "^1.0.3", + "is": "^3.2.1" + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-timeout": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz", + "integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==", + "dev": true + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pa11y": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/pa11y/-/pa11y-6.1.1.tgz", + "integrity": "sha512-2NzqA3D9CUlDWj8WuOI4fM2P0qM1d/IUxsRRpzCOfDT5eMR1oEgmUwW2TAk+f90ff/GVck0BewdYT4et4BANew==", + "dev": true, + "requires": { + "axe-core": "^4.0.2", + "bfj": "~7.0.2", + "commander": "~8.0.0", + "envinfo": "~7.8.1", + "hogan.js": "^3.0.2", + "html_codesniffer": "^2.5.1", + "kleur": "~4.1.4", + "node.extend": "~2.0.2", + "p-timeout": "~4.1.0", + "puppeteer": "~9.1.1", + "semver": "~7.3.5" + }, + "dependencies": { + "commander": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.0.0.tgz", + "integrity": "sha512-Xvf85aAtu6v22+E5hfVoLHqyul/jyxh91zvqk/ioJTQuJR7Z78n7H558vMPKanPSRgIEeZemT92I2g9Y8LPbSQ==", + "dev": true + } + } + }, + "pa11y-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pa11y-ci/-/pa11y-ci-3.0.1.tgz", + "integrity": "sha512-DUtEIhEG3Ofds7qRuplq0DdCb9doILRlzcRctFNzo4QUNmVy4iZfM3u51A9cqoPo2irCJZoo5BzfiFrcriY2IQ==", + "dev": true, + "requires": { + "async": "~2.6.3", + "cheerio": "~1.0.0-rc.10", + "commander": "~6.2.1", + "globby": "~6.1.0", + "kleur": "~4.1.4", + "lodash": "~4.17.21", + "node-fetch": "~2.6.1", + "pa11y": "~6.1.0", + "protocolify": "~3.0.0", + "puppeteer": "~9.1.1", + "wordwrap": "~1.0.0" + } + }, + "parse5": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", + "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", + "dev": true, + "requires": { + "entities": "^4.3.0" + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dev": true, + "requires": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "prepend-http": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-3.0.1.tgz", + "integrity": "sha512-BLxfZh+m6UiAiCPZFJ4+vYoL7NrRs5XgCTRrjseATAggXhdZKKxn+JUNmuVYWY23bDHgaEHodxw8mnmtVEDtHw==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "protocolify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/protocolify/-/protocolify-3.0.0.tgz", + "integrity": "sha512-PuvDJOkKJMVQx8jSNf8E5g0bJw/UTKm30mTjFHg4N30c8sefgA5Qr/f8INKqYBKfvP/MUSJrj+z1Smjbq4/3rQ==", + "dev": true, + "requires": { + "file-url": "^3.0.0", + "prepend-http": "^3.0.0" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "puppeteer": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-9.1.1.tgz", + "integrity": "sha512-W+nOulP2tYd/ZG99WuZC/I5ljjQQ7EUw/jQGcIb9eu8mDlZxNY2SgcJXTLG9h5gRvqA3uJOe4hZXYsd3EqioMw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "devtools-protocol": "0.0.869402", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.1", + "pkg-dir": "^4.2.0", + "progress": "^2.0.1", + "proxy-from-env": "^1.1.0", + "rimraf": "^3.0.2", + "tar-fs": "^2.0.0", + "unbzip2-stream": "^1.3.3", + "ws": "^7.2.3" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..28cf4eeb --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "devDependencies": { + "pa11y-ci": ">=3.0.1" + } +} diff --git a/poetry.lock b/poetry.lock index 2e922711..d3f37b94 100644 --- a/poetry.lock +++ b/poetry.lock @@ -17,17 +17,6 @@ category = "dev" optional = false python-versions = "*" -[[package]] -name = "argcomplete" -version = "2.0.0" -description = "Bash tab completion for argparse" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.extras] -test = ["wheel", "pexpect", "flake8", "coverage"] - [[package]] name = "asttokens" version = "2.0.5" @@ -40,7 +29,7 @@ python-versions = "*" six = "*" [package.extras] -test = ["pytest", "astroid"] +test = ["astroid", "pytest"] [[package]] name = "atomicwrites" @@ -59,10 +48,10 @@ optional = false python-versions = ">=3.5" [package.extras] -tests_no_zope = ["cloudpickle", "pytest-mypy-plugins", "mypy (>=0.900,!=0.940)", "pytest (>=4.3.0)", "pympler", "hypothesis", "coverage[toml] (>=5.0.2)"] -tests = ["cloudpickle", "zope.interface", "pytest-mypy-plugins", "mypy (>=0.900,!=0.940)", "pytest (>=4.3.0)", "pympler", "hypothesis", "coverage[toml] (>=5.0.2)"] -docs = ["sphinx-notfound-page", "zope.interface", "sphinx", "furo"] -dev = ["cloudpickle", "pre-commit", "sphinx-notfound-page", "sphinx", "furo", "zope.interface", "pytest-mypy-plugins", "mypy (>=0.900,!=0.940)", "pytest (>=4.3.0)", "pympler", "hypothesis", "coverage[toml] (>=5.0.2)"] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] +docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "cloudpickle"] [[package]] name = "backcall" @@ -89,10 +78,18 @@ tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} [package.extras] -uvloop = ["uvloop (>=0.15.2)"] -jupyter = ["tokenize-rt (>=3.2.0)", "ipython (>=7.8.0)"] -d = ["aiohttp (>=3.7.4)"] colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "certifi" +version = "2022.6.15" +description = "Python package for providing Mozilla's CA Bundle." +category = "dev" +optional = false +python-versions = ">=3.6" [[package]] name = "cffi" @@ -105,6 +102,17 @@ python-versions = "*" [package.dependencies] pycparser = "*" +[[package]] +name = "charset-normalizer" +version = "2.1.0" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "dev" +optional = false +python-versions = ">=3.6.0" + +[package.extras] +unicode_backport = ["unicodedata2"] + [[package]] name = "click" version = "8.1.3" @@ -133,7 +141,7 @@ optional = false python-versions = "*" [package.extras] -test = ["hypothesis (==3.55.3)", "flake8 (==3.7.8)"] +test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] [[package]] name = "cryptography" @@ -198,8 +206,8 @@ optional = false python-versions = ">=3.7" [package.extras] -testing = ["pytest-timeout (>=1.4.2)", "pytest-cov", "pytest (>=4)", "coverage (>=4)", "covdefaults (>=1.2.0)"] -docs = ["sphinx-autodoc-typehints (>=1.12)", "sphinx (>=4.1)", "furo (>=2021.8.17b43)"] +docs = ["furo (>=2021.8.17b43)", "sphinx (>=4.1)", "sphinx-autodoc-typehints (>=1.12)"] +testing = ["covdefaults (>=1.2.0)", "coverage (>=4)", "pytest (>=4)", "pytest-cov", "pytest-timeout (>=1.4.2)"] [[package]] name = "flake8" @@ -226,7 +234,7 @@ python-versions = "*" python-dateutil = ">=2.8.1" [package.extras] -dev = ["wheel", "flake8", "markdown", "twine"] +dev = ["twine", "markdown", "flake8", "wheel"] [[package]] name = "glob2" @@ -236,6 +244,14 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "idna" +version = "3.3" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "dev" +optional = false +python-versions = ">=3.5" + [[package]] name = "importlib-metadata" version = "4.12.0" @@ -248,9 +264,9 @@ python-versions = ">=3.7" zipp = ">=0.5" [package.extras] -testing = ["importlib-resources (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-black (>=0.3.7)", "pytest-perf (>=0.9.2)", "flufl.flake8", "pyfakefs", "packaging", "pytest-enabler (>=1.3)", "pytest-cov", "pytest-flake8", "pytest-checkdocs (>=2.4)", "pytest (>=6)"] +docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"] perf = ["ipython"] -docs = ["rst.linker (>=1.9)", "jaraco.packaging (>=9)", "sphinx"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.3)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "importlib-resources (>=1.3)"] [[package]] name = "iniconfig" @@ -296,17 +312,17 @@ stack-data = "*" traitlets = ">=5" [package.extras] -test_extra = ["trio", "pandas", "numpy (>=1.19)", "nbformat", "matplotlib (!=3.2.0)", "curio", "testpath", "pytest-asyncio", "pytest (<7.1)"] -test = ["testpath", "pytest-asyncio", "pytest (<7.1)"] -qtconsole = ["qtconsole"] -parallel = ["ipyparallel"] -notebook = ["notebook", "ipywidgets"] -nbformat = ["nbformat"] -nbconvert = ["nbconvert"] -kernel = ["ipykernel"] -doc = ["Sphinx (>=1.3)"] +all = ["black", "Sphinx (>=1.3)", "ipykernel", "nbconvert", "nbformat", "ipywidgets", "notebook", "ipyparallel", "qtconsole", "pytest (<7.1)", "pytest-asyncio", "testpath", "curio", "matplotlib (!=3.2.0)", "numpy (>=1.19)", "pandas", "trio"] black = ["black"] -all = ["trio", "pandas", "numpy (>=1.19)", "matplotlib (!=3.2.0)", "curio", "testpath", "pytest-asyncio", "pytest (<7.1)", "qtconsole", "ipyparallel", "notebook", "ipywidgets", "nbformat", "nbconvert", "ipykernel", "Sphinx (>=1.3)", "black"] +doc = ["Sphinx (>=1.3)"] +kernel = ["ipykernel"] +nbconvert = ["nbconvert"] +nbformat = ["nbformat"] +notebook = ["ipywidgets", "notebook"] +parallel = ["ipyparallel"] +qtconsole = ["qtconsole"] +test = ["pytest (<7.1)", "pytest-asyncio", "testpath"] +test_extra = ["pytest (<7.1)", "pytest-asyncio", "testpath", "curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.19)", "pandas", "trio"] [[package]] name = "isort" @@ -317,10 +333,10 @@ optional = false python-versions = ">=3.6.1,<4.0" [package.extras] -plugins = ["setuptools"] +pipfile_deprecated_finder = ["pipreqs", "requirementslib"] +requirements_deprecated_finder = ["pipreqs", "pip-api"] colors = ["colorama (>=0.4.3,<0.5.0)"] -requirements_deprecated_finder = ["pip-api", "pipreqs"] -pipfile_deprecated_finder = ["requirementslib", "pipreqs"] +plugins = ["setuptools"] [[package]] name = "jedi" @@ -334,8 +350,8 @@ python-versions = ">=3.6" parso = ">=0.8.0,<0.9.0" [package.extras] -testing = ["pytest (<7.0.0)", "docopt", "colorama", "Django (<3.1)"] -qa = ["mypy (==0.782)", "flake8 (==3.8.3)"] +qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] +testing = ["Django (<3.1)", "colorama", "docopt", "pytest (<7.0.0)"] [[package]] name = "jeepney" @@ -346,8 +362,8 @@ optional = false python-versions = ">=3.7" [package.extras] -trio = ["async-generator", "trio"] -test = ["async-timeout", "trio", "testpath", "pytest-asyncio (>=0.17)", "pytest-trio", "pytest"] +test = ["pytest", "pytest-trio", "pytest-asyncio (>=0.17)", "testpath", "trio", "async-timeout"] +trio = ["trio", "async-generator"] [[package]] name = "jinja2" @@ -409,7 +425,7 @@ python-versions = ">=3.7" importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} [package.extras] -testing = ["pyyaml", "coverage"] +testing = ["coverage", "pyyaml"] [[package]] name = "markupsafe" @@ -509,8 +525,8 @@ parse = {version = ">=1.18.0", markers = "python_version >= \"3.0\""} six = ">=1.11" [package.extras] +develop = ["coverage (>=4.4)", "pytest-html (>=1.19.0)", "pytest-cov", "tox (>=2.8)", "pytest (<5.0)", "pytest (>=5.0)"] docs = ["sphinx (>=1.2)"] -develop = ["pytest (>=5.0)", "pytest (<5.0)", "tox (>=2.8)", "pytest-cov", "pytest-html (>=1.19.0)", "coverage (>=4.4)"] [[package]] name = "parsedatetime" @@ -529,8 +545,8 @@ optional = false python-versions = ">=3.6" [package.extras] -testing = ["pytest (<6.0.0)", "docopt"] -qa = ["mypy (==0.782)", "flake8 (==3.8.3)"] +qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] +testing = ["docopt", "pytest (<6.0.0)"] [[package]] name = "pastel" @@ -576,8 +592,8 @@ optional = false python-versions = ">=3.7" [package.extras] -test = ["pytest (>=6)", "pytest-mock (>=3.6)", "pytest-cov (>=2.7)", "appdirs (==1.4.4)"] -docs = ["sphinx (>=4)", "sphinx-autodoc-typehints (>=1.12)", "proselint (>=0.10.2)", "furo (>=2021.7.5b38)"] +docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)", "sphinx (>=4)"] +test = ["appdirs (==1.4.4)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)", "pytest (>=6)"] [[package]] name = "pluggy" @@ -588,8 +604,8 @@ optional = false python-versions = ">=3.6" [package.extras] -testing = ["pytest-benchmark", "pytest"] -dev = ["tox", "pre-commit"] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] [[package]] name = "poethepoet" @@ -693,7 +709,7 @@ optional = false python-versions = ">=3.6.8" [package.extras] -diagrams = ["jinja2", "railroad-diagrams"] +diagrams = ["railroad-diagrams", "jinja2"] [[package]] name = "pyproject-flake8" @@ -726,7 +742,7 @@ py = ">=1.8.2" tomli = ">=1.0.0" [package.extras] -testing = ["xmlschema", "requests", "pygments (>=2.7.2)", "nose", "mock", "hypothesis (>=3.56)", "argcomplete"] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] [[package]] name = "pytest-bdd" @@ -783,9 +799,9 @@ pytest = ">=6.2.0" pytest-forked = "*" [package.extras] -testing = ["filelock"] -setproctitle = ["setproctitle"] psutil = ["psutil (>=3.0)"] +setproctitle = ["setproctitle"] +testing = ["filelock"] [[package]] name = "python-dateutil" @@ -844,6 +860,24 @@ python-versions = ">=3.6" [package.dependencies] pyyaml = "*" +[[package]] +name = "requests" +version = "2.28.1" +description = "Python HTTP for Humans." +category = "dev" +optional = false +python-versions = ">=3.7, <4" + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<3" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] + [[package]] name = "rich" version = "12.5.1" @@ -916,7 +950,7 @@ executing = "*" pure-eval = "*" [package.extras] -tests = ["cython", "littleutils", "pygments", "typeguard", "pytest"] +tests = ["pytest", "typeguard", "pygments", "littleutils", "cython"] [[package]] name = "textwrap3" @@ -961,8 +995,8 @@ toml = ">=0.9.4" virtualenv = ">=16.0.0,<20.0.0 || >20.0.0,<20.0.1 || >20.0.1,<20.0.2 || >20.0.2,<20.0.3 || >20.0.3,<20.0.4 || >20.0.4,<20.0.5 || >20.0.5,<20.0.6 || >20.0.6,<20.0.7 || >20.0.7" [package.extras] -testing = ["pathlib2 (>=2.3.3)", "psutil (>=5.6.1)", "pytest-randomly (>=1.0.0)", "pytest-mock (>=1.10.0)", "pytest-cov (>=2.5.1)", "pytest (>=4.0.0)", "freezegun (>=0.3.11)", "flaky (>=3.4.0)"] -docs = ["towncrier (>=18.5.0)", "sphinxcontrib-autoprogram (>=0.1.5)", "sphinx (>=2.0.0)", "pygments-github-lexers (>=0.0.5)"] +docs = ["pygments-github-lexers (>=0.0.5)", "sphinx (>=2.0.0)", "sphinxcontrib-autoprogram (>=0.1.5)", "towncrier (>=18.5.0)"] +testing = ["flaky (>=3.4.0)", "freezegun (>=0.3.11)", "pytest (>=4.0.0)", "pytest-cov (>=2.5.1)", "pytest-mock (>=1.10.0)", "pytest-randomly (>=1.0.0)", "psutil (>=5.6.1)", "pathlib2 (>=2.3.3)"] [[package]] name = "traitlets" @@ -973,7 +1007,7 @@ optional = false python-versions = ">=3.7" [package.extras] -test = ["pytest", "pre-commit"] +test = ["pre-commit", "pytest"] [[package]] name = "typing-extensions" @@ -1004,8 +1038,21 @@ pytz-deprecation-shim = "*" tzdata = {version = "*", markers = "platform_system == \"Windows\""} [package.extras] -test = ["pytest (>=4.3)", "pytest-mock (>=3.3)"] -devenv = ["zest.releaser", "pytest-cov", "pyroma", "black"] +devenv = ["black", "pyroma", "pytest-cov", "zest.releaser"] +test = ["pytest-mock (>=3.3)", "pytest (>=4.3)"] + +[[package]] +name = "urllib3" +version = "1.26.11" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +secure = ["ipaddress", "certifi", "idna (>=2.0.0)", "cryptography (>=1.3.4)", "pyOpenSSL (>=0.14)"] +brotli = ["brotlipy (>=0.6.0)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] [[package]] name = "virtualenv" @@ -1021,8 +1068,8 @@ filelock = ">=3.2,<4" platformdirs = ">=2,<3" [package.extras] -testing = ["pytest-timeout (>=1)", "pytest-randomly (>=1)", "pytest-mock (>=2)", "pytest-freezegun (>=0.4.1)", "pytest-env (>=0.6.2)", "pytest (>=4)", "packaging (>=20.0)", "flaky (>=3)", "coverage-enable-subprocess (>=1)", "coverage (>=4)"] -docs = ["towncrier (>=21.3)", "sphinx-rtd-theme (>=0.4.3)", "sphinx-argparse (>=0.2.5)", "sphinx (>=3)", "proselint (>=0.10.2)"] +docs = ["proselint (>=0.10.2)", "sphinx (>=3)", "sphinx-argparse (>=0.2.5)", "sphinx-rtd-theme (>=0.4.3)", "towncrier (>=21.3)"] +testing = ["coverage (>=4)", "coverage-enable-subprocess (>=1)", "flaky (>=3)", "packaging (>=20.0)", "pytest (>=4)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.1)", "pytest-mock (>=2)", "pytest-randomly (>=1)", "pytest-timeout (>=1)"] [[package]] name = "watchdog" @@ -1047,27 +1094,10 @@ python-versions = "*" name = "xmltodict" version = "0.13.0" description = "Makes working with XML feel like you are working with JSON" -category = "dev" +category = "main" optional = false python-versions = ">=3.4" -[[package]] -name = "yq" -version = "3.1.0" -description = "Command-line YAML/XML processor - jq wrapper for YAML/XML documents" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -argcomplete = ">=1.8.1" -PyYAML = ">=5.3.1" -toml = ">=0.10.0" -xmltodict = ">=0.11.0" - -[package.extras] -tests = ["wheel", "flake8", "coverage"] - [[package]] name = "zipp" version = "3.8.1" @@ -1077,13 +1107,13 @@ optional = false python-versions = ">=3.7" [package.extras] -testing = ["pytest-mypy (>=0.9.1)", "pytest-black (>=0.3.7)", "func-timeout", "jaraco.itertools", "pytest-enabler (>=1.3)", "pytest-cov", "pytest-flake8", "pytest-checkdocs (>=2.4)", "pytest (>=6)"] -docs = ["jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "jaraco.packaging (>=9)", "sphinx"] +docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "jaraco.tidelift (>=1.4)"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.3)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" python-versions = ">=3.9.0, <3.12" -content-hash = "5f5954af39ca238b840a95e932999bcb1ead3b8d403d0d18e0a89806ddcc59f9" +content-hash = "256d370a30f2452fa169b9bad5eea686360556c7aba9a80b9ada70345d69f404" [metadata.files] ansiwrap = [ @@ -1094,116 +1124,20 @@ appnope = [ {file = "appnope-0.1.3-py2.py3-none-any.whl", hash = "sha256:265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e"}, {file = "appnope-0.1.3.tar.gz", hash = "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24"}, ] -argcomplete = [ - {file = "argcomplete-2.0.0-py2.py3-none-any.whl", hash = "sha256:cffa11ea77999bb0dd27bb25ff6dc142a6796142f68d45b1a26b11f58724561e"}, - {file = "argcomplete-2.0.0.tar.gz", hash = "sha256:6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20"}, -] asttokens = [ {file = "asttokens-2.0.5-py2.py3-none-any.whl", hash = "sha256:0844691e88552595a6f4a4281a9f7f79b8dd45ca4ccea82e5e05b4bbdb76705c"}, {file = "asttokens-2.0.5.tar.gz", hash = "sha256:9a54c114f02c7a9480d56550932546a3f1fe71d8a02f1bc7ccd0ee3ee35cf4d5"}, ] -atomicwrites = [ - {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, -] -attrs = [ - {file = "attrs-22.1.0-py2.py3-none-any.whl", hash = "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"}, - {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, -] +atomicwrites = [] +attrs = [] backcall = [ {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, ] -black = [ - {file = "black-22.6.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f586c26118bc6e714ec58c09df0157fe2d9ee195c764f630eb0d8e7ccce72e69"}, - {file = "black-22.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b270a168d69edb8b7ed32c193ef10fd27844e5c60852039599f9184460ce0807"}, - {file = "black-22.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6797f58943fceb1c461fb572edbe828d811e719c24e03375fd25170ada53825e"}, - {file = "black-22.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c85928b9d5f83b23cee7d0efcb310172412fbf7cb9d9ce963bd67fd141781def"}, - {file = "black-22.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:f6fe02afde060bbeef044af7996f335fbe90b039ccf3f5eb8f16df8b20f77666"}, - {file = "black-22.6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cfaf3895a9634e882bf9d2363fed5af8888802d670f58b279b0bece00e9a872d"}, - {file = "black-22.6.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94783f636bca89f11eb5d50437e8e17fbc6a929a628d82304c80fa9cd945f256"}, - {file = "black-22.6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:2ea29072e954a4d55a2ff58971b83365eba5d3d357352a07a7a4df0d95f51c78"}, - {file = "black-22.6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e439798f819d49ba1c0bd9664427a05aab79bfba777a6db94fd4e56fae0cb849"}, - {file = "black-22.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:187d96c5e713f441a5829e77120c269b6514418f4513a390b0499b0987f2ff1c"}, - {file = "black-22.6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:074458dc2f6e0d3dab7928d4417bb6957bb834434516f21514138437accdbe90"}, - {file = "black-22.6.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a218d7e5856f91d20f04e931b6f16d15356db1c846ee55f01bac297a705ca24f"}, - {file = "black-22.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:568ac3c465b1c8b34b61cd7a4e349e93f91abf0f9371eda1cf87194663ab684e"}, - {file = "black-22.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6c1734ab264b8f7929cef8ae5f900b85d579e6cbfde09d7387da8f04771b51c6"}, - {file = "black-22.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9a3ac16efe9ec7d7381ddebcc022119794872abce99475345c5a61aa18c45ad"}, - {file = "black-22.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:b9fd45787ba8aa3f5e0a0a98920c1012c884622c6c920dbe98dbd05bc7c70fbf"}, - {file = "black-22.6.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7ba9be198ecca5031cd78745780d65a3f75a34b2ff9be5837045dce55db83d1c"}, - {file = "black-22.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a3db5b6409b96d9bd543323b23ef32a1a2b06416d525d27e0f67e74f1446c8f2"}, - {file = "black-22.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:560558527e52ce8afba936fcce93a7411ab40c7d5fe8c2463e279e843c0328ee"}, - {file = "black-22.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b154e6bbde1e79ea3260c4b40c0b7b3109ffcdf7bc4ebf8859169a6af72cd70b"}, - {file = "black-22.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:4af5bc0e1f96be5ae9bd7aaec219c901a94d6caa2484c21983d043371c733fc4"}, - {file = "black-22.6.0-py3-none-any.whl", hash = "sha256:ac609cf8ef5e7115ddd07d85d988d074ed00e10fbc3445aee393e70164a2219c"}, - {file = "black-22.6.0.tar.gz", hash = "sha256:6c6d39e28aed379aec40da1c65434c77d75e65bb59a1e1c283de545fb4e7c6c9"}, -] -cffi = [ - {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, - {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, - {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, - {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, - {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, - {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, - {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, - {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, - {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, - {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, - {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, - {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, - {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, - {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, - {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, - {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, - {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, - {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, - {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, -] +black = [] +certifi = [] +cffi = [] +charset-normalizer = [] click = [ {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, @@ -1216,46 +1150,17 @@ commonmark = [ {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, ] -cryptography = [ - {file = "cryptography-37.0.4-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:549153378611c0cca1042f20fd9c5030d37a72f634c9326e225c9f666d472884"}, - {file = "cryptography-37.0.4-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:a958c52505c8adf0d3822703078580d2c0456dd1d27fabfb6f76fe63d2971cd6"}, - {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f721d1885ecae9078c3f6bbe8a88bc0786b6e749bf32ccec1ef2b18929a05046"}, - {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:3d41b965b3380f10e4611dbae366f6dc3cefc7c9ac4e8842a806b9672ae9add5"}, - {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80f49023dd13ba35f7c34072fa17f604d2f19bf0989f292cedf7ab5770b87a0b"}, - {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2dcb0b3b63afb6df7fd94ec6fbddac81b5492513f7b0436210d390c14d46ee8"}, - {file = "cryptography-37.0.4-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:b7f8dd0d4c1f21759695c05a5ec8536c12f31611541f8904083f3dc582604280"}, - {file = "cryptography-37.0.4-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:30788e070800fec9bbcf9faa71ea6d8068f5136f60029759fd8c3efec3c9dcb3"}, - {file = "cryptography-37.0.4-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:190f82f3e87033821828f60787cfa42bff98404483577b591429ed99bed39d59"}, - {file = "cryptography-37.0.4-cp36-abi3-win32.whl", hash = "sha256:b62439d7cd1222f3da897e9a9fe53bbf5c104fff4d60893ad1355d4c14a24157"}, - {file = "cryptography-37.0.4-cp36-abi3-win_amd64.whl", hash = "sha256:f7a6de3e98771e183645181b3627e2563dcde3ce94a9e42a3f427d2255190327"}, - {file = "cryptography-37.0.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc95ed67b6741b2607298f9ea4932ff157e570ef456ef7ff0ef4884a134cc4b"}, - {file = "cryptography-37.0.4-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:f8c0a6e9e1dd3eb0414ba320f85da6b0dcbd543126e30fcc546e7372a7fbf3b9"}, - {file = "cryptography-37.0.4-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:e007f052ed10cc316df59bc90fbb7ff7950d7e2919c9757fd42a2b8ecf8a5f67"}, - {file = "cryptography-37.0.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bc997818309f56c0038a33b8da5c0bfbb3f1f067f315f9abd6fc07ad359398d"}, - {file = "cryptography-37.0.4-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:d204833f3c8a33bbe11eda63a54b1aad7aa7456ed769a982f21ec599ba5fa282"}, - {file = "cryptography-37.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:75976c217f10d48a8b5a8de3d70c454c249e4b91851f6838a4e48b8f41eb71aa"}, - {file = "cryptography-37.0.4-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:7099a8d55cd49b737ffc99c17de504f2257e3787e02abe6d1a6d136574873441"}, - {file = "cryptography-37.0.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2be53f9f5505673eeda5f2736bea736c40f051a739bfae2f92d18aed1eb54596"}, - {file = "cryptography-37.0.4-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:91ce48d35f4e3d3f1d83e29ef4a9267246e6a3be51864a5b7d2247d5086fa99a"}, - {file = "cryptography-37.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4c590ec31550a724ef893c50f9a97a0c14e9c851c85621c5650d699a7b88f7ab"}, - {file = "cryptography-37.0.4.tar.gz", hash = "sha256:63f9c17c0e2474ccbebc9302ce2f07b55b3b3fcb211ded18a42d5764f5c10a82"}, -] +cryptography = [] decorator = [ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, ] -distlib = [ - {file = "distlib-0.3.5-py2.py3-none-any.whl", hash = "sha256:b710088c59f06338ca514800ad795a132da19fda270e3ce4affc74abf955a26c"}, - {file = "distlib-0.3.5.tar.gz", hash = "sha256:a7f75737c70be3b25e2bee06288cec4e4c221de18455b2dd037fe2a795cab2fe"}, -] +distlib = [] execnet = [ {file = "execnet-1.9.0-py2.py3-none-any.whl", hash = "sha256:a295f7cc774947aac58dde7fdc85f4aa00c42adf5d8f5468fc630c1acf30a142"}, {file = "execnet-1.9.0.tar.gz", hash = "sha256:8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5"}, ] -executing = [ - {file = "executing-0.9.1-py2.py3-none-any.whl", hash = "sha256:4ce4d6082d99361c0231fc31ac1a0f56979363cc6819de0b1410784f99e49105"}, - {file = "executing-0.9.1.tar.gz", hash = "sha256:ea278e2cf90cbbacd24f1080dd1f0ac25b71b2e21f50ab439b7ba45dd3195587"}, -] +executing = [] filelock = [ {file = "filelock-3.7.1-py3-none-any.whl", hash = "sha256:37def7b658813cda163b56fc564cdc75e86d338246458c4c28ae84cabefa2404"}, {file = "filelock-3.7.1.tar.gz", hash = "sha256:3a0fd85166ad9dbab54c9aec96737b744106dc5f15c0b09a6744a445299fcf04"}, @@ -1271,6 +1176,10 @@ ghp-import = [ glob2 = [ {file = "glob2-0.7.tar.gz", hash = "sha256:85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c"}, ] +idna = [ + {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, + {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, +] importlib-metadata = [ {file = "importlib_metadata-4.12.0-py3-none-any.whl", hash = "sha256:7401a975809ea1fdc658c3aa4f78cc2195a0e019c5cbc4c06122884e9ae80c23"}, {file = "importlib_metadata-4.12.0.tar.gz", hash = "sha256:637245b8bab2b6502fcbc752cc4b7a6f6243bb02b31c5c26156ad103d3d45670"}, @@ -1302,18 +1211,9 @@ jinja2 = [ {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, ] -keyring = [ - {file = "keyring-23.8.2-py3-none-any.whl", hash = "sha256:10d2a8639663fe2090705a00b8c47c687cacdf97598ea9c11456679fa974473a"}, - {file = "keyring-23.8.2.tar.gz", hash = "sha256:0d9973f8891850f1ade5f26aafd06bb16865fbbae3fc56b0defb6a14a2624003"}, -] -mako = [ - {file = "Mako-1.2.1-py3-none-any.whl", hash = "sha256:df3921c3081b013c8a2d5ff03c18375651684921ae83fd12e64800b7da923257"}, - {file = "Mako-1.2.1.tar.gz", hash = "sha256:f054a5ff4743492f1aa9ecc47172cb33b42b9d993cffcc146c9de17e717b0307"}, -] -markdown = [ - {file = "Markdown-3.4.1-py3-none-any.whl", hash = "sha256:08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186"}, - {file = "Markdown-3.4.1.tar.gz", hash = "sha256:3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff"}, -] +keyring = [] +mako = [] +markdown = [] markupsafe = [ {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, @@ -1419,18 +1319,12 @@ pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] -poethepoet = [ - {file = "poethepoet-0.16.0-py3-none-any.whl", hash = "sha256:87482ea8bba4e5db4abbd8e6360baee73b2ce0f3d5f5e99e81cdfa39d72d118f"}, - {file = "poethepoet-0.16.0.tar.gz", hash = "sha256:6455aec39f198be92dbf210a4416e1635119e967204c092b431c8b10024db1d1"}, -] +poethepoet = [] pprintpp = [ {file = "pprintpp-0.4.0-py2.py3-none-any.whl", hash = "sha256:b6b4dcdd0c0c0d75e4d7b2f21a9e933e5b2ce62b26e1a54537f9651ae5a5c01d"}, {file = "pprintpp-0.4.0.tar.gz", hash = "sha256:ea826108e2c7f49dc6d66c752973c3fc9749142a798d6b254e1e301cfdbc6403"}, ] -prompt-toolkit = [ - {file = "prompt_toolkit-3.0.30-py3-none-any.whl", hash = "sha256:d8916d3f62a7b67ab353a952ce4ced6a1d2587dfe9ef8ebc30dd7c386751f289"}, - {file = "prompt_toolkit-3.0.30.tar.gz", hash = "sha256:859b283c50bde45f5f97829f77a4674d1c1fcd88539364f1b28a37805cfd89c0"}, -] +prompt-toolkit = [] ptyprocess = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, @@ -1463,10 +1357,7 @@ pyparsing = [ {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] -pyproject-flake8 = [ - {file = "pyproject-flake8-0.0.1a5.tar.gz", hash = "sha256:22542080ba90d4bd80ee060852db15a24aeea61c9a29ed7c16f5b59b0e47a03a"}, - {file = "pyproject_flake8-0.0.1a5-py2.py3-none-any.whl", hash = "sha256:c843d760c49d7b270e9abda58a57765c031918a9d10da25aa43572f5d77cac43"}, -] +pyproject-flake8 = [] pytest = [ {file = "pytest-7.1.2-py3-none-any.whl", hash = "sha256:13d0e3ccfc2b6e26be000cb6568c832ba67ba32e719443bfe725814d3c42433c"}, {file = "pytest-7.1.2.tar.gz", hash = "sha256:a06a0425453864a270bc45e71f783330a7428defb4230fb5e6a731fde06ecd45"}, @@ -1490,10 +1381,7 @@ python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, ] -pytz-deprecation-shim = [ - {file = "pytz_deprecation_shim-0.1.0.post0-py2.py3-none-any.whl", hash = "sha256:8314c9692a636c8eb3bda879b9f119e350e93223ae83e70e80c31675a0fdc1a6"}, - {file = "pytz_deprecation_shim-0.1.0.post0.tar.gz", hash = "sha256:af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d"}, -] +pytz-deprecation-shim = [] pywin32-ctypes = [ {file = "pywin32-ctypes-0.2.0.tar.gz", hash = "sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942"}, {file = "pywin32_ctypes-0.2.0-py2.py3-none-any.whl", hash = "sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98"}, @@ -1541,10 +1429,8 @@ pyyaml-env-tag = [ {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, ] -rich = [ - {file = "rich-12.5.1-py3-none-any.whl", hash = "sha256:2eb4e6894cde1e017976d2975ac210ef515d7548bc595ba20e195fb9628acdeb"}, - {file = "rich-12.5.1.tar.gz", hash = "sha256:63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca"}, -] +requests = [] +rich = [] "ruamel.yaml" = [ {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, {file = "ruamel.yaml-0.17.21.tar.gz", hash = "sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af"}, @@ -1600,30 +1486,16 @@ tomli = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] -tox = [ - {file = "tox-3.25.1-py2.py3-none-any.whl", hash = "sha256:c38e15f4733683a9cc0129fba078633e07eb0961f550a010ada879e95fb32632"}, - {file = "tox-3.25.1.tar.gz", hash = "sha256:c138327815f53bc6da4fe56baec5f25f00622ae69ef3fe4e1e385720e22486f9"}, -] +tox = [] traitlets = [ {file = "traitlets-5.3.0-py3-none-any.whl", hash = "sha256:65fa18961659635933100db8ca120ef6220555286949774b9cfc106f941d1c7a"}, {file = "traitlets-5.3.0.tar.gz", hash = "sha256:0bb9f1f9f017aa8ec187d8b1b2a7a6626a2a1d877116baba52a129bfa124f8e2"}, ] -typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, -] -tzdata = [ - {file = "tzdata-2022.1-py2.py3-none-any.whl", hash = "sha256:238e70234214138ed7b4e8a0fab0e5e13872edab3be586ab8198c407620e2ab9"}, - {file = "tzdata-2022.1.tar.gz", hash = "sha256:8b536a8ec63dc0751342b3984193a3118f8fca2afe25752bb9b7fffd398552d3"}, -] -tzlocal = [ - {file = "tzlocal-4.2-py3-none-any.whl", hash = "sha256:89885494684c929d9191c57aa27502afc87a579be5cdd3225c77c463ea043745"}, - {file = "tzlocal-4.2.tar.gz", hash = "sha256:ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7"}, -] -virtualenv = [ - {file = "virtualenv-20.16.2-py2.py3-none-any.whl", hash = "sha256:635b272a8e2f77cb051946f46c60a54ace3cb5e25568228bd6b57fc70eca9ff3"}, - {file = "virtualenv-20.16.2.tar.gz", hash = "sha256:0ef5be6d07181946891f5abc8047fda8bc2f0b4b9bf222c64e6e8963baee76db"}, -] +typing-extensions = [] +tzdata = [] +tzlocal = [] +urllib3 = [] +virtualenv = [] watchdog = [ {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330"}, {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d"}, @@ -1659,11 +1531,4 @@ xmltodict = [ {file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"}, {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, ] -yq = [ - {file = "yq-3.1.0-py3-none-any.whl", hash = "sha256:a1acffd3257a0b8e460f1a7ec1ae5af4646944e810f7d7099084b3104aa05769"}, - {file = "yq-3.1.0.tar.gz", hash = "sha256:30a84aa22486c749ba269256bd586c0bcd370b7e2a71e76c3924ead4867e74f2"}, -] -zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, -] +zipp = [] diff --git a/pyproject.toml b/pyproject.toml index 5d57af1e..2e10ae1e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,9 +53,10 @@ pytest = ">=6.2" pytest-bdd = ">=4.0.1,<6.0" pytest-clarity = "*" pytest-xdist = ">=2.5.0" +requests = "*" toml = ">=0.10" tox = "*" -yq = "*" +xmltodict = "*" [tool.poetry.scripts] jrnl = 'jrnl.cli:cli' @@ -70,7 +71,7 @@ format-check = [ ] style-check = [ {cmd = "pflake8 --version"}, - {cmd = "pflake8 jrnl tests"}, + {cmd = "pflake8 jrnl tests tasks.py"}, ] sort-run = [ {cmd = "isort ."}, @@ -79,11 +80,22 @@ sort-check = [ {cmd = "isort --version"}, {cmd = "isort --check ."}, ] -# docs-check = ? + +docs-check.default_item_type = "script" +docs-check.sequence = [ + "tasks:delete_files(['sitemap.xml', 'config.json'])", + "tasks:generate_sitemap", + "tasks:output_file('sitemap.xml')", + "tasks:generate_pa11y_config_from_sitemap", + "tasks:output_file('config.json')", + "tasks:run_shell('npx pa11y-ci -c config.json')", + "tasks:delete_files(['sitemap.xml', 'config.json'])", +] docs-run = [ {cmd = "mkdocs serve"}, ] -test-run =[ + +test-run = [ {cmd = "tox -q -e py --"}, ] diff --git a/tasks.py b/tasks.py new file mode 100644 index 00000000..0fd966bd --- /dev/null +++ b/tasks.py @@ -0,0 +1,56 @@ +# Copyright © 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + +import json +import os +import pathlib +import subprocess + +import requests +import xmltodict + +DOCS_URL = "http://127.0.0.1:8000" +SITEMAP_FILENAME = "sitemap.xml" +CONFIG_FILENAME = "config.json" + + +def delete_files(files): + for file in files: + pathlib.Path(file).unlink(missing_ok=True) + + +def run_shell(command): + # Required to run NPM commands in Windows and *nix + subprocess.call(command, shell=True) + + +def generate_sitemap(): + sitemap = requests.get(f"{DOCS_URL}/{SITEMAP_FILENAME}") + with open(SITEMAP_FILENAME, "wb") as f: + f.write(sitemap.content) + + +def generate_pa11y_config_from_sitemap(): + with open(SITEMAP_FILENAME) as f: + xml_sitemap = xmltodict.parse(f.read()) + + urls = [ + f"{DOCS_URL}/", + f"{DOCS_URL}/search.html?q=jrnl", + ] + urls += [url["loc"] for url in xml_sitemap["urlset"]["url"]] + + with open(CONFIG_FILENAME, "w") as f: + f.write(json.dumps({"urls": urls})) + + +def output_file(file): + if not os.getenv("CI", False): + return + + print(f"::group::{file}") + + with open(file) as f: + print(f.read()) + + print("::endgroup::") From fd981216da442c0e09b063908219f53e181ba3d3 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sun, 21 Aug 2022 20:49:49 +0000 Subject: [PATCH 053/485] Update changelog [ci skip] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 473706ea..088728a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [Unreleased](https://github.com/jrnl-org/jrnl/) + +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1-beta2...HEAD) + +**Build:** + +- Fix docs pipeline, make docs tests easier to run locally and on different OSes [\#1554](https://github.com/jrnl-org/jrnl/pull/1554) ([wren](https://github.com/wren)) + ## [v3.1-beta2](https://pypi.org/project/jrnl/v3.1-beta2/) (2022-08-13) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1-beta...v3.1-beta2) From 803b3956fa288c65015075e8fddd414f3a14f2db Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sun, 21 Aug 2022 13:59:45 -0700 Subject: [PATCH 054/485] Add actionlint to testing pipelines (#1555) * add actionlint for github actions to testing suite * add quotes around vars per shellcheck * change expression per shellcheck * put more quotes around vars per shellcheck * put quotes around entire string * use find instead of ls to better handle non-alphanumberic filenames * update release workflow input types to have actual typese and fix typo --- .github/actionlint-matcher.json | 17 ++++++++++++ .github/workflows/changelog.yaml | 22 +++++++++------- .github/workflows/docs.yaml | 4 +-- .github/workflows/release.yaml | 24 ++++++++++------- .github/workflows/testing_pipelines.yaml | 33 ++++++++++++++++++++++++ 5 files changed, 78 insertions(+), 22 deletions(-) create mode 100644 .github/actionlint-matcher.json create mode 100644 .github/workflows/testing_pipelines.yaml diff --git a/.github/actionlint-matcher.json b/.github/actionlint-matcher.json new file mode 100644 index 00000000..4613e161 --- /dev/null +++ b/.github/actionlint-matcher.json @@ -0,0 +1,17 @@ +{ + "problemMatcher": [ + { + "owner": "actionlint", + "pattern": [ + { + "regexp": "^(?:\\x1b\\[\\d+m)?(.+?)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*: (?:\\x1b\\[\\d+m)*(.+?)(?:\\x1b\\[\\d+m)* \\[(.+?)\\]$", + "file": 1, + "line": 2, + "column": 3, + "message": 4, + "code": 5 + } + ] + } + ] +} diff --git a/.github/workflows/changelog.yaml b/.github/workflows/changelog.yaml index ba1ad405..c8ac0581 100644 --- a/.github/workflows/changelog.yaml +++ b/.github/workflows/changelog.yaml @@ -52,12 +52,12 @@ jobs: if [[ ! ${GITHUB_REF##*/} =~ $prerelease_regex ]]; then echo '::debug::Actual release (not a prerelease)' TAG_REGEX="$prerelease_regex" - echo "FULL_RELEASE=true" >> $GITHUB_ENV + echo "FULL_RELEASE=true" >> "$GITHUB_ENV" fi fi echo "::debug::TAG_REGEX: $TAG_REGEX" - if [[ "$(git rev-parse "origin/$BRANCH")" != $GITHUB_SHA ]]; then + if [[ "$(git rev-parse "origin/$BRANCH")" != "$GITHUB_SHA" ]]; then # Normal build on a branch (no tag) echo "::debug::BRANCH: $BRANCH $(git rev-parse origin/$BRANCH)" echo "::debug::GITHUB_SHA: $GITHUB_SHA" @@ -72,10 +72,12 @@ jobs: echo "::debug::FILENAME: CHANGELOG.md" echo "::debug::SINCE_TAG: $SINCE_TAG" - echo "BRANCH=$BRANCH" >> $GITHUB_ENV - echo "TAG_REGEX=$TAG_REGEX" >> $GITHUB_ENV - echo "FILENAME=CHANGELOG.md" >> $GITHUB_ENV - echo "SINCE_TAG=$SINCE_TAG" >> $GITHUB_ENV + { + echo "BRANCH=$BRANCH" + echo "TAG_REGEX=$TAG_REGEX" + echo "FILENAME=CHANGELOG.md" + echo "SINCE_TAG=$SINCE_TAG" + } >> "$GITHUB_ENV" - name: Prep changelog file (clear out old lines) run: | @@ -95,7 +97,7 @@ jobs: exit 1 fi - sed -i "1,$(expr $tagline - 1)d" "$FILENAME" + sed -i "1,$(( tagline - 1 ))d" "$FILENAME" # delete generated line (or it will be added multiple times) sed -i '/This Changelog was automatically generated by/d' "$FILENAME" # delete trailing empty lines @@ -139,7 +141,7 @@ jobs: SOMETHING_CHANGED=false git diff --exit-code || SOMETHING_CHANGED=true echo "::debug::SOMETHING_CHANGED: $SOMETHING_CHANGED" - echo "SOMETHING_CHANGED=$SOMETHING_CHANGED" >> $GITHUB_ENV + echo "SOMETHING_CHANGED=$SOMETHING_CHANGED" >> "$GITHUB_ENV" - name: Commit if: env.SOMETHING_CHANGED == 'true' @@ -148,13 +150,13 @@ jobs: git config --global user.email "${{ secrets.JRNL_BOT_EMAIL }}" git add "$FILENAME" git commit -m "Update changelog [ci skip]" - git push origin $BRANCH + git push origin "$BRANCH" - name: Merge to Release branch if: env.FULL_RELEASE == 'true' run: | git fetch --unshallow origin git checkout release - git merge --ff-only $BRANCH + git merge --ff-only "$BRANCH" git push origin release diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 12fda5e2..c3cd4fa9 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -43,7 +43,7 @@ jobs: uses: actions/setup-node@main - name: Capture full Python version in env - run: echo "PYTHON_FULL_VERSION=$(python --version)" >> $GITHUB_ENV + run: echo "PYTHON_FULL_VERSION=$(python --version)" >> "$GITHUB_ENV" - name: poetry cache uses: actions/cache@v2 @@ -63,7 +63,7 @@ jobs: poetry config --local virtualenvs.in-project true poetry install --no-root --remove-untracked npm install - echo "node_modules/.bin" >> $GITHUB_PATH + echo "node_modules/.bin" >> "$GITHUB_PATH" - name: Start docs server run: poetry run poe docs-run & diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 3eb8c8f4..aebc2308 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -7,17 +7,21 @@ on: inputs: version: description: 'Version (e.g. v2.5, v2.5.1-beta, v2.6-beta2)' + type: string required: true include_repo_version: description: 'Update version in repo? (true/false)' - require: true + type: boolean + required: true default: true include_pypi: description: 'Publish to PyPI? (true/false)' + type: boolean required: true default: true include_brew: description: 'Publish to Homebrew? (true/false)' + type: boolean required: true default: true @@ -59,7 +63,7 @@ jobs: run: | JRNL_VERSION="${{ github.event.inputs.version }}" echo "::debug::version: $JRNL_VERSION" - echo "JRNL_VERSION=$JRNL_VERSION" >> $GITHUB_ENV + echo "JRNL_VERSION=$JRNL_VERSION" >> "$GITHUB_ENV" - name: Set up Python uses: actions/setup-python@v2 @@ -83,7 +87,7 @@ jobs: if: ${{ github.event.inputs.include_repo_version == 'true' }} run: | poetry version "$JRNL_VERSION" - echo __version__ = \"$JRNL_VERSION\" > jrnl/__version__.py + echo "__version__ = \"$JRNL_VERSION\"" > jrnl/__version__.py - name: Commit updated files if: ${{ github.event.inputs.include_repo_version == 'true' && github.repository == env.HOME_REPO }} @@ -106,7 +110,7 @@ jobs: - name: Get PyPI version id: pypi-version-getter run: | - pypi_version="$(ls dist/jrnl-*.tar.gz | sed -r 's!dist/jrnl-(.*)\.tar\.gz!\1!')" + pypi_version="$(find dist/jrnl-*.tar.gz | sed -r 's!dist/jrnl-(.*)\.tar\.gz!\1!')" echo "::set-output name=pypi_version::$pypi_version" release_homebrew: @@ -127,8 +131,8 @@ jobs: echo "::debug::jrnl version: $JRNL_VERSION" echo "::debug::pypi version: $PYPI_VERSION" - echo "JRNL_VERSION=$JRNL_VERSION" >> $GITHUB_ENV - echo "PYPI_VERSION=$PYPI_VERSION" >> $GITHUB_ENV + echo "JRNL_VERSION=$JRNL_VERSION" >> "$GITHUB_ENV" + echo "PYPI_VERSION=$PYPI_VERSION" >> "$GITHUB_ENV" - name: Set env variables env: @@ -141,7 +145,7 @@ jobs: echo "FORMULA_REPO=${REPO_OWNER}/homebrew-prerelease" echo "BOT_REPO=jrnl-bot/homebrew-prerelease" echo "FORMULA_NAME=jrnl-beta" - } >> $GITHUB_ENV + } >> "$GITHUB_ENV" else echo '::debug::Full release (not a prerelease)' if [[ "${{ github.repository }}" == "${HOME_REPO}" ]]; then @@ -152,14 +156,14 @@ jobs: echo "FORMULA_REPO=${REPO_OWNER}/homebrew-core" echo "BOT_REPO=jrnl-bot/homebrew-core" echo "FORMULA_NAME=jrnl" - } >> $GITHUB_ENV + } >> "$GITHUB_ENV" fi - name: Tap formula run: | - brew tap ${FORMULA_REPO} + brew tap "${FORMULA_REPO}" echo '::debug::Set tap directory' - echo "BREW_TAP_DIRECTORY=$(brew --repo ${FORMULA_REPO})" >> $GITHUB_ENV + echo "BREW_TAP_DIRECTORY=$(brew --repo "${FORMULA_REPO}")" >> "$GITHUB_ENV" - name: Install dependencies run: brew install pipgrip diff --git a/.github/workflows/testing_pipelines.yaml b/.github/workflows/testing_pipelines.yaml new file mode 100644 index 00000000..3b562e05 --- /dev/null +++ b/.github/workflows/testing_pipelines.yaml @@ -0,0 +1,33 @@ +# Copyright (C) 2012-2022 jrnl contributors +# License: https://www.gnu.org/licenses/gpl-3.0.html + +name: Testing Pipeline Files + +on: + push: + branches: [ develop, release ] + paths: + - '.github/workflows/**' + - '.github/actions/**' + pull_request: + branches: [ develop ] + paths: + - '.github/workflows/**' + - '.github/actions/**' + +jobs: + test: + if: > + ! contains(github.event.head_commit.message, '[ci skip]') + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ ubuntu-latest ] + steps: + - run: git config --global core.autocrlf false + - uses: actions/checkout@v2 + - name: Check workflow files + uses: docker://rhysd/actionlint:latest + with: + args: -color From 5dcc721f155741e0a82bf9110099ff150b02c294 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sun, 21 Aug 2022 21:02:05 +0000 Subject: [PATCH 055/485] Update changelog [ci skip] --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 088728a7..c9eec9d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ **Build:** -- Fix docs pipeline, make docs tests easier to run locally and on different OSes [\#1554](https://github.com/jrnl-org/jrnl/pull/1554) ([wren](https://github.com/wren)) +- Add actionlint to testing pipelines [\#1555](https://github.com/jrnl-org/jrnl/pull/1555) ([wren](https://github.com/wren)) ## [v3.1-beta2](https://pypi.org/project/jrnl/v3.1-beta2/) (2022-08-13) From 4eb9c9fdec7650f6fa85b7c756d7fdaefda29e1e Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sun, 21 Aug 2022 14:17:35 -0700 Subject: [PATCH 056/485] Clean up copyright notices and version screen (#1553) * update copyright symbols to unicode * clean up version screen/copyright notice * small change to make commands more similar * update imports to appease isort * fix test * update one more file merged since PR was open --- .github/workflows/changelog.yaml | 2 +- .github/workflows/docs.yaml | 2 +- .github/workflows/release.yaml | 2 +- .github/workflows/testing_pipelines.yaml | 2 +- .github/workflows/testing_prs.yaml | 2 +- .github/workflows/testing_schedule.yaml | 2 +- CONTRIBUTING.md | 2 +- README.md | 2 +- docs/advanced.md | 2 +- docs/contributing.md | 2 +- docs/encryption.md | 2 +- docs/external-editors.md | 2 +- docs/formats.md | 2 +- docs/installation.md | 2 +- docs/journal-types.md | 2 +- docs/overview.md | 2 +- docs/privacy-and-security.md | 2 +- docs/reference-command-line.md | 2 +- docs/reference-config-file.md | 2 +- docs/tips-and-tricks.md | 2 +- docs/usage.md | 2 +- docs_theme/assets/colors.css | 2 +- docs_theme/assets/highlight.css | 2 +- docs_theme/assets/index.css | 2 +- docs_theme/assets/theme.css | 2 +- docs_theme/index.html | 2 +- docs_theme/main.html | 2 +- docs_theme/search.html | 2 +- jrnl/DayOneJournal.py | 2 +- jrnl/EncryptedJournal.py | 2 +- jrnl/Entry.py | 2 +- jrnl/FolderJournal.py | 2 +- jrnl/Journal.py | 2 +- jrnl/__init__.py | 2 +- jrnl/__main__.py | 2 +- jrnl/args.py | 2 +- jrnl/cli.py | 2 +- jrnl/color.py | 2 +- jrnl/commands.py | 21 +++++++++++++------- jrnl/config.py | 2 +- jrnl/editor.py | 2 +- jrnl/exception.py | 2 +- jrnl/install.py | 2 +- jrnl/jrnl.py | 2 +- jrnl/messages/Message.py | 2 +- jrnl/messages/MsgStyle.py | 2 +- jrnl/messages/MsgText.py | 2 +- jrnl/messages/__init__.py | 2 +- jrnl/os_compat.py | 2 +- jrnl/output.py | 2 +- jrnl/override.py | 2 +- jrnl/path.py | 2 +- jrnl/plugins/__init__.py | 2 +- jrnl/plugins/dates_exporter.py | 2 +- jrnl/plugins/fancy_exporter.py | 2 +- jrnl/plugins/jrnl_importer.py | 2 +- jrnl/plugins/json_exporter.py | 2 +- jrnl/plugins/markdown_exporter.py | 2 +- jrnl/plugins/tag_exporter.py | 2 +- jrnl/plugins/text_exporter.py | 2 +- jrnl/plugins/util.py | 2 +- jrnl/plugins/xml_exporter.py | 2 +- jrnl/plugins/yaml_exporter.py | 2 +- jrnl/prompt.py | 2 +- jrnl/time.py | 2 +- jrnl/upgrade.py | 2 +- tests/bdd/features/build.feature | 2 +- tests/bdd/features/change_time.feature | 2 +- tests/bdd/features/config_file.feature | 2 +- tests/bdd/features/core.feature | 4 ++-- tests/bdd/features/datetime.feature | 2 +- tests/bdd/features/delete.feature | 2 +- tests/bdd/features/encrypt.feature | 2 +- tests/bdd/features/file_storage.feature | 2 +- tests/bdd/features/format.feature | 2 +- tests/bdd/features/import.feature | 2 +- tests/bdd/features/multiple_journals.feature | 2 +- tests/bdd/features/override.feature | 2 +- tests/bdd/features/password.feature | 2 +- tests/bdd/features/search.feature | 2 +- tests/bdd/features/star.feature | 2 +- tests/bdd/features/tag.feature | 2 +- tests/bdd/features/upgrade.feature | 2 +- tests/bdd/features/write.feature | 2 +- tests/bdd/test_features.py | 2 +- tests/conftest.py | 2 +- tests/lib/fixtures.py | 2 +- tests/lib/given_steps.py | 2 +- tests/lib/helpers.py | 2 +- tests/lib/then_steps.py | 2 +- tests/lib/when_steps.py | 2 +- tests/unit/test_color.py | 2 +- tests/unit/test_config_file.py | 2 +- tests/unit/test_export.py | 2 +- tests/unit/test_install.py | 2 +- tests/unit/test_jrnl.py | 2 +- tests/unit/test_os_compat.py | 2 +- tests/unit/test_output.py | 2 +- tests/unit/test_override.py | 2 +- tests/unit/test_parse_args.py | 2 +- tests/unit/test_path.py | 2 +- tests/unit/test_time.py | 2 +- 102 files changed, 116 insertions(+), 109 deletions(-) diff --git a/.github/workflows/changelog.yaml b/.github/workflows/changelog.yaml index c8ac0581..e9d56d37 100644 --- a/.github/workflows/changelog.yaml +++ b/.github/workflows/changelog.yaml @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html name: Changelog diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index c3cd4fa9..29da43be 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html name: Docs diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index aebc2308..d68f7e9e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html name: Release diff --git a/.github/workflows/testing_pipelines.yaml b/.github/workflows/testing_pipelines.yaml index 3b562e05..e868a63a 100644 --- a/.github/workflows/testing_pipelines.yaml +++ b/.github/workflows/testing_pipelines.yaml @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html name: Testing Pipeline Files diff --git a/.github/workflows/testing_prs.yaml b/.github/workflows/testing_prs.yaml index 27126df8..11a1384b 100644 --- a/.github/workflows/testing_prs.yaml +++ b/.github/workflows/testing_prs.yaml @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html name: Testing diff --git a/.github/workflows/testing_schedule.yaml b/.github/workflows/testing_schedule.yaml index fd38cd41..ce29de64 100644 --- a/.github/workflows/testing_schedule.yaml +++ b/.github/workflows/testing_schedule.yaml @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html name: Testing diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bd00f6e2..0481aae2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,5 +1,5 @@ diff --git a/README.md b/README.md index e2809a0f..e7804059 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ diff --git a/docs/advanced.md b/docs/advanced.md index 61529fc4..7d46fbd7 100644 --- a/docs/advanced.md +++ b/docs/advanced.md @@ -1,5 +1,5 @@ diff --git a/docs/contributing.md b/docs/contributing.md index 2005106f..d14220dc 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,5 +1,5 @@ diff --git a/docs/encryption.md b/docs/encryption.md index e8b86e62..31f64502 100644 --- a/docs/encryption.md +++ b/docs/encryption.md @@ -1,5 +1,5 @@ diff --git a/docs/external-editors.md b/docs/external-editors.md index efa0b55c..be321bab 100644 --- a/docs/external-editors.md +++ b/docs/external-editors.md @@ -1,5 +1,5 @@ diff --git a/docs/formats.md b/docs/formats.md index a87c4e8a..47904c1e 100644 --- a/docs/formats.md +++ b/docs/formats.md @@ -1,5 +1,5 @@ diff --git a/docs/installation.md b/docs/installation.md index 4d2c4c97..82b9d450 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -1,5 +1,5 @@ diff --git a/docs/journal-types.md b/docs/journal-types.md index b2ec78da..a8e79220 100644 --- a/docs/journal-types.md +++ b/docs/journal-types.md @@ -1,5 +1,5 @@ diff --git a/docs/overview.md b/docs/overview.md index b20c85f9..df09d273 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -1,5 +1,5 @@ diff --git a/docs/privacy-and-security.md b/docs/privacy-and-security.md index 9030df99..f62f1cf6 100644 --- a/docs/privacy-and-security.md +++ b/docs/privacy-and-security.md @@ -1,5 +1,5 @@ diff --git a/docs/reference-command-line.md b/docs/reference-command-line.md index 149ae26f..8f906f8d 100644 --- a/docs/reference-command-line.md +++ b/docs/reference-command-line.md @@ -1,5 +1,5 @@ diff --git a/docs/reference-config-file.md b/docs/reference-config-file.md index 80949156..5239daa8 100644 --- a/docs/reference-config-file.md +++ b/docs/reference-config-file.md @@ -1,5 +1,5 @@ diff --git a/docs/tips-and-tricks.md b/docs/tips-and-tricks.md index c4531798..cebf2546 100644 --- a/docs/tips-and-tricks.md +++ b/docs/tips-and-tricks.md @@ -1,5 +1,5 @@ diff --git a/docs/usage.md b/docs/usage.md index 9e8c3ee3..13589e09 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -1,5 +1,5 @@ diff --git a/docs_theme/assets/colors.css b/docs_theme/assets/colors.css index 3f8b46a8..4cfe4c79 100644 --- a/docs_theme/assets/colors.css +++ b/docs_theme/assets/colors.css @@ -1,5 +1,5 @@ /* -Copyright (C) 2012-2022 jrnl contributors +Copyright © 2012-2022 jrnl contributors License: https://www.gnu.org/licenses/gpl-3.0.html */ diff --git a/docs_theme/assets/highlight.css b/docs_theme/assets/highlight.css index 27950c0f..22f3fabe 100644 --- a/docs_theme/assets/highlight.css +++ b/docs_theme/assets/highlight.css @@ -1,5 +1,5 @@ /* -Copyright (C) 2012-2022 jrnl contributors +Copyright © 2012-2022 jrnl contributors License: https://www.gnu.org/licenses/gpl-3.0.html Atom One Dark With support for ReasonML by Gidi Morris, based off work by diff --git a/docs_theme/assets/index.css b/docs_theme/assets/index.css index d6e834e3..4aa66b1a 100644 --- a/docs_theme/assets/index.css +++ b/docs_theme/assets/index.css @@ -1,5 +1,5 @@ /* -Copyright (C) 2012-2022 jrnl contributors +Copyright © 2012-2022 jrnl contributors License: https://www.gnu.org/licenses/gpl-3.0.html */ diff --git a/docs_theme/assets/theme.css b/docs_theme/assets/theme.css index 152e0521..a854022e 100644 --- a/docs_theme/assets/theme.css +++ b/docs_theme/assets/theme.css @@ -1,5 +1,5 @@ /* -Copyright (C) 2012-2022 jrnl contributors +Copyright © 2012-2022 jrnl contributors License: https://www.gnu.org/licenses/gpl-3.0.html */ diff --git a/docs_theme/index.html b/docs_theme/index.html index 57c90c76..1cd3e2dc 100644 --- a/docs_theme/index.html +++ b/docs_theme/index.html @@ -1,5 +1,5 @@ diff --git a/docs_theme/main.html b/docs_theme/main.html index 7849dd02..456924fe 100644 --- a/docs_theme/main.html +++ b/docs_theme/main.html @@ -1,5 +1,5 @@ diff --git a/docs_theme/search.html b/docs_theme/search.html index 37bcfe5d..fe3a23e7 100644 --- a/docs_theme/search.html +++ b/docs_theme/search.html @@ -1,5 +1,5 @@ diff --git a/jrnl/DayOneJournal.py b/jrnl/DayOneJournal.py index faeb5210..d7f06249 100644 --- a/jrnl/DayOneJournal.py +++ b/jrnl/DayOneJournal.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import datetime diff --git a/jrnl/EncryptedJournal.py b/jrnl/EncryptedJournal.py index fb1bd355..8b742d29 100644 --- a/jrnl/EncryptedJournal.py +++ b/jrnl/EncryptedJournal.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import base64 diff --git a/jrnl/Entry.py b/jrnl/Entry.py index 6754072f..b8c3b640 100644 --- a/jrnl/Entry.py +++ b/jrnl/Entry.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import datetime diff --git a/jrnl/FolderJournal.py b/jrnl/FolderJournal.py index 9362e269..25a927e1 100644 --- a/jrnl/FolderJournal.py +++ b/jrnl/FolderJournal.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import codecs diff --git a/jrnl/Journal.py b/jrnl/Journal.py index d389963b..c2c43142 100644 --- a/jrnl/Journal.py +++ b/jrnl/Journal.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import datetime diff --git a/jrnl/__init__.py b/jrnl/__init__.py index 1328df2a..6fe12d10 100644 --- a/jrnl/__init__.py +++ b/jrnl/__init__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html try: diff --git a/jrnl/__main__.py b/jrnl/__main__.py index 8017142e..7ff8fd4d 100644 --- a/jrnl/__main__.py +++ b/jrnl/__main__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import sys diff --git a/jrnl/args.py b/jrnl/args.py index ed33325b..6e0671f1 100644 --- a/jrnl/args.py +++ b/jrnl/args.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import argparse diff --git a/jrnl/cli.py b/jrnl/cli.py index 5941e02c..7c692c4f 100644 --- a/jrnl/cli.py +++ b/jrnl/cli.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import logging diff --git a/jrnl/color.py b/jrnl/color.py index 1970f487..f5634bbd 100644 --- a/jrnl/color.py +++ b/jrnl/color.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import re diff --git a/jrnl/commands.py b/jrnl/commands.py index b03bbf60..a96a2956 100644 --- a/jrnl/commands.py +++ b/jrnl/commands.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html """ @@ -26,27 +26,34 @@ from jrnl.prompt import create_password def preconfig_diagnostic(_): + from jrnl import __title__ from jrnl import __version__ print( - f"jrnl: {__version__}\n" + f"{__title__}: {__version__}\n" f"Python: {sys.version}\n" f"OS: {platform.system()} {platform.release()}" ) def preconfig_version(_): + import textwrap + from jrnl import __title__ from jrnl import __version__ - version_str = f"""{__title__} version {__version__} + output = f""" + {__title__} {__version__} -Copyright (C) 2012-2022 jrnl contributors + Copyright © 2012-2022 jrnl contributors -This is free software, and you are welcome to redistribute it under certain -conditions; for details, see: https://www.gnu.org/licenses/gpl-3.0.html""" + This is free software, and you are welcome to redistribute it under certain + conditions; for details, see: https://www.gnu.org/licenses/gpl-3.0.html + """ - print(version_str) + output = textwrap.dedent(output).strip() + + print(output) def postconfig_list(config, **kwargs): diff --git a/jrnl/config.py b/jrnl/config.py index cea3720e..bdcc86ab 100644 --- a/jrnl/config.py +++ b/jrnl/config.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import logging diff --git a/jrnl/editor.py b/jrnl/editor.py index f5be8395..fd063f44 100644 --- a/jrnl/editor.py +++ b/jrnl/editor.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import logging diff --git a/jrnl/exception.py b/jrnl/exception.py index 6dfc6593..86140cd9 100644 --- a/jrnl/exception.py +++ b/jrnl/exception.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from jrnl.messages import Message diff --git a/jrnl/install.py b/jrnl/install.py index d0ae4ac7..a4797dc7 100644 --- a/jrnl/install.py +++ b/jrnl/install.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import glob diff --git a/jrnl/jrnl.py b/jrnl/jrnl.py index b8f924bd..2b4df757 100644 --- a/jrnl/jrnl.py +++ b/jrnl/jrnl.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import logging diff --git a/jrnl/messages/Message.py b/jrnl/messages/Message.py index 3008db3b..e4d6176a 100644 --- a/jrnl/messages/Message.py +++ b/jrnl/messages/Message.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from typing import Mapping diff --git a/jrnl/messages/MsgStyle.py b/jrnl/messages/MsgStyle.py index c4a001d1..26f383ce 100644 --- a/jrnl/messages/MsgStyle.py +++ b/jrnl/messages/MsgStyle.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from enum import Enum diff --git a/jrnl/messages/MsgText.py b/jrnl/messages/MsgText.py index b8250970..4e7149b8 100644 --- a/jrnl/messages/MsgText.py +++ b/jrnl/messages/MsgText.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from enum import Enum diff --git a/jrnl/messages/__init__.py b/jrnl/messages/__init__.py index c452f08f..381ee332 100644 --- a/jrnl/messages/__init__.py +++ b/jrnl/messages/__init__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from jrnl.messages.Message import Message diff --git a/jrnl/os_compat.py b/jrnl/os_compat.py index 1ede4534..2bb46bc5 100644 --- a/jrnl/os_compat.py +++ b/jrnl/os_compat.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import shlex diff --git a/jrnl/output.py b/jrnl/output.py index 78765ca9..b82ec122 100644 --- a/jrnl/output.py +++ b/jrnl/output.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import textwrap diff --git a/jrnl/override.py b/jrnl/override.py index 7244fb8f..4b6506ee 100644 --- a/jrnl/override.py +++ b/jrnl/override.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from argparse import Namespace diff --git a/jrnl/path.py b/jrnl/path.py index cf13a2a8..0ec3492f 100644 --- a/jrnl/path.py +++ b/jrnl/path.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import os.path diff --git a/jrnl/plugins/__init__.py b/jrnl/plugins/__init__.py index 015725b2..ebfe5d3f 100644 --- a/jrnl/plugins/__init__.py +++ b/jrnl/plugins/__init__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from jrnl.plugins.dates_exporter import DatesExporter diff --git a/jrnl/plugins/dates_exporter.py b/jrnl/plugins/dates_exporter.py index a5a7054f..a5032f49 100644 --- a/jrnl/plugins/dates_exporter.py +++ b/jrnl/plugins/dates_exporter.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from collections import Counter diff --git a/jrnl/plugins/fancy_exporter.py b/jrnl/plugins/fancy_exporter.py index 2ce39ae0..1eaf74c0 100644 --- a/jrnl/plugins/fancy_exporter.py +++ b/jrnl/plugins/fancy_exporter.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import logging diff --git a/jrnl/plugins/jrnl_importer.py b/jrnl/plugins/jrnl_importer.py index 813702d8..c69d4673 100644 --- a/jrnl/plugins/jrnl_importer.py +++ b/jrnl/plugins/jrnl_importer.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import sys diff --git a/jrnl/plugins/json_exporter.py b/jrnl/plugins/json_exporter.py index 6aa23434..ae153b70 100644 --- a/jrnl/plugins/json_exporter.py +++ b/jrnl/plugins/json_exporter.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import json diff --git a/jrnl/plugins/markdown_exporter.py b/jrnl/plugins/markdown_exporter.py index 29e07bc1..c3476d51 100644 --- a/jrnl/plugins/markdown_exporter.py +++ b/jrnl/plugins/markdown_exporter.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import os diff --git a/jrnl/plugins/tag_exporter.py b/jrnl/plugins/tag_exporter.py index 35b25fdd..b9ab45b3 100644 --- a/jrnl/plugins/tag_exporter.py +++ b/jrnl/plugins/tag_exporter.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from jrnl.plugins.text_exporter import TextExporter diff --git a/jrnl/plugins/text_exporter.py b/jrnl/plugins/text_exporter.py index eeb934f9..931305ef 100644 --- a/jrnl/plugins/text_exporter.py +++ b/jrnl/plugins/text_exporter.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import errno diff --git a/jrnl/plugins/util.py b/jrnl/plugins/util.py index a2188306..55ae73c5 100644 --- a/jrnl/plugins/util.py +++ b/jrnl/plugins/util.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html diff --git a/jrnl/plugins/xml_exporter.py b/jrnl/plugins/xml_exporter.py index 02c8398a..a6c2fe79 100644 --- a/jrnl/plugins/xml_exporter.py +++ b/jrnl/plugins/xml_exporter.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from xml.dom import minidom diff --git a/jrnl/plugins/yaml_exporter.py b/jrnl/plugins/yaml_exporter.py index a9ff958b..c97692ad 100644 --- a/jrnl/plugins/yaml_exporter.py +++ b/jrnl/plugins/yaml_exporter.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import os diff --git a/jrnl/prompt.py b/jrnl/prompt.py index 803a5214..f4d62ae4 100644 --- a/jrnl/prompt.py +++ b/jrnl/prompt.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from jrnl.messages import Message diff --git a/jrnl/time.py b/jrnl/time.py index c457c12b..fd17ca0a 100644 --- a/jrnl/time.py +++ b/jrnl/time.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import datetime diff --git a/jrnl/upgrade.py b/jrnl/upgrade.py index 473f29e5..206b9405 100644 --- a/jrnl/upgrade.py +++ b/jrnl/upgrade.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import os diff --git a/tests/bdd/features/build.feature b/tests/bdd/features/build.feature index d2f5e950..d57e489f 100644 --- a/tests/bdd/features/build.feature +++ b/tests/bdd/features/build.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Build process diff --git a/tests/bdd/features/change_time.feature b/tests/bdd/features/change_time.feature index 7f4a08e3..6bcf8fe7 100644 --- a/tests/bdd/features/change_time.feature +++ b/tests/bdd/features/change_time.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Change entry times in journal diff --git a/tests/bdd/features/config_file.feature b/tests/bdd/features/config_file.feature index 5cd3a6c5..6c24f1e5 100644 --- a/tests/bdd/features/config_file.feature +++ b/tests/bdd/features/config_file.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Multiple journals diff --git a/tests/bdd/features/core.feature b/tests/bdd/features/core.feature index 7b8de194..4cd5328b 100644 --- a/tests/bdd/features/core.feature +++ b/tests/bdd/features/core.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Functionality of jrnl outside of actually handling journals @@ -7,7 +7,7 @@ Feature: Functionality of jrnl outside of actually handling journals Given we use the config "simple.yaml" When we run "jrnl --version" Then we should get no error - Then the output should match "^jrnl version v\d+\.\d+(\.\d+)?(-(alpha|beta)\d*)?" + Then the output should match "^jrnl v\d+\.\d+(\.\d+)?(-(alpha|beta)\d*)?" Scenario: Running the diagnostic command Given we use the config "simple.yaml" diff --git a/tests/bdd/features/datetime.feature b/tests/bdd/features/datetime.feature index e2b0fa76..4b80eefb 100644 --- a/tests/bdd/features/datetime.feature +++ b/tests/bdd/features/datetime.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Reading and writing to journal with custom date formats diff --git a/tests/bdd/features/delete.feature b/tests/bdd/features/delete.feature index 806abb18..6980cc26 100644 --- a/tests/bdd/features/delete.feature +++ b/tests/bdd/features/delete.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Delete entries from journal diff --git a/tests/bdd/features/encrypt.feature b/tests/bdd/features/encrypt.feature index 16c8855c..5c201361 100644 --- a/tests/bdd/features/encrypt.feature +++ b/tests/bdd/features/encrypt.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Encrypting and decrypting journals diff --git a/tests/bdd/features/file_storage.feature b/tests/bdd/features/file_storage.feature index 0e54f620..2ecdc58a 100644 --- a/tests/bdd/features/file_storage.feature +++ b/tests/bdd/features/file_storage.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Journals iteracting with the file system in a way that users can see diff --git a/tests/bdd/features/format.feature b/tests/bdd/features/format.feature index d5714630..8e395d05 100644 --- a/tests/bdd/features/format.feature +++ b/tests/bdd/features/format.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Custom formats diff --git a/tests/bdd/features/import.feature b/tests/bdd/features/import.feature index 3872702e..70dda0b3 100644 --- a/tests/bdd/features/import.feature +++ b/tests/bdd/features/import.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Importing data diff --git a/tests/bdd/features/multiple_journals.feature b/tests/bdd/features/multiple_journals.feature index 642149ca..3c2c7b73 100644 --- a/tests/bdd/features/multiple_journals.feature +++ b/tests/bdd/features/multiple_journals.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Multiple journals diff --git a/tests/bdd/features/override.feature b/tests/bdd/features/override.feature index 9af459f3..1d66f470 100644 --- a/tests/bdd/features/override.feature +++ b/tests/bdd/features/override.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Implementing Runtime Overrides for Select Configuration Keys diff --git a/tests/bdd/features/password.feature b/tests/bdd/features/password.feature index cf00f85c..2aa1b850 100644 --- a/tests/bdd/features/password.feature +++ b/tests/bdd/features/password.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Using the installed keyring diff --git a/tests/bdd/features/search.feature b/tests/bdd/features/search.feature index 239f74d5..5a3ed594 100644 --- a/tests/bdd/features/search.feature +++ b/tests/bdd/features/search.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Searching in a journal diff --git a/tests/bdd/features/star.feature b/tests/bdd/features/star.feature index 825ee2fa..5b81ec22 100644 --- a/tests/bdd/features/star.feature +++ b/tests/bdd/features/star.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Starring entries diff --git a/tests/bdd/features/tag.feature b/tests/bdd/features/tag.feature index 1d762431..4eb9d904 100644 --- a/tests/bdd/features/tag.feature +++ b/tests/bdd/features/tag.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Tagging diff --git a/tests/bdd/features/upgrade.feature b/tests/bdd/features/upgrade.feature index 5e53130a..3a6b1ee6 100644 --- a/tests/bdd/features/upgrade.feature +++ b/tests/bdd/features/upgrade.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Upgrading Journals from 1.x.x to 2.x.x diff --git a/tests/bdd/features/write.feature b/tests/bdd/features/write.feature index fe0573ff..335a33c0 100644 --- a/tests/bdd/features/write.feature +++ b/tests/bdd/features/write.feature @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html Feature: Writing new entries. diff --git a/tests/bdd/test_features.py b/tests/bdd/test_features.py index 7f02e6b3..387bd6cc 100644 --- a/tests/bdd/test_features.py +++ b/tests/bdd/test_features.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from pytest_bdd import scenarios diff --git a/tests/conftest.py b/tests/conftest.py index 61d73c66..d97ef47f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from pytest import mark diff --git a/tests/lib/fixtures.py b/tests/lib/fixtures.py index 1b65e765..e791e1a0 100644 --- a/tests/lib/fixtures.py +++ b/tests/lib/fixtures.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import os diff --git a/tests/lib/given_steps.py b/tests/lib/given_steps.py index 490b92f3..5ee88ab7 100644 --- a/tests/lib/given_steps.py +++ b/tests/lib/given_steps.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import json diff --git a/tests/lib/helpers.py b/tests/lib/helpers.py index e3a4d70d..c5db9ffd 100644 --- a/tests/lib/helpers.py +++ b/tests/lib/helpers.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import functools diff --git a/tests/lib/then_steps.py b/tests/lib/then_steps.py index 51b145d1..28bc41cf 100644 --- a/tests/lib/then_steps.py +++ b/tests/lib/then_steps.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import json diff --git a/tests/lib/when_steps.py b/tests/lib/when_steps.py index 6590b21f..920d66d4 100644 --- a/tests/lib/when_steps.py +++ b/tests/lib/when_steps.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import os diff --git a/tests/unit/test_color.py b/tests/unit/test_color.py index 1543834c..4f23955d 100644 --- a/tests/unit/test_color.py +++ b/tests/unit/test_color.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import pytest diff --git a/tests/unit/test_config_file.py b/tests/unit/test_config_file.py index 80734de4..acba3b64 100644 --- a/tests/unit/test_config_file.py +++ b/tests/unit/test_config_file.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import os diff --git a/tests/unit/test_export.py b/tests/unit/test_export.py index c5137794..27e60d80 100644 --- a/tests/unit/test_export.py +++ b/tests/unit/test_export.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import pytest diff --git a/tests/unit/test_install.py b/tests/unit/test_install.py index 8e5db8df..f4e19381 100644 --- a/tests/unit/test_install.py +++ b/tests/unit/test_install.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import sys diff --git a/tests/unit/test_jrnl.py b/tests/unit/test_jrnl.py index a310a281..369d6964 100644 --- a/tests/unit/test_jrnl.py +++ b/tests/unit/test_jrnl.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import random diff --git a/tests/unit/test_os_compat.py b/tests/unit/test_os_compat.py index 2a3b0b14..a18c1e75 100644 --- a/tests/unit/test_os_compat.py +++ b/tests/unit/test_os_compat.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from unittest import mock diff --git a/tests/unit/test_output.py b/tests/unit/test_output.py index e93ec44a..33f05264 100644 --- a/tests/unit/test_output.py +++ b/tests/unit/test_output.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from unittest.mock import Mock diff --git a/tests/unit/test_override.py b/tests/unit/test_override.py index fedd91dd..065ee3ee 100644 --- a/tests/unit/test_override.py +++ b/tests/unit/test_override.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html from argparse import Namespace diff --git a/tests/unit/test_parse_args.py b/tests/unit/test_parse_args.py index 6c187576..441f06e7 100644 --- a/tests/unit/test_parse_args.py +++ b/tests/unit/test_parse_args.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import shlex diff --git a/tests/unit/test_path.py b/tests/unit/test_path.py index 2759eac1..9f6bfce9 100644 --- a/tests/unit/test_path.py +++ b/tests/unit/test_path.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import random diff --git a/tests/unit/test_time.py b/tests/unit/test_time.py index 8bed5f86..20290a14 100644 --- a/tests/unit/test_time.py +++ b/tests/unit/test_time.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2022 jrnl contributors +# Copyright © 2012-2022 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html import datetime From 8948334d5d660bb582507f645c5085b7c5e5bfbd Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sun, 21 Aug 2022 21:19:21 +0000 Subject: [PATCH 057/485] Update changelog [ci skip] --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9eec9d9..7aa3c929 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ **Build:** - Add actionlint to testing pipelines [\#1555](https://github.com/jrnl-org/jrnl/pull/1555) ([wren](https://github.com/wren)) +- Fix docs pipeline, make docs tests easier to run locally and on different OSes [\#1554](https://github.com/jrnl-org/jrnl/pull/1554) ([wren](https://github.com/wren)) + +**Documentation:** + +- Clean up copyright notices and version screen [\#1553](https://github.com/jrnl-org/jrnl/pull/1553) ([wren](https://github.com/wren)) ## [v3.1-beta2](https://pypi.org/project/jrnl/v3.1-beta2/) (2022-08-13) From 5a5d31f213042ad2d47467366fc078f49bec3659 Mon Sep 17 00:00:00 2001 From: Janek Date: Sun, 21 Aug 2022 23:51:23 +0200 Subject: [PATCH 058/485] jrnl/args.py: reformat contributor appreciation (#1556) --- jrnl/args.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jrnl/args.py b/jrnl/args.py index 6e0671f1..4b2ba8ce 100644 --- a/jrnl/args.py +++ b/jrnl/args.py @@ -39,9 +39,9 @@ def parse_args(args=[]): description="Collect your thoughts and notes without leaving the command line", epilog=textwrap.dedent( """ - Thank you to all of our contributors! Come see the whole list of code and - financial contributors at https://github.com/jrnl-org/jrnl. And special - thanks to Bad Lip Reading for the Yoda joke in the Writing section above.""" + We gratefully thank all contributors! + Come see the whole list of code and financial contributors at https://github.com/jrnl-org/jrnl + And special thanks to Bad Lip Reading for the Yoda joke in the Writing section above :)""" ), ) From 1f58452b760e9f170c7c007698b838d0944fe70a Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sun, 21 Aug 2022 21:52:58 +0000 Subject: [PATCH 059/485] Update changelog [ci skip] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7aa3c929..62da1b12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ **Documentation:** +- Reformat contributor appreciation on `--help` screen [\#1556](https://github.com/jrnl-org/jrnl/pull/1556) ([xeruf](https://github.com/xeruf)) - Clean up copyright notices and version screen [\#1553](https://github.com/jrnl-org/jrnl/pull/1553) ([wren](https://github.com/wren)) ## [v3.1-beta2](https://pypi.org/project/jrnl/v3.1-beta2/) (2022-08-13) From b26fdb424b1e1f5a30d7c7a825ccd473fa43c8af Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sun, 21 Aug 2022 22:22:00 +0000 Subject: [PATCH 060/485] Increment version to v3.1 --- jrnl/__version__.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jrnl/__version__.py b/jrnl/__version__.py index bae5c2a2..9809ae42 100644 --- a/jrnl/__version__.py +++ b/jrnl/__version__.py @@ -1 +1 @@ -__version__ = "v3.1-beta2" +__version__ = "v3.1" diff --git a/pyproject.toml b/pyproject.toml index 2e10ae1e..b93e265f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "jrnl" -version = "v3.1-beta2" +version = "v3.1" description = "Collect your thoughts and notes without leaving the command line." authors = [ "jrnl contributors ", From 72d1a044d9014e6875b5cf37c68f45eab4e803e2 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sun, 21 Aug 2022 22:23:36 +0000 Subject: [PATCH 061/485] Update changelog [ci skip] --- CHANGELOG.md | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 62da1b12..64689361 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,19 @@ # Changelog -## [Unreleased](https://github.com/jrnl-org/jrnl/) +## [v3.1](https://pypi.org/project/jrnl/v3.1/) (2022-08-21) -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1-beta2...HEAD) +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1-beta2...v3.1) + +**Implemented enhancements:** + +- Update tzlocal to v4.x and remove pytz dependency [\#1528](https://github.com/jrnl-org/jrnl/pull/1528) ([outa](https://github.com/outa)) +- Add linewrap option 'auto' [\#1507](https://github.com/jrnl-org/jrnl/pull/1507) ([jonakeys](https://github.com/jonakeys)) + +**Fixed bugs:** + +- Update formatting function to better account for indentation [\#1541](https://github.com/jrnl-org/jrnl/pull/1541) ([wren](https://github.com/wren)) +- Export to file\(s\) when first line/title of an entry is very long [\#1527](https://github.com/jrnl-org/jrnl/pull/1527) ([jonakeys](https://github.com/jonakeys)) +- Fixed index out of range error in fancy exporter [\#1522](https://github.com/jrnl-org/jrnl/pull/1522) ([apainintheneck](https://github.com/apainintheneck)) **Build:** @@ -14,37 +25,10 @@ - Reformat contributor appreciation on `--help` screen [\#1556](https://github.com/jrnl-org/jrnl/pull/1556) ([xeruf](https://github.com/xeruf)) - Clean up copyright notices and version screen [\#1553](https://github.com/jrnl-org/jrnl/pull/1553) ([wren](https://github.com/wren)) -## [v3.1-beta2](https://pypi.org/project/jrnl/v3.1-beta2/) (2022-08-13) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1-beta...v3.1-beta2) - -**Fixed bugs:** - -- Export to file\(s\) when first line/title of an entry is very long [\#1527](https://github.com/jrnl-org/jrnl/pull/1527) ([jonakeys](https://github.com/jonakeys)) - **Packaging:** - Bump pyproject-flake8 from 0.0.1a4 to 0.0.1a5 [\#1552](https://github.com/jrnl-org/jrnl/pull/1552) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump keyring from 23.7.0 to 23.8.2 [\#1551](https://github.com/jrnl-org/jrnl/pull/1551) ([dependabot[bot]](https://github.com/apps/dependabot)) - -## [v3.1-beta](https://pypi.org/project/jrnl/v3.1-beta/) (2022-07-30) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.0...v3.1-beta) - -**Implemented enhancements:** - -- Warn user when there are duplicate keys in the config file [\#1415](https://github.com/jrnl-org/jrnl/issues/1415) -- Support tzlocal v4 [\#1338](https://github.com/jrnl-org/jrnl/issues/1338) -- Update tzlocal to v4.x and remove pytz dependency [\#1528](https://github.com/jrnl-org/jrnl/pull/1528) ([outa](https://github.com/outa)) -- Add linewrap option 'auto' [\#1507](https://github.com/jrnl-org/jrnl/pull/1507) ([jonakeys](https://github.com/jonakeys)) - -**Fixed bugs:** - -- Update formatting function to better account for indentation [\#1541](https://github.com/jrnl-org/jrnl/pull/1541) ([wren](https://github.com/wren)) -- Fixed index out of range error in fancy exporter [\#1522](https://github.com/jrnl-org/jrnl/pull/1522) ([apainintheneck](https://github.com/apainintheneck)) - -**Packaging:** - - Bump yq from 3.0.2 to 3.1.0 [\#1546](https://github.com/jrnl-org/jrnl/pull/1546) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump poethepoet from 0.15.0 to 0.16.0 [\#1542](https://github.com/jrnl-org/jrnl/pull/1542) ([dependabot[bot]](https://github.com/apps/dependabot)) - Bump keyring from 23.6.0 to 23.7.0 [\#1539](https://github.com/jrnl-org/jrnl/pull/1539) ([dependabot[bot]](https://github.com/apps/dependabot)) From 3c50b01c234a9a5ea522b88e09118c8817a87283 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 27 Aug 2022 12:03:01 -0700 Subject: [PATCH 062/485] take out old help text from pipeline config (#1565) These used to be needed because the `type` field didn't exist. --- .github/workflows/release.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d68f7e9e..5e60c90b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -10,17 +10,17 @@ on: type: string required: true include_repo_version: - description: 'Update version in repo? (true/false)' + description: 'Update version in repo?' type: boolean required: true default: true include_pypi: - description: 'Publish to PyPI? (true/false)' + description: 'Publish to PyPI?' type: boolean required: true default: true include_brew: - description: 'Publish to Homebrew? (true/false)' + description: 'Publish to Homebrew?' type: boolean required: true default: true From 0fddb07c091a819f02644419c6bdfec87dcad8e2 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 27 Aug 2022 19:05:08 +0000 Subject: [PATCH 063/485] Update changelog [ci skip] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64689361..36679130 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [Unreleased](https://github.com/jrnl-org/jrnl/) + +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1...HEAD) + +**Build:** + +- Quick fix follow up for actionlint [\#1565](https://github.com/jrnl-org/jrnl/pull/1565) ([wren](https://github.com/wren)) + ## [v3.1](https://pypi.org/project/jrnl/v3.1/) (2022-08-21) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1-beta2...v3.1) From 0cc771f6331b0df7ae12b66097075480bef07bd4 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sat, 27 Aug 2022 12:13:57 -0700 Subject: [PATCH 064/485] Add message showing the number of search results (#1524) * Added message showing the number of search results Modified _search_journal() to return a bool based upon whether any filter args were passed to the program. Added _print_entries_found_count() which prints a message based upon the number of entries found and prints warnings if the user was trying to edit or delete. * Add tests for search results msgs --- jrnl/jrnl.py | 60 +++++++++++++++++++++++++------ jrnl/messages/MsgText.py | 4 +++ tests/bdd/features/search.feature | 26 ++++++++++++-- 3 files changed, 77 insertions(+), 13 deletions(-) diff --git a/jrnl/jrnl.py b/jrnl/jrnl.py index 2b4df757..971ffd2a 100644 --- a/jrnl/jrnl.py +++ b/jrnl/jrnl.py @@ -173,8 +173,9 @@ def search_mode(args, journal, **kwargs): "old_entries": journal.entries, } - # Filters the journal entries in place - _search_journal(**kwargs) + if _has_search_args(args): + _filter_journal_entries(**kwargs) + _print_entries_found_count(len(journal), args) # Where do the search results go? if args.edit: @@ -196,6 +197,10 @@ def search_mode(args, journal, **kwargs): _edit_search_results(**kwargs) + elif not journal: + # Bail out if there are no entries and we're not editing + return + elif args.change_time: _change_time_search_results(**kwargs) @@ -244,8 +249,28 @@ def _get_editor_template(config, **kwargs): return template -def _search_journal(args, journal, **kwargs): - """Search the journal with the given args""" +def _has_search_args(args): + return any( + ( + args.on_date, + args.today_in_history, + args.text, + args.month, + args.day, + args.year, + args.start_date, + args.end_date, + args.strict, + args.starred, + args.excluded, + args.contains, + args.limit, + ) + ) + + +def _filter_journal_entries(args, journal, **kwargs): + """Filter journal entries in-place based upon search args""" if args.on_date: args.start_date = args.end_date = args.on_date @@ -269,6 +294,27 @@ def _search_journal(args, journal, **kwargs): journal.limit(args.limit) +def _print_entries_found_count(count, args): + if count == 0: + if args.edit or args.change_time: + print_msg(Message(MsgText.NothingToModify, MsgStyle.WARNING)) + elif args.delete: + print_msg(Message(MsgText.NothingToDelete, MsgStyle.WARNING)) + else: + print_msg(Message(MsgText.NoEntriesFound, MsgStyle.NORMAL)) + elif args.limit: + # Don't show count if the user expects a limited number of results + return + elif args.edit or not (args.change_time or args.delete): + # Don't show count if we are ONLY changing the time or deleting entries + my_msg = ( + MsgText.EntryFoundCountSingular + if count == 1 + else MsgText.EntryFoundCountPlural + ) + print_msg(Message(my_msg, MsgStyle.NORMAL, {"num": count})) + + def _other_entries(journal, entries): """Find entries that are not in journal""" return [e for e in entries if e not in journal.entries] @@ -352,9 +398,6 @@ def _get_predit_stats(journal): def _delete_search_results(journal, old_entries, **kwargs): - if not journal.entries: - raise JrnlException(Message(MsgText.NothingToDelete, MsgStyle.ERROR)) - entries_to_delete = journal.prompt_action_entries(MsgText.DeleteEntryQuestion) if entries_to_delete: @@ -365,9 +408,6 @@ def _delete_search_results(journal, old_entries, **kwargs): def _change_time_search_results(args, journal, old_entries, no_prompt=False, **kwargs): - if not journal.entries: - raise JrnlException(Message(MsgText.NothingToModify, MsgStyle.WARNING)) - # separate entries we are not editing other_entries = _other_entries(journal, old_entries) diff --git a/jrnl/messages/MsgText.py b/jrnl/messages/MsgText.py index 4e7149b8..0f509645 100644 --- a/jrnl/messages/MsgText.py +++ b/jrnl/messages/MsgText.py @@ -224,6 +224,10 @@ class MsgText(Enum): No entries to modify, because the search returned no results """ + NoEntriesFound = "no entries found" + EntryFoundCountSingular = "{num} entry found" + EntryFoundCountPlural = "{num} entries found" + # --- Formats --- # HeadingsPastH6 = """ Headings increased past H6 on export - {date} {title} diff --git a/tests/bdd/features/search.feature b/tests/bdd/features/search.feature index 5a3ed594..78e9a480 100644 --- a/tests/bdd/features/search.feature +++ b/tests/bdd/features/search.feature @@ -27,7 +27,8 @@ Feature: Searching in a journal When we run "jrnl tomorrow: A future entry." Then the output should contain "Entry added" When we run "jrnl -from today" - Then the output should contain "Adding an entry right now." + Then the output should contain "2 entries found" + And the output should contain "Adding an entry right now." And the output should contain "A future entry." And the output should not contain "This thing happened yesterday" @@ -47,7 +48,8 @@ Feature: Searching in a journal When we run "jrnl tomorrow: A future entry." Then the output should contain "Entry added" When we run "jrnl -from yesterday -to today" - Then the output should contain "This thing happened yesterday" + Then the output should contain "2 entries found" + And the output should contain "This thing happened yesterday" And the output should contain "Adding an entry right now." And the output should not contain "A future entry." @@ -61,6 +63,7 @@ Feature: Searching in a journal Given we use the config "" When we run "jrnl -contains first --short" Then we should get no error + And the output should contain "1 entry found" And the output should be 2020-08-29 11:11 Entry the first. @@ -70,6 +73,19 @@ Feature: Searching in a journal | basic_folder.yaml | | basic_dayone.yaml | + Scenario Outline: Searching for an unknown string + Given we use the config "" + When we run "jrnl -contains slkdfsdkfjsd" + Then we should get no error + And the output should contain "no entries found" + And the output should not contain "slkdfsdkfjsd" + + Examples: configs + | config_file | + | basic_onefile.yaml | + | basic_folder.yaml | + | basic_dayone.yaml | + Scenario Outline: Searching for a string within tag results Given we use the config "" When we run "jrnl @tagone -contains maybe" @@ -86,6 +102,7 @@ Feature: Searching in a journal Given we use the config "" When we run "jrnl -and @tagone @tagtwo -contains maybe" Then we should get no error + And the output should contain "1 entry found" And the output should contain "maybe" Examples: configs @@ -98,6 +115,7 @@ Feature: Searching in a journal Given we use the config "" When we run "jrnl -not @tagone -contains lonesome" Then we should get no error + And the output should contain "1 entry found" And the output should contain "lonesome" Examples: configs @@ -287,7 +305,8 @@ Feature: Searching in a journal And now is "2020-08-31 02:32:00 PM" When we run "jrnl 2019-08-31 01:01: Hi, from last year." And we run "jrnl -today-in-history --short" - Then the output should be + Then the output should contain "2 entries found" + And the output should be 2019-08-31 01:01 Hi, from last year. 2020-08-31 14:32 A second entry in what I hope to be a long series. @@ -302,6 +321,7 @@ Feature: Searching in a journal Given we use the config "dayone.yaml" When we run "jrnl -from 'feb 2013'" Then we should get no error + And the output should contain "3 entries found" And the output should be 2013-05-17 11:39 This entry has tags! From bb6491bd06dcc24d798044ba1c4928686e584435 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 27 Aug 2022 19:16:18 +0000 Subject: [PATCH 065/485] Update changelog [ci skip] --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36679130..edd9d4e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1...HEAD) +**Implemented enhancements:** + +- Report number of entries found in a search [\#1454](https://github.com/jrnl-org/jrnl/issues/1454) +- Add message showing the number of search results [\#1524](https://github.com/jrnl-org/jrnl/pull/1524) ([apainintheneck](https://github.com/apainintheneck)) + **Build:** - Quick fix follow up for actionlint [\#1565](https://github.com/jrnl-org/jrnl/pull/1565) ([wren](https://github.com/wren)) From f65f07dbcbe643ad74c0fecb9f1ba0c21f2ad11f Mon Sep 17 00:00:00 2001 From: Micah Jerome Ellison Date: Sat, 27 Aug 2022 12:33:44 -0700 Subject: [PATCH 066/485] Suppress "Entry added" message if using default journal (#1561) * Suppress "Entry added to default journal" message if using default journal * Replace "Entry added" BDD test steps with "we should get no error" now that the message is suppressed * Add positive and negative tests for "Entry added" message behavior --- jrnl/jrnl.py | 14 +++++----- tests/bdd/features/datetime.feature | 16 +++++------ tests/bdd/features/file_storage.feature | 4 +-- tests/bdd/features/override.feature | 1 - tests/bdd/features/search.feature | 18 ++++++------- tests/bdd/features/star.feature | 4 +-- tests/bdd/features/write.feature | 35 ++++++++++++++++++++----- 7 files changed, 57 insertions(+), 35 deletions(-) diff --git a/jrnl/jrnl.py b/jrnl/jrnl.py index 971ffd2a..5c9ae9ac 100644 --- a/jrnl/jrnl.py +++ b/jrnl/jrnl.py @@ -7,6 +7,7 @@ import sys from jrnl import install from jrnl import plugins from jrnl import time +from jrnl.config import DEFAULT_JOURNAL_KEY from jrnl.config import get_config_path from jrnl.config import get_journal_name from jrnl.config import scope_config @@ -146,13 +147,14 @@ def write_mode(args, config, journal, **kwargs): 'Write mode: appending raw text to journal "%s": %s', args.journal_name, raw ) journal.new_entry(raw) - print_msg( - Message( - MsgText.JournalEntryAdded, - MsgStyle.NORMAL, - {"journal_name": args.journal_name}, + if args.journal_name != DEFAULT_JOURNAL_KEY: + print_msg( + Message( + MsgText.JournalEntryAdded, + MsgStyle.NORMAL, + {"journal_name": args.journal_name}, + ) ) - ) journal.write() logging.debug("Write mode: completed journal.write()") diff --git a/tests/bdd/features/datetime.feature b/tests/bdd/features/datetime.feature index 4b80eefb..48166f20 100644 --- a/tests/bdd/features/datetime.feature +++ b/tests/bdd/features/datetime.feature @@ -7,7 +7,7 @@ Feature: Reading and writing to journal with custom date formats # https://github.com/jrnl-org/jrnl/issues/117 Given we use the config "simple.yaml" When we run "jrnl 2013-11-30 15:42: Project Started." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -999" Then the output should contain "2013-11-30 15:42 Project Started." @@ -16,7 +16,7 @@ Feature: Reading and writing to journal with custom date formats # https://github.com/jrnl-org/jrnl/issues/185 Given we use the config "simple.yaml" When we run "jrnl 26/06/2099: Planet? Earth. Year? 2099." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -999" Then the output should contain "2099-06-26 09:00 Planet?" @@ -37,7 +37,7 @@ Feature: Reading and writing to journal with custom date formats Scenario Outline: Writing an entry from command line with custom date Given we use the config "" When we run "jrnl " - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -n 1" Then the output should contain "" @@ -91,7 +91,7 @@ Feature: Reading and writing to journal with custom date formats Given we use the config "simple.yaml" And now is "2019-03-12 01:30:32 PM" When we run "jrnl " - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -1" Then the output should contain "" Then the output should contain the date "" @@ -113,7 +113,7 @@ Feature: Reading and writing to journal with custom date formats Given we use the config "simple.yaml" And now is "2019-03-12 01:30:32 PM" When we run "jrnl " - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -1" Then the output should contain "" Then the output should contain the date "" @@ -183,11 +183,11 @@ Feature: Reading and writing to journal with custom date formats Given we use the config "dayone.yaml" And now is "" When we run "jrnl yesterday: This thing happened yesterday" - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl today at 11:59pm: Adding an entry right now." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl tomorrow: A future entry." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -from yesterday -to today" Then the output should contain "This thing happened yesterday" And the output should contain "Adding an entry right now." diff --git a/tests/bdd/features/file_storage.feature b/tests/bdd/features/file_storage.feature index 2ecdc58a..29728cee 100644 --- a/tests/bdd/features/file_storage.feature +++ b/tests/bdd/features/file_storage.feature @@ -6,7 +6,7 @@ Feature: Journals iteracting with the file system in a way that users can see Scenario: Adding entries to a Folder journal should generate date files Given we use the config "empty_folder.yaml" When we run "jrnl 23 July 2013: Testing folder journal." - Then the output should contain "Entry added" + Then we should get no error And the journal directory should contain 2013/07/23.txt @@ -14,7 +14,7 @@ Feature: Journals iteracting with the file system in a way that users can see Given we use the config "empty_folder.yaml" When we run "jrnl 23 July 2013: Testing folder journal." And we run "jrnl 3/7/2014: Second entry of journal." - Then the output should contain "Entry added" + Then we should get no error And the journal directory should contain 2013/07/23.txt diff --git a/tests/bdd/features/override.feature b/tests/bdd/features/override.feature index 1d66f470..edb43b2f 100644 --- a/tests/bdd/features/override.feature +++ b/tests/bdd/features/override.feature @@ -72,7 +72,6 @@ Feature: Implementing Runtime Overrides for Select Configuration Keys And we use the password "test" if prompted When we run "jrnl --config-override journals.default features/journals/simple.journal 20 Mar 2000: The rain in Spain comes from clouds" Then we should get no error - And the output should contain "Entry added" When we run "jrnl -3 --config-override journals.default features/journals/simple.journal" Then the output should be 2000-03-20 09:00 The rain in Spain comes from clouds diff --git a/tests/bdd/features/search.feature b/tests/bdd/features/search.feature index 78e9a480..a38db59a 100644 --- a/tests/bdd/features/search.feature +++ b/tests/bdd/features/search.feature @@ -6,7 +6,7 @@ Feature: Searching in a journal Scenario Outline: Displaying entries using -on today should display entries created today Given we use the config "" When we run "jrnl today: Adding an entry right now." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -on today" Then the output should contain "Adding an entry right now." But the output should not contain "Everything is alright" @@ -21,11 +21,11 @@ Feature: Searching in a journal Scenario Outline: Displaying entries using -from day should display correct entries Given we use the config "" When we run "jrnl yesterday: This thing happened yesterday" - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl today at 11:59pm: Adding an entry right now." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl tomorrow: A future entry." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -from today" Then the output should contain "2 entries found" And the output should contain "Adding an entry right now." @@ -42,11 +42,11 @@ Feature: Searching in a journal Given we use the config "" And now is "2022-03-10 02:32:00 PM" When we run "jrnl yesterday: This thing happened yesterday" - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl today at 11:59pm: Adding an entry right now." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl tomorrow: A future entry." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -from yesterday -to today" Then the output should contain "2 entries found" And the output should contain "This thing happened yesterday" @@ -140,9 +140,9 @@ Feature: Searching in a journal Scenario: Out of order entries to a Folder journal should be listed in date order Given we use the config "empty_folder.yaml" When we run "jrnl 3/7/2014 4:37pm: Second entry of journal." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl 23 July 2013: Testing folder journal." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -2" Then the output should be 2013-07-23 09:00 Testing folder journal. diff --git a/tests/bdd/features/star.feature b/tests/bdd/features/star.feature index 5b81ec22..0359fca0 100644 --- a/tests/bdd/features/star.feature +++ b/tests/bdd/features/star.feature @@ -6,7 +6,7 @@ Feature: Starring entries Scenario Outline: Starring an entry will mark it in the journal file Given we use the config "" When we run "jrnl 20 july 2013 *: Best day of my life!" - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -on 2013-07-20 -starred" Then the output should contain "2013-07-20 09:00 Best day of my life!" @@ -34,6 +34,6 @@ Feature: Starring entries Given we use the config "encrypted.yaml" And we use the password "bad doggie no biscuit" if prompted When we run "jrnl 20 july 2013 *: Best day of my life!" - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -on 2013-07-20 -starred" and enter "bad doggie no biscuit" Then the output should contain "2013-07-20 09:00 Best day of my life!" diff --git a/tests/bdd/features/write.feature b/tests/bdd/features/write.feature index 335a33c0..33b81cdd 100644 --- a/tests/bdd/features/write.feature +++ b/tests/bdd/features/write.feature @@ -49,7 +49,7 @@ Feature: Writing new entries. Given we use the config "" And we use the password "bad doggie no biscuit" if prompted When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -n 1" Then the output should contain "2013-07-23 09:00 A cold and stormy day." @@ -64,7 +64,7 @@ Feature: Writing new entries. Given we use the config "" And we use the password "test" if prompted When we run "jrnl this is a partial --edit" - Then the output should contain "Entry added" + Then we should get no error Then the editor should have been called And the editor file content should be this is a partial @@ -128,7 +128,7 @@ Feature: Writing new entries. Given we use the config "" And we use the password "bad doggie no biscuit" if prompted When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -n 1" Then the output should not contain "Life is good" @@ -143,7 +143,7 @@ Feature: Writing new entries. Given we use the config "" And we use the password "bad doggie no biscuit" if prompted When we run "jrnl 04-24-2014: Created a new website - empty.com. Hope to get a lot of traffic." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -1" Then the output should be 2014-04-24 09:00 Created a new website - empty.com. @@ -160,7 +160,7 @@ Feature: Writing new entries. Given we use the config "" And we use the password "bad doggie no biscuit" if prompted When we run "jrnl 23 july 2013: 🌞 sunny day. Saw an 🐘" - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -n 1" Then the output should contain "🌞" And the output should contain "🐘" @@ -217,7 +217,7 @@ Feature: Writing new entries. Scenario: Title with an embedded period on DayOne journal Given we use the config "dayone.yaml" When we run "jrnl 04-24-2014: Ran 6.2 miles today in 1:02:03. I am feeling sore because I forgot to stretch." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -1" Then the output should be 2014-04-24 09:00 Ran 6.2 miles today in 1:02:03. @@ -226,7 +226,7 @@ Feature: Writing new entries. Scenario: Opening an folder that's not a DayOne folder should treat as folder journal Given we use the config "empty_folder.yaml" When we run "jrnl 23 july 2013: Testing folder journal." - Then the output should contain "Entry added" + Then we should get no error When we run "jrnl -1" Then the output should be "2013-07-23 09:00 Testing folder journal." @@ -313,3 +313,24 @@ Feature: Writing new entries. | basic_encrypted.yaml | | basic_folder.yaml | | basic_dayone.yaml | + + Scenario Outline: No "Entry added" message should appear when writing to the default journal + Given we use the config "" + And we use the password "test" if prompted + When we run "jrnl This is a new entry" + Then the output should not contain "Entry added" + And we should get no error + + Examples: configs + | config_file | + | basic_onefile.yaml | + | basic_encrypted.yaml | + | basic_folder.yaml | + | basic_dayone.yaml | + + Scenario: An "Entry added" message should appear when writing to a non-default journal + Given we use the config "multiple.yaml" + And we use the password "test" if prompted + When we run "jrnl work This is a new entry" + Then the output should contain "Entry added to work journal" + And we should get no error From 3efe09ad72ba6bde6e060acef1a2f4b63784ec06 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 27 Aug 2022 19:35:23 +0000 Subject: [PATCH 067/485] Update changelog [ci skip] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index edd9d4e2..3c830095 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,9 @@ **Implemented enhancements:** +- Supress output if action is successful [\#1543](https://github.com/jrnl-org/jrnl/issues/1543) - Report number of entries found in a search [\#1454](https://github.com/jrnl-org/jrnl/issues/1454) +- Suppress "Entry added" message if using default journal [\#1561](https://github.com/jrnl-org/jrnl/pull/1561) ([micahellison](https://github.com/micahellison)) - Add message showing the number of search results [\#1524](https://github.com/jrnl-org/jrnl/pull/1524) ([apainintheneck](https://github.com/apainintheneck)) **Build:** From a107c868a0d0175468f6169157b141037214be38 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 27 Aug 2022 19:40:35 +0000 Subject: [PATCH 068/485] Increment version to v3.2-beta --- jrnl/__version__.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jrnl/__version__.py b/jrnl/__version__.py index 9809ae42..6481e4dd 100644 --- a/jrnl/__version__.py +++ b/jrnl/__version__.py @@ -1 +1 @@ -__version__ = "v3.1" +__version__ = "v3.2-beta" diff --git a/pyproject.toml b/pyproject.toml index b93e265f..0da60d5b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "jrnl" -version = "v3.1" +version = "v3.2-beta" description = "Collect your thoughts and notes without leaving the command line." authors = [ "jrnl contributors ", From a923be53cdccafaea598a77749a37dc6fc181a2e Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 27 Aug 2022 19:42:54 +0000 Subject: [PATCH 069/485] Update changelog [ci skip] --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c830095..c3032c3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Changelog -## [Unreleased](https://github.com/jrnl-org/jrnl/) +## [v3.2-beta](https://pypi.org/project/jrnl/v3.2-beta/) (2022-08-27) -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1...HEAD) +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1...v3.2-beta) **Implemented enhancements:** From 57adea3cc108f666e4ea76b7f69ef44703a61283 Mon Sep 17 00:00:00 2001 From: Micah Jerome Ellison Date: Sat, 27 Aug 2022 13:56:03 -0700 Subject: [PATCH 070/485] Remove note about gh-pages branch that we no longer use (#1566) --- docs/contributing.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/contributing.md b/docs/contributing.md index d14220dc..d69f0599 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -29,8 +29,6 @@ If you find a typo or a mistake in the docs, please fix it right away and send a To edit the documentation, edit the `docs/*.md` files on the **develop** branch. You can see the result by running `poe docs-run` inside the project's root directory, then navigating your browser to [localhost:8000](http://localhost:8000). -The `gh-pages` branch is automatically maintained and generated after your changes are merged. You should never have to edit that branch. - ### External editors and tips and tricks If you'd like to share a jrnl command line trick that you find useful, you may find it worthwhile to add it to the ["Tips and Tricks" section](tips-and-tricks.md). For advice on how to integrate a particular external editor, you can add to the ["External Editors" section](external-editors.md). From 11119a6143949c170a7320c86f9eb4ec0487566a Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 27 Aug 2022 20:57:48 +0000 Subject: [PATCH 071/485] Update changelog [ci skip] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c3032c3a..bd7cd3c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [Unreleased](https://github.com/jrnl-org/jrnl/) + +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.2-beta...HEAD) + +**Documentation:** + +- Remove note in contributing docs about gh-pages branch that we no longer use [\#1566](https://github.com/jrnl-org/jrnl/pull/1566) ([micahellison](https://github.com/micahellison)) + ## [v3.2-beta](https://pypi.org/project/jrnl/v3.2-beta/) (2022-08-27) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1...v3.2-beta) From fbb819d7a0090be63e7dbccd6dabf94507ad1258 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 27 Aug 2022 14:11:06 -0700 Subject: [PATCH 072/485] Update issue templates from markdown into yaml forms (#1567) * convert bug report from markdown to yaml * convert feature request from markdown to yaml * convert documentation template from markdown to yaml * convert support request template from markdown to yaml --- .github/ISSUE_TEMPLATE/bug_report.md | 42 ------------ .github/ISSUE_TEMPLATE/bug_report.yaml | 74 +++++++++++++++++++++ .github/ISSUE_TEMPLATE/documentation.md | 31 --------- .github/ISSUE_TEMPLATE/documentation.yaml | 41 ++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 31 --------- .github/ISSUE_TEMPLATE/feature_request.yaml | 43 ++++++++++++ .github/ISSUE_TEMPLATE/support_request.md | 40 ----------- .github/ISSUE_TEMPLATE/support_request.yaml | 54 +++++++++++++++ 8 files changed, 212 insertions(+), 144 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yaml delete mode 100644 .github/ISSUE_TEMPLATE/documentation.md create mode 100644 .github/ISSUE_TEMPLATE/documentation.yaml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yaml delete mode 100644 .github/ISSUE_TEMPLATE/support_request.md create mode 100644 .github/ISSUE_TEMPLATE/support_request.yaml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index d546614f..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: ":new:, bug" -assignees: '' - ---- - -## Bug Report - - - -### Environment - - `jrnl --diagnostic` output: - - Install method: - -### Current Behavior - - -### Expected Behavior - - -### Repro Steps - - -### Other Information - diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml new file mode 100644 index 00000000..0303209b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -0,0 +1,74 @@ +name: Bug Report +description: Create a report to help us improve +title: "Bug Report" +labels: [ ":new:", "bug" ] +body: + - type: markdown + attributes: + value: | + # Bug Report + Hello, and thank you for reporting an issue! + + Please fill out the points below, as it will make our process much easier. + + - type: textarea + id: diagnostic + attributes: + label: Diagnostic output + description: Run `jrnl --diagnostic` and paste the output below + placeholder: Paste output here + validations: + required: true + + - type: textarea + id: current-behavior + attributes: + label: Current Behavior + description: Please put a short description of what is currently happening. + placeholder: Tell us what is happening + validations: + required: true + + - type: textarea + id: expected-behavior + attributes: + label: Expected Behavior + description: Please write a short description of what you would expect to happen + placeholder: Tell us what should be happening + validations: + required: true + + - type: textarea + id: repro-steps + attributes: + label: Repro Steps + description: | + Provide the steps to reproduce the problem. + + Please be as precise as possible, since more info will let us help you faster. + placeholder: Repro steps + validations: + required: true + + - type: textarea + id: debug-output + attributes: + label: Debug output + description: | + Please provide the output of your command with the `--debug` flag on. + placeholder: "example: `jrnl --debug lorem ipsum`" + validations: + required: true + + - type: textarea + id: other-info + attributes: + label: Other Information + description: > + Is there anything else we should know? + + (e.g. more detailed explanation, stacktraces, related + issues, suggestions how to fix, links for us to have context, eg. + stackoverflow, gitter, etc) + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md deleted file mode 100644 index dc186ee9..00000000 --- a/.github/ISSUE_TEMPLATE/documentation.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -name: Documentation Change -about: Request or report any updates to our documentation (https://jrnl.sh) -title: '' -labels: ":new:, documentation" -assignees: '' - ---- - -## Documentation Change - - -### Affected Page(s) - - - - -### What Could Be Better? - - -### Other Information - diff --git a/.github/ISSUE_TEMPLATE/documentation.yaml b/.github/ISSUE_TEMPLATE/documentation.yaml new file mode 100644 index 00000000..32e58533 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.yaml @@ -0,0 +1,41 @@ +name: Documentation Change +description: Request or report any updates to our documentation (https://jrnl.sh) +title: Documentation Change +labels: [ ":new:", "documentation" ] +body: + - type: markdown + attributes: + value: | + # Documentation Change + Hello, and thank you for reporting an issue! + + Please fill out the points below, as it will make our process much easier. + + - type: textarea + id: affected-pages + attributes: + label: Affected Page(s) + description: > + Please tell us which page, or pages, from the documentation site + (https://jrnl.sh) are affected in this issue + placeholder: "example: https://jrnl.sh/en/stable/overview" + validations: + required: true + + - type: textarea + id: what-could-be-better + attributes: + label: What Could Be Better? + description: > + Please write a short description of what you hope can be clarified or + further explained. + validations: + required: true + + - type: textarea + id: other-info + attributes: + label: Other Information + description: Is there anything else we should know that might be helpful? + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index d9061604..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for jrnl -title: '' -labels: ":new:, enhancement" -assignees: '' - ---- - -## Feature Request - - -### Use Case/Motivation - - -### Example Usage - - -### Other information - diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml new file mode 100644 index 00000000..ce0b8fb2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -0,0 +1,43 @@ +name: Feature Report +description: Suggest an idea for jrnl +title: "Feature Report" +labels: [ ":new:", "enhancement" ] +body: + - type: markdown + attributes: + value: | + # Feature Request + Hello, and thank you for reporting an issue! + + Please fill out the points below, as it will make our process much easier. + + - type: textarea + id: user-case + attributes: + label: Use Case/Motivation + description: What is the motivation / use case for changing the behavior? + placeholder: Tell us about your idea + validations: + required: true + + - type: textarea + id: example-usage + attributes: + label: Example Usage + description: Please provide examples of the usage you would like to see. + placeholder: e.g `jrnl --new-flag="super cool new feature"` + validations: + required: true + + - type: textarea + id: other-info + attributes: + label: Other Information + description: > + Is there anything else we should know? + + (e.g. more detailed explanation, stacktraces, related + issues, suggestions how to fix, links for us to have context, eg. + stackoverflow, gitter, etc) + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/support_request.md b/.github/ISSUE_TEMPLATE/support_request.md deleted file mode 100644 index e7d1a96f..00000000 --- a/.github/ISSUE_TEMPLATE/support_request.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -name: Support Request -about: Get help with jrnl -title: '' -labels: ":new:, support" -assignees: '' - ---- - -## Support Request - - -### Environment - - - Jrnl `--diagnostic` output: - - Install method: - -### What are you trying to do? - - -### What have you tried? - - -### Other Information - diff --git a/.github/ISSUE_TEMPLATE/support_request.yaml b/.github/ISSUE_TEMPLATE/support_request.yaml new file mode 100644 index 00000000..21c9bddc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/support_request.yaml @@ -0,0 +1,54 @@ +name: Support Request +description: Get help with jrnl +title: Support Request +labels: [ ":new:", "support" ] +body: + - type: markdown + attributes: + value: | + # Support Request + Hello, and thank you for reporting an issue! + + Please fill out the points below, as it will make our process much easier. + + - type: textarea + id: diagnostic + attributes: + label: Diagnostic output + description: Run `jrnl --diagnostic` and paste the output below + placeholder: Paste output here + validations: + required: true + + - type: textarea + id: current-behavior + attributes: + label: What are you trying to do? + description: Please put a short description of what is happening. + placeholder: Tell us what is happening + validations: + required: true + + - type: textarea + id: tried + attributes: + label: What have you tried? + description: > + Have you tried anything to fix the problem? This can help give us more + information to help you with. + placeholder: Tell us what should be happening + validations: + required: true + + - type: textarea + id: other-info + attributes: + label: Other Information + description: > + Is there anything else we should know? + + (e.g. more detailed explanation, stacktraces, related + issues, suggestions how to fix, links for us to have context, eg. + stackoverflow, gitter, etc) + validations: + required: false From 0e2d16982b6272c02643f2b6629ff619754f43d8 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 27 Aug 2022 21:12:47 +0000 Subject: [PATCH 073/485] Update changelog [ci skip] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bd7cd3c0..89898de9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.2-beta...HEAD) +**Implemented enhancements:** + +- Update issue & PR templates to use forms [\#1559](https://github.com/jrnl-org/jrnl/issues/1559) + **Documentation:** - Remove note in contributing docs about gh-pages branch that we no longer use [\#1566](https://github.com/jrnl-org/jrnl/pull/1566) ([micahellison](https://github.com/micahellison)) From 76392620be0e8314e437f471bc3d44e656975ae9 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 27 Aug 2022 14:18:06 -0700 Subject: [PATCH 074/485] fix typo (#1569) --- .github/ISSUE_TEMPLATE/feature_request.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index ce0b8fb2..9d0494c4 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -1,4 +1,4 @@ -name: Feature Report +name: Feature Request description: Suggest an idea for jrnl title: "Feature Report" labels: [ ":new:", "enhancement" ] From 55e0162a87dab8e682945682ccb75c6eaebb0016 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 3 Sep 2022 19:07:07 +0000 Subject: [PATCH 075/485] Increment version to v3.2 --- jrnl/__version__.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jrnl/__version__.py b/jrnl/__version__.py index 6481e4dd..9c1e3fb9 100644 --- a/jrnl/__version__.py +++ b/jrnl/__version__.py @@ -1 +1 @@ -__version__ = "v3.2-beta" +__version__ = "v3.2" diff --git a/pyproject.toml b/pyproject.toml index 0da60d5b..ffeb8b27 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "jrnl" -version = "v3.2-beta" +version = "v3.2" description = "Collect your thoughts and notes without leaving the command line." authors = [ "jrnl contributors ", From 8a7225a249c5d9292a35e8745f3184725b52f52a Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 3 Sep 2022 19:09:06 +0000 Subject: [PATCH 076/485] Update changelog [ci skip] --- CHANGELOG.md | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89898de9..1cbb6b07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,25 +1,12 @@ # Changelog -## [Unreleased](https://github.com/jrnl-org/jrnl/) +## [v3.2](https://pypi.org/project/jrnl/v3.2/) (2022-09-03) -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.2-beta...HEAD) +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.2-beta...v3.2) **Implemented enhancements:** - Update issue & PR templates to use forms [\#1559](https://github.com/jrnl-org/jrnl/issues/1559) - -**Documentation:** - -- Remove note in contributing docs about gh-pages branch that we no longer use [\#1566](https://github.com/jrnl-org/jrnl/pull/1566) ([micahellison](https://github.com/micahellison)) - -## [v3.2-beta](https://pypi.org/project/jrnl/v3.2-beta/) (2022-08-27) - -[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1...v3.2-beta) - -**Implemented enhancements:** - -- Supress output if action is successful [\#1543](https://github.com/jrnl-org/jrnl/issues/1543) -- Report number of entries found in a search [\#1454](https://github.com/jrnl-org/jrnl/issues/1454) - Suppress "Entry added" message if using default journal [\#1561](https://github.com/jrnl-org/jrnl/pull/1561) ([micahellison](https://github.com/micahellison)) - Add message showing the number of search results [\#1524](https://github.com/jrnl-org/jrnl/pull/1524) ([apainintheneck](https://github.com/apainintheneck)) @@ -27,6 +14,10 @@ - Quick fix follow up for actionlint [\#1565](https://github.com/jrnl-org/jrnl/pull/1565) ([wren](https://github.com/wren)) +**Documentation:** + +- Remove note in contributing docs about gh-pages branch that we no longer use [\#1566](https://github.com/jrnl-org/jrnl/pull/1566) ([micahellison](https://github.com/micahellison)) + ## [v3.1](https://pypi.org/project/jrnl/v3.1/) (2022-08-21) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.1-beta2...v3.1) From 37af7b8db60412051e9cdfd59cfe8134bcc2dca7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 3 Sep 2022 12:21:52 -0700 Subject: [PATCH 077/485] Replace Dependabot with Renovate (#1575) * Add renovate.json * move renovate config file into .github dir * update config to match dependabot * remove old dependabot config * update prhourlylimit setting for renovate * fix typo Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jonathan Wren --- .github/dependabot.yml | 12 ------------ .github/renovate.json | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 12 deletions(-) delete mode 100644 .github/dependabot.yml create mode 100644 .github/renovate.json diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 070f47f8..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: 2 -updates: -- package-ecosystem: pip - directory: "/" - schedule: - interval: daily - open-pull-requests-limit: 10 - reviewers: - - wren - - micahellison - labels: - - packaging diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 00000000..5aa9f254 --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:base" + ], + "schedule": [ "at any time" ], + "prConcurrentLimit": 10, + "prHourlyLimit": 10, + "reviewers": [ + "wren", + "micahellison" + ], + "labels": [ "packaging" ] +} From 75008dcb1ac52cb87e980bd72b444d29ddc0bf2f Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 3 Sep 2022 19:23:33 +0000 Subject: [PATCH 078/485] Update changelog [ci skip] --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cbb6b07..b1f12c26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## [Unreleased](https://github.com/jrnl-org/jrnl/) + +[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.2...HEAD) + +**Implemented enhancements:** + +- Add dependency security checks in CI [\#1488](https://github.com/jrnl-org/jrnl/issues/1488) + +**Build:** + +- Replace Dependabot [\#1560](https://github.com/jrnl-org/jrnl/issues/1560) +- Replace Dependabot with Renovate [\#1575](https://github.com/jrnl-org/jrnl/pull/1575) ([renovate[bot]](https://github.com/apps/renovate)) + ## [v3.2](https://pypi.org/project/jrnl/v3.2/) (2022-09-03) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.2-beta...v3.2) From b2f53d48f77aa87dece1fa6e2c78a62072372a39 Mon Sep 17 00:00:00 2001 From: Paul Jimenez Date: Sat, 3 Sep 2022 15:48:37 -0400 Subject: [PATCH 079/485] Add hint for how to get vi to go to end-of-file (#1563) --- docs/tips-and-tricks.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/tips-and-tricks.md b/docs/tips-and-tricks.md index cebf2546..0c41cc81 100644 --- a/docs/tips-and-tricks.md +++ b/docs/tips-and-tricks.md @@ -211,3 +211,12 @@ display_format: markdown For more information on how `jrnl` outputs your entries in Markdown, please visit the [Formats](./formats.md) section. + +## Jump to end of buffer (with vi) + +To cause vi to jump to the end of the last line of the entry you edit, in your config file set: + +```yaml +editor: vi + -c "call cursor('.',strwidth(getline('.')))" +``` + From 49fc1e4e407b60a96ba8bf0687a9ee0bc47e07be Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 3 Sep 2022 12:49:43 -0700 Subject: [PATCH 080/485] Update to use renamed flag for brew bump-formula-pr --- .github/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 5e60c90b..d5d340d4 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -196,7 +196,7 @@ jobs: --url $(jq ".releases[\"${PYPI_VERSION}\"][1].url" -r api_response.json) --sha256 $(jq ".releases[\"${PYPI_VERSION}\"][1].digests.sha256" -r api_response.json) --no-audit - --write + --write-only --force - name: Create Pull Request From 4d4f3285277fffdf0ea3cbaebdee0ffb8f9a9a8d Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 3 Sep 2022 19:51:36 +0000 Subject: [PATCH 081/485] Update changelog [ci skip] --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1f12c26..92197f25 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,8 +11,13 @@ **Build:** - Replace Dependabot [\#1560](https://github.com/jrnl-org/jrnl/issues/1560) +- Update to use renamed flag for `brew bump-formula-pr` [\#1587](https://github.com/jrnl-org/jrnl/pull/1587) ([wren](https://github.com/wren)) - Replace Dependabot with Renovate [\#1575](https://github.com/jrnl-org/jrnl/pull/1575) ([renovate[bot]](https://github.com/apps/renovate)) +**Documentation:** + +- Add hint for how to get vi to go to end-of-file [\#1563](https://github.com/jrnl-org/jrnl/pull/1563) ([pjz](https://github.com/pjz)) + ## [v3.2](https://pypi.org/project/jrnl/v3.2/) (2022-09-03) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.2-beta...v3.2) From 06a5dab129cad1c4b7603045f95218d55184fadf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 3 Sep 2022 13:02:37 -0700 Subject: [PATCH 082/485] Update actions/setup-python action to v4 (#1583) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/actions/run_tests/action.yaml | 2 +- .github/workflows/docs.yaml | 2 +- .github/workflows/release.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/actions/run_tests/action.yaml b/.github/actions/run_tests/action.yaml index 9ab6c6ca..0c57c918 100644 --- a/.github/actions/run_tests/action.yaml +++ b/.github/actions/run_tests/action.yaml @@ -11,7 +11,7 @@ runs: shell: bash - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 29da43be..5b4882d5 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -35,7 +35,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d5d340d4..a8cc5aae 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -66,7 +66,7 @@ jobs: echo "JRNL_VERSION=$JRNL_VERSION" >> "$GITHUB_ENV" - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: 3.9 From 7b2e2de3df42572a53d0f700d82871d71f5ba61f Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 3 Sep 2022 20:04:21 +0000 Subject: [PATCH 083/485] Update changelog [ci skip] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92197f25..4ec1fa8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ - Add hint for how to get vi to go to end-of-file [\#1563](https://github.com/jrnl-org/jrnl/pull/1563) ([pjz](https://github.com/pjz)) +**Packaging:** + +- Update actions/setup-python action to v4 [\#1583](https://github.com/jrnl-org/jrnl/pull/1583) ([renovate[bot]](https://github.com/apps/renovate)) + ## [v3.2](https://pypi.org/project/jrnl/v3.2/) (2022-09-03) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.2-beta...v3.2) From cc703ae3c6ca9302f39ebed8aaae86b192d84b97 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 3 Sep 2022 13:11:08 -0700 Subject: [PATCH 084/485] Update actions/cache action to v3 (#1581) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/actions/run_tests/action.yaml | 2 +- .github/workflows/docs.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/actions/run_tests/action.yaml b/.github/actions/run_tests/action.yaml index 0c57c918..918289a9 100644 --- a/.github/actions/run_tests/action.yaml +++ b/.github/actions/run_tests/action.yaml @@ -20,7 +20,7 @@ runs: shell: bash - name: poetry cache # Change CACHE_STRING secret to bust the cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: .venv key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ env.PYTHON_FULL_VERSION }}-${{ inputs.cache-string }} diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 5b4882d5..b9416ceb 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -46,13 +46,13 @@ jobs: run: echo "PYTHON_FULL_VERSION=$(python --version)" >> "$GITHUB_ENV" - name: poetry cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: .venv key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ env.PYTHON_FULL_VERSION }}-${{ secrets.CACHE_STRING }} - name: npm cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: node_modules key: ${{ runner.os }}-pa11y-v3 From adc505cef9d2f12f46ee78ca485bd469503d1773 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 3 Sep 2022 13:12:12 -0700 Subject: [PATCH 085/485] Update peter-evans/create-pull-request action to v4 (#1585) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index a8cc5aae..67b01175 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -200,7 +200,7 @@ jobs: --force - name: Create Pull Request - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@v4 with: path: ${{ env.BREW_TAP_DIRECTORY }} token: ${{ secrets.JRNL_BOT_TOKEN }} From 080fcde440299ba2d9d1a1b2e61f3db9d6082d86 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 3 Sep 2022 20:13:58 +0000 Subject: [PATCH 086/485] Update changelog [ci skip] --- CHANGELOG.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ec1fa8a..4107b7cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,16 +12,15 @@ - Replace Dependabot [\#1560](https://github.com/jrnl-org/jrnl/issues/1560) - Update to use renamed flag for `brew bump-formula-pr` [\#1587](https://github.com/jrnl-org/jrnl/pull/1587) ([wren](https://github.com/wren)) +- Update peter-evans/create-pull-request action to v4 [\#1585](https://github.com/jrnl-org/jrnl/pull/1585) ([renovate[bot]](https://github.com/apps/renovate)) +- Update actions/setup-python action to v4 [\#1583](https://github.com/jrnl-org/jrnl/pull/1583) ([renovate[bot]](https://github.com/apps/renovate)) +- Update actions/cache action to v3 [\#1581](https://github.com/jrnl-org/jrnl/pull/1581) ([renovate[bot]](https://github.com/apps/renovate)) - Replace Dependabot with Renovate [\#1575](https://github.com/jrnl-org/jrnl/pull/1575) ([renovate[bot]](https://github.com/apps/renovate)) **Documentation:** - Add hint for how to get vi to go to end-of-file [\#1563](https://github.com/jrnl-org/jrnl/pull/1563) ([pjz](https://github.com/pjz)) -**Packaging:** - -- Update actions/setup-python action to v4 [\#1583](https://github.com/jrnl-org/jrnl/pull/1583) ([renovate[bot]](https://github.com/apps/renovate)) - ## [v3.2](https://pypi.org/project/jrnl/v3.2/) (2022-09-03) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.2-beta...v3.2) From 0d7acafc44d1b6535b2906b0282bf39f796b0c02 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 3 Sep 2022 13:16:18 -0700 Subject: [PATCH 087/485] Update actions/checkout action to v3 (#1582) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/changelog.yaml | 2 +- .github/workflows/docs.yaml | 2 +- .github/workflows/release.yaml | 2 +- .github/workflows/testing_pipelines.yaml | 2 +- .github/workflows/testing_prs.yaml | 2 +- .github/workflows/testing_schedule.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/changelog.yaml b/.github/workflows/changelog.yaml index e9d56d37..c3f8037f 100644 --- a/.github/workflows/changelog.yaml +++ b/.github/workflows/changelog.yaml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: token: ${{ secrets.JRNL_BOT_TOKEN }} diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index b9416ceb..becd704c 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -32,7 +32,7 @@ jobs: os: [ ubuntu-latest ] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 67b01175..62614b2d 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -71,7 +71,7 @@ jobs: python-version: 3.9 - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: token: ${{ secrets.JRNL_BOT_TOKEN }} diff --git a/.github/workflows/testing_pipelines.yaml b/.github/workflows/testing_pipelines.yaml index e868a63a..48da48e4 100644 --- a/.github/workflows/testing_pipelines.yaml +++ b/.github/workflows/testing_pipelines.yaml @@ -26,7 +26,7 @@ jobs: os: [ ubuntu-latest ] steps: - run: git config --global core.autocrlf false - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Check workflow files uses: docker://rhysd/actionlint:latest with: diff --git a/.github/workflows/testing_prs.yaml b/.github/workflows/testing_prs.yaml index 11a1384b..cc76a866 100644 --- a/.github/workflows/testing_prs.yaml +++ b/.github/workflows/testing_prs.yaml @@ -39,7 +39,7 @@ jobs: os: [ ubuntu-latest, macos-latest, windows-latest ] steps: - run: git config --global core.autocrlf false - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Run tests uses: ./.github/actions/run_tests with: diff --git a/.github/workflows/testing_schedule.yaml b/.github/workflows/testing_schedule.yaml index ce29de64..9879bd26 100644 --- a/.github/workflows/testing_schedule.yaml +++ b/.github/workflows/testing_schedule.yaml @@ -21,7 +21,7 @@ jobs: os: [ ubuntu-latest, macos-latest, windows-latest ] steps: - run: git config --global core.autocrlf false - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Run tests uses: ./.github/actions/run_tests with: From 43d7dc026c6fd79fcd61cbc391c22db0d318cf88 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 3 Sep 2022 13:16:28 -0700 Subject: [PATCH 088/485] Pin dependencies (#1577) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs_theme/requirements.txt | 2 +- package-lock.json | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs_theme/requirements.txt b/docs_theme/requirements.txt index 026d756c..b0164ff7 100644 --- a/docs_theme/requirements.txt +++ b/docs_theme/requirements.txt @@ -1,2 +1,2 @@ -mkdocs>=1.0,<1.3 +mkdocs==1.2.4 jinja2==3.0.3 # https://github.com/readthedocs/readthedocs.org/issues/9037 diff --git a/package-lock.json b/package-lock.json index 8459ebe7..aa3cf946 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,7 +5,7 @@ "packages": { "": { "devDependencies": { - "pa11y-ci": ">=3.0.1" + "pa11y-ci": "3.0.1" } }, "node_modules/@types/node": { diff --git a/package.json b/package.json index 28cf4eeb..a2c97337 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { "devDependencies": { - "pa11y-ci": ">=3.0.1" + "pa11y-ci": "3.0.1" } } From a3ce9bdb5572f82a11d443c665a9ae077954abb0 Mon Sep 17 00:00:00 2001 From: Jrnl Bot Date: Sat, 3 Sep 2022 20:18:05 +0000 Subject: [PATCH 089/485] Update changelog [ci skip] --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4107b7cc..692a0d71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - Update to use renamed flag for `brew bump-formula-pr` [\#1587](https://github.com/jrnl-org/jrnl/pull/1587) ([wren](https://github.com/wren)) - Update peter-evans/create-pull-request action to v4 [\#1585](https://github.com/jrnl-org/jrnl/pull/1585) ([renovate[bot]](https://github.com/apps/renovate)) - Update actions/setup-python action to v4 [\#1583](https://github.com/jrnl-org/jrnl/pull/1583) ([renovate[bot]](https://github.com/apps/renovate)) +- Update actions/checkout action to v3 [\#1582](https://github.com/jrnl-org/jrnl/pull/1582) ([renovate[bot]](https://github.com/apps/renovate)) - Update actions/cache action to v3 [\#1581](https://github.com/jrnl-org/jrnl/pull/1581) ([renovate[bot]](https://github.com/apps/renovate)) - Replace Dependabot with Renovate [\#1575](https://github.com/jrnl-org/jrnl/pull/1575) ([renovate[bot]](https://github.com/apps/renovate)) @@ -21,6 +22,10 @@ - Add hint for how to get vi to go to end-of-file [\#1563](https://github.com/jrnl-org/jrnl/pull/1563) ([pjz](https://github.com/pjz)) +**Packaging:** + +- Pin dependencies [\#1577](https://github.com/jrnl-org/jrnl/pull/1577) ([renovate[bot]](https://github.com/apps/renovate)) + ## [v3.2](https://pypi.org/project/jrnl/v3.2/) (2022-09-03) [Full Changelog](https://github.com/jrnl-org/jrnl/compare/v3.2-beta...v3.2) From 0618ff57e4bf927677ae92bdf1344c5ef7e56ad5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 3 Sep 2022 13:22:46 -0700 Subject: [PATCH 090/485] Update dependency jinja2 to v3.1.2 (#1579) * Update dependency jinja2 to v3.1.2 * Remove old unneeded comment from requirements.txt Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Micah Jerome Ellison --- docs_theme/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs_theme/requirements.txt b/docs_theme/requirements.txt index b0164ff7..ac5f9b8f 100644 --- a/docs_theme/requirements.txt +++ b/docs_theme/requirements.txt @@ -1,2 +1,2 @@ mkdocs==1.2.4 -jinja2==3.0.3 # https://github.com/readthedocs/readthedocs.org/issues/9037 +jinja2==3.1.2 From a95cd333d5b3cab3ddc2a1ddf0dbdac1530e48d7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 3 Sep 2022 13:23:37 -0700 Subject: [PATCH 091/485] Update dependency typed.js to v2.0.12 (#1578) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs_theme/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs_theme/index.html b/docs_theme/index.html index 1cd3e2dc..96d35ebe 100644 --- a/docs_theme/index.html +++ b/docs_theme/index.html @@ -103,7 +103,7 @@ License: https://www.gnu.org/licenses/gpl-3.0.html

- + + +