hestia-earth-utils 0.15.7__py3-none-any.whl → 0.15.9__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.
@@ -6,7 +6,7 @@ from statistics import mode, mean
6
6
  from hestia_earth.schema import TermTermType
7
7
 
8
8
  from .lookup import download_lookup, get_table_value, column_name
9
- from .tools import non_empty_list, flatten
9
+ from .tools import non_empty_list, non_empty_value, flatten
10
10
  from .emission import cycle_emissions_in_system_boundary
11
11
  from .model import filter_list_term_type
12
12
 
@@ -145,7 +145,7 @@ def get_node_value(
145
145
 
146
146
  return reducer(value) if reducer else (
147
147
  value if any([isinstance(value, float), isinstance(value, int), isinstance(value, bool)]) else
148
- default if value is None else
148
+ default if not non_empty_value(value) else
149
149
  value
150
150
  )
151
151
 
@@ -3,7 +3,12 @@ import numpy as np
3
3
 
4
4
 
5
5
  EXCLUDE_FIELDS = ["@type", "type", "@context"]
6
- EXCLUDE_PRIVATE_FIELDS = ["added", "addedVersion", "updated", "updatedVersion", "_cache"]
6
+ EXCLUDE_PRIVATE_FIELDS = [
7
+ "added", "addedVersion",
8
+ "updated", "updatedVersion",
9
+ "aggregatedVersion",
10
+ "_cache"
11
+ ]
7
12
 
8
13
 
9
14
  def _with_csv_formatting(dct):
@@ -38,10 +38,15 @@ def _combine_node_ids(nodes: list):
38
38
  return {"@id": ";".join([node.get("@id", node.get("id")) for node in nodes])}
39
39
 
40
40
 
41
- def _base_pivoted_value(value):
41
+ def _base_pivoted_value(key: str, value, is_top_level: bool):
42
42
  # handle list of Nodes
43
43
  return (
44
- _combine_node_ids(value) if isinstance(value[0], dict) and value[0].get('@type') in NODE_TYPES else value
44
+ _combine_node_ids(value) if isinstance(value[0], dict) and value[0].get('@type') in NODE_TYPES else
45
+ json.dumps(value, separators=(',', ':')) if any([
46
+ is_top_level,
47
+ key in ['distribution']
48
+ ]) else
49
+ value
45
50
  ) if isinstance(value, list) else value
46
51
 
47
52
 
@@ -51,11 +56,12 @@ def _do_pivot(node, parent_node_type=None, parent_field=None, level=0): # noqa:
51
56
  if node_type not in ADAPTED_UNIQUENESS_FIELDS:
52
57
  return node
53
58
  pivoted_node = {
54
- field: _base_pivoted_value(value)
59
+ field: _base_pivoted_value(field, value, level==0)
55
60
  for field, value in node.items()
56
61
  if all([
57
62
  field not in ADAPTED_UNIQUENESS_FIELDS[node_type],
58
- node_type != 'Term' or field not in term_exclude_fields
63
+ node_type != 'Term' or field not in term_exclude_fields,
64
+ field not in EXCLUDE_PRIVATE_FIELDS
59
65
  ])
60
66
  }
61
67
 
@@ -1 +1 @@
1
- VERSION = '0.15.7'
1
+ VERSION = '0.15.9'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hestia-earth-utils
3
- Version: 0.15.7
3
+ Version: 0.15.9
4
4
  Summary: HESTIA's utils library
5
5
  Home-page: https://gitlab.com/hestia-earth/hestia-utils
6
6
  Author: HESTIA Team
@@ -1,7 +1,7 @@
1
1
  hestia_earth/__init__.py,sha256=G-d438vPx7m_ks5e9XTtM3u7LDRO5dSSukibukWmyPM,56
2
2
  hestia_earth/utils/__init__.py,sha256=qEFeq3yuf3lQKVseALmL8aPM8fpCS54B_5pry00M3hk,76
3
3
  hestia_earth/utils/api.py,sha256=y0gw5pCCHNnFIhM62Hok_5eDtH3QDAZdkye_1mANMNs,9654
4
- hestia_earth/utils/blank_node.py,sha256=COmhDWc9mdk2EyXJIQHw_reGM_0Drs1Onh4lNP8rxa4,7345
4
+ hestia_earth/utils/blank_node.py,sha256=1wc9zUkOvFhJS-YmuKexfIdYxfsp5KyJczLmHlW559Q,7375
5
5
  hestia_earth/utils/calculation_status.py,sha256=X7lbgVMD9luH1gj9lEcxd3_P2-u7e8ZPGCvX1czPZUo,2238
6
6
  hestia_earth/utils/cycle.py,sha256=rFLRL9X4KQ1UrE6fEPA_gV8KmwzrZpR3Ce56zg41lRk,1326
7
7
  hestia_earth/utils/date.py,sha256=SPQ69uxHiv1o3BqIkBKkM5XX_CmS20CB7g6u2rhsdh8,1807
@@ -16,22 +16,22 @@ hestia_earth/utils/stats.py,sha256=4t3op10xDJbGxWJEY1Jtyl302PYWyMFwLpsSkMlzQn8,3
16
16
  hestia_earth/utils/table.py,sha256=RrTt-KF_QzjKiCpaAueoG6La1FG-Iusxw5NMDpoRBpQ,2861
17
17
  hestia_earth/utils/term.py,sha256=6LiUSc6KX3IOkfWF6fYkQ2tENCO8ENljcdDypxU6WtA,1060
18
18
  hestia_earth/utils/tools.py,sha256=eCppZ0gFR6RPF7TEraMLwLJnUCJb93xP0iEzFPcYpK0,4685
19
- hestia_earth/utils/version.py,sha256=i5A1ArkQoPMA4s7B-G-hGfkzKEbUchANXOd9RxkRefg,19
19
+ hestia_earth/utils/version.py,sha256=bYJDMWJ5fpHePjK8_SqlY-xcn41Nz654Q1jc3TykHC8,19
20
20
  hestia_earth/utils/pivot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- hestia_earth/utils/pivot/_shared.py,sha256=sRE_PGe9u0-sFnCb0mdeM7vPOkFWt3-kDs8WSGQTQGk,875
21
+ hestia_earth/utils/pivot/_shared.py,sha256=MB9074xkgKO9D_B6tWM-pdOlpjP_9itWpAHAzkA_1to,914
22
22
  hestia_earth/utils/pivot/pivot_csv.py,sha256=Ed-sCKEqVIFJu71AncS7zlMkHbw5V15QLd5c5B_uxiE,12296
23
- hestia_earth/utils/pivot/pivot_json.py,sha256=Rm4_mNaEgx-Jmq8sGIq_-jYMtZO78YXGxwdz1_y886I,9497
23
+ hestia_earth/utils/pivot/pivot_json.py,sha256=Ld0SmUa-2aJ2pHOyicLujBP8KpBT_FnYNcy6FDbjLBY,9737
24
24
  hestia_earth/utils/storage/__init__.py,sha256=uNX6_EHWWnNUIm4Ng7L43-cQmuc6NGFAxXye85saIXQ,922
25
25
  hestia_earth/utils/storage/_azure_client.py,sha256=sevCZni04eknMql2DgUsWG23f7u0KvsXP7me1ZUBy00,1274
26
26
  hestia_earth/utils/storage/_local_client.py,sha256=IbzziUKY0QS3ybHFfgEpELqvafa7hQnZ-DdGdjQuypE,515
27
27
  hestia_earth/utils/storage/_s3_client.py,sha256=aWt4i_vObcTDWcwyzOOnBBnMv1rxPZV3AJZQMn96Hok,2975
28
28
  hestia_earth/utils/storage/_sns_client.py,sha256=LowUatj78Egu6_Id6Rr7hZjfZx1WguS3lozB3yAwSps,347
29
- hestia_earth_utils-0.15.7.data/scripts/hestia-format-upload,sha256=IhLAHHPJqRgUcht-M_EUEsRMbRbMfshig07o488zscM,703
30
- hestia_earth_utils-0.15.7.data/scripts/hestia-pivot-csv,sha256=0YBuGuyPO8rytod6iwWEKiQdSlr9JLuD001k6U5t6no,1163
29
+ hestia_earth_utils-0.15.9.data/scripts/hestia-format-upload,sha256=IhLAHHPJqRgUcht-M_EUEsRMbRbMfshig07o488zscM,703
30
+ hestia_earth_utils-0.15.9.data/scripts/hestia-pivot-csv,sha256=0YBuGuyPO8rytod6iwWEKiQdSlr9JLuD001k6U5t6no,1163
31
31
  tests/pivot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  tests/pivot/test_pivot_csv.py,sha256=aYni7o3QDPSgtVxVCspEetotgpYHY7Lz5VHf-DR89gw,8131
33
33
  tests/pivot/test_pivot_json.py,sha256=UYTAN4AZhzVicIYsU1A2VgJcctUXohjHppg6s-pqwcg,8287
34
- hestia_earth_utils-0.15.7.dist-info/METADATA,sha256=W0cayfO2MCTpjomFghq9yc6hMceA2J6qNTKcgUm5770,1757
35
- hestia_earth_utils-0.15.7.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
36
- hestia_earth_utils-0.15.7.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
37
- hestia_earth_utils-0.15.7.dist-info/RECORD,,
34
+ hestia_earth_utils-0.15.9.dist-info/METADATA,sha256=4jCktvV_bF4-K0KgGIb-i9wQk2T6CrgzMY7jAJxrZaw,1757
35
+ hestia_earth_utils-0.15.9.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
36
+ hestia_earth_utils-0.15.9.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
37
+ hestia_earth_utils-0.15.9.dist-info/RECORD,,