Skip to content

Commit 1e07ece

Browse files
committed
update
1 parent ea95ddd commit 1e07ece

2 files changed

Lines changed: 12 additions & 40 deletions

File tree

src/sphinxnotes/data/data.py

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from __future__ import annotations
2-
from typing import Any, Callable, Generator, Literal as Lit, TYPE_CHECKING
2+
from typing import Any, Callable, Generator, Literal as Lit, TYPE_CHECKING, Self
33
import re
44
from dataclasses import dataclass, asdict, field as datacls_field
55
import hashlib
@@ -183,8 +183,8 @@ class Field:
183183
sep: str | None = None
184184

185185
@classmethod
186-
def from_dsl(cls, dsl: str) -> Field:
187-
self = Field()
186+
def from_dsl(cls, dsl: str) -> Self:
187+
self = cls()
188188
DSLParser(self).parse(dsl)
189189
return self
190190

@@ -356,26 +356,21 @@ def _apply_modifier(self, mod: str):
356356
@dataclass(frozen=True)
357357
class Schema(object):
358358
name: Field | None
359-
attrs: dict[str, Field] | Field
359+
attrs: dict[str, Field]
360360
content: Field | None
361361

362362
@classmethod
363363
def from_dsl(
364364
cls,
365365
name: str | None = None,
366-
attrs: str | dict[str, str] = {},
367-
content=str | None,
368-
) -> Schema:
366+
attrs: dict[str, str] = {},
367+
content: str | None = None,
368+
) -> Self:
369369
name_field = Field.from_dsl(name) if name else None
370+
attrs_field = {k: Field.from_dsl(v) for k, v in attrs.items()}
371+
cont_field = Field.from_dsl(content) if content else None
370372

371-
if isinstance(attrs, str):
372-
attrs_field = Field.from_dsl(attrs)
373-
else:
374-
attrs_field = {k: Field.from_dsl(v) for k, v in attrs.items()}
375-
376-
cont_field = Field.from_dsl(name) if name else None
377-
378-
return Schema(name_field, attrs_field, cont_field)
373+
return cls(name_field, attrs_field, cont_field)
379374

380375
def _parse_single(
381376
self, field: tuple[str, Field | None], rawval: str | None

src/sphinxnotes/data/render.py

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,13 @@
1212
from dataclasses import dataclass
1313

1414
from docutils import nodes
15-
from docutils.nodes import fully_normalize_name
1615
from docutils.parsers.rst import directives
1716
from sphinx.util import logging
1817
from sphinx.util.docutils import SphinxDirective, SphinxRole
1918
from sphinx.application import Sphinx
2019
from sphinx.transforms import SphinxTransform
21-
from sphinx.util.nodes import make_id
2220
from sphinx.environment import BuildEnvironment
2321

24-
2522
from .data import Field, Schema, RawData, ParsedData
2623
from .template import Template, Phase, MarkupParser
2724
from . import extra_contexts
@@ -149,28 +146,8 @@ def doctree(self) -> nodes.document:
149146

150147
class rendered_node(BaseNode, nodes.container):
151148
data: ParsedData
152-
153-
def setup_anchor(
154-
self,
155-
caller: Caller,
156-
ahrnode: nodes.Element,
157-
prefix: str = '',
158-
term: str | None = None,
159-
) -> str:
160-
_caller = _Caller(caller)
161-
ahrid = make_id(_caller.env, _caller.doctree, prefix=prefix, term=term)
162-
ahrnode['ids'].append(ahrid)
163-
_caller.doctree.note_explicit_target(ahrnode)
164-
165-
def append_name(name):
166-
ahrnode['names'].append(fully_normalize_name(str(name)))
167-
168-
if isinstance(self.data.name, list):
169-
[append_name(x) for x in self.data.name]
170-
else:
171-
append_name(self.data.name)
172-
173-
return ahrid
149+
external_name: nodes.Element | None
150+
external_content: nodes.Element | None
174151

175152

176153
class BaseDataMarkup(ABC):

0 commit comments

Comments
 (0)