sysnet-pyutils 1.7.1__tar.gz → 1.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.
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/PKG-INFO +1 -1
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/pyproject.toml +1 -1
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/__init__.py +179 -202
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/barcode.py +65 -67
- sysnet_pyutils-1.7.3/sysnet_pyutils/constants.py +29 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/cron_utils/validation.py +131 -131
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/data_utils.py +452 -453
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/domino.py +100 -100
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/globalmodel/__init__.py +3 -4
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/globalmodel/global_model.py +21 -21
- sysnet_pyutils-1.7.3/sysnet_pyutils/globalmodel/models.py +25 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/globalmodel/timeutils.py +54 -47
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/ident.py +145 -113
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/log.py +78 -68
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/models/__init__.py +9 -10
- sysnet_pyutils-1.7.3/sysnet_pyutils/models/general.py +463 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/ses.py +89 -77
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/syslog/factory.py +155 -145
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/utils.py +1036 -1017
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils.egg-info/PKG-INFO +1 -1
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils.egg-info/SOURCES.txt +18 -1
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/tests/test_cron_utils.py +132 -108
- sysnet_pyutils-1.7.3/tests/test_cron_validation_edge.py +95 -0
- sysnet_pyutils-1.7.3/tests/test_data_utils.py +381 -0
- sysnet_pyutils-1.7.3/tests/test_data_utils_edge.py +184 -0
- sysnet_pyutils-1.7.3/tests/test_data_utils_missing_branches.py +144 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/tests/test_domino.py +186 -186
- sysnet_pyutils-1.7.3/tests/test_domino_edge.py +31 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/tests/test_geo.py +189 -191
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/tests/test_global_model_recursive.py +103 -105
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/tests/test_global_model_timezone.py +25 -26
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/tests/test_ident_barcode.py +212 -207
- sysnet_pyutils-1.7.3/tests/test_log_importerror_branch.py +36 -0
- sysnet_pyutils-1.7.3/tests/test_log_mongo.py +303 -0
- sysnet_pyutils-1.7.3/tests/test_models_contact.py +333 -0
- sysnet_pyutils-1.7.3/tests/test_models_general.py +208 -0
- sysnet_pyutils-1.7.3/tests/test_models_general_edge.py +38 -0
- sysnet_pyutils-1.7.3/tests/test_package_init_version.py +22 -0
- sysnet_pyutils-1.7.3/tests/test_recursive_update.py +343 -0
- sysnet_pyutils-1.7.3/tests/test_ses.py +270 -0
- sysnet_pyutils-1.7.3/tests/test_ses_importerror_branch.py +25 -0
- sysnet_pyutils-1.7.3/tests/test_syslog_factory.py +412 -0
- sysnet_pyutils-1.7.3/tests/test_tools.py +331 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/tests/test_utils.py +654 -657
- sysnet_pyutils-1.7.3/tests/test_utils_edge.py +114 -0
- sysnet_pyutils-1.7.3/tests/test_utils_log_base64.py +369 -0
- sysnet_pyutils-1.7.3/tests/test_utils_missing_branches.py +337 -0
- sysnet_pyutils-1.7.1/sysnet_pyutils/constants.py +0 -29
- sysnet_pyutils-1.7.1/sysnet_pyutils/globalmodel/models.py +0 -26
- sysnet_pyutils-1.7.1/sysnet_pyutils/models/general.py +0 -378
- sysnet_pyutils-1.7.1/tests/test_data_utils.py +0 -382
- sysnet_pyutils-1.7.1/tests/test_models_general.py +0 -190
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/LICENSE +0 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/README.md +0 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/setup.cfg +0 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/cron_utils/__init__.py +0 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/geo.py +0 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/syslog/__init__.py +0 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils/tools.py +0 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils.egg-info/dependency_links.txt +0 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils.egg-info/not-zip-safe +0 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils.egg-info/requires.txt +0 -0
- {sysnet_pyutils-1.7.1 → sysnet_pyutils-1.7.3}/sysnet_pyutils.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sysnet-pyutils
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.3
|
|
4
4
|
Summary: SYSNET Python Utilities - kompletní sada nástrojů pro Python aplikace
|
|
5
5
|
Author-email: Data Developer <info@sysnet.cz>
|
|
6
6
|
Maintainer-email: SYSNET Development Team <info@sysnet.cz>
|
|
@@ -1,202 +1,179 @@
|
|
|
1
|
-
# sysnet_pyutils — veřejné API
|
|
2
|
-
|
|
3
|
-
# Verze
|
|
4
|
-
from importlib.metadata import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
)
|
|
180
|
-
from sysnet_pyutils.barcode import (
|
|
181
|
-
code39_mod36,
|
|
182
|
-
code39_pid,
|
|
183
|
-
)
|
|
184
|
-
|
|
185
|
-
# Geo transformace
|
|
186
|
-
from sysnet_pyutils.geo import (
|
|
187
|
-
JTSK,
|
|
188
|
-
Wgs84,
|
|
189
|
-
)
|
|
190
|
-
|
|
191
|
-
# GlobalModel
|
|
192
|
-
from sysnet_pyutils.globalmodel import (
|
|
193
|
-
GlobalModel,
|
|
194
|
-
normalize_dt_deep,
|
|
195
|
-
PRAGUE_TZ,
|
|
196
|
-
)
|
|
197
|
-
|
|
198
|
-
# Domino
|
|
199
|
-
from sysnet_pyutils.domino import DdsDictionaryFactory
|
|
200
|
-
|
|
201
|
-
# Syslog
|
|
202
|
-
from sysnet_pyutils.syslog import SyslogFactory
|
|
1
|
+
# sysnet_pyutils — veřejné API
|
|
2
|
+
|
|
3
|
+
# Verze
|
|
4
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
5
|
+
|
|
6
|
+
try:
|
|
7
|
+
__version__ = version("sysnet-pyutils")
|
|
8
|
+
except PackageNotFoundError:
|
|
9
|
+
__version__ = "unknown"
|
|
10
|
+
|
|
11
|
+
# Utility funkce a třídy
|
|
12
|
+
from sysnet_pyutils.barcode import code39_mod36, code39_pid
|
|
13
|
+
|
|
14
|
+
# Konstanty
|
|
15
|
+
from sysnet_pyutils.constants import (
|
|
16
|
+
CONFIG_API_KEYS,
|
|
17
|
+
CONFIG_CERT,
|
|
18
|
+
CONFIG_CRZP,
|
|
19
|
+
CONFIG_DATABASE,
|
|
20
|
+
CONFIG_DDS,
|
|
21
|
+
CONFIG_DOCUMENTS,
|
|
22
|
+
CONFIG_FORM,
|
|
23
|
+
CONFIG_HOST,
|
|
24
|
+
CONFIG_KEY,
|
|
25
|
+
CONFIG_MONGO,
|
|
26
|
+
CONFIG_PASSWD,
|
|
27
|
+
CONFIG_PASSWORD,
|
|
28
|
+
CONFIG_PATH,
|
|
29
|
+
CONFIG_PORT,
|
|
30
|
+
CONFIG_POSTGIS,
|
|
31
|
+
CONFIG_POSTGRES,
|
|
32
|
+
CONFIG_REPID,
|
|
33
|
+
CONFIG_ROOT_PATH,
|
|
34
|
+
CONFIG_TYPE,
|
|
35
|
+
CONFIG_URL,
|
|
36
|
+
CONFIG_USERNAME,
|
|
37
|
+
CONFIG_WSDL,
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
# Data utility
|
|
41
|
+
from sysnet_pyutils.data_utils import (
|
|
42
|
+
address_to_string,
|
|
43
|
+
adjust_datetime_to_utc,
|
|
44
|
+
convert_cz_to_date,
|
|
45
|
+
convert_cz_to_datetime,
|
|
46
|
+
convert_iso_to_date,
|
|
47
|
+
convert_iso_to_datetime,
|
|
48
|
+
dict_convert_date_to_str,
|
|
49
|
+
get_dict_code_value_list,
|
|
50
|
+
get_dict_item_value,
|
|
51
|
+
get_dict_item_value_list,
|
|
52
|
+
get_dict_value,
|
|
53
|
+
get_dict_value_as_person_type,
|
|
54
|
+
get_dict_value_bool,
|
|
55
|
+
get_dict_value_code,
|
|
56
|
+
get_dict_value_date,
|
|
57
|
+
get_dict_value_datetime,
|
|
58
|
+
get_dict_value_email,
|
|
59
|
+
get_dict_value_float,
|
|
60
|
+
get_dict_value_int,
|
|
61
|
+
get_dict_value_list,
|
|
62
|
+
get_dict_value_string,
|
|
63
|
+
get_dict_value_uuid,
|
|
64
|
+
get_object_attr,
|
|
65
|
+
paging_to_mongo,
|
|
66
|
+
recursive_update,
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
# Domino
|
|
70
|
+
from sysnet_pyutils.domino import DdsDictionaryFactory
|
|
71
|
+
|
|
72
|
+
# Geo transformace
|
|
73
|
+
from sysnet_pyutils.geo import JTSK, Wgs84
|
|
74
|
+
|
|
75
|
+
# GlobalModel
|
|
76
|
+
from sysnet_pyutils.globalmodel import PRAGUE_TZ, GlobalModel, normalize_dt_deep
|
|
77
|
+
|
|
78
|
+
# Identifikátory a čárové kódy
|
|
79
|
+
from sysnet_pyutils.ident import check_pid, correct_pid, generate_id12, generate_pid
|
|
80
|
+
|
|
81
|
+
# Datové modely
|
|
82
|
+
from sysnet_pyutils.models.general import (
|
|
83
|
+
AclLevelEnum,
|
|
84
|
+
AclType,
|
|
85
|
+
ApiError,
|
|
86
|
+
BaseEnum,
|
|
87
|
+
BasinType,
|
|
88
|
+
CodeValueType,
|
|
89
|
+
ContactType,
|
|
90
|
+
ContainerHistoryItemType,
|
|
91
|
+
ErrorModel,
|
|
92
|
+
GeoPointJtskType,
|
|
93
|
+
GeoPointType,
|
|
94
|
+
LinkedType,
|
|
95
|
+
ListTypeBase,
|
|
96
|
+
LocationType,
|
|
97
|
+
LogItemType,
|
|
98
|
+
MailAddressType,
|
|
99
|
+
MapSheet50Type,
|
|
100
|
+
MetadataEssentialType,
|
|
101
|
+
MetadataType,
|
|
102
|
+
MetadataTypeBase,
|
|
103
|
+
MetadataTypeEntry,
|
|
104
|
+
PersonBaseType,
|
|
105
|
+
PersonCoreType,
|
|
106
|
+
PersonTypeEnum,
|
|
107
|
+
PhoneNumberType,
|
|
108
|
+
RegionalValueType,
|
|
109
|
+
TimeLimitedType,
|
|
110
|
+
UserType,
|
|
111
|
+
WorkflowType,
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
# Syslog
|
|
115
|
+
from sysnet_pyutils.syslog import SyslogFactory
|
|
116
|
+
from sysnet_pyutils.utils import ( # API klíče; Konverze; Hashe; Base64; Validace; Datum a čas; LDAP; URL a řetězce; Identifikátory; XML
|
|
117
|
+
Config,
|
|
118
|
+
ConfigError,
|
|
119
|
+
ConfigFlag,
|
|
120
|
+
Context,
|
|
121
|
+
Log,
|
|
122
|
+
LoggedObject,
|
|
123
|
+
Singleton,
|
|
124
|
+
api_key_generate,
|
|
125
|
+
api_key_next,
|
|
126
|
+
api_keys_init,
|
|
127
|
+
cites_to_order,
|
|
128
|
+
convert_hex_to_int,
|
|
129
|
+
cron_to_dict,
|
|
130
|
+
cs_bool,
|
|
131
|
+
date_to_datetime,
|
|
132
|
+
date_to_datetime_utc,
|
|
133
|
+
date_to_iso,
|
|
134
|
+
datetime_now,
|
|
135
|
+
decode_b64_string,
|
|
136
|
+
decode_b64_to_file,
|
|
137
|
+
dict_to_xml,
|
|
138
|
+
encode_file_b64,
|
|
139
|
+
encode_string_b64,
|
|
140
|
+
gmt_now,
|
|
141
|
+
hash_md5,
|
|
142
|
+
hash_sha1,
|
|
143
|
+
hash_sha256,
|
|
144
|
+
hash_sha384,
|
|
145
|
+
id12_next,
|
|
146
|
+
increment_date,
|
|
147
|
+
is_base64,
|
|
148
|
+
is_valid_cz_permit_id,
|
|
149
|
+
is_valid_email,
|
|
150
|
+
is_valid_ico,
|
|
151
|
+
is_valid_pid,
|
|
152
|
+
is_valid_unid,
|
|
153
|
+
is_valid_uuid,
|
|
154
|
+
iso_to_local_datetime,
|
|
155
|
+
local_datetime,
|
|
156
|
+
local_now,
|
|
157
|
+
order_to_cites,
|
|
158
|
+
parse_ldap_name,
|
|
159
|
+
pid_check,
|
|
160
|
+
pid_correct,
|
|
161
|
+
pid_factory,
|
|
162
|
+
pid_next,
|
|
163
|
+
remove_empty,
|
|
164
|
+
repair_ico,
|
|
165
|
+
timestamp,
|
|
166
|
+
to_base64,
|
|
167
|
+
to_camel,
|
|
168
|
+
to_camel_dict,
|
|
169
|
+
to_snake,
|
|
170
|
+
to_snake_dict,
|
|
171
|
+
today,
|
|
172
|
+
tomorrow,
|
|
173
|
+
unique_list,
|
|
174
|
+
url_safe,
|
|
175
|
+
uuid_factory,
|
|
176
|
+
uuid_next,
|
|
177
|
+
who_am_i,
|
|
178
|
+
xml_to_dict,
|
|
179
|
+
)
|
|
@@ -1,67 +1,65 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
:param
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
pid11
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
:param
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
out = str(chr(check_digit))
|
|
65
|
-
|
|
66
|
-
out = None
|
|
67
|
-
return out
|
|
1
|
+
# -------------------------------------------------------------------------------
|
|
2
|
+
# Name: barcode
|
|
3
|
+
# Purpose: Barcode obsahuje podmnozinu funkci pro tvorbu carovych kodu
|
|
4
|
+
#
|
|
5
|
+
# Author: Radim Jager
|
|
6
|
+
# Copyright: (c) SYSNET s.r.o. 2019
|
|
7
|
+
# License: CC BY-SA 4.0
|
|
8
|
+
# -------------------------------------------------------------------------------
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def code39_pid(pid_to_encode, return_type):
|
|
12
|
+
"""
|
|
13
|
+
Formátovat PID pro tisk čarovým kódem
|
|
14
|
+
|
|
15
|
+
:param pid_to_encode: PID k fomrmátování. Oriznou se vsechny znaky krome cislic a pismen.
|
|
16
|
+
:param return_type: 0 - vystup je formatovan pro tisk carovym fontem
|
|
17
|
+
1 - vystup je formatovan pro ulozeni hodnoty
|
|
18
|
+
2 - vystupem je pouze kontrolni cislice (posledni znak kodu)
|
|
19
|
+
:return: Formátovaný PID
|
|
20
|
+
"""
|
|
21
|
+
pid11 = pid_to_encode[: len(pid_to_encode) - 1]
|
|
22
|
+
return code39_mod36(pid11, return_type)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def code39_mod36(data_to_encode, return_type):
|
|
26
|
+
"""
|
|
27
|
+
Formátovat data pro tisk čarovým kódem
|
|
28
|
+
|
|
29
|
+
:param data_to_encode: Vstupni data. Oriznou se vsechny znaky krome cislic a pismen.
|
|
30
|
+
:param return_type: 0 - vystup je formatovan pro tisk carovym fontem
|
|
31
|
+
1 - vystup je formatovan pro ulozeni hodnoty
|
|
32
|
+
2 - vystupem je pouze kontrolni cislice (posledni znak kodu)
|
|
33
|
+
:return: Formátovaný text
|
|
34
|
+
"""
|
|
35
|
+
if (return_type != 0) and (return_type != 1) and (return_type != 2):
|
|
36
|
+
return_type = 0
|
|
37
|
+
data_to_encode = data_to_encode.upper()
|
|
38
|
+
data_to_print = ""
|
|
39
|
+
weighted_total = 0
|
|
40
|
+
|
|
41
|
+
# Check to make sure data is numeric, $, +, -, /, or :, and remove all others.
|
|
42
|
+
char_list = list(data_to_encode)
|
|
43
|
+
for c in char_list:
|
|
44
|
+
if (ord(c) > 47) and (ord(c) < 58):
|
|
45
|
+
data_to_print += str(c)
|
|
46
|
+
weighted_total += ord(c) - 48
|
|
47
|
+
elif (ord(c) > 64) and (ord(c) < 91):
|
|
48
|
+
data_to_print += str(c)
|
|
49
|
+
weighted_total += ord(c) - 55
|
|
50
|
+
|
|
51
|
+
# Divide the weighted_total by 37 and get the remainder, this is the check_digit
|
|
52
|
+
check_digit_value = weighted_total % 36
|
|
53
|
+
check_digit = check_digit_value
|
|
54
|
+
if check_digit_value < 10:
|
|
55
|
+
check_digit += 48 # 0-9
|
|
56
|
+
elif (check_digit_value < 36) and (check_digit_value > 9):
|
|
57
|
+
check_digit += 55 # A-Z
|
|
58
|
+
if return_type == 0:
|
|
59
|
+
out = "!" + data_to_print + str(chr(check_digit)) + "!" + " "
|
|
60
|
+
elif return_type == 1:
|
|
61
|
+
out = data_to_print + str(chr(check_digit))
|
|
62
|
+
else:
|
|
63
|
+
# return_type == 2
|
|
64
|
+
out = str(chr(check_digit))
|
|
65
|
+
return out
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Konfigurační klíčové slova
|
|
2
|
+
|
|
3
|
+
CONFIG_API_KEYS = "api_keys" # API klíče
|
|
4
|
+
CONFIG_WSDL = "wsdl" # WSDL parametr
|
|
5
|
+
CONFIG_PASSWD = "paswd" # Používá se pro ověřování totožnosti jméno/heslo
|
|
6
|
+
CONFIG_ROOT_PATH = "root_path" # Kořenová složka. Používá se třeba ve FastAPI
|
|
7
|
+
|
|
8
|
+
CONFIG_CERT = "cert"
|
|
9
|
+
CONFIG_PATH = "path"
|
|
10
|
+
|
|
11
|
+
CONFIG_DOCUMENTS = "documents"
|
|
12
|
+
CONFIG_FORM = "form"
|
|
13
|
+
CONFIG_TYPE = "type"
|
|
14
|
+
CONFIG_DDS = "dds"
|
|
15
|
+
|
|
16
|
+
CONFIG_POSTGRES = "postgres"
|
|
17
|
+
CONFIG_POSTGIS = "postgis"
|
|
18
|
+
CONFIG_MONGO = "mongo"
|
|
19
|
+
CONFIG_HOST = "host"
|
|
20
|
+
CONFIG_PORT = "port"
|
|
21
|
+
CONFIG_DATABASE = "database"
|
|
22
|
+
|
|
23
|
+
CONFIG_USERNAME = "user"
|
|
24
|
+
CONFIG_PASSWORD = "password"
|
|
25
|
+
CONFIG_REPID = "repid"
|
|
26
|
+
CONFIG_URL = "url"
|
|
27
|
+
CONFIG_KEY = "key"
|
|
28
|
+
|
|
29
|
+
CONFIG_CRZP = "crzp"
|