Module piate.api.resources.domains
Expand source code
from dataclasses import dataclass, field
from typing import List, Optional, Dict
from dataclasses_json import Undefined, dataclass_json
from piate.api.resources import BaseResource
from piate.api.response import create_paged_response_class_generic
@dataclass_json(undefined=Undefined.RAISE)
@dataclass
class Domain:
code: str
name: str
level: int
subdomains: List["Domain"] = field(default_factory=list)
eurovoc_code: Optional[str] = field(default=None)
cjeu_code: Optional[str] = field(default=None)
lookups: Optional[List[str]] = field(default_factory=list)
def compact(self) -> Dict:
compact = {
"code": self.code,
"name": self.name,
"level": self.level,
"subdomains": self.subdomains,
}
if self.eurovoc_code:
compact["eurovoc_code"] = self.eurovoc_code
if self.cjeu_code:
compact["cjeu_code"] = self.cjeu_code
if len(self.lookups):
compact["lookups"] = self.lookups
return compact
DomainPagedResponse = create_paged_response_class_generic(Domain)
class Domains(BaseResource):
def list(self) -> DomainPagedResponse:
response = self.session.get("/domains/_tree", do_auth=False)
return DomainPagedResponse.from_dict(response)
Classes
class Domain (code: str, name: str, level: int, subdomains: List[ForwardRef('Domain')] = <factory>, eurovoc_code: Optional[str] = None, cjeu_code: Optional[str] = None, lookups: Optional[List[str]] = <factory>)-
Domain(code: str, name: str, level: int, subdomains: List[ForwardRef('Domain')] =
, eurovoc_code: Optional[str] = None, cjeu_code: Optional[str] = None, lookups: Optional[List[str]] = ) Expand source code
@dataclass_json(undefined=Undefined.RAISE) @dataclass class Domain: code: str name: str level: int subdomains: List["Domain"] = field(default_factory=list) eurovoc_code: Optional[str] = field(default=None) cjeu_code: Optional[str] = field(default=None) lookups: Optional[List[str]] = field(default_factory=list) def compact(self) -> Dict: compact = { "code": self.code, "name": self.name, "level": self.level, "subdomains": self.subdomains, } if self.eurovoc_code: compact["eurovoc_code"] = self.eurovoc_code if self.cjeu_code: compact["cjeu_code"] = self.cjeu_code if len(self.lookups): compact["lookups"] = self.lookups return compactClass variables
var cjeu_code : Optional[str]var code : strvar dataclass_json_configvar eurovoc_code : Optional[str]var level : intvar lookups : Optional[List[str]]var name : strvar subdomains : List[Domain]
Static methods
def from_dict(kvs: Union[dict, list, str, int, float, bool, ForwardRef(None)], *, infer_missing=False) ‑> ~A-
Expand source code
@classmethod def from_dict(cls: Type[A], kvs: Json, *, infer_missing=False) -> A: return _decode_dataclass(cls, kvs, infer_missing) def from_json(s: Union[str, bytes, bytearray], *, parse_float=None, parse_int=None, parse_constant=None, infer_missing=False, **kw) ‑> ~A-
Expand source code
@classmethod def from_json(cls: Type[A], s: JsonData, *, parse_float=None, parse_int=None, parse_constant=None, infer_missing=False, **kw) -> A: kvs = json.loads(s, parse_float=parse_float, parse_int=parse_int, parse_constant=parse_constant, **kw) return cls.from_dict(kvs, infer_missing=infer_missing) def schema(*, infer_missing: bool = False, only=None, exclude=(), many: bool = False, context=None, load_only=(), dump_only=(), partial: bool = False, unknown=None) ‑> dataclasses_json.mm.SchemaF[~A]-
Expand source code
@classmethod def schema(cls: Type[A], *, infer_missing: bool = False, only=None, exclude=(), many: bool = False, context=None, load_only=(), dump_only=(), partial: bool = False, unknown=None) -> SchemaType: Schema = build_schema(cls, DataClassJsonMixin, infer_missing, partial) if unknown is None: undefined_parameter_action = _undefined_parameter_action_safe(cls) if undefined_parameter_action is not None: # We can just make use of the same-named mm keywords unknown = undefined_parameter_action.name.lower() return Schema(only=only, exclude=exclude, many=many, context=context, load_only=load_only, dump_only=dump_only, partial=partial, unknown=unknown)
Methods
def compact(self) ‑> Dict-
Expand source code
def compact(self) -> Dict: compact = { "code": self.code, "name": self.name, "level": self.level, "subdomains": self.subdomains, } if self.eurovoc_code: compact["eurovoc_code"] = self.eurovoc_code if self.cjeu_code: compact["cjeu_code"] = self.cjeu_code if len(self.lookups): compact["lookups"] = self.lookups return compact def to_dict(self, encode_json=False) ‑> Dict[str, Union[dict, list, str, int, float, bool, ForwardRef(None)]]-
Expand source code
def to_dict(self, encode_json=False) -> Dict[str, Json]: return _asdict(self, encode_json=encode_json) def to_json(self, *, skipkeys: bool = False, ensure_ascii: bool = True, check_circular: bool = True, allow_nan: bool = True, indent: Union[int, str, ForwardRef(None)] = None, separators: Tuple[str, str] = None, default: Callable = None, sort_keys: bool = False, **kw) ‑> str-
Expand source code
def to_json(self, *, skipkeys: bool = False, ensure_ascii: bool = True, check_circular: bool = True, allow_nan: bool = True, indent: Optional[Union[int, str]] = None, separators: Tuple[str, str] = None, default: Callable = None, sort_keys: bool = False, **kw) -> str: return json.dumps(self.to_dict(encode_json=False), cls=_ExtendedEncoder, skipkeys=skipkeys, ensure_ascii=ensure_ascii, check_circular=check_circular, allow_nan=allow_nan, indent=indent, separators=separators, default=default, sort_keys=sort_keys, **kw)
class Domains (session: Session)-
Expand source code
class Domains(BaseResource): def list(self) -> DomainPagedResponse: response = self.session.get("/domains/_tree", do_auth=False) return DomainPagedResponse.from_dict(response)Ancestors
Class variables
var session : Session
Methods
def list(self) ‑> create_paged_response_class_generic()..PagedResponse -
Expand source code
def list(self) -> DomainPagedResponse: response = self.session.get("/domains/_tree", do_auth=False) return DomainPagedResponse.from_dict(response)