diff --git a/.gitea/workflows/tests.yaml b/.gitea/workflows/tests.yaml index f56a490..ee49a29 100644 --- a/.gitea/workflows/tests.yaml +++ b/.gitea/workflows/tests.yaml @@ -23,26 +23,6 @@ jobs: - run: pip install mypy - run: mypy org_rw --check-untyped-defs - style-formatting: - runs-on: ubuntu-latest - steps: - - name: Check out repository code - uses: actions/checkout@v3 - - run: apt-get update && apt-get install -y python3-pip - - run: pip install -e . - - run: pip install black - - run: black --check . - - style-sorted-imports: - runs-on: ubuntu-latest - steps: - - name: Check out repository code - uses: actions/checkout@v3 - - run: apt-get update && apt-get install -y python3-pip - - run: pip install -e . - - run: pip install isort - - run: isort --profile black --check . - stability-extra-test: runs-on: ubuntu-latest steps: diff --git a/org_rw/dom.py b/org_rw/dom.py index f9ed40f..cd8d63b 100644 --- a/org_rw/dom.py +++ b/org_rw/dom.py @@ -41,12 +41,11 @@ class ListGroupNode: self.children.append(child) def get_raw(self): - return "\n".join([c.get_raw() for c in self.children]) + return '\n'.join([c.get_raw() for c in self.children]) def __repr__(self): return "".format(len(self.children)) - class TableNode: def __init__(self): self.children = [] @@ -57,24 +56,21 @@ class TableNode: def __repr__(self): return "".format(len(self.children)) - class TableSeparatorRow: def __init__(self, orig=None): self.orig = orig - class TableRow: def __init__(self, cells, orig=None): self.cells = cells self.orig = orig - class Text: def __init__(self, content): self.content = content def get_raw(self): - return "".join(self.content.get_raw()) + return ''.join(self.content.get_raw()) class ListItem: @@ -109,24 +105,21 @@ class CodeBlock(BlockNode): def __repr__(self): return "".format(len(self.lines or [])) +DomNode = Union[DrawerNode, + PropertyNode, + ListGroupNode, + TableNode, + TableSeparatorRow, + TableRow, + Text, + ListItem, + BlockNode, + ] -DomNode = Union[ - DrawerNode, - PropertyNode, - ListGroupNode, - TableNode, - TableSeparatorRow, - TableRow, - Text, - ListItem, - BlockNode, -] - -ContainerDomNode = Union[ - DrawerNode, - ListGroupNode, - TableNode, - BlockNode, -] +ContainerDomNode = Union[DrawerNode, + ListGroupNode, + TableNode, + BlockNode, + ] from .utils import get_raw_contents diff --git a/org_rw/org_rw.py b/org_rw/org_rw.py index 970f641..cefbe5e 100644 --- a/org_rw/org_rw.py +++ b/org_rw/org_rw.py @@ -1,5 +1,6 @@ from __future__ import annotations - +from typing import Dict, Optional, TextIO +from datetime import timedelta import collections import difflib import logging @@ -8,21 +9,12 @@ import re import sys from datetime import date, datetime, timedelta from enum import Enum -from typing import ( - Dict, - Iterator, - List, - Literal, - Optional, - TextIO, - Tuple, - TypedDict, - Union, - cast, -) +from typing import cast, Iterator, List, Literal, Optional, Tuple, TypedDict, Union + +from .types import HeadlineDict from . import dom -from .types import HeadlineDict + DEBUG_DIFF_CONTEXT = 10 diff --git a/org_rw/utils.py b/org_rw/utils.py index 5b8b4e5..0e6f559 100644 --- a/org_rw/utils.py +++ b/org_rw/utils.py @@ -1,19 +1,9 @@ import uuid -from .org_rw import ( - Bold, - Code, - Headline, - Italic, - Line, - ListItem, - RawLine, - Strike, - Text, - Underlined, - Verbatim, - dump_contents, -) +from .org_rw import (Bold, Code, Headline, Italic, Line, RawLine, ListItem, Strike, Text, + Underlined, Verbatim) + +from .org_rw import dump_contents def get_hl_raw_contents(doc: Headline) -> str: diff --git a/scripts/apply-formatting.sh b/scripts/apply-formatting.sh deleted file mode 100755 index 2f7486b..0000000 --- a/scripts/apply-formatting.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -set -eu - -cd "`dirname $0`" -cd .. - -set -x - -isort --profile black . -black . diff --git a/tests/test_org.py b/tests/test_org.py index 6a54395..e49c6cf 100644 --- a/tests/test_org.py +++ b/tests/test_org.py @@ -2,6 +2,9 @@ import os import unittest from datetime import datetime as DT +from org_rw import MarkerToken, MarkerType, Timestamp, dumps, load, loads, dom +import org_rw + from utils.assertions import ( BOLD, CODE, @@ -16,9 +19,6 @@ from utils.assertions import ( Tokens, ) -import org_rw -from org_rw import MarkerToken, MarkerType, Timestamp, dom, dumps, load, loads - DIR = os.path.dirname(os.path.abspath(__file__)) @@ -834,12 +834,12 @@ class TestSerde(unittest.TestCase): self.assertEqual(dumps(doc), orig) def test_add_todo_keywords_programatically(self): - orig = """* NEW_TODO_STATE First entry + orig = '''* NEW_TODO_STATE First entry -* NEW_DONE_STATE Second entry""" - doc = loads( - orig, environment={"org-todo-keywords": "NEW_TODO_STATE | NEW_DONE_STATE"} - ) +* NEW_DONE_STATE Second entry''' + doc = loads(orig, environment={ + 'org-todo-keywords': "NEW_TODO_STATE | NEW_DONE_STATE" + }) self.assertEqual(doc.headlines[0].is_todo, True) self.assertEqual(doc.headlines[0].is_done, False) @@ -849,14 +849,14 @@ class TestSerde(unittest.TestCase): self.assertEqual(dumps(doc), orig) def test_add_todo_keywords_in_file(self): - orig = """#+TODO: NEW_TODO_STATE | NEW_DONE_STATE + orig = '''#+TODO: NEW_TODO_STATE | NEW_DONE_STATE * NEW_TODO_STATE First entry -* NEW_DONE_STATE Second entry""" - doc = loads( - orig, environment={"org-todo-keywords": "NEW_TODO_STATE | NEW_DONE_STATE"} - ) +* NEW_DONE_STATE Second entry''' + doc = loads(orig, environment={ + 'org-todo-keywords': "NEW_TODO_STATE | NEW_DONE_STATE" + }) self.assertEqual(doc.headlines[0].is_todo, True) self.assertEqual(doc.headlines[0].is_done, False) diff --git a/tests/test_timestamp.py b/tests/test_timestamp.py index f7e0eca..7d69d13 100644 --- a/tests/test_timestamp.py +++ b/tests/test_timestamp.py @@ -1,9 +1,7 @@ """Test the Timestamp object.""" -from datetime import date, datetime - import pytest - +from datetime import date, datetime from org_rw import Timestamp diff --git a/tests/utils/assertions.py b/tests/utils/assertions.py index 9012d49..59dc658 100644 --- a/tests/utils/assertions.py +++ b/tests/utils/assertions.py @@ -2,17 +2,8 @@ import collections import unittest from datetime import datetime -from org_rw import ( - Bold, - Code, - Italic, - Line, - Strike, - Text, - Underlined, - Verbatim, - get_raw_contents, -) +from org_rw import (Bold, Code, Italic, Line, Strike, Text, Underlined, + Verbatim, get_raw_contents) def timestamp_to_datetime(ts):