Skip to content

Commit

Permalink
black formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
jwdevantier committed Jul 16, 2022
1 parent 6bb8aa0 commit 2dfb88f
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 23 deletions.
2 changes: 1 addition & 1 deletion gcgen/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@
"generator",
"get_snippet",
"write_file",
"Json"
"Json",
]
7 changes: 6 additions & 1 deletion gcgen/generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,12 @@ def scope(self, scope: Scope) -> None:
self._scope = scope

def on_snippet(
self, snippet_prefix: str, snippet_name: str, snippet_arg: Json, src_path: Path, fh: TextIOWrapper
self,
snippet_prefix: str,
snippet_name: str,
snippet_arg: Json,
src_path: Path,
fh: TextIOWrapper,
):
logger.debug(f"on_snippet {snippet_name!r} called")
snippet_fn: Union[SnippetFn, None] = self._snippets_scope.get(
Expand Down
36 changes: 27 additions & 9 deletions gcgen/snippetparser.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,14 @@ def printerr(self) -> None:


class SnippetJsonValueError(SnippetParseError):
def __init__(self, file: Path, snippet: str, value: str, json_err: JSONDecodeError, line_start: int):
def __init__(
self,
file: Path,
snippet: str,
value: str,
json_err: JSONDecodeError,
line_start: int,
):
self.file = file
self.snippet = snippet
self.line_start = line_start
Expand All @@ -81,15 +88,13 @@ def __init__(self, file: Path, snippet: str, value: str, json_err: JSONDecodeErr
file,
snippet,
line_start,
line_start
line_start,
)

def printerr(self) -> None:
print("Snippet argument parse error:")
print("")
print(
"Error parsing argument as JSON value"
)
print("Error parsing argument as JSON value")
print("")
print("Details:")
print(f" File: {self.file}")
Expand All @@ -105,7 +110,12 @@ def __init__(self, snippet_start: str, snippet_end: str):
self.snippet_end = snippet_end

def on_snippet(
self, snippet_prefix: str, snippet_name: str, snippet_arg: Json, src_path: Path, fh: TextIOWrapper
self,
snippet_prefix: str,
snippet_name: str,
snippet_arg: Json,
src_path: Path,
fh: TextIOWrapper,
):
pass

Expand Down Expand Up @@ -133,7 +143,9 @@ def parse(self, fpath: Path, dpath: Path):
if ndx != -1:
cont = True
prefix = line[0:ndx]
parts = line[ndx + len(snippet_start):].strip().split(" ", 1)
parts = (
line[ndx + len(snippet_start) :].strip().split(" ", 1)
)
if len(parts) == 1:
snippet_name = parts[0]
snippet_arg = None
Expand All @@ -148,7 +160,11 @@ def parse(self, fpath: Path, dpath: Path):
snippet_arg = json.loads(snippet_arg)
except JSONDecodeError as e:
raise SnippetJsonValueError(
fpath, snippet_name, snippet_arg_raw, e, lineno
fpath,
snippet_name,
snippet_arg_raw,
e,
lineno,
) from e
break

Expand All @@ -174,7 +190,9 @@ def parse(self, fpath: Path, dpath: Path):
for line in src:
lineno += 1
if line.startswith(s_end):
self.on_snippet(snippet_prefix, snippet_name, snippet_arg, fpath, dst)
self.on_snippet(
snippet_prefix, snippet_name, snippet_arg, fpath, dst
)
dst.write(line) # retain the snippet end line
cont = True
break
Expand Down
10 changes: 6 additions & 4 deletions tests/test_gentests.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@
from setuptools._distutils.dir_util import copy_tree
from typing import Dict, List
from gcgen import generate
from gcgen.snippetparser import UnclosedSnippetError, NestedSnippetsError, SnippetJsonValueError
from gcgen.snippetparser import (
UnclosedSnippetError,
NestedSnippetsError,
SnippetJsonValueError,
)
import pytest
import logging

Expand Down Expand Up @@ -155,9 +159,7 @@ def test_bb_snippets_calling_snippets():


def test_bb_snippets_json_args():
gentest_test_eql(
"bb-snippets-json-args", ["example.txt"]
)
gentest_test_eql("bb-snippets-json-args", ["example.txt"])


def test_bb_snippets_json_args_err():
Expand Down
23 changes: 15 additions & 8 deletions tests/test_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,16 @@ def parse(self, fpath: Path, dpath: Path):
super().parse(fpath, dpath)

def on_snippet(
self, snippet_prefix: str, snippet_name: str, snippet_arg: snippetparser.Json, src_path: Path, fh: TextIOWrapper
self,
snippet_prefix: str,
snippet_name: str,
snippet_arg: snippetparser.Json,
src_path: Path,
fh: TextIOWrapper,
):
self._results.append(SnippetResult(
name=snippet_name,
prefix=snippet_prefix,
args=snippet_arg
))
self._results.append(
SnippetResult(name=snippet_name, prefix=snippet_prefix, args=snippet_arg)
)
# pass


Expand All @@ -70,7 +73,7 @@ def test_prog_w_noarg_snippets():
parser.parse(fpath, fpath)
assert parser._results == [
SnippetResult(name="hello", prefix="", args=None),
SnippetResult(name="smth", prefix=" ", args=None)
SnippetResult(name="smth", prefix=" ", args=None),
]


Expand Down Expand Up @@ -105,5 +108,9 @@ def test_prog_w_json_args():
SnippetResult(name="hello", prefix="", args=None),
SnippetResult(name="hello", prefix="", args="Jacque"),
SnippetResult(name="print_files", prefix=" ", args=["file1", "file2"]),
SnippetResult(name="mk_user", prefix=" ", args={"username": "jane", "groups": ["wheel", "docker"]}),
SnippetResult(
name="mk_user",
prefix=" ",
args={"username": "jane", "groups": ["wheel", "docker"]},
),
]

0 comments on commit 2dfb88f

Please sign in to comment.