Module nafparserpy.layers.deps
Expand source code
from dataclasses import dataclass, field
from typing import List
from nafparserpy.layers.utils import create_node
@dataclass
class Dep:
"""Represents a Dependency"""
from_idref: str
"""id of 'from' node"""
to: str
"""id of 'to' node"""
rfunc: str
"""dependency relation"""
attrs: dict = field(default_factory=dict)
"""optional attributes: 'case'"""
def __post_init__(self):
"""Copy compulsory attributes to `attrs` field"""
self.attrs.update({'from': self.from_idref, 'to': self.to, 'rfunc': self.rfunc})
def node(self):
"""Create etree node from object"""
return create_node('dep', None, [], self.attrs)
@staticmethod
def object(node):
"""Create object from etree node"""
return Dep(node.get('from'), node.get('to'), node.get('rfunc'), node.attrib)
@dataclass
class Deps:
"""Deps (dependencies) layer class"""
items: List[Dep]
"""list of dependencies"""
def node(self):
"""Create etree node from object"""
return create_node('deps', None, self.items, {})
@staticmethod
def object(node):
"""Create object from etree node"""
return [Dep.object(n) for n in node]
Classes
class Dep (from_idref: str, to: str, rfunc: str, attrs: dict = <factory>)
-
Represents a Dependency
Expand source code
@dataclass class Dep: """Represents a Dependency""" from_idref: str """id of 'from' node""" to: str """id of 'to' node""" rfunc: str """dependency relation""" attrs: dict = field(default_factory=dict) """optional attributes: 'case'""" def __post_init__(self): """Copy compulsory attributes to `attrs` field""" self.attrs.update({'from': self.from_idref, 'to': self.to, 'rfunc': self.rfunc}) def node(self): """Create etree node from object""" return create_node('dep', None, [], self.attrs) @staticmethod def object(node): """Create object from etree node""" return Dep(node.get('from'), node.get('to'), node.get('rfunc'), node.attrib)
Class variables
var attrs : dict
-
optional attributes: 'case'
var from_idref : str
-
id of 'from' node
var rfunc : str
-
dependency relation
var to : str
-
id of 'to' node
Static methods
def object(node)
-
Create object from etree node
Expand source code
@staticmethod def object(node): """Create object from etree node""" return Dep(node.get('from'), node.get('to'), node.get('rfunc'), node.attrib)
Methods
def node(self)
-
Create etree node from object
Expand source code
def node(self): """Create etree node from object""" return create_node('dep', None, [], self.attrs)
class Deps (items: List[Dep])
-
Deps (dependencies) layer class
Expand source code
@dataclass class Deps: """Deps (dependencies) layer class""" items: List[Dep] """list of dependencies""" def node(self): """Create etree node from object""" return create_node('deps', None, self.items, {}) @staticmethod def object(node): """Create object from etree node""" return [Dep.object(n) for n in node]
Class variables
var items : List[Dep]
-
list of dependencies
Static methods
def object(node)
-
Create object from etree node
Expand source code
@staticmethod def object(node): """Create object from etree node""" return [Dep.object(n) for n in node]
Methods
def node(self)
-
Create etree node from object
Expand source code
def node(self): """Create etree node from object""" return create_node('deps', None, self.items, {})