treescript-builder 0.1.8__tar.gz → 0.1.9__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 (30) hide show
  1. {treescript_builder-0.1.8/treescript_builder.egg-info → treescript_builder-0.1.9}/PKG-INFO +2 -1
  2. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/setup.py +2 -1
  3. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/input/line_reader.py +9 -13
  4. {treescript_builder-0.1.8 → treescript_builder-0.1.9/treescript_builder.egg-info}/PKG-INFO +2 -1
  5. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/LICENSE +0 -0
  6. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/README.md +0 -0
  7. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/setup.cfg +0 -0
  8. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/__init__.py +0 -0
  9. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/__main__.py +0 -0
  10. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/data/__init__.py +0 -0
  11. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/data/data_directory.py +0 -0
  12. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/data/instruction_data.py +0 -0
  13. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/data/path_stack.py +0 -0
  14. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/data/tree_data.py +0 -0
  15. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/data/tree_state.py +0 -0
  16. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/input/__init__.py +0 -0
  17. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/input/argument_data.py +0 -0
  18. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/input/argument_parser.py +0 -0
  19. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/input/file_validation.py +0 -0
  20. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/input/input_data.py +0 -0
  21. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/input/string_validation.py +0 -0
  22. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/tree/__init__.py +0 -0
  23. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/tree/build_validation.py +0 -0
  24. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/tree/tree_builder.py +0 -0
  25. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/tree/tree_trimmer.py +0 -0
  26. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder/tree/trim_validation.py +0 -0
  27. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder.egg-info/SOURCES.txt +0 -0
  28. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder.egg-info/dependency_links.txt +0 -0
  29. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder.egg-info/entry_points.txt +0 -0
  30. {treescript_builder-0.1.8 → treescript_builder-0.1.9}/treescript_builder.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: treescript-builder
3
- Version: 0.1.8
3
+ Version: 0.1.9
4
4
  Summary: Builds File Trees from TreeScript. If DataLabels are present in TreeScript, a DataDirectory argument is required.
5
5
  Home-page: https://github.com/DK96-OS/treescript-builder
6
6
  Author: DK96-OS
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3
16
16
  Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
19
20
  Requires-Python: >=3.11
20
21
  Description-Content-Type: text/markdown
21
22
  License-File: LICENSE
@@ -5,7 +5,7 @@ from setuptools import find_packages, setup
5
5
 
6
6
  setup(
7
7
  name="treescript-builder",
8
- version="0.1.8",
8
+ version="0.1.9",
9
9
  description='Builds File Trees from TreeScript. If DataLabels are present in TreeScript, a DataDirectory argument is required.',
10
10
  long_description=open('README.md').read(),
11
11
  long_description_content_type='text/markdown',
@@ -34,5 +34,6 @@ setup(
34
34
  'Programming Language :: Python :: 3.11',
35
35
  'Programming Language :: Python :: 3.12',
36
36
  'Programming Language :: Python :: 3.13',
37
+ 'Programming Language :: Python :: 3.14',
37
38
  ],
38
39
  )
@@ -9,7 +9,6 @@ The Default Input Reader.
9
9
  - Comments are filtered out by starting a line with the # character. A comment after a file name is also filtered.
10
10
  Author: DK96-OS 2024 - 2025
11
11
  """
12
- from itertools import groupby, takewhile
13
12
  from sys import exit
14
13
  from typing import Generator
15
14
 
@@ -41,15 +40,10 @@ def read_input_tree(
41
40
  **Raises:**
42
41
  SystemExit - When any Line cannot be read successfully.
43
42
  """
44
- line_number = 1
45
- for is_newline, group in groupby(input_tree_data, lambda x: x in ["\n", "\r"]):
46
- if is_newline:
47
- line_number += sum(1 for _ in group) # Line number increase by size of group
48
- else:
49
- line = ''.join(group)
50
- if len(lstr := line.lstrip()) == 0 or lstr.startswith('#'):
51
- continue
52
- yield _process_line(line_number, line)
43
+ for line_number, line in enumerate(input_tree_data.splitlines(), start=1):
44
+ if len(lstr := line.lstrip()) == 0 or lstr.startswith('#'):
45
+ continue
46
+ yield _process_line(line_number, line)
53
47
 
54
48
 
55
49
  def _process_line(
@@ -150,9 +144,11 @@ def _calculate_depth(line: str) -> int:
150
144
  **Returns:**
151
145
  int - The depth of the line in the tree structure, or -1 if space count is invalid.
152
146
  """
153
- space_count = len(list(
154
- takewhile(lambda c: c in SPACE_CHARS, line)
155
- ))
147
+ space_count = 0
148
+ for char in line:
149
+ if char not in SPACE_CHARS:
150
+ break
151
+ space_count += 1
156
152
  # Bit Shift Shuffle Equivalence Validation (space_count is divisible by 2)
157
153
  if (depth := space_count >> 1) << 1 == space_count:
158
154
  return depth
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: treescript-builder
3
- Version: 0.1.8
3
+ Version: 0.1.9
4
4
  Summary: Builds File Trees from TreeScript. If DataLabels are present in TreeScript, a DataDirectory argument is required.
5
5
  Home-page: https://github.com/DK96-OS/treescript-builder
6
6
  Author: DK96-OS
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3
16
16
  Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
19
20
  Requires-Python: >=3.11
20
21
  Description-Content-Type: text/markdown
21
22
  License-File: LICENSE