kodexa 6.1.2a4783664694__py3-none-any.whl → 6.1.2a4786754000__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- kodexa/model/model.py +45 -2
- {kodexa-6.1.2a4783664694.dist-info → kodexa-6.1.2a4786754000.dist-info}/METADATA +1 -1
- {kodexa-6.1.2a4783664694.dist-info → kodexa-6.1.2a4786754000.dist-info}/RECORD +5 -5
- {kodexa-6.1.2a4783664694.dist-info → kodexa-6.1.2a4786754000.dist-info}/LICENSE +0 -0
- {kodexa-6.1.2a4783664694.dist-info → kodexa-6.1.2a4786754000.dist-info}/WHEEL +0 -0
kodexa/model/model.py
CHANGED
@@ -1718,7 +1718,51 @@ class FeatureSetDiff:
|
|
1718
1718
|
def __init__(self, first_feature_set: FeatureSet, second_feature_set: FeatureSet):
|
1719
1719
|
self.first_feature_set = first_feature_set
|
1720
1720
|
self.second_feature_set = second_feature_set
|
1721
|
-
self._differences = deepdiff.DeepDiff(first_feature_set, second_feature_set
|
1721
|
+
self._differences = deepdiff.DeepDiff(first_feature_set, second_feature_set, ignore_type_subclasses=True,
|
1722
|
+
exclude_types={Tag}).to_dict()
|
1723
|
+
self.get_new_items()
|
1724
|
+
self.diff_parser()
|
1725
|
+
|
1726
|
+
def diff_parser(self):
|
1727
|
+
diff = self._differences
|
1728
|
+
added = diff.get('iterable_item_added', {})
|
1729
|
+
removed = diff.get('iterable_item_removed', {})
|
1730
|
+
changed = diff.get('values_changed', {})
|
1731
|
+
|
1732
|
+
result = {}
|
1733
|
+
for key in set(added.keys()) | set(removed.keys()) | set(changed.keys()):
|
1734
|
+
key_diff = {}
|
1735
|
+
|
1736
|
+
if key in added:
|
1737
|
+
key_diff['added'] = added[key]['new_value']
|
1738
|
+
|
1739
|
+
if key in removed:
|
1740
|
+
key_diff['removed'] = removed[key]['old_value']
|
1741
|
+
|
1742
|
+
if key in changed:
|
1743
|
+
key_diff['changed'] = {
|
1744
|
+
'old': changed[key]['old_value'],
|
1745
|
+
'new': changed[key]['new_value']
|
1746
|
+
}
|
1747
|
+
|
1748
|
+
result[key] = key_diff
|
1749
|
+
|
1750
|
+
def get_new_items(self) -> List[dict]:
|
1751
|
+
"""
|
1752
|
+
:return: Show items that were added
|
1753
|
+
"""
|
1754
|
+
new_item_list = []
|
1755
|
+
new_item = {}
|
1756
|
+
for key, value in self._differences.get('iterable_item_added').items():
|
1757
|
+
new_item['name'] = value['name']
|
1758
|
+
for value_item in value['value']:
|
1759
|
+
# Check if the value_item is an object of Tag
|
1760
|
+
if isinstance(value_item, Tag):
|
1761
|
+
value_item = value_item.to_dict()
|
1762
|
+
|
1763
|
+
new_item['value'] = value_item['value']
|
1764
|
+
new_item_list.append(new_item)
|
1765
|
+
return new_item_list
|
1722
1766
|
|
1723
1767
|
def get_differences(self):
|
1724
1768
|
"""
|
@@ -1749,7 +1793,6 @@ class FeatureSetDiff:
|
|
1749
1793
|
"""
|
1750
1794
|
return len(self._differences().keys())
|
1751
1795
|
|
1752
|
-
|
1753
1796
|
def get_all_differences(self):
|
1754
1797
|
"""
|
1755
1798
|
:return: List of all differences between the feature sets
|
@@ -5,7 +5,7 @@ kodexa/connectors/__init__.py,sha256=WCUEzFGjHcgPAMFIKLaRTXAkGHx3vUCD8APMhOrNNgM
|
|
5
5
|
kodexa/connectors/connectors.py,sha256=25-TffyGDjxHyp9ITug0qgr1nhqMAekmV5NVvbPGs7o,7722
|
6
6
|
kodexa/model/__init__.py,sha256=DyCgkJU7rOfd4SMvPRLaPdklCNlkqCRRWiVPwjYn2GE,720
|
7
7
|
kodexa/model/base.py,sha256=6IraEK3RomjPgFpPYkxjuLUriF958AusgJO21Dcopeg,753
|
8
|
-
kodexa/model/model.py,sha256=
|
8
|
+
kodexa/model/model.py,sha256=PGuKIqUy2eUzExvMqMOfYMZaHw_snIkEUGtoDRtvGiY,93175
|
9
9
|
kodexa/model/objects.py,sha256=afckMl6Mjc-C-Jvl1sly8sckrujWvV4bOpi3e9ruUlc,116415
|
10
10
|
kodexa/model/persistence.py,sha256=ZWESzXS-jkGbp-NlPuQzQFxmZeRup7uNJjrUkGaYIOk,38334
|
11
11
|
kodexa/pipeline/__init__.py,sha256=sA7f5D6qkdMrpp2xTIeefnrUBI6xxEEWostvxfX_1Cs,236
|
@@ -34,7 +34,7 @@ kodexa/testing/test_components.py,sha256=i_9M6-bfUBdR1uYAzZZzWiW0M1DGKzE5mkNuHq4
|
|
34
34
|
kodexa/testing/test_utils.py,sha256=HXM3S5FDzarzS6R7jkOHps6d6Ox2UtNqymoK6VCw8Zg,13596
|
35
35
|
kodexa/training/__init__.py,sha256=xs2L62YpRkIRfslQwtQZ5Yxjhm7sLzX2TrVX6EuBnZQ,52
|
36
36
|
kodexa/training/train_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
37
|
-
kodexa-6.1.
|
38
|
-
kodexa-6.1.
|
39
|
-
kodexa-6.1.
|
40
|
-
kodexa-6.1.
|
37
|
+
kodexa-6.1.2a4786754000.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
38
|
+
kodexa-6.1.2a4786754000.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
|
39
|
+
kodexa-6.1.2a4786754000.dist-info/METADATA,sha256=Zacyvjs2TA9ubvYrZn9iu3zFk8X3zz9nvXolHO-aBjA,4159
|
40
|
+
kodexa-6.1.2a4786754000.dist-info/RECORD,,
|
File without changes
|
File without changes
|