preparse 1.0.14.dev1__tar.gz → 1.0.14.dev3__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 (41) hide show
  1. {preparse-1.0.14.dev1/src/preparse.egg-info → preparse-1.0.14.dev3}/PKG-INFO +1 -1
  2. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/pyproject.toml +1 -1
  3. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_processing/__init__.py +8 -2
  4. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_processing/parsing.py +11 -13
  5. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3/src/preparse.egg-info}/PKG-INFO +1 -1
  6. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/LICENSE.txt +0 -0
  7. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/MANIFEST.in +0 -0
  8. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/README.rst +0 -0
  9. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/docs/v1.0.rst +0 -0
  10. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/setup.cfg +0 -0
  11. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/__init__.py +0 -0
  12. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_items/Bundle.py +0 -0
  13. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_items/Item.py +0 -0
  14. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_items/Long.py +0 -0
  15. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_items/Option.py +0 -0
  16. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_items/Positional.py +0 -0
  17. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_items/Special.py +0 -0
  18. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_items/__init__.py +0 -0
  19. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_processing/deparsing.py +0 -0
  20. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_processing/digesting.py +0 -0
  21. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_processing/pulling.py +0 -0
  22. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_utils/__init__.py +0 -0
  23. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/_utils/dataprop.py +0 -0
  24. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/core/Click.py +0 -0
  25. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/core/Optdict.py +0 -0
  26. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/core/PreParser.py +0 -0
  27. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/core/__init__.py +0 -0
  28. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/core/enums.py +0 -0
  29. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/core/warnings.py +0 -0
  30. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/tests/__init__.py +0 -0
  31. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/tests/data.toml +0 -0
  32. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/tests/expit.toml +0 -0
  33. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/tests/test_data_toml.py +0 -0
  34. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/tests/test_enums.py +0 -0
  35. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/tests/test_expit_toml.py +0 -0
  36. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/tests/test_optdict.py +0 -0
  37. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse/tests/test_preparser.py +0 -0
  38. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse.egg-info/SOURCES.txt +0 -0
  39. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse.egg-info/dependency_links.txt +0 -0
  40. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse.egg-info/requires.txt +0 -0
  41. {preparse-1.0.14.dev1 → preparse-1.0.14.dev3}/src/preparse.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: preparse
3
- Version: 1.0.14.dev1
3
+ Version: 1.0.14.dev3
4
4
  Summary: This project preparses args for further parsing later on.
5
5
  Author-email: Johannes <johannes.programming@gmail.com>
6
6
  License: The MIT License (MIT)
@@ -34,7 +34,7 @@ keywords = []
34
34
  name = "preparse"
35
35
  readme = "README.rst"
36
36
  requires-python = ">=3.11"
37
- version = "1.0.14.dev1"
37
+ version = "1.0.14.dev3"
38
38
 
39
39
  [project.license]
40
40
  file = "LICENSE.txt"
@@ -28,14 +28,20 @@ def process(
28
28
  warn: FunctionType,
29
29
  ) -> list[str]:
30
30
  "This method parses args."
31
+ abbr: Optional[Tuning]
31
32
  items: list[Item]
33
+ if not expectsabbr:
34
+ abbr = None
35
+ elif expandsabbr:
36
+ abbr = Tuning.MINIMIZE
37
+ else:
38
+ abbr = Tuning.MAINTAIN
32
39
  items = pull(args)
33
40
  items = parse(
34
41
  items,
42
+ abbr=abbr,
35
43
  allowslong=allowslong,
36
44
  allowsshort=allowsshort,
37
- expandsabbr=expandsabbr,
38
- expectsabbr=expectsabbr,
39
45
  expectsposix=expectsposix,
40
46
  optdict=optdict,
41
47
  prog=prog,
@@ -18,7 +18,10 @@ PUAW = warnings.PreparseUnallowedArgumentWarning
18
18
  PRAW = warnings.PreparseRequiredArgumentWarning
19
19
 
20
20
 
21
- def parse(args: list[str], **kwargs: Any) -> list[Item]:
21
+ def parse(
22
+ args: list[str],
23
+ **kwargs: Any,
24
+ ) -> list[Item]:
22
25
  return list(parse_generator(args, **kwargs))
23
26
 
24
27
 
@@ -64,10 +67,9 @@ def parse_cause(
64
67
  def parse_generator(
65
68
  items: list[Positional],
66
69
  *,
70
+ abbr: Optional[Tuning],
67
71
  allowslong: bool,
68
72
  allowsshort: bool,
69
- expandsabbr: bool,
70
- expectsabbr: bool,
71
73
  expectsposix: bool,
72
74
  optdict: dict,
73
75
  prog: str,
@@ -103,11 +105,10 @@ def parse_generator(
103
105
  continue
104
106
  last = parse_option(
105
107
  item.value,
108
+ abbr=abbr,
106
109
  allowslong=allowslong,
107
110
  allowsshort=allowsshort,
108
111
  cause=cause,
109
- expandsabbr=expandsabbr,
110
- expectsabbr=expectsabbr,
111
112
  optdict=optdict,
112
113
  )
113
114
  if not last.ishungry():
@@ -138,9 +139,8 @@ def parse_islong(
138
139
  def parse_long(
139
140
  arg: str,
140
141
  *,
142
+ abbr: Optional[Tuning],
141
143
  cause: FunctionType,
142
- expandsabbr: bool,
143
- expectsabbr: bool,
144
144
  optdict: dict,
145
145
  ) -> Long:
146
146
  ans: Long
@@ -153,7 +153,7 @@ def parse_long(
153
153
  ans.abbrlen = len(ans.fullkey)
154
154
  if ans.fullkey in optdict.keys():
155
155
  parts = [ans.fullkey]
156
- elif expectsabbr:
156
+ elif abbr is not None:
157
157
  parts = parse_long_startswith(ans.abbr, keys=optdict.keys())
158
158
  else:
159
159
  parts = list() # can be assumed
@@ -166,7 +166,7 @@ def parse_long(
166
166
  cause(PAOW, option=arg, possibilities=parts)
167
167
  return ans
168
168
  (ans.fullkey,) = parts
169
- if expandsabbr:
169
+ if abbr == Tuning.MINIMIZE:
170
170
  ans.abbrlen = len(ans.fullkey)
171
171
  ans.nargs = optdict[ans.fullkey]
172
172
  if (ans.nargs == Nargs.NO_ARGUMENT) and (ans.right is not None):
@@ -191,18 +191,16 @@ def parse_long_startswith(
191
191
  def parse_option(
192
192
  arg: str,
193
193
  *,
194
+ abbr: Optional[Tuning],
194
195
  cause: FunctionType,
195
- expandsabbr: bool,
196
- expectsabbr: bool,
197
196
  optdict: dict,
198
197
  **kwargs: Any,
199
198
  ) -> Option:
200
199
  if parse_islong(arg, **kwargs):
201
200
  return parse_long(
202
201
  arg,
202
+ abbr=abbr,
203
203
  cause=cause,
204
- expandsabbr=expandsabbr,
205
- expectsabbr=expectsabbr,
206
204
  optdict=optdict,
207
205
  )
208
206
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: preparse
3
- Version: 1.0.14.dev1
3
+ Version: 1.0.14.dev3
4
4
  Summary: This project preparses args for further parsing later on.
5
5
  Author-email: Johannes <johannes.programming@gmail.com>
6
6
  License: The MIT License (MIT)
File without changes