pypeline-runner 1.15.0__py3-none-any.whl → 1.15.1__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.
pypeline/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "1.15.0"
1
+ __version__ = "1.15.1"
pypeline/inputs_parser.py CHANGED
@@ -1,5 +1,4 @@
1
1
  import argparse
2
- import distutils.util
3
2
  from typing import Any, Dict, List
4
3
 
5
4
  from py_app_dev.core.exceptions import UserNotificationException
@@ -13,7 +12,7 @@ def _map_type_for_argparse(input_type: InputType) -> Any:
13
12
  elif input_type == "integer":
14
13
  return int
15
14
  elif input_type == "boolean":
16
- return lambda x: bool(distutils.util.strtobool(x))
15
+ return argparse.BooleanOptionalAction # Use BooleanOptionalAction for boolean arguments
17
16
  else:
18
17
  raise ValueError(f"Unsupported input type specified: {input_type}")
19
18
 
@@ -37,14 +36,23 @@ def create_argument_parser_from_definitions(
37
36
  help_text += f", Default: {definition.default}"
38
37
  help_text += ")"
39
38
 
40
- parser.add_argument(
41
- f"--{name}",
42
- dest=name, # Attribute name in the parsed namespace
43
- help=help_text,
44
- type=arg_type, # Type conversion function
45
- required=definition.required,
46
- default=definition.default,
47
- )
39
+ if definition.type == "boolean":
40
+ parser.add_argument(
41
+ f"--{name}",
42
+ dest=name, # Attribute name in the parsed namespace
43
+ help=help_text,
44
+ action=arg_type, # Use BooleanOptionalAction for boolean arguments
45
+ default=definition.default or False,
46
+ )
47
+ else:
48
+ parser.add_argument(
49
+ f"--{name}",
50
+ dest=name,
51
+ help=help_text,
52
+ type=arg_type,
53
+ required=definition.required,
54
+ default=definition.default,
55
+ )
48
56
 
49
57
  return parser
50
58
 
@@ -69,11 +77,13 @@ class InputsParser:
69
77
  try:
70
78
  args = []
71
79
  for item in inputs:
72
- if "=" not in item:
73
- raise UserNotificationException(f"Invalid input format: '{item}', expected 'name=value'")
74
- name, value = item.split("=", 1)
75
- args.append(f"--{name}")
76
- args.append(value)
80
+ if "=" in item:
81
+ name, value = item.split("=", 1)
82
+ args.append(f"--{name}")
83
+ if value:
84
+ args.append(value)
85
+ else:
86
+ args.append(f"--{item}")
77
87
 
78
88
  parsed_namespace = self.parser.parse_args(args)
79
89
  return vars(parsed_namespace)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pypeline-runner
3
- Version: 1.15.0
3
+ Version: 1.15.1
4
4
  Summary: Configure and execute pipelines with Python (similar to GitHub workflows or Jenkins pipelines).
5
5
  License: MIT
6
6
  Author: cuinixam
@@ -1,4 +1,4 @@
1
- pypeline/__init__.py,sha256=m3KwqTPSyglvdkL8ZVtCe-iTXn6P8Bz06hxbY0iqJkk,23
1
+ pypeline/__init__.py,sha256=lJTHPTq_lku8cPevlR7mFSxJNTqHgZJVZuDdqSiDNeM,23
2
2
  pypeline/__run.py,sha256=TCdaX05Qm3g8T4QYryKB25Xxf0L5Km7hFOHe1mK9vI0,350
3
3
  pypeline/bootstrap/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  pypeline/bootstrap/run.py,sha256=VqBZI9eioGXpWI87GrGrQZaA6Zd-qtf1pi3efyGZezk,20201
@@ -8,7 +8,7 @@ pypeline/domain/config.py,sha256=6vWdHi7B6MA7NGi9wWXQE-YhSg1COSRmc3b1ji6AdAk,205
8
8
  pypeline/domain/execution_context.py,sha256=cDdUOU32hKg2Mv6FNXCG1co8GUrBf5QOVKhaKO-xVxI,1848
9
9
  pypeline/domain/pipeline.py,sha256=2BsN2lw2znUxLH--Novyqe6SubVKs6XeHQSQf9yxirw,7788
10
10
  pypeline/domain/project_slurper.py,sha256=64aqgVsrLgAK-c5QOM2N0wGCkOM1uNMio8yKjO2zDLU,1069
11
- pypeline/inputs_parser.py,sha256=8WJnWbACNmw_iYLhbAwcgGohCZWult8HtiJC9KiG3R0,3389
11
+ pypeline/inputs_parser.py,sha256=tGQRfZMsDAXbir455kxNXPNLN_hwGmSisS41GqYrh1A,3745
12
12
  pypeline/kickstart/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  pypeline/kickstart/create.py,sha256=iaB8MMC7PinpPBwRmz3rWZuE-DRbsLh2NtvczYaVgi0,2133
14
14
  pypeline/kickstart/templates/project/.gitignore,sha256=y8GJoVvRPez1LBokf1NaDOt2X1XtGwKFMF5yjA8AVS0,24
@@ -25,8 +25,8 @@ pypeline/steps/create_venv.py,sha256=oNdgBvfYDI0obqgI-I9-vfJYjS6OsDmWOuYq1py9NGk
25
25
  pypeline/steps/env_setup_script.py,sha256=u08A6pvMccFQbcnU0xruFvpU30PbDrttnbOjl1gDqog,2340
26
26
  pypeline/steps/scoop_install.py,sha256=DDXBD-5TVaT-u6Yf7A85uWoCgBVmLvj9nPGrZ8OQCz0,3853
27
27
  pypeline/steps/west_install.py,sha256=hPyr28ksdKsQ0tv0gMNytzupgk1IgjN9CpmaBdX5zps,1947
28
- pypeline_runner-1.15.0.dist-info/LICENSE,sha256=sKxdoqSmW9ezvPvt0ZGJbneyA0SBcm0GiqzTv2jN230,1066
29
- pypeline_runner-1.15.0.dist-info/METADATA,sha256=MfAIZHCFSOdOiIZMk1bsCy05kdINUcRFU0E_p9dKU5c,7553
30
- pypeline_runner-1.15.0.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
31
- pypeline_runner-1.15.0.dist-info/entry_points.txt,sha256=pe1u0uuhPI_yeQ0KjEw6jK-EvQfPcZwBSajgbAdKz1o,47
32
- pypeline_runner-1.15.0.dist-info/RECORD,,
28
+ pypeline_runner-1.15.1.dist-info/LICENSE,sha256=sKxdoqSmW9ezvPvt0ZGJbneyA0SBcm0GiqzTv2jN230,1066
29
+ pypeline_runner-1.15.1.dist-info/METADATA,sha256=7EXTte2u8T8ZQDDOho7VbKAqqvOz7d_zEWsjKOw_b34,7553
30
+ pypeline_runner-1.15.1.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
31
+ pypeline_runner-1.15.1.dist-info/entry_points.txt,sha256=pe1u0uuhPI_yeQ0KjEw6jK-EvQfPcZwBSajgbAdKz1o,47
32
+ pypeline_runner-1.15.1.dist-info/RECORD,,