devbits 0.1.0__tar.gz → 0.1.2__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.
- {devbits-0.1.0 → devbits-0.1.2}/PKG-INFO +2 -1
- {devbits-0.1.0 → devbits-0.1.2}/devbits/__init__.py +1 -1
- {devbits-0.1.0 → devbits-0.1.2}/devbits/cli.py +6 -2
- devbits-0.1.2/devbits/gui.py +1567 -0
- {devbits-0.1.0 → devbits-0.1.2}/devbits.egg-info/PKG-INFO +2 -1
- {devbits-0.1.0 → devbits-0.1.2}/devbits.egg-info/SOURCES.txt +3 -1
- {devbits-0.1.0 → devbits-0.1.2}/devbits.egg-info/requires.txt +1 -0
- {devbits-0.1.0 → devbits-0.1.2}/pyproject.toml +2 -1
- devbits-0.1.2/tests/test_gui_cli.py +85 -0
- {devbits-0.1.0 → devbits-0.1.2}/LICENSE +0 -0
- {devbits-0.1.0 → devbits-0.1.2}/README.md +0 -0
- {devbits-0.1.0 → devbits-0.1.2}/devbits/cache.py +0 -0
- {devbits-0.1.0 → devbits-0.1.2}/devbits/image.py +0 -0
- {devbits-0.1.0 → devbits-0.1.2}/devbits/media.py +0 -0
- {devbits-0.1.0 → devbits-0.1.2}/devbits/project.py +0 -0
- {devbits-0.1.0 → devbits-0.1.2}/devbits/scripts.py +0 -0
- {devbits-0.1.0 → devbits-0.1.2}/devbits/utils.py +0 -0
- {devbits-0.1.0 → devbits-0.1.2}/devbits.egg-info/dependency_links.txt +0 -0
- {devbits-0.1.0 → devbits-0.1.2}/devbits.egg-info/entry_points.txt +0 -0
- {devbits-0.1.0 → devbits-0.1.2}/devbits.egg-info/top_level.txt +0 -0
- {devbits-0.1.0 → devbits-0.1.2}/setup.cfg +0 -0
- {devbits-0.1.0 → devbits-0.1.2}/tests/test_cli.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devbits
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: A lightweight CLI toolkit for daily development utilities.
|
|
5
5
|
Author: Bruce Chuang
|
|
6
6
|
License-Expression: MIT
|
|
@@ -12,6 +12,7 @@ Description-Content-Type: text/markdown
|
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Requires-Dist: opencv-python>=4.8.0
|
|
14
14
|
Requires-Dist: pillow>=10.0.0
|
|
15
|
+
Requires-Dist: pytest>=8.0.0
|
|
15
16
|
Dynamic: license-file
|
|
16
17
|
|
|
17
18
|
# devbits
|
|
@@ -55,7 +55,7 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
55
55
|
p.set_defaults(func=cmd_video2gif)
|
|
56
56
|
|
|
57
57
|
p = sub.add_parser("clipvideo", help="Clip video by seconds or frame indices.")
|
|
58
|
-
p.add_argument("video", type=Path)
|
|
58
|
+
p.add_argument("video", type=Path, nargs="?", default=None)
|
|
59
59
|
p.add_argument("-o", "--output", type=Path, default=Path("clip.mp4"))
|
|
60
60
|
p.add_argument("--start", type=float)
|
|
61
61
|
p.add_argument("--end", type=float)
|
|
@@ -157,7 +157,11 @@ def cmd_video2gif(args: argparse.Namespace) -> None:
|
|
|
157
157
|
|
|
158
158
|
def cmd_clipvideo(args: argparse.Namespace) -> None:
|
|
159
159
|
if args.gui:
|
|
160
|
-
|
|
160
|
+
from .gui import launch_gui
|
|
161
|
+
launch_gui(args.video)
|
|
162
|
+
return
|
|
163
|
+
if args.video is None:
|
|
164
|
+
raise ValueError("video path is required when --gui is not specified")
|
|
161
165
|
print(clip_video(ensure_exists(args.video), args.output, args.start, args.end, args.start_frame, args.end_frame))
|
|
162
166
|
|
|
163
167
|
|