dcicutils 8.16.6.1b2__py3-none-any.whl → 8.16.6.1b4__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.
- dcicutils/data_readers.py +9 -2
- dcicutils/misc_utils.py +4 -1
- {dcicutils-8.16.6.1b2.dist-info → dcicutils-8.16.6.1b4.dist-info}/METADATA +1 -1
- {dcicutils-8.16.6.1b2.dist-info → dcicutils-8.16.6.1b4.dist-info}/RECORD +7 -7
- {dcicutils-8.16.6.1b2.dist-info → dcicutils-8.16.6.1b4.dist-info}/LICENSE.txt +0 -0
- {dcicutils-8.16.6.1b2.dist-info → dcicutils-8.16.6.1b4.dist-info}/WHEEL +0 -0
- {dcicutils-8.16.6.1b2.dist-info → dcicutils-8.16.6.1b4.dist-info}/entry_points.txt +0 -0
dcicutils/data_readers.py
CHANGED
@@ -31,15 +31,22 @@ class RowReader(abc.ABC):
|
|
31
31
|
self.open()
|
32
32
|
|
33
33
|
def __iter__(self) -> Iterator:
|
34
|
+
header = self._iter_header()
|
34
35
|
for row in self.rows:
|
35
36
|
self.row_number += 1
|
36
37
|
if self.is_comment_row(row):
|
37
38
|
continue
|
38
39
|
if self.is_terminating_row(row):
|
39
40
|
break
|
40
|
-
if len(
|
41
|
+
if len(header) < len(row): # Row values beyond what there are headers for are ignored.
|
41
42
|
self._warning_extra_values.append(self.row_number)
|
42
|
-
yield {column: self.cell_value(value) for column, value in zip(
|
43
|
+
yield self._iter_mapper({column: self.cell_value(value) for column, value in zip(header, row)})
|
44
|
+
|
45
|
+
def _iter_header(self) -> List[str]:
|
46
|
+
return self.header
|
47
|
+
|
48
|
+
def _iter_mapper(self, row: dict) -> List[str]:
|
49
|
+
return row
|
43
50
|
|
44
51
|
def _define_header(self, header: List[Optional[Any]]) -> None:
|
45
52
|
self.header = []
|
dcicutils/misc_utils.py
CHANGED
@@ -1088,7 +1088,10 @@ def to_number(value: str,
|
|
1088
1088
|
if (dot_index := value.rfind(".")) >= 0:
|
1089
1089
|
if value_fraction := value[dot_index + 1:].strip():
|
1090
1090
|
if not value_fraction.isdigit():
|
1091
|
-
|
1091
|
+
try:
|
1092
|
+
value_fraction = float(value_fraction)
|
1093
|
+
except Exception:
|
1094
|
+
return fallback
|
1092
1095
|
if not (value := value[:dot_index].strip()):
|
1093
1096
|
if not value_fraction:
|
1094
1097
|
return fallback
|
@@ -10,7 +10,7 @@ dcicutils/common.py,sha256=U6tedhp6FFl9EUGoMqiMAqON_WqGJ_317JE_Tr4dXDs,3926
|
|
10
10
|
dcicutils/contribution_scripts.py,sha256=0k5Gw1TumcD5SAcXVkDd6-yvuMEw-jUp5Kfb7FJH6XQ,2015
|
11
11
|
dcicutils/contribution_utils.py,sha256=vYLS1JUB3sKd24BUxZ29qUBqYeQBLK9cwo8x3k64uPg,25653
|
12
12
|
dcicutils/creds_utils.py,sha256=64BbIfS90T1eJmmQJrDyfrRa3V2F1x7T8lOrEeFfqJY,11127
|
13
|
-
dcicutils/data_readers.py,sha256=
|
13
|
+
dcicutils/data_readers.py,sha256=CgxWPB2hJzFfKqVUWL_0fERe4CZRMvt-5Afo9lqEt74,7813
|
14
14
|
dcicutils/data_utils.py,sha256=k2OxOlsx7AJ6jF-YNlMyGus_JqSUBe4_n1s65Mv1gQQ,3098
|
15
15
|
dcicutils/datetime_utils.py,sha256=xaJ9rzSsk4uBPidwV2sByrl2xcQiFWXTnx6HLpt8EcY,13650
|
16
16
|
dcicutils/deployment_utils.py,sha256=6Sv1cM9T944d_9CTJt8O2RPtpw9MiTIPKw_DgYLOnCU,69916
|
@@ -45,7 +45,7 @@ dcicutils/license_policies/park-lab-gpl-pipeline.jsonc,sha256=vLZkwm3Js-kjV44nug
|
|
45
45
|
dcicutils/license_policies/park-lab-pipeline.jsonc,sha256=9qlY0ASy3iUMQlr3gorVcXrSfRHnVGbLhkS427UaRy4,283
|
46
46
|
dcicutils/license_utils.py,sha256=2Yxnh1T1iuMe6wluwbvpFO_zYSGPxB4-STAMc-vz-YM,47202
|
47
47
|
dcicutils/log_utils.py,sha256=7pWMc6vyrorUZQf-V-M3YC6zrPgNhuV_fzm9xqTPph0,10883
|
48
|
-
dcicutils/misc_utils.py,sha256=
|
48
|
+
dcicutils/misc_utils.py,sha256=U6dABhaswQA_QPJgkx535WZuZ_ECfc3KvamOEdIMUtc,116079
|
49
49
|
dcicutils/obfuscation_utils.py,sha256=fo2jOmDRC6xWpYX49u80bVNisqRRoPskFNX3ymFAmjw,5963
|
50
50
|
dcicutils/opensearch_utils.py,sha256=V2exmFYW8Xl2_pGFixF4I2Cc549Opwe4PhFi5twC0M8,1017
|
51
51
|
dcicutils/portal_object_utils.py,sha256=Az3n1aL-PQkN5gOFE6ZqC2XkYsqiwKlq7-tZggs1QN4,11062
|
@@ -75,8 +75,8 @@ dcicutils/trace_utils.py,sha256=g8kwV4ebEy5kXW6oOrEAUsurBcCROvwtZqz9fczsGRE,1769
|
|
75
75
|
dcicutils/validation_utils.py,sha256=cMZIU2cY98FYtzK52z5WUYck7urH6JcqOuz9jkXpqzg,14797
|
76
76
|
dcicutils/variant_utils.py,sha256=2H9azNx3xAj-MySg-uZ2SFqbWs4kZvf61JnK6b-h4Qw,4343
|
77
77
|
dcicutils/zip_utils.py,sha256=_Y9EmL3D2dUZhxucxHvrtmmlbZmK4FpSsHEb7rGSJLU,3265
|
78
|
-
dcicutils-8.16.6.
|
79
|
-
dcicutils-8.16.6.
|
80
|
-
dcicutils-8.16.6.
|
81
|
-
dcicutils-8.16.6.
|
82
|
-
dcicutils-8.16.6.
|
78
|
+
dcicutils-8.16.6.1b4.dist-info/LICENSE.txt,sha256=IrWHOFtMb2inTgr2ZqwQriRC8H3uMQfQVO6lniaaoE0,1102
|
79
|
+
dcicutils-8.16.6.1b4.dist-info/METADATA,sha256=lNOOaMtuD-lcn4DV1tt1qcrekAew9nrZUb2WKJkSH6k,3493
|
80
|
+
dcicutils-8.16.6.1b4.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
|
81
|
+
dcicutils-8.16.6.1b4.dist-info/entry_points.txt,sha256=W6kEWdUJk9tQ4myAgpehPdebcwvCAZ7UgB-wyPgDUMg,335
|
82
|
+
dcicutils-8.16.6.1b4.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|