|
3 | 3 | # SPDX-License-Identifier: Apache-2.0 |
4 | 4 |
|
5 | 5 | # SPDX-FileContributor: Michael Meinel |
| 6 | +# SPDX-FileContributor: Michael Fritzsche |
6 | 7 |
|
7 | 8 | from datetime import date, time, datetime |
8 | 9 |
|
|
25 | 26 | ), |
26 | 27 |
|
27 | 28 | # Wrap item from ld_dict in ld_list |
28 | | - (ld_list.is_ld_list, dict(ld_container=ld_list)), |
29 | | - ( |
30 | | - lambda c: isinstance(c, list) and all(isinstance(item, dict) for item in c), |
31 | | - dict(ld_container=lambda c, **kw: ld_list([{"@list": c}], **kw)) |
32 | | - ), |
| 29 | + (ld_list.is_ld_list, {"ld_container": ld_list}), |
| 30 | + (lambda c: isinstance(c, list), {"ld_container": lambda c, **kw: ld_list(c, **kw)}), |
33 | 31 |
|
34 | 32 | # pythonize items from lists (expanded set is already handled above) |
35 | | - (ld_container.is_json_id, dict(python=lambda c, **_: c["@id"])), |
36 | | - (ld_container.is_typed_json_value, dict(python=ld_container.typed_ld_to_py)), |
37 | | - (ld_container.is_json_value, dict(python=lambda c, **_: c["@value"])), |
38 | | - (ld_list.is_container, dict(ld_container=lambda c, **kw: ld_list([c], **kw))), |
39 | | - (ld_dict.is_json_dict, dict(ld_container=lambda c, **kw: ld_dict([c], **kw))), |
| 33 | + (ld_container.is_json_id, {"python": lambda c, **_: c["@id"]}), |
| 34 | + (ld_container.is_typed_json_value, {"python": lambda c, **kw: ld_container.typed_ld_to_py([c], **kw)}), |
| 35 | + (ld_container.is_json_value, {"python": lambda c, **_: c["@value"]}), |
| 36 | + (ld_list.is_container, {"ld_container": lambda c, **kw: ld_list([c], **kw)}), |
| 37 | + (ld_dict.is_json_dict, {"ld_container": lambda c, **kw: ld_dict([c], **kw)}), |
| 38 | + (lambda v: isinstance(v, str), {"python": lambda v, parent, **_: parent.ld_proc.compact_iri(parent.active_ctx, v)}), |
40 | 39 |
|
41 | 40 | # Convert internal data types to expanded_json |
42 | | - (lambda c: ld_container.is_json_id(c) or ld_container.is_json_value(c), dict(expanded_json=lambda c, **_: [c])), |
43 | | - (ld_dict.is_json_dict, dict(expanded_json=lambda c, **kw: ld_dict.from_dict(c, **kw).ld_value)), |
44 | | - (ld_dict.is_ld_dict, dict(expanded_json=lambda c, **kw: ld_dict.from_dict(c[0], **kw).ld_value)), |
| 41 | + (ld_container.is_json_id, {"expanded_json": lambda c, **_: [c]}), |
| 42 | + (ld_container.is_ld_id, {"expanded_json": lambda c, **_: c}), |
| 43 | + (ld_container.is_json_value, {"expanded_json": lambda c, **_: [c]}), |
| 44 | + (ld_container.is_ld_value, {"expanded_json": lambda c, **_: c}), |
| 45 | + (ld_dict.is_json_dict, {"expanded_json": lambda c, **kw: ld_dict.from_dict(c, **kw).ld_value}), |
45 | 46 | ( |
46 | 47 | ld_list.is_container, |
47 | | - dict( |
48 | | - expanded_json=lambda c, **kw: ld_list.from_list( |
49 | | - ld_list([c]).item_list, container=ld_list([c]).container, **kw |
50 | | - ).ld_value |
51 | | - ), |
| 48 | + {"expanded_json": lambda c, **kw: ld_list.from_list(ld_list.get_item_list_from_container(c), **kw).ld_value} |
52 | 49 | ), |
53 | 50 | ( |
54 | 51 | ld_list.is_ld_list, |
55 | | - dict( |
56 | | - expanded_json=lambda c, **kw: ld_list.from_list( |
57 | | - ld_list(c).item_list, container=ld_list(c).container, **kw |
58 | | - ).ld_value |
59 | | - ), |
| 52 | + {"expanded_json": lambda c, **kw: ld_list.from_list(ld_list.get_item_list_from_container(c[0]), **kw).ld_value} |
60 | 53 | ), |
61 | | - (lambda c: isinstance(c, list), dict(expanded_json=lambda c, **kw: ld_list.from_list(c, **kw).ld_value)), |
62 | | - (lambda v: isinstance(v, (int, float, str, bool)), dict(expanded_json=lambda v, **_: [{"@value": v}])), |
| 54 | + (lambda c: isinstance(c, list), {"expanded_json": lambda c, **kw: ld_list.from_list(c, **kw).ld_value}), |
| 55 | + (lambda v: isinstance(v, (int, float, str, bool)), {"expanded_json": lambda v, **_: [{"@value": v}]}), |
63 | 56 | ( |
64 | 57 | lambda v: isinstance(v, datetime), |
65 | | - dict(expanded_json=lambda v, **_: [{"@value": v.isoformat(), "@type": iri_map["schema:DateTime"]}]), |
| 58 | + {"expanded_json": lambda v, **_: [{"@value": v.isoformat(), "@type": iri_map["schema:DateTime"]}]} |
66 | 59 | ), |
67 | 60 | ( |
68 | 61 | lambda v: isinstance(v, date), |
69 | | - dict(expanded_json=lambda v, **_: [{"@value": v.isoformat(), "@type": iri_map["schema:Date"]}]), |
| 62 | + {"expanded_json": lambda v, **_: [{"@value": v.isoformat(), "@type": iri_map["schema:Date"]}]} |
70 | 63 | ), |
71 | 64 | ( |
72 | 65 | lambda v: isinstance(v, time), |
73 | | - dict(expanded_json=lambda v, **_: [{"@value": v.isoformat(), "@type": iri_map["schema:Time"]}]), |
| 66 | + {"expanded_json": lambda v, **_: [{"@value": v.isoformat(), "@type": iri_map["schema:Time"]}]} |
74 | 67 | ), |
75 | 68 | ] |
76 | 69 |
|
|
0 commit comments