omdev 0.0.0.dev183__py3-none-any.whl → 0.0.0.dev184__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
omdev/.manifests.json CHANGED
@@ -267,7 +267,7 @@
267
267
  "module": ".tools.git",
268
268
  "attr": "_CLI_MODULE",
269
269
  "file": "omdev/tools/git.py",
270
- "line": 215,
270
+ "line": 232,
271
271
  "value": {
272
272
  "$.cli.types.CliModule": {
273
273
  "cmd_name": "git",
omdev/tools/git.py CHANGED
@@ -148,10 +148,11 @@ class Cli(ap.Cli):
148
148
  print(base_rev)
149
149
 
150
150
  @ap.cmd(
151
+ ap.arg('dir', nargs='?'),
151
152
  ap.arg('-v', '--verbose', action='store_true'),
152
153
  )
153
154
  def status(self) -> None:
154
- st = get_git_status()
155
+ st = get_git_status(cwd=self.args.dir)
155
156
 
156
157
  def gsi_dct(gsi: GitStatusItem) -> ta.Mapping[str, ta.Any]:
157
158
  return {
@@ -187,29 +188,45 @@ class Cli(ap.Cli):
187
188
  @ap.cmd(
188
189
  ap.arg('-m', '--message', nargs='?'),
189
190
  ap.arg('--time-fmt', default='%Y-%m-%dT%H:%M:%SZ'),
191
+ ap.arg('dir', action='append'),
190
192
  aliases=['acp'],
191
193
  )
192
194
  def add_commit_push(self) -> None:
193
- st = get_git_status()
195
+ def run(cwd: str | None) -> None:
196
+ st = get_git_status(cwd=cwd)
194
197
 
195
- if st.has_dirty:
196
- subprocess.check_call(['git', 'add', '.'])
198
+ if st.has_dirty:
199
+ subprocess.check_call(['git', 'add', '.'], cwd=cwd)
197
200
 
198
- if st.has_staged or st.has_dirty:
199
- if self.args.message is not None:
200
- msg = self.args.message
201
- else:
202
- msg = lang.utcnow().strftime(self.args.time_fmt)
203
- subprocess.check_call(['git', 'commit', '-m', msg])
201
+ if st.has_staged or st.has_dirty:
202
+ if self.args.message is not None:
203
+ msg = self.args.message
204
+ else:
205
+ msg = lang.utcnow().strftime(self.args.time_fmt)
206
+ subprocess.check_call(['git', 'commit', '-m', msg], cwd=cwd)
207
+
208
+ subprocess.check_call(['git', 'push'], cwd=cwd)
204
209
 
205
- subprocess.check_call(['git', 'push'])
210
+ if self.args.dir is None:
211
+ run(None)
212
+ else:
213
+ for d in self.args.dir:
214
+ run(d)
206
215
 
207
216
  @ap.cmd(
217
+ ap.arg('dir', nargs='*'),
208
218
  aliases=['psu'],
209
219
  )
210
220
  def pull_submodule_update(self) -> None:
211
- subprocess.check_call(['git', 'pull'])
212
- subprocess.check_call(['git', 'submodule', 'update'])
221
+ def run(cwd: str | None) -> None:
222
+ subprocess.check_call(['git', 'pull'], cwd=cwd)
223
+ subprocess.check_call(['git', 'submodule', 'update'], cwd=cwd)
224
+
225
+ if self.args.dir is None:
226
+ run(None)
227
+ else:
228
+ for d in self.args.dir:
229
+ run(d)
213
230
 
214
231
 
215
232
  # @omlish-manifest
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omdev
3
- Version: 0.0.0.dev183
3
+ Version: 0.0.0.dev184
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omlish==0.0.0.dev183
15
+ Requires-Dist: omlish==0.0.0.dev184
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=24.10; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -1,4 +1,4 @@
1
- omdev/.manifests.json,sha256=nfFGet5cWIICf5szYBXbQvnH2TrJD-jtyBxuwKeA7ZY,8309
1
+ omdev/.manifests.json,sha256=L5cL40mDF0sj_CX3ta1-JvWmHdoWExT-3_FwbISK-ek,8309
2
2
  omdev/__about__.py,sha256=n5x-SO70OgbDQFzQ1d7sZDVMsnkQc4PxQZPFaIQFa0E,1281
3
3
  omdev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  omdev/bracepy.py,sha256=I8EdqtDvxzAi3I8TuMEW-RBfwXfqKbwp06CfOdj3L1o,2743
@@ -161,7 +161,7 @@ omdev/tools/__init__.py,sha256=iVJAOQ0viGTQOm0DLX4uZLro-9jOioYJGLg9s0kDx1A,78
161
161
  omdev/tools/cloc.py,sha256=r5HkvaLoGw8djgvGdt_W_CjfSklW585dar9bDhDFeF8,5098
162
162
  omdev/tools/doc.py,sha256=wvgGhv6aFaV-Zl-Qivejx37i-lKQ207rZ-4K2fPf-Ss,2547
163
163
  omdev/tools/docker.py,sha256=KVFckA8eAdiapFUr8xkfMw9Uv3Qy4oNq0e70Lqt1F7I,7352
164
- omdev/tools/git.py,sha256=VPx61R-UC2IH4s1tEnCsBp6kSsM6r9fimQfF8amg5kE,6986
164
+ omdev/tools/git.py,sha256=ljWp1T2vpEGs8rzHoaeK3ltZgWtxZ_ZH5tOQMUIkE9k,7555
165
165
  omdev/tools/importscan.py,sha256=nhJIhtjDY6eFVlReP7fegvv6L5ZjN-Z2VeyhsBonev4,4639
166
166
  omdev/tools/mkrelimp.py,sha256=kyu_BbUakKHEEOxNEvYWk7tH1ixCfVb3NqqT8U-BozE,4066
167
167
  omdev/tools/notebook.py,sha256=q1YMGwM1skHv-dPbtT_cM7UOGFNiMEAxjr6rr6rbobk,3494
@@ -180,9 +180,9 @@ omdev/tools/json/rendering.py,sha256=jNShMfCpFR9-Kcn6cUFuOChXHjg71diuTC4x7Ofmz-o
180
180
  omdev/tools/pawk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
181
  omdev/tools/pawk/__main__.py,sha256=VCqeRVnqT1RPEoIrqHFSu4PXVMg4YEgF4qCQm90-eRI,66
182
182
  omdev/tools/pawk/pawk.py,sha256=Eckymn22GfychCQcQi96BFqRo_LmiJ-EPhC8TTUJdB4,11446
183
- omdev-0.0.0.dev183.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
184
- omdev-0.0.0.dev183.dist-info/METADATA,sha256=Y1IcrclCU5MupXvWa5IX2q67HQgP-rmC3eU_LrMA-kQ,1760
185
- omdev-0.0.0.dev183.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
186
- omdev-0.0.0.dev183.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
187
- omdev-0.0.0.dev183.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
188
- omdev-0.0.0.dev183.dist-info/RECORD,,
183
+ omdev-0.0.0.dev184.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
184
+ omdev-0.0.0.dev184.dist-info/METADATA,sha256=AS1qZfhSYVcoW5mGrDdHgVopEuXBaJr0N6ZIJzkemQo,1760
185
+ omdev-0.0.0.dev184.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
186
+ omdev-0.0.0.dev184.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
187
+ omdev-0.0.0.dev184.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
188
+ omdev-0.0.0.dev184.dist-info/RECORD,,