excel-list-transform 0.7.0__tar.gz → 0.7.3__tar.gz
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.
- {excel_list_transform-0.7.0/excel_list_transform.egg-info → excel_list_transform-0.7.3}/PKG-INFO +4 -4
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3/excel_list_transform.egg-info}/PKG-INFO +4 -4
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/excel_list_transform.egg-info/requires.txt +3 -3
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/pyproject.toml +1 -1
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/setup.py +4 -4
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/config.py +13 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/config_excel_list_transform.py +2 -15
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/config_xls_list_refmt_name.py +1 -1
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/config_xls_list_refmt_num.py +4 -4
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/generate_cfg.py +105 -10
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/transform_cmd.py +3 -2
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/LICENSE.txt +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/README.md +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/README_pypi.md +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/excel_list_transform.egg-info/SOURCES.txt +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/excel_list_transform.egg-info/dependency_links.txt +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/excel_list_transform.egg-info/top_level.txt +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/setup.cfg +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/__init__.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/__main__.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/check_indata_common.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/commontypes.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/config_enums.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/config_factory.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/file_extension.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/file_must_exist.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/generate_txt.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/handle_csv.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/handle_empty_column.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/handle_excel.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/num_named_conversion.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/py.typed +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/rewrite_value.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/str_to_enum.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/transform_func.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/transform_func_common.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/transform_func_named.py +0 -0
- {excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/transform_func_num.py +0 -0
{excel_list_transform-0.7.0/excel_list_transform.egg-info → excel_list_transform-0.7.3}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: excel-list-transform
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3
|
|
4
4
|
Summary: Transform a list in excel or CSV
|
|
5
5
|
Author: Tom Björkholm
|
|
6
6
|
Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
|
|
@@ -12,13 +12,13 @@ Requires-Python: >=3.12.6
|
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE.txt
|
|
14
14
|
Requires-Dist: openpyxl>=3.1.5
|
|
15
|
-
Requires-Dist: types-openpyxl>=3.1.5.
|
|
15
|
+
Requires-Dist: types-openpyxl>=3.1.5.20241225
|
|
16
16
|
Requires-Dist: pylightxl>=1.61
|
|
17
17
|
Requires-Dist: XlsxWriter>=3.2.0
|
|
18
18
|
Requires-Dist: pip>=24.2
|
|
19
|
-
Requires-Dist: setuptools>=75.
|
|
19
|
+
Requires-Dist: setuptools>=75.6.0
|
|
20
20
|
Requires-Dist: build>=1.2.2
|
|
21
|
-
Requires-Dist: wheel>=0.
|
|
21
|
+
Requires-Dist: wheel>=0.45.1
|
|
22
22
|
|
|
23
23
|
# excel-list-transform
|
|
24
24
|
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3/excel_list_transform.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: excel-list-transform
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3
|
|
4
4
|
Summary: Transform a list in excel or CSV
|
|
5
5
|
Author: Tom Björkholm
|
|
6
6
|
Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
|
|
@@ -12,13 +12,13 @@ Requires-Python: >=3.12.6
|
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE.txt
|
|
14
14
|
Requires-Dist: openpyxl>=3.1.5
|
|
15
|
-
Requires-Dist: types-openpyxl>=3.1.5.
|
|
15
|
+
Requires-Dist: types-openpyxl>=3.1.5.20241225
|
|
16
16
|
Requires-Dist: pylightxl>=1.61
|
|
17
17
|
Requires-Dist: XlsxWriter>=3.2.0
|
|
18
18
|
Requires-Dist: pip>=24.2
|
|
19
|
-
Requires-Dist: setuptools>=75.
|
|
19
|
+
Requires-Dist: setuptools>=75.6.0
|
|
20
20
|
Requires-Dist: build>=1.2.2
|
|
21
|
-
Requires-Dist: wheel>=0.
|
|
21
|
+
Requires-Dist: wheel>=0.45.1
|
|
22
22
|
|
|
23
23
|
# excel-list-transform
|
|
24
24
|
|
|
@@ -5,7 +5,7 @@ from setuptools import setup
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name='excel-list-transform',
|
|
8
|
-
version='0.7.
|
|
8
|
+
version='0.7.3',
|
|
9
9
|
description='Transform a list in excel or CSV.',
|
|
10
10
|
author='Tom Björkholm',
|
|
11
11
|
author_email='klausuler_linnet0q@icloud.com',
|
|
@@ -15,12 +15,12 @@ setup(
|
|
|
15
15
|
package_data={'excel_list_transform': ['src/py.typed']},
|
|
16
16
|
install_requires=[
|
|
17
17
|
'openpyxl >= 3.1.5',
|
|
18
|
-
'types-openpyxl >= 3.1.5.
|
|
18
|
+
'types-openpyxl >= 3.1.5.20241225',
|
|
19
19
|
'pylightxl >= 1.61',
|
|
20
20
|
'XlsxWriter >= 3.2.0',
|
|
21
21
|
'pip >= 24.2',
|
|
22
|
-
'setuptools >= 75.
|
|
22
|
+
'setuptools >= 75.6.0',
|
|
23
23
|
'build >= 1.2.2',
|
|
24
|
-
'wheel>=0.
|
|
24
|
+
'wheel>=0.45.1'
|
|
25
25
|
]
|
|
26
26
|
)
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/config.py
RENAMED
|
@@ -9,6 +9,7 @@ from copy import deepcopy
|
|
|
9
9
|
import json
|
|
10
10
|
import sys
|
|
11
11
|
import csv
|
|
12
|
+
from collections import Counter
|
|
12
13
|
from typing import Any, Optional, Type, TypeVar, Mapping, NamedTuple, Callable
|
|
13
14
|
from enum import Enum, IntEnum
|
|
14
15
|
from tempfile import TemporaryFile
|
|
@@ -394,3 +395,15 @@ class Config():
|
|
|
394
395
|
if not Config.valid_char_encoding(enc=enc):
|
|
395
396
|
print(f'{enc} is not a recognized encoding', file=sys.stderr)
|
|
396
397
|
sys.exit(1)
|
|
398
|
+
|
|
399
|
+
@staticmethod
|
|
400
|
+
def check_no_duplicates(expanded_data: list[str] | list[int],
|
|
401
|
+
param_name: str) -> None:
|
|
402
|
+
"""Error report duplicate data."""
|
|
403
|
+
dup = [str(k) for k, v in Counter(expanded_data).items() if v > 1]
|
|
404
|
+
if len(dup) == 0:
|
|
405
|
+
return
|
|
406
|
+
msg = f'Duplicates not allowed in {param_name}. Duplicate values: ' # noqa: E713, E501
|
|
407
|
+
msg += ','.join(dup)
|
|
408
|
+
print(msg, file=sys.stderr)
|
|
409
|
+
sys.exit(1)
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
import sys
|
|
9
9
|
from copy import deepcopy
|
|
10
10
|
from enum import Enum
|
|
11
|
-
from collections import Counter
|
|
12
11
|
from typing import Optional, Callable, TypeAlias, TypeVar, NamedTuple, Generic
|
|
13
12
|
from csv import Dialect
|
|
14
13
|
from excel_list_transform.config import Config, ParseConverter
|
|
@@ -150,18 +149,6 @@ class ConfigExcelListTransform(Config, Generic[Column]): # pylint: disable=too-
|
|
|
150
149
|
'in_excel_col_name_strip': False,
|
|
151
150
|
'in_excel_values_strip': False}
|
|
152
151
|
|
|
153
|
-
@staticmethod
|
|
154
|
-
def _duplicates_not_allowed(expanded_data: list[Column],
|
|
155
|
-
param_name: str) -> None:
|
|
156
|
-
"""Error report duplicate data."""
|
|
157
|
-
dup = [str(k) for k, v in Counter(expanded_data).items() if v > 1]
|
|
158
|
-
if len(dup) == 0:
|
|
159
|
-
return
|
|
160
|
-
msg = f'Duplicates not allowed in {param_name}. Duplicate values: ' # noqa: E713, E501
|
|
161
|
-
msg += ','.join(dup)
|
|
162
|
-
print(msg, file=sys.stderr)
|
|
163
|
-
raise KeyError(msg)
|
|
164
|
-
|
|
165
152
|
@staticmethod
|
|
166
153
|
def get_cols_single(rule: Rule[Column] | RuleSplit[Column] |
|
|
167
154
|
RuleRewrite[Column],
|
|
@@ -192,7 +179,7 @@ class ConfigExcelListTransform(Config, Generic[Column]): # pylint: disable=too-
|
|
|
192
179
|
"""Flag as error if column is refered to multiple times."""
|
|
193
180
|
cols: list[Column] = ConfigExcelListTransform.get_cols_single(rule,
|
|
194
181
|
tinfo)
|
|
195
|
-
ConfigExcelListTransform.
|
|
182
|
+
ConfigExcelListTransform.check_no_duplicates(cols, param_name)
|
|
196
183
|
|
|
197
184
|
@staticmethod
|
|
198
185
|
def _check_no_duplicate_multi(rule: RuleMerge[Column],
|
|
@@ -200,7 +187,7 @@ class ConfigExcelListTransform(Config, Generic[Column]): # pylint: disable=too-
|
|
|
200
187
|
"""Flag as error if column is refered to multiple times."""
|
|
201
188
|
cols: list[Column] = ConfigExcelListTransform.get_cols_multi(rule,
|
|
202
189
|
tinfo)
|
|
203
|
-
ConfigExcelListTransform.
|
|
190
|
+
ConfigExcelListTransform.check_no_duplicates(cols, param_name)
|
|
204
191
|
|
|
205
192
|
@staticmethod
|
|
206
193
|
def _check_increasing_multi(rule: RuleMerge[Column], param_name: str,
|
|
@@ -37,4 +37,4 @@ class ConfigXlsListRefmtName(ConfigExcelListTransform[str]): # pylint: disable=
|
|
|
37
37
|
colinfo=colinfo, tinfo='a',
|
|
38
38
|
from_json_text=from_json_text,
|
|
39
39
|
from_json_filename=from_json_filename)
|
|
40
|
-
self.
|
|
40
|
+
self.check_no_duplicates(self.s8_column_order, 's8_column_order')
|
|
@@ -51,12 +51,12 @@ class ConfigXlsListRefmtNum(ConfigExcelListTransform[int]): # pylint: disable=t
|
|
|
51
51
|
colinfo=colinfo, tinfo=2,
|
|
52
52
|
from_json_text=from_json_text,
|
|
53
53
|
from_json_filename=from_json_filename)
|
|
54
|
-
self.
|
|
55
|
-
|
|
54
|
+
self.check_no_duplicates(self.s2_remove_columns,
|
|
55
|
+
's2_remove_columns')
|
|
56
56
|
self._check_increasing_multi(self.s3_merge_columns,
|
|
57
57
|
's3_merge_columns', 2)
|
|
58
|
-
self.
|
|
59
|
-
|
|
58
|
+
self.check_no_duplicates(self.s4_place_columns_first,
|
|
59
|
+
's4_place_columns_first')
|
|
60
60
|
|
|
61
61
|
def sort_sx_hook(self) -> None:
|
|
62
62
|
"""Sort s[0-9]_ as needed as needed (hook)."""
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/generate_cfg.py
RENAMED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
from excel_list_transform.file_extension import fix_file_extension
|
|
9
9
|
from excel_list_transform.config_enums import ColumnRef, FileType, \
|
|
10
|
-
RewriteKind, CaseSensitivity, ExcelLib
|
|
10
|
+
RewriteKind, CaseSensitivity, ExcelLib, SplitWhere
|
|
11
11
|
from excel_list_transform.config_factory import config_factory_from_enum
|
|
12
12
|
from excel_list_transform.generate_txt import generate_syntax_txt
|
|
13
13
|
from excel_list_transform.config_xls_list_refmt_name import \
|
|
@@ -15,15 +15,7 @@ from excel_list_transform.config_xls_list_refmt_name import \
|
|
|
15
15
|
from excel_list_transform.config_xls_list_refmt_num import \
|
|
16
16
|
ConfigXlsListRefmtNum
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
Column names are changed from another language (Swedish) and sometimes from
|
|
21
|
-
a more instuctive naming to the names understood by RRS.
|
|
22
|
-
|
|
23
|
-
The events does not use divisions, boat names and WhatsApp. Thus the
|
|
24
|
-
form did not ask for these. They are inserted as empty columns to please
|
|
25
|
-
RRS.
|
|
26
|
-
|
|
18
|
+
syntax_phone_fix: str = '''
|
|
27
19
|
The phone number has to be in international format '+' followed by only
|
|
28
20
|
digits for RRS, but the sailors filling in the form sometimes use
|
|
29
21
|
national format (no + and no country code). Also the sailors filling
|
|
@@ -35,6 +27,17 @@ phone numbers. For other countries s7_rewrite_columns need to be
|
|
|
35
27
|
adjusted.
|
|
36
28
|
'''
|
|
37
29
|
|
|
30
|
+
syntax_o2x_common: str = '''
|
|
31
|
+
|
|
32
|
+
Column names are changed from another language (Swedish) and sometimes from
|
|
33
|
+
a more instuctive naming to the names understood by RRS.
|
|
34
|
+
|
|
35
|
+
The events does not use divisions, boat names and WhatsApp. Thus the
|
|
36
|
+
form did not ask for these. They are inserted as empty columns to please
|
|
37
|
+
RRS.
|
|
38
|
+
|
|
39
|
+
''' + syntax_phone_fix
|
|
40
|
+
|
|
38
41
|
syntax_only_o2r_common: str = '''
|
|
39
42
|
This an example of taking a registration list from the excel file received
|
|
40
43
|
from office forms or google forms and transforming it for importing into
|
|
@@ -60,6 +63,94 @@ is "BY_NAME".
|
|
|
60
63
|
|
|
61
64
|
syntax_o2r_common: str = syntax_only_o2r_common + syntax_o2x_common
|
|
62
65
|
|
|
66
|
+
syntax_s2r_common: str = '''
|
|
67
|
+
|
|
68
|
+
In this example the input data is exported as JSON or XML from SailWave
|
|
69
|
+
https://www.sailwave.com . The data as a list in excel format is then
|
|
70
|
+
extracted using extract-list https://pypi.org/project/extract-list.
|
|
71
|
+
As SW only has a name field and not first name and last name fields,
|
|
72
|
+
and as SW has not field for WhatsApp, this processing of the data is needed
|
|
73
|
+
before it can be imported into RRS https://www.racingrulesofsailing.org/
|
|
74
|
+
|
|
75
|
+
The Name column is split into First Name and Last Name columns.
|
|
76
|
+
The column WhatsApp is added with no data.
|
|
77
|
+
|
|
78
|
+
''' + syntax_phone_fix
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def generate_syntax_s2r_name(filename: str, colref: ColumnRef) -> None:
|
|
82
|
+
"""Generate config example for office_forms_to_rrs."""
|
|
83
|
+
assert colref == ColumnRef.BY_NAME
|
|
84
|
+
cfg = ConfigXlsListRefmtName()
|
|
85
|
+
cfg.out_excel_library = ExcelLib.OPENPYXL
|
|
86
|
+
cfg.in_type = FileType.EXCEL
|
|
87
|
+
cfg.out_type = FileType.EXCEL
|
|
88
|
+
cfg.s1_split_columns = [{'column': 'Name',
|
|
89
|
+
'separator': ' ',
|
|
90
|
+
'where': SplitWhere.RIGHTMOST,
|
|
91
|
+
'right_name': 'Last Name'}]
|
|
92
|
+
cfg.s3_merge_columns = []
|
|
93
|
+
cfg.s5_rename_columns = [{'column': 'Name', 'name': 'First Name'}]
|
|
94
|
+
cfg.s6_insert_columns = [{'column': 'WhatsApp', 'value': None}]
|
|
95
|
+
cfg.s7_rewrite_columns = [
|
|
96
|
+
{'column': 'Phone', 'kind': RewriteKind.STRIP,
|
|
97
|
+
'chars': '', 'case': CaseSensitivity.IGNORE_CASE},
|
|
98
|
+
{'column': 'Phone', 'kind': RewriteKind.REMOVECHARS,
|
|
99
|
+
'chars': [' ', '-'], 'case': CaseSensitivity.MATCH_CASE},
|
|
100
|
+
{'column': 'Phone', 'kind': RewriteKind.REGEX_SUBSTITUTE,
|
|
101
|
+
'from': '^07', 'to': '+467', 'case': CaseSensitivity.MATCH_CASE},
|
|
102
|
+
{'column': 'Phone', 'kind': RewriteKind.REGEX_SUBSTITUTE,
|
|
103
|
+
'from': '^\\+4607', 'to': '+467', 'case': CaseSensitivity.MATCH_CASE},
|
|
104
|
+
{'column': 'Phone', 'kind': RewriteKind.REGEX_SUBSTITUTE,
|
|
105
|
+
'from': '^467', 'to': '+467', 'case': CaseSensitivity.MATCH_CASE},
|
|
106
|
+
{'column': 'Phone', 'kind': RewriteKind.REGEX_SUBSTITUTE,
|
|
107
|
+
'from': '^4607', 'to': '+467', 'case': CaseSensitivity.MATCH_CASE}]
|
|
108
|
+
cfg.s8_column_order = ['Class', 'Division', 'Nationality',
|
|
109
|
+
'Sail Number', 'Boat Name', 'First Name',
|
|
110
|
+
'Last Name', 'Club Name', 'Email', 'Phone',
|
|
111
|
+
'WhatsApp']
|
|
112
|
+
cfg.write(to_json_filename=filename)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
TXT_S2R_NAME = syntax_s2r_common + by_name_common
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def generate_syntax_s2r_num(filename: str, colref: ColumnRef) -> None:
|
|
119
|
+
"""Generate config example for office_forms_to_rrs."""
|
|
120
|
+
assert colref == ColumnRef.BY_NUMBER
|
|
121
|
+
cfg = ConfigXlsListRefmtNum()
|
|
122
|
+
cfg.out_excel_library = ExcelLib.OPENPYXL
|
|
123
|
+
cfg.in_type = FileType.EXCEL
|
|
124
|
+
cfg.out_type = FileType.EXCEL
|
|
125
|
+
cfg.s1_split_columns = [{'column': 5, 'separator': ' ',
|
|
126
|
+
'where': SplitWhere.RIGHTMOST,
|
|
127
|
+
'store_single': SplitWhere.RIGHTMOST}]
|
|
128
|
+
cfg.s2_remove_columns = []
|
|
129
|
+
cfg.s3_merge_columns = []
|
|
130
|
+
cfg.s4_place_columns_first = []
|
|
131
|
+
cfg.s5_rename_columns = \
|
|
132
|
+
[{'column': 5, 'name': 'First Name'},
|
|
133
|
+
{'column': 6, 'name': 'Last Name'}]
|
|
134
|
+
cfg.s6_insert_columns = [{'column': 10, 'name': 'WhatsApp',
|
|
135
|
+
'value': None}]
|
|
136
|
+
cfg.s7_rewrite_columns = [
|
|
137
|
+
{'column': 9, 'kind': RewriteKind.STRIP,
|
|
138
|
+
'chars': '', 'case': CaseSensitivity.IGNORE_CASE},
|
|
139
|
+
{'column': 9, 'kind': RewriteKind.REMOVECHARS,
|
|
140
|
+
'chars': [' ', '-'], 'case': CaseSensitivity.MATCH_CASE},
|
|
141
|
+
{'column': 9, 'kind': RewriteKind.REGEX_SUBSTITUTE,
|
|
142
|
+
'from': '^07', 'to': '+467', 'case': CaseSensitivity.MATCH_CASE},
|
|
143
|
+
{'column': 9, 'kind': RewriteKind.REGEX_SUBSTITUTE,
|
|
144
|
+
'from': '^\\+4607', 'to': '+467', 'case': CaseSensitivity.MATCH_CASE},
|
|
145
|
+
{'column': 9, 'kind': RewriteKind.REGEX_SUBSTITUTE,
|
|
146
|
+
'from': '^467', 'to': '+467', 'case': CaseSensitivity.MATCH_CASE},
|
|
147
|
+
{'column': 9, 'kind': RewriteKind.REGEX_SUBSTITUTE,
|
|
148
|
+
'from': '^4607', 'to': '+467', 'case': CaseSensitivity.MATCH_CASE}]
|
|
149
|
+
cfg.write(to_json_filename=filename)
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
TXT_S2R_NUM = syntax_s2r_common + by_number_common
|
|
153
|
+
|
|
63
154
|
|
|
64
155
|
def generate_syntax_o2r_name(filename: str, colref: ColumnRef) -> None:
|
|
65
156
|
"""Generate config example for office_forms_to_rrs."""
|
|
@@ -341,6 +432,8 @@ dispatch = {'forms_to_rrs': {ColumnRef.BY_NAME: generate_syntax_o2r_name,
|
|
|
341
432
|
ColumnRef.BY_NUMBER: generate_syntax_o2s_num},
|
|
342
433
|
'rrs_to_sw': {ColumnRef.BY_NAME: generate_syntax_r2s_name,
|
|
343
434
|
ColumnRef.BY_NUMBER: generate_syntax_r2s_num},
|
|
435
|
+
'sw_to_rrs': {ColumnRef.BY_NAME: generate_syntax_s2r_name,
|
|
436
|
+
ColumnRef.BY_NUMBER: generate_syntax_s2r_num},
|
|
344
437
|
'example': {ColumnRef.BY_NAME: generate_syntax_example,
|
|
345
438
|
ColumnRef.BY_NUMBER: generate_syntax_example}}
|
|
346
439
|
|
|
@@ -350,6 +443,8 @@ txts = {'forms_to_rrs': {ColumnRef.BY_NAME: TXT_O2R_NAME,
|
|
|
350
443
|
ColumnRef.BY_NUMBER: TXT_O2S_NUM},
|
|
351
444
|
'rrs_to_sw': {ColumnRef.BY_NAME: TXT_R2S_NAME,
|
|
352
445
|
ColumnRef.BY_NUMBER: TXT_R2S_NUM},
|
|
446
|
+
'sw_to_rrs': {ColumnRef.BY_NAME: TXT_S2R_NAME,
|
|
447
|
+
ColumnRef.BY_NUMBER: TXT_S2R_NUM},
|
|
353
448
|
'example': {ColumnRef.BY_NAME: TXT_SYNTAX_WXAMPLE,
|
|
354
449
|
ColumnRef.BY_NUMBER: TXT_SYNTAX_WXAMPLE}}
|
|
355
450
|
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/transform_cmd.py
RENAMED
|
@@ -130,11 +130,12 @@ def transform_cmd(arguments: Optional[list[str]] = None) -> None:
|
|
|
130
130
|
del fixed_args[0]
|
|
131
131
|
if len(fixed_args) > 2 and '-m' == fixed_args[0]:
|
|
132
132
|
del fixed_args[0]
|
|
133
|
-
while len(fixed_args)
|
|
133
|
+
while len(fixed_args) >= 1 and fixed_args[0][-3:] == '.py':
|
|
134
134
|
del fixed_args[0]
|
|
135
135
|
desc = GENERAL_DESCRIPTION + \
|
|
136
136
|
USAGE_ORDER
|
|
137
|
-
parser = argparse.ArgumentParser(
|
|
137
|
+
parser = argparse.ArgumentParser(prog='excel_list_transform',
|
|
138
|
+
description=desc, epilog=epimain)
|
|
138
139
|
subparsers = parser.add_subparsers(dest='subparser_name', required=True)
|
|
139
140
|
gen_cfg_args(subparsers)
|
|
140
141
|
rfmt_args(subparsers)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/excel_list_transform.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/__init__.py
RENAMED
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/commontypes.py
RENAMED
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/config_enums.py
RENAMED
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/config_factory.py
RENAMED
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/file_extension.py
RENAMED
|
File without changes
|
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/generate_txt.py
RENAMED
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/handle_csv.py
RENAMED
|
File without changes
|
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/handle_excel.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/rewrite_value.py
RENAMED
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/str_to_enum.py
RENAMED
|
File without changes
|
{excel_list_transform-0.7.0 → excel_list_transform-0.7.3}/src/excel_list_transform/transform_func.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|