xmlgenerator 0.5.0__tar.gz → 0.5.2__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.
- {xmlgenerator-0.5.0/xmlgenerator.egg-info → xmlgenerator-0.5.2}/PKG-INFO +2 -1
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/setup.py +3 -2
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator/bootstrap.py +19 -1
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator/generator.py +49 -13
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2/xmlgenerator.egg-info}/PKG-INFO +2 -1
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator.egg-info/requires.txt +1 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/LICENSE +0 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/README.md +0 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/setup.cfg +0 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator/__init__.py +0 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator/arguments.py +0 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator/configuration.py +0 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator/randomization.py +0 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator/substitution.py +0 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator/validation.py +0 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator.egg-info/SOURCES.txt +0 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator.egg-info/dependency_links.txt +0 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator.egg-info/entry_points.txt +0 -0
- {xmlgenerator-0.5.0 → xmlgenerator-0.5.2}/xmlgenerator.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: xmlgenerator
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.2
|
4
4
|
Summary: Generates XML documents from XSD schemas
|
5
5
|
Home-page: https://github.com/lexakimov/xmlgenerator
|
6
6
|
Author: Alexey Akimov
|
@@ -16,6 +16,7 @@ Requires-Dist: xmlschema
|
|
16
16
|
Requires-Dist: Faker
|
17
17
|
Requires-Dist: rstr
|
18
18
|
Requires-Dist: PyYAML
|
19
|
+
Requires-Dist: shtab
|
19
20
|
Dynamic: author
|
20
21
|
Dynamic: author-email
|
21
22
|
Dynamic: classifier
|
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
|
2
2
|
|
3
3
|
setup(
|
4
4
|
name='xmlgenerator',
|
5
|
-
version='0.5.
|
5
|
+
version='0.5.2',
|
6
6
|
packages=find_packages(exclude=("tests", "tests.*")),
|
7
7
|
entry_points={
|
8
8
|
'console_scripts': [
|
@@ -14,7 +14,8 @@ setup(
|
|
14
14
|
'xmlschema',
|
15
15
|
'Faker',
|
16
16
|
'rstr',
|
17
|
-
'PyYAML'
|
17
|
+
'PyYAML',
|
18
|
+
'shtab'
|
18
19
|
],
|
19
20
|
author='Alexey Akimov',
|
20
21
|
author_email='lex.akimov23@gmail.com',
|
@@ -12,13 +12,31 @@ from xmlgenerator.randomization import Randomizer
|
|
12
12
|
from xmlgenerator.substitution import Substitutor
|
13
13
|
from xmlgenerator.validation import XmlValidator
|
14
14
|
|
15
|
-
# TODO Generator - обработка стандартных xsd типов
|
16
15
|
# TODO кастомные переменные для локального контекста
|
17
16
|
# TODO валидация по Schematron
|
18
17
|
# TODO типизировать
|
19
18
|
# TODO Почистить и перевести комментарии
|
20
19
|
# TODO Дописать тесты
|
21
20
|
|
21
|
+
# TODO _generate_duration
|
22
|
+
# TODO _generate_base64_binary
|
23
|
+
# TODO _generate_any_uri
|
24
|
+
# TODO _generate_qname
|
25
|
+
# TODO _generate_notation
|
26
|
+
|
27
|
+
# TODO _generate_language
|
28
|
+
# TODO _generate_name
|
29
|
+
# TODO _generate_nc_name
|
30
|
+
# TODO _generate_normalized_string
|
31
|
+
# TODO _generate_token
|
32
|
+
# TODO _generate_id
|
33
|
+
# TODO _generate_idref
|
34
|
+
# TODO _generate_idrefs
|
35
|
+
# TODO _generate_entity
|
36
|
+
# TODO _generate_entities
|
37
|
+
# TODO _generate_nmtoken
|
38
|
+
# TODO _generate_nmtokens
|
39
|
+
|
22
40
|
logging.basicConfig(level=logging.WARN, format='%(asctime)s [%(name)-26s] %(levelname)-6s - %(message)s')
|
23
41
|
|
24
42
|
logger = logging.getLogger('xmlgenerator.bootstrap')
|
@@ -71,18 +71,18 @@ class XmlGenerator:
|
|
71
71
|
'nonNegativeInteger': self._generate_non_negative_integer,
|
72
72
|
|
73
73
|
# derived - from string
|
74
|
-
'language':
|
75
|
-
'Name':
|
76
|
-
'NCName':
|
77
|
-
'normalizedString':
|
78
|
-
'token':
|
79
|
-
'ID':
|
80
|
-
'IDREF':
|
81
|
-
'IDREFS':
|
82
|
-
'ENTITY':
|
83
|
-
'ENTITIES':
|
84
|
-
'NMTOKEN':
|
85
|
-
'NMTOKENS':
|
74
|
+
'language': self._generate_language,
|
75
|
+
'Name': self._generate_name,
|
76
|
+
'NCName': self._generate_nc_name,
|
77
|
+
'normalizedString': self._generate_normalized_string,
|
78
|
+
'token': self._generate_token,
|
79
|
+
'ID': self._generate_id,
|
80
|
+
'IDREF': self._generate_idref,
|
81
|
+
'IDREFS': self._generate_idrefs,
|
82
|
+
'ENTITY': self._generate_entity,
|
83
|
+
'ENTITIES': self._generate_entities,
|
84
|
+
'NMTOKEN': self._generate_nmtoken,
|
85
|
+
'NMTOKENS': self._generate_nmtokens,
|
86
86
|
}
|
87
87
|
|
88
88
|
def generate_xml(self, xsd_schema, local_config: GeneratorConfig) -> etree.Element:
|
@@ -348,7 +348,7 @@ class XmlGenerator:
|
|
348
348
|
logger.debug('bounds after adjust: min_value: %4s; max_value: %4s', effective_min, effective_max)
|
349
349
|
|
350
350
|
if fraction_digits == 0:
|
351
|
-
random_int = self.randomizer.integer(
|
351
|
+
random_int = self.randomizer.integer(effective_min, effective_max)
|
352
352
|
return str(random_int)
|
353
353
|
else:
|
354
354
|
random_float = self.randomizer.float(effective_min, effective_max)
|
@@ -492,6 +492,42 @@ class XmlGenerator:
|
|
492
492
|
constraints = replace(constraints, min_value=min_value, max_value=max_value, fraction_digits=0)
|
493
493
|
return self._generate_decimal(constraints)
|
494
494
|
|
495
|
+
def _generate_language(self, constraints: TypeConstraints):
|
496
|
+
raise RuntimeError('not yet implemented')
|
497
|
+
|
498
|
+
def _generate_name(self, constraints: TypeConstraints):
|
499
|
+
raise RuntimeError('not yet implemented')
|
500
|
+
|
501
|
+
def _generate_nc_name(self, constraints: TypeConstraints):
|
502
|
+
raise RuntimeError('not yet implemented')
|
503
|
+
|
504
|
+
def _generate_normalized_string(self, constraints: TypeConstraints):
|
505
|
+
raise RuntimeError('not yet implemented')
|
506
|
+
|
507
|
+
def _generate_token(self, constraints: TypeConstraints):
|
508
|
+
raise RuntimeError('not yet implemented')
|
509
|
+
|
510
|
+
def _generate_id(self, constraints: TypeConstraints):
|
511
|
+
raise RuntimeError('not yet implemented')
|
512
|
+
|
513
|
+
def _generate_idref(self, constraints: TypeConstraints):
|
514
|
+
raise RuntimeError('not yet implemented')
|
515
|
+
|
516
|
+
def _generate_idrefs(self, constraints: TypeConstraints):
|
517
|
+
raise RuntimeError('not yet implemented')
|
518
|
+
|
519
|
+
def _generate_entity(self, constraints: TypeConstraints):
|
520
|
+
raise RuntimeError('not yet implemented')
|
521
|
+
|
522
|
+
def _generate_entities(self, constraints: TypeConstraints):
|
523
|
+
raise RuntimeError('not yet implemented')
|
524
|
+
|
525
|
+
def _generate_nmtoken(self, constraints: TypeConstraints):
|
526
|
+
raise RuntimeError('not yet implemented')
|
527
|
+
|
528
|
+
def _generate_nmtokens(self, constraints: TypeConstraints):
|
529
|
+
raise RuntimeError('not yet implemented')
|
530
|
+
|
495
531
|
|
496
532
|
def extract_type_constraints(xsd_type, local_config: GeneratorConfig) -> TypeConstraints:
|
497
533
|
min_length = getattr(xsd_type, 'min_length', None)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: xmlgenerator
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.2
|
4
4
|
Summary: Generates XML documents from XSD schemas
|
5
5
|
Home-page: https://github.com/lexakimov/xmlgenerator
|
6
6
|
Author: Alexey Akimov
|
@@ -16,6 +16,7 @@ Requires-Dist: xmlschema
|
|
16
16
|
Requires-Dist: Faker
|
17
17
|
Requires-Dist: rstr
|
18
18
|
Requires-Dist: PyYAML
|
19
|
+
Requires-Dist: shtab
|
19
20
|
Dynamic: author
|
20
21
|
Dynamic: author-email
|
21
22
|
Dynamic: classifier
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|