xmlgenerator 0.5.1__py3-none-any.whl → 0.5.2__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.
xmlgenerator/bootstrap.py CHANGED
@@ -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')
xmlgenerator/generator.py CHANGED
@@ -71,18 +71,18 @@ class XmlGenerator:
71
71
  'nonNegativeInteger': self._generate_non_negative_integer,
72
72
 
73
73
  # derived - from string
74
- 'language': lambda c: (_ for _ in ()).throw(Exception('not yet implemented')),
75
- 'Name': lambda c: (_ for _ in ()).throw(Exception('not yet implemented')),
76
- 'NCName': lambda c: (_ for _ in ()).throw(Exception('not yet implemented')),
77
- 'normalizedString': lambda c: (_ for _ in ()).throw(Exception('not yet implemented')),
78
- 'token': lambda c: (_ for _ in ()).throw(Exception('not yet implemented')),
79
- 'ID': lambda c: (_ for _ in ()).throw(Exception('not yet implemented')),
80
- 'IDREF': lambda c: (_ for _ in ()).throw(Exception('not yet implemented')),
81
- 'IDREFS': lambda c: (_ for _ in ()).throw(Exception('not yet implemented')),
82
- 'ENTITY': lambda c: (_ for _ in ()).throw(Exception('not yet implemented')),
83
- 'ENTITIES': lambda c: (_ for _ in ()).throw(Exception('not yet implemented')),
84
- 'NMTOKEN': lambda c: (_ for _ in ()).throw(Exception('not yet implemented')),
85
- 'NMTOKENS': lambda c: (_ for _ in ()).throw(Exception('not yet implemented')),
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:
@@ -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.1
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
@@ -1,14 +1,14 @@
1
1
  xmlgenerator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  xmlgenerator/arguments.py,sha256=Pf7Bccan0FeO6v5INpBkhLlGfJg-FGMRX5pG8E2KVgo,4834
3
- xmlgenerator/bootstrap.py,sha256=T_Xy5PElb75EuyKIwXUGkQ2mntt3v2RwC1ulFI-CZnM,3654
3
+ xmlgenerator/bootstrap.py,sha256=YIgdumv_JK20Qnf_0RetoFPv344YflERklJMkNqInS8,4010
4
4
  xmlgenerator/configuration.py,sha256=JYhz_lONxd0faUiZHG-TVEs6yocn0s__Ulwtcvq9eDs,5946
5
- xmlgenerator/generator.py,sha256=Qp0L4K37o5LrdDbg9l24jMY1MToRrshe6mkcNq1b2zQ,29245
5
+ xmlgenerator/generator.py,sha256=FDZ8U52wpbhvbunFY_8F5CkviFs4u14NojfxPnw7zkw,30095
6
6
  xmlgenerator/randomization.py,sha256=azXW1SxKSA9_lw1IBQDPOwSUXFEXo8IGWFD0an-eVF0,4416
7
7
  xmlgenerator/substitution.py,sha256=v4rzqnF1p1yN0VKRDFwQM5zQbpdg9ebbrh65cnh9qxw,6078
8
8
  xmlgenerator/validation.py,sha256=uCJjS5YmRDlAp9C-5Rd4E2Brh6_3WOG2-dSGxDiaH14,2023
9
- xmlgenerator-0.5.1.dist-info/licenses/LICENSE,sha256=QlXK8O3UcoAYUYwVJNgB9MSM7O94ogNo_1hd9GzznUQ,1070
10
- xmlgenerator-0.5.1.dist-info/METADATA,sha256=UdsDphTVuCRdiWsr9IAP0cN9guCwZMImlvepUQyrpH4,13083
11
- xmlgenerator-0.5.1.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
12
- xmlgenerator-0.5.1.dist-info/entry_points.txt,sha256=ly9hKr3o4AzFUkelBZNRzyKYf-Ld4kfcffvBu1oHq54,61
13
- xmlgenerator-0.5.1.dist-info/top_level.txt,sha256=jr7FbMBm8MQ6j8I_-nWzQQEseXzwSCZNXgrkWuk9P4E,13
14
- xmlgenerator-0.5.1.dist-info/RECORD,,
9
+ xmlgenerator-0.5.2.dist-info/licenses/LICENSE,sha256=QlXK8O3UcoAYUYwVJNgB9MSM7O94ogNo_1hd9GzznUQ,1070
10
+ xmlgenerator-0.5.2.dist-info/METADATA,sha256=1ELlfEf8ETxcsZpvc5EUnSRK4JgFIpdWFl02ecFWMt4,13104
11
+ xmlgenerator-0.5.2.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
12
+ xmlgenerator-0.5.2.dist-info/entry_points.txt,sha256=ly9hKr3o4AzFUkelBZNRzyKYf-Ld4kfcffvBu1oHq54,61
13
+ xmlgenerator-0.5.2.dist-info/top_level.txt,sha256=jr7FbMBm8MQ6j8I_-nWzQQEseXzwSCZNXgrkWuk9P4E,13
14
+ xmlgenerator-0.5.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (77.0.3)
2
+ Generator: setuptools (78.1.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5