summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Diemer <github.com@jensdiemer.de>2020-02-07 12:24:01 +0100
committerGitHub <noreply@github.com>2020-02-07 12:24:01 +0100
commit3d44e2122aaa40888cb43559996fdc2a702b9491 (patch)
tree8b96cef227ca6be81829cfe26315ecd1261771f3
parent8f9c18aa380147cfea3318a1170601cd2c670c1d (diff)
parent722e954ef7affb76edc238e756e06c43b329bed7 (diff)
downloadcreole-3d44e2122aaa40888cb43559996fdc2a702b9491.tar.gz
Merge pull request #45 from jedie/fix#44
Fix #44 by move "docutils" and "poetry-publish" as dev-dependencies
-rw-r--r--.isort.cfg21
-rw-r--r--creole/__init__.py1
-rw-r--r--creole/emitter/html2rest_emitter.py1
-rw-r--r--creole/html_tools/deentity.py1
-rw-r--r--creole/html_tools/strip_html.py1
-rw-r--r--creole/html_tools/text_tools.py1
-rw-r--r--creole/parser/html_parser.py1
-rw-r--r--creole/rest_tools/clean_writer.py1
-rw-r--r--creole/rest_tools/pypi_rest2html.py1
-rw-r--r--creole/setup_utils.py1
-rw-r--r--creole/shared/example_macros.py1
-rw-r--r--creole/shared/utils.py1
-rw-r--r--creole/tests/constants.py1
-rw-r--r--creole/tests/test_cli.py1
-rw-r--r--creole/tests/test_creole2html.py1
-rw-r--r--creole/tests/test_html2creole.py8
-rw-r--r--creole/tests/test_project_setup.py18
-rw-r--r--creole/tests/test_setup_utils.py1
-rw-r--r--creole/tests/utils/base_unittest.py34
-rw-r--r--pyproject.toml4
20 files changed, 64 insertions, 36 deletions
diff --git a/.isort.cfg b/.isort.cfg
new file mode 100644
index 0000000..c97c6cc
--- /dev/null
+++ b/.isort.cfg
@@ -0,0 +1,21 @@
+# Configuring isort
+# https://github.com/timothycrosley/isort/wiki/isort-Settings
+
+[settings]
+atomic=true
+line_length=119
+case_sensitive=false
+
+# https://github.com/timothycrosley/isort#multi-line-output-modes
+# 3 - Vertical Hanging Indent
+multi_line_output=3
+include_trailing_comma=true
+
+known_first_party=creole
+
+no_lines_before=LOCALFOLDER
+
+default_section=THIRDPARTY
+sections=FUTURE,STDLIB,EXTERNAL,THIRDPARTY,FIRSTPARTY,LOCALFOLDER
+
+lines_after_imports=2
diff --git a/creole/__init__.py b/creole/__init__.py
index 1a4dc21..33d99fd 100644
--- a/creole/__init__.py
+++ b/creole/__init__.py
@@ -23,6 +23,7 @@ from creole.emitter.html2textile_emitter import TextileEmitter
from creole.parser.creol2html_parser import CreoleParser
from creole.parser.html_parser import HtmlParser
+
__version__ = "1.4.3"
__api__ = "1.0" # Creole 1.0 spec - http://wikicreole.org/
diff --git a/creole/emitter/html2rest_emitter.py b/creole/emitter/html2rest_emitter.py
index 23de5ce..f8e2322 100644
--- a/creole/emitter/html2rest_emitter.py
+++ b/creole/emitter/html2rest_emitter.py
@@ -19,6 +19,7 @@ import posixpath
from creole.shared.base_emitter import BaseEmitter
from creole.shared.markup_table import MarkupTable
+
# Kink of nodes in which hyperlinks are stored in references intead of embedded urls.
DO_SUBSTITUTION = ("th", "td",) # TODO: In witch kind of node must we also substitude links?
diff --git a/creole/html_tools/deentity.py b/creole/html_tools/deentity.py
index 23a6190..165a7af 100644
--- a/creole/html_tools/deentity.py
+++ b/creole/html_tools/deentity.py
@@ -12,6 +12,7 @@
import re
from html import entities
+
entities_rules = '|'.join([
r"(&\#(?P<number>\d+);)",
r"(&\#x(?P<hex>[a-fA-F0-9]+);)",
diff --git a/creole/html_tools/strip_html.py b/creole/html_tools/strip_html.py
index 11a2f91..c265099 100644
--- a/creole/html_tools/strip_html.py
+++ b/creole/html_tools/strip_html.py
@@ -16,6 +16,7 @@ import re
from creole.parser.html_parser_config import BLOCK_TAGS
+
strip_html_regex = re.compile(
r"""
\s*
diff --git a/creole/html_tools/text_tools.py b/creole/html_tools/text_tools.py
index 16487a5..5b52719 100644
--- a/creole/html_tools/text_tools.py
+++ b/creole/html_tools/text_tools.py
@@ -14,6 +14,7 @@
import re
+
space_re = re.compile(r"^(\s*)(.*?)(\s*)$", re.DOTALL)
diff --git a/creole/parser/html_parser.py b/creole/parser/html_parser.py
index d83a936..b8c3cee 100644
--- a/creole/parser/html_parser.py
+++ b/creole/parser/html_parser.py
@@ -15,6 +15,7 @@ from creole.html_tools.strip_html import strip_html
from creole.parser.html_parser_config import BLOCK_TAGS, IGNORE_TAGS
from creole.shared.document_tree import DebugList, DocNode
+
# ------------------------------------------------------------------------------
block_re = re.compile(r'''
diff --git a/creole/rest_tools/clean_writer.py b/creole/rest_tools/clean_writer.py
index 3798c50..524c8d6 100644
--- a/creole/rest_tools/clean_writer.py
+++ b/creole/rest_tools/clean_writer.py
@@ -18,6 +18,7 @@ import sys
from creole.exceptions import DocutilsImportError
+
try:
import docutils
from docutils.core import publish_parts
diff --git a/creole/rest_tools/pypi_rest2html.py b/creole/rest_tools/pypi_rest2html.py
index b264514..bacdf7f 100644
--- a/creole/rest_tools/pypi_rest2html.py
+++ b/creole/rest_tools/pypi_rest2html.py
@@ -16,6 +16,7 @@ from urllib.parse import urlparse
from creole.exceptions import DocutilsImportError
+
try:
import docutils # noqa flake8
from docutils import io, readers
diff --git a/creole/setup_utils.py b/creole/setup_utils.py
index cd980a6..e48e8cf 100644
--- a/creole/setup_utils.py
+++ b/creole/setup_utils.py
@@ -22,6 +22,7 @@ from pathlib import Path
from creole import creole2html, html2rest
from creole.shared.unknown_tags import raise_unknown_node, transparent_unknown_nodes
+
RAISE_ERRORS_ARGS = (
'check', 'register', 'sdist', 'bdist', 'upload',
'--long-description', '--restructuredtext',
diff --git a/creole/shared/example_macros.py b/creole/shared/example_macros.py
index 354469d..88a9bc8 100644
--- a/creole/shared/example_macros.py
+++ b/creole/shared/example_macros.py
@@ -17,6 +17,7 @@ from xml.sax.saxutils import escape
from creole.shared.utils import get_pygments_formatter, get_pygments_lexer
+
try:
from pygments import highlight
PYGMENTS = True
diff --git a/creole/shared/utils.py b/creole/shared/utils.py
index 9ac82e2..1d0071f 100644
--- a/creole/shared/utils.py
+++ b/creole/shared/utils.py
@@ -13,6 +13,7 @@
import json
import shlex
+
try:
from pygments import lexers
from pygments.formatters import HtmlFormatter
diff --git a/creole/tests/constants.py b/creole/tests/constants.py
index 0e276d4..b081658 100644
--- a/creole/tests/constants.py
+++ b/creole/tests/constants.py
@@ -2,4 +2,5 @@ from pathlib import Path
import creole
+
CREOLE_PACKAGE_ROOT = Path(creole.__file__).parent.parent
diff --git a/creole/tests/test_cli.py b/creole/tests/test_cli.py
index cae1e40..ffd48ac 100644
--- a/creole/tests/test_cli.py
+++ b/creole/tests/test_cli.py
@@ -18,6 +18,7 @@ from creole import VERSION_STRING, cmdline
from creole.tests.utils.base_unittest import BaseCreoleTest
from creole.tests.utils.unittest_subprocess import SubprocessMixin
+
CMDS = ("creole2html", "html2creole", "html2rest", "html2textile")
diff --git a/creole/tests/test_creole2html.py b/creole/tests/test_creole2html.py
index 6f60491..d938a38 100644
--- a/creole/tests/test_creole2html.py
+++ b/creole/tests/test_creole2html.py
@@ -25,6 +25,7 @@ from creole.shared.utils import dict2string, string2dict
from creole.tests import test_macros
from creole.tests.utils.base_unittest import BaseCreoleTest
+
try:
import pygments # noqa flake8
PYGMENTS = True
diff --git a/creole/tests/test_html2creole.py b/creole/tests/test_html2creole.py
index 60b35a3..2895b78 100644
--- a/creole/tests/test_html2creole.py
+++ b/creole/tests/test_html2creole.py
@@ -17,8 +17,12 @@
import unittest
from creole import html2creole
-from creole.shared.unknown_tags import (escape_unknown_nodes, raise_unknown_node, transparent_unknown_nodes,
- use_html_macro)
+from creole.shared.unknown_tags import (
+ escape_unknown_nodes,
+ raise_unknown_node,
+ transparent_unknown_nodes,
+ use_html_macro,
+)
from creole.tests.utils.base_unittest import BaseCreoleTest
diff --git a/creole/tests/test_project_setup.py b/creole/tests/test_project_setup.py
index 7491daa..b74fdbc 100644
--- a/creole/tests/test_project_setup.py
+++ b/creole/tests/test_project_setup.py
@@ -2,7 +2,9 @@
:copyleft: 2020 by python-creole team, see AUTHORS for more details.
:license: GNU GPL v3 or above, see LICENSE for more details.
"""
-
+import os
+import shutil
+import subprocess
from pathlib import Path
from creole import __version__
@@ -35,3 +37,17 @@ def test_version():
file_path=Path(CREOLE_PACKAGE_ROOT, 'pyproject.toml'),
string=f'version = "{__version__}"'
)
+
+
+def test_poetry_check():
+ poerty_bin = shutil.which('poetry')
+
+ output = subprocess.check_output(
+ [poerty_bin, 'check'],
+ universal_newlines=True,
+ env=os.environ,
+ stderr=subprocess.STDOUT,
+ cwd=str(CREOLE_PACKAGE_ROOT),
+ )
+ print(output)
+ assert output == 'All set!\n'
diff --git a/creole/tests/test_setup_utils.py b/creole/tests/test_setup_utils.py
index 5a7b366..0500444 100644
--- a/creole/tests/test_setup_utils.py
+++ b/creole/tests/test_setup_utils.py
@@ -19,6 +19,7 @@ from creole.tests.constants import CREOLE_PACKAGE_ROOT
from creole.tests.utils.base_unittest import BaseCreoleTest
from creole.tests.utils.utils import IsolatedFilesystem
+
TEST_README_DIR = Path(__file__).parent
TEST_README_FILENAME = "test_README.creole"
diff --git a/creole/tests/utils/base_unittest.py b/creole/tests/utils/base_unittest.py
index 3d28c94..f6a4ee3 100644
--- a/creole/tests/utils/base_unittest.py
+++ b/creole/tests/utils/base_unittest.py
@@ -1,4 +1,3 @@
-
"""
unitest base class
~~~~~~~~~~~~~~~~~~
@@ -11,31 +10,13 @@
import re
-import warnings
+
+import textile
from creole import creole2html, html2creole, html2rest, html2textile
-from creole.exceptions import DocutilsImportError
+from creole.rest_tools.clean_writer import rest2html
from creole.tests.utils.utils import MarkupTest
-try:
- import textile
-except ImportError:
- test_textile = False
- warnings.warn(
- "Markup error: The Python textile library isn't installed."
- " Download: http://pypi.python.org/pypi/textile"
- )
-else:
- test_textile = True
-
-
-try:
- from creole.rest_tools.clean_writer import rest2html
-except DocutilsImportError as err:
- REST_INSTALLED = False
- warnings.warn(f"Can't run all ReSt unittests: {err}")
-else:
- REST_INSTALLED = True
tabs2spaces_re = re.compile(r"^(\t*)(.*?)$", re.M)
@@ -252,11 +233,6 @@ class BaseCreoleTest(MarkupTest):
)
# compare textile -> html
- if not test_textile:
- # TODO: Use @unittest.skipIf if python 2.6 will be not support anymore
- warnings.warn("Skip textile test. Please install python textile module.")
- return
-
html = textile.textile(textile_string)
html = html.replace("<br />", "<br />\n")
html = tabs2spaces(html)
@@ -295,10 +271,6 @@ class BaseCreoleTest(MarkupTest):
strip_lines=False, debug=False, prepare_strings=True, **kwargs):
# compare rest -> html
- if not REST_INSTALLED:
- warnings.warn("Skip ReSt test. Please install Docutils.")
- return
-
if prepare_strings:
rest_string = self._prepare_text(rest_string)
html_string = self._prepare_text(html_string)
diff --git a/pyproject.toml b/pyproject.toml
index 662de5c..041d10c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -35,10 +35,10 @@ packages = [
[tool.poetry.dependencies]
python = "^3.6"
-docutils = "^0.16"
-poetry-publish = "^0.2.2"
+docutils = "^0.15"
[tool.poetry.dev-dependencies]
+poetry-publish = "^0.2.2"
tox = "^3.14.3"
pygments = "^2.5.2"
textile = "^4.0.0"