proj-flow 0.17.2__py3-none-any.whl → 0.18.0__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.
proj_flow/__init__.py CHANGED
@@ -6,4 +6,4 @@ The **proj_flow** contains only ``__version__`` to be updated, nothing more.
6
6
  This is in an attempt to make this module easy to load initially.
7
7
  """
8
8
 
9
- __version__ = "0.17.2"
9
+ __version__ = "0.18.0"
proj_flow/api/step.py CHANGED
@@ -75,10 +75,20 @@ class SerialStep(Step):
75
75
  __steps: List[Step] = []
76
76
 
77
77
 
78
- def _register_step(step: Step):
78
+ def _register_step(step: Step, replace: bool):
79
79
  global __steps
80
80
 
81
81
  name = step.name
82
+
83
+ if replace:
84
+ for index, prev in enumerate(__steps):
85
+ if prev.name == name:
86
+ __steps[index] = step
87
+ return
88
+
89
+ if "READTHEDOCS" not in os.environ:
90
+ raise NameError(f"Step {name} is marked as replacing, but there is no previous step with that name")
91
+
82
92
  if name in [step.name for step in __steps]:
83
93
  if "READTHEDOCS" not in os.environ:
84
94
  raise NameError(f"Step {name} already registered")
@@ -159,11 +169,11 @@ def _extend_docstring(conv, step: Step):
159
169
  _make_private(conv.directories_to_remove)
160
170
 
161
171
 
162
- def register(cls=None):
172
+ def register(cls=None, replace=False):
163
173
  def impl(cls):
164
174
  conv = _extend(cls, Step)
165
175
  step = cast(Step, conv())
166
- _register_step(step)
176
+ _register_step(step, replace)
167
177
  _extend_docstring(conv, step)
168
178
 
169
179
  return conv
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: proj-flow
3
- Version: 0.17.2
3
+ Version: 0.18.0
4
4
  Summary: C++ project maintenance, automated
5
5
  Project-URL: Changelog, https://github.com/mzdun/proj-flow/blob/main/CHANGELOG.rst
6
6
  Project-URL: Documentation, https://proj-flow.readthedocs.io/en/latest/
@@ -1,4 +1,4 @@
1
- proj_flow/__init__.py,sha256=n34FW7l845HwRFCum-HGLMt42aHfcE1Kca2A_mXp7hQ,277
1
+ proj_flow/__init__.py,sha256=NKmPob4vpoR5qg9Iu-9Lgm4XUtGqoXzml3X0ANaL0IM,277
2
2
  proj_flow/__main__.py,sha256=HUar_qQ9Ndmchmryegtzu__5wukwCLrFN_SGRl5Ol_M,233
3
3
  proj_flow/dependency.py,sha256=CpcnR6El8AO9hlLc9lQtYQADYlkx3GMHlkLYbEAtdMI,4639
4
4
  proj_flow/api/__init__.py,sha256=gV2f6kll_5JXtvkGASvnx7CbOWr34PHOdck-4ce-qEk,378
@@ -9,7 +9,7 @@ proj_flow/api/env.py,sha256=rbNtMB6bBRhUb6bolNduWVWZ7a5CIsnv8EEZsamT9Ek,12678
9
9
  proj_flow/api/init.py,sha256=p4ZDGfq6fw4bXbJu2iq0vEmVxbS7nALIhZfe-XnEs44,565
10
10
  proj_flow/api/makefile.py,sha256=AxtGOvmypBtSvoyMEDJq1bGoaVD5yW9YYRZSdunUEeg,3856
11
11
  proj_flow/api/release.py,sha256=IM4axJ6dfyilCmpwL_Z8q43XGKsfHaPoMAdqSziwT7s,2810
12
- proj_flow/api/step.py,sha256=AOqe1wXYnU_O3pD5KlzfyyOm_D9fcF_4vyhhr1w-NrI,4561
12
+ proj_flow/api/step.py,sha256=C6LfjAN5edYjlpkhd6k9eMO9SLfLtyS2ZG1Rg_dLcjg,4926
13
13
  proj_flow/base/__cmake_version__.py,sha256=imja0GnhpBvS8Crz-64eOUKhc4i6FeRrjBGRB68x_p0,239
14
14
  proj_flow/base/__init__.py,sha256=V6IFRRtwxzvHuvtog6LIG9_6oivNpdcR5UmGobypvTo,930
15
15
  proj_flow/base/cmd.py,sha256=XJk_r4Nlq_2XGgD_w92Us4WKwItmQAB8QWdT1pKxUFA,1746
@@ -134,8 +134,8 @@ proj_flow/template/licenses/MIT.mustache,sha256=NncPoQaNsuy-WmRmboik3fyhJJ8m5pc2
134
134
  proj_flow/template/licenses/Unlicense.mustache,sha256=awOCsWJ58m_2kBQwBUGWejVqZm6wuRtCL2hi9rfa0X4,1211
135
135
  proj_flow/template/licenses/WTFPL.mustache,sha256=lvF4V_PrKKfZPa2TC8CZo8tlqaKvs3Bpv9G6XsWWQ4k,483
136
136
  proj_flow/template/licenses/Zlib.mustache,sha256=uIj-mhSjes2HJ3rRapyy2ALflKRz4xQgS4mVM9827C0,868
137
- proj_flow-0.17.2.dist-info/METADATA,sha256=7WgdoPxJTiF3oRsPfa6S7EKUrN_zwy1Or8gsJXIFdNA,2980
138
- proj_flow-0.17.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
139
- proj_flow-0.17.2.dist-info/entry_points.txt,sha256=d_OmGKZzpY7FCWz0sZ4wnBAPZC75oMEzTgJZWtpDELo,49
140
- proj_flow-0.17.2.dist-info/licenses/LICENSE,sha256=vpOQJ5QlrTedF3coEWvA4wJzVJH304f66ZitR7Od4iU,1068
141
- proj_flow-0.17.2.dist-info/RECORD,,
137
+ proj_flow-0.18.0.dist-info/METADATA,sha256=RtXLpv1l2n0-RHGb0o9QHJpG0TFYfo5htPhxYUYNTVE,2980
138
+ proj_flow-0.18.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
139
+ proj_flow-0.18.0.dist-info/entry_points.txt,sha256=d_OmGKZzpY7FCWz0sZ4wnBAPZC75oMEzTgJZWtpDELo,49
140
+ proj_flow-0.18.0.dist-info/licenses/LICENSE,sha256=vpOQJ5QlrTedF3coEWvA4wJzVJH304f66ZitR7Od4iU,1068
141
+ proj_flow-0.18.0.dist-info/RECORD,,