generated from jCloud/repository-template
Compare commits
4
Commits
37308227d9
...
ee07621046
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ee07621046
|
||
|
|
59799e6802
|
||
|
|
f78909297e
|
||
|
|
e1eecd0e27
|
No files matched your search
@@ -13,7 +13,7 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from . import cli
|
from . import cli
|
||||||
from .core import *
|
from .core import * # noqa: F403
|
||||||
from .core import __all__ as _core__all__
|
from .core import __all__ as _core__all__
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from . import namespaces
|
from . import namespaces
|
||||||
from ._core import *
|
from ._core import * # noqa: F403
|
||||||
from ._core import __all__ as _core__all__
|
from ._core import __all__ as _core__all__
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
|
|||||||
@@ -249,9 +249,8 @@ def _markdown_table(
|
|||||||
if len(row) != header_len:
|
if len(row) != header_len:
|
||||||
if force_row_lengths:
|
if force_row_lengths:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
f'expected {header_len} value{
|
f'expected {header_len} value'
|
||||||
"s" if header_len > 1 else ""
|
f'{"s" if header_len > 1 else ""}, got {len(row)}'
|
||||||
}, got {len(row)}',
|
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
row = _fit_row_length(header_len, row)
|
row = _fit_row_length(header_len, row)
|
||||||
@@ -277,9 +276,8 @@ def _markdown_table(
|
|||||||
if len(row) != header_len:
|
if len(row) != header_len:
|
||||||
if force_row_lengths:
|
if force_row_lengths:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
f'expected {header_len} value{
|
f'expected {header_len} value'
|
||||||
"s" if header_len > 1 else ""
|
f'{"s" if header_len > 1 else ""}, got {len(row)}'
|
||||||
}, got {len(row)}',
|
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
row = _fit_row_length(header_len, row)
|
row = _fit_row_length(header_len, row)
|
||||||
@@ -601,11 +599,10 @@ class PythonDefinitionDocumentationGenerator:
|
|||||||
|
|
||||||
if _is_docstring(self.definition.doc) or not self.skip_empty_sections:
|
if _is_docstring(self.definition.doc) or not self.skip_empty_sections:
|
||||||
if self.allow_html:
|
if self.allow_html:
|
||||||
md += f'<details><summary><h{
|
md += (
|
||||||
str(self.level + 1)
|
f'<details><summary><h{str(self.level + 1)} style="displa'
|
||||||
} style="display:inline">Docstring</h{
|
f'y:inline">Docstring</h{str(self.level + 1)}></summary>'
|
||||||
str(self.level + 1)
|
)
|
||||||
}></summary>'
|
|
||||||
else:
|
else:
|
||||||
md += self.level * '#' + '# Docstring\n\n'
|
md += self.level * '#' + '# Docstring\n\n'
|
||||||
|
|
||||||
|
|||||||
@@ -28,9 +28,11 @@ class NamespaceError(ValueError):
|
|||||||
if not self.args:
|
if not self.args:
|
||||||
return ''
|
return ''
|
||||||
else:
|
else:
|
||||||
return f'{self.args[0]}{
|
return (
|
||||||
": " if self.namespace_identifier and self.args[0] else ""
|
self.args[0]
|
||||||
}{self.namespace_identifier if self.args[0] else ""}'
|
+ (': ' if self.namespace_identifier and self.args[0] else '')
|
||||||
|
+ (self.namespace_identifier if self.args[0] else '')
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class InvalidNamespaceError(NamespaceError): ...
|
class InvalidNamespaceError(NamespaceError): ...
|
||||||
@@ -55,9 +57,11 @@ class PythonIdentifierError(ValueError):
|
|||||||
if not self.args:
|
if not self.args:
|
||||||
return ''
|
return ''
|
||||||
else:
|
else:
|
||||||
return f'{self.args[0]}{
|
return (
|
||||||
": " if self.identifier and self.args[0] else ""
|
self.args[0]
|
||||||
}{self.identifier if self.args[0] else ""}'
|
+ (': ' if self.identifier and self.args[0] else '')
|
||||||
|
+ (self.identifier if self.args[0] else '')
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class InvalidPythonIdentifierError(PythonIdentifierError): ...
|
class InvalidPythonIdentifierError(PythonIdentifierError): ...
|
||||||
@@ -76,9 +80,11 @@ class PythonAnnotationError(ValueError):
|
|||||||
if not self.args:
|
if not self.args:
|
||||||
return ''
|
return ''
|
||||||
else:
|
else:
|
||||||
return f'{self.args[0]}{
|
return (
|
||||||
": " if self.annotation and self.args[0] else ""
|
self.args[0]
|
||||||
}{self.annotation if self.args[0] else ""}'
|
+ (': ' if self.annotation and self.args[0] else '')
|
||||||
|
+ (self.annotation if self.args[0] else '')
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class InvalidPythonAnnotationError(PythonAnnotationError): ...
|
class InvalidPythonAnnotationError(PythonAnnotationError): ...
|
||||||
@@ -97,9 +103,11 @@ class PythonDefinitionError(ValueError):
|
|||||||
if not self.args:
|
if not self.args:
|
||||||
return ''
|
return ''
|
||||||
else:
|
else:
|
||||||
return f'{self.args[0]}{
|
return (
|
||||||
": " if self.definition and self.args[0] else ""
|
self.args[0]
|
||||||
}{self.definition if self.args[0] else ""}'
|
+ (': ' if self.definition and self.args[0] else '')
|
||||||
|
+ (self.definition if self.args[0] else '')
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class PythonArgumentStructureError(PythonDefinitionError): ...
|
class PythonArgumentStructureError(PythonDefinitionError): ...
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import errno
|
|||||||
import os
|
import os
|
||||||
import pathlib
|
import pathlib
|
||||||
import types
|
import types
|
||||||
from typing import Union
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from warnings import deprecated
|
from warnings import deprecated
|
||||||
@@ -154,10 +153,10 @@ def assert_that_is_instance(
|
|||||||
obj: object,
|
obj: object,
|
||||||
class_or_tuple: type | types.UnionType | tuple[type, ...],
|
class_or_tuple: type | types.UnionType | tuple[type, ...],
|
||||||
) -> None:
|
) -> None:
|
||||||
if not isinstance(class_or_tuple, Union[type, types.UnionType, tuple]):
|
if not isinstance(class_or_tuple, (type, types.UnionType, tuple)):
|
||||||
raise TypeError(
|
raise TypeError(
|
||||||
f"class_or_tuple: expected 'Union[type, types.UnionType, "
|
f"class_or_tuple: expected 'type | types.UnionType, tupl"
|
||||||
f"tuple[type, ...]]', 'got {type(class_or_tuple).__name__}'",
|
f"e[type, ...]', 'got {type(class_or_tuple).__name__}'",
|
||||||
)
|
)
|
||||||
if not isinstance(obj, class_or_tuple):
|
if not isinstance(obj, class_or_tuple):
|
||||||
if isinstance(class_or_tuple, (tuple, types.UnionType)):
|
if isinstance(class_or_tuple, (tuple, types.UnionType)):
|
||||||
@@ -175,9 +174,8 @@ def assert_that_is_instance(
|
|||||||
else:
|
else:
|
||||||
exception_message_expected = "'" + class_or_tuple.__name__ + "'"
|
exception_message_expected = "'" + class_or_tuple.__name__ + "'"
|
||||||
raise TypeError(
|
raise TypeError(
|
||||||
f"expected {exception_message_expected}, got '{
|
f'expected {exception_message_expected}'
|
||||||
type(obj).__name__
|
f", got '{type(obj).__name__}'"
|
||||||
}'",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,9 @@ def test_PythonDocumentationGenerator_collect_modules(
|
|||||||
python_documentation_generator: PythonDocumentationGenerator,
|
python_documentation_generator: PythonDocumentationGenerator,
|
||||||
expected,
|
expected,
|
||||||
):
|
):
|
||||||
assert python_documentation_generator.namespace().sub_namespaces == expected
|
assert (
|
||||||
|
python_documentation_generator.namespace().sub_namespaces
|
||||||
|
) == expected
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
|||||||
+2
-2
@@ -125,12 +125,12 @@ Returns all users.
|
|||||||
##### Method signature
|
##### Method signature
|
||||||
|
|
||||||
```python
|
```python
|
||||||
list_all(self) -> List[User]
|
list_all(self) -> list[User]
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Returns
|
##### Returns
|
||||||
|
|
||||||
Return type: `List[User]`
|
Return type: `list[User]`
|
||||||
|
|
||||||
##### Parameters
|
##### Parameters
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -1,5 +1,4 @@
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
@@ -11,4 +10,4 @@ class User:
|
|||||||
id: str
|
id: str
|
||||||
name: str
|
name: str
|
||||||
email: str
|
email: str
|
||||||
age: Optional[int] = None
|
age: int | None = None
|
||||||
+2
-4
@@ -1,5 +1,3 @@
|
|||||||
from typing import Dict, List
|
|
||||||
|
|
||||||
from .models import User
|
from .models import User
|
||||||
|
|
||||||
|
|
||||||
@@ -10,7 +8,7 @@ class InMemoryUserStorage:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self._users: Dict[str, User] = {}
|
self._users: dict[str, User] = {}
|
||||||
|
|
||||||
def add(self, user: User) -> None:
|
def add(self, user: User) -> None:
|
||||||
"""Adds a user."""
|
"""Adds a user."""
|
||||||
@@ -24,6 +22,6 @@ class InMemoryUserStorage:
|
|||||||
"""Deletes a user."""
|
"""Deletes a user."""
|
||||||
del self._users[user_id]
|
del self._users[user_id]
|
||||||
|
|
||||||
def list_all(self) -> List[User]:
|
def list_all(self) -> list[User]:
|
||||||
"""Returns all users."""
|
"""Returns all users."""
|
||||||
return list(self._users.values())
|
return list(self._users.values())
|
||||||
@@ -292,22 +292,25 @@ def test_PythonDocumentationGenerator_collect_modules(
|
|||||||
None,
|
None,
|
||||||
[
|
[
|
||||||
(
|
(
|
||||||
"""pytest.mark.parametrize('python_documentation_gener"""
|
"pytest.mark.parametrize('python_documentatio"
|
||||||
"""ator,expected', [(PythonDocumentationGenerator(path"""
|
"n_generator,expected', [(PythonDocumentation"
|
||||||
"""lib.Path('tests/unit/core/python/_core/test_project"""
|
"Generator(pathlib.Path('tests/unit/core/pyth"
|
||||||
"""_dirs/pdir_1'), pathlib.Path('tests/unit/core/pytho"""
|
"on/_core/test_project_dirs/pdir_1'), pathlib"
|
||||||
"""n/_core/test_project_dirs/pdir_1/docs')), []), (Pyt"""
|
".Path('tests/unit/core/python/_core/test_pro"
|
||||||
"""honDocumentationGenerator(pathlib.Path('tests/unit/"""
|
"ject_dirs/pdir_1/docs')), []), (PythonDocume"
|
||||||
"""core/python/_core/test_project_dirs/pdir_2'), pathl"""
|
"ntationGenerator(pathlib.Path('tests/unit/co"
|
||||||
"""ib.Path('tests/unit/core/python/_core/test_project_"""
|
"re/python/_core/test_project_dirs/pdir_2'), "
|
||||||
"""dirs/pdir_2/docs')), [PythonPackageNamespace('pkg',"""
|
"pathlib.Path('tests/unit/core/python/_core/t"
|
||||||
""" [PythonModuleNamespace('module')])]), (PythonDocum"""
|
"est_project_dirs/pdir_2/docs')), [PythonPack"
|
||||||
"""entationGenerator(pathlib.Path('tests/unit/core/pyt"""
|
"ageNamespace('pkg', [PythonModuleNamespace('"
|
||||||
"""hon/_core/test_project_dirs/pdir_3'), pathlib.Path("""
|
"module')])]), (PythonDocumentationGenerator("
|
||||||
"""'tests/unit/core/python/_core/test_project_dirs/pdi"""
|
"pathlib.Path('tests/unit/core/python/_core/t"
|
||||||
"""r_3/docs')), [PythonPackageNamespace('pkg', [Python"""
|
"est_project_dirs/pdir_3'), pathlib.Path('tes"
|
||||||
"""ModuleNamespace(\'module'), PythonPackageNamespace("""
|
'ts/unit/core/python/_core/test_project_dirs/'
|
||||||
"""\'pkg\', [PythonModuleNamespace(\'module2')])])])])"""
|
"pdir_3/docs')), [PythonPackageNamespace('pkg"
|
||||||
|
"', [PythonModuleNamespace('module'), Python"
|
||||||
|
"PackageNamespace('pkg', [PythonModuleNames"
|
||||||
|
"pace('module2')])])])])"
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in new issue
Block a user