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