dforge-cli 1.0.2__tar.gz → 1.0.4__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 (49) hide show
  1. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/PKG-INFO +1 -1
  2. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/setup.py +52 -12
  3. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge_cli.egg-info/PKG-INFO +1 -1
  4. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/pyproject.toml +1 -1
  5. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/README.md +0 -0
  6. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/__init__.py +0 -0
  7. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/banner.py +0 -0
  8. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/batch.py +0 -0
  9. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/cli.py +0 -0
  10. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/config.py +0 -0
  11. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/config_manager.py +0 -0
  12. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/converter.py +0 -0
  13. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/dependencies.py +0 -0
  14. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/engine.py +0 -0
  15. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/extractor.py +0 -0
  16. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/loading.py +0 -0
  17. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/menu.py +0 -0
  18. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/operations.py +0 -0
  19. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/processor.py +0 -0
  20. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/theme.py +0 -0
  21. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/utils.py +0 -0
  22. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/watcher.py +0 -0
  23. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/__init__.py +0 -0
  24. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/automation.py +0 -0
  25. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/batch.py +0 -0
  26. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/batch_ocr.py +0 -0
  27. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/common.py +0 -0
  28. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/compress.py +0 -0
  29. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/convert.py +0 -0
  30. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/decrypt.py +0 -0
  31. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/encrypt.py +0 -0
  32. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/extract.py +0 -0
  33. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/image.py +0 -0
  34. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/merge.py +0 -0
  35. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/ocr.py +0 -0
  36. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/ocr_folder.py +0 -0
  37. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/pages.py +0 -0
  38. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/rotate.py +0 -0
  39. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/searchable.py +0 -0
  40. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/settings.py +0 -0
  41. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/split.py +0 -0
  42. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/tables.py +0 -0
  43. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge/workflows/watermark.py +0 -0
  44. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge_cli.egg-info/SOURCES.txt +0 -0
  45. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge_cli.egg-info/dependency_links.txt +0 -0
  46. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge_cli.egg-info/entry_points.txt +0 -0
  47. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge_cli.egg-info/requires.txt +0 -0
  48. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/dforge_cli.egg-info/top_level.txt +0 -0
  49. {dforge_cli-1.0.2 → dforge_cli-1.0.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dforge-cli
3
- Version: 1.0.2
3
+ Version: 1.0.4
4
4
  Summary: DForge — Unified Document Processing CLI. Forge your documents from your terminal.
5
5
  Author: Punith Naidu
6
6
  License: MIT
@@ -8,13 +8,46 @@ from pathlib import Path
8
8
 
9
9
  console = Console()
10
10
 
11
+ from pathlib import Path
12
+ from shutil import which
13
+
14
+
15
+ def find_winget():
16
+ winget = which("winget")
17
+ if winget:
18
+ return winget
19
+
20
+ windows_apps = (
21
+ Path.home()
22
+ / "AppData"
23
+ / "Local"
24
+ / "Microsoft"
25
+ / "WindowsApps"
26
+ / "winget.exe"
27
+ )
28
+
29
+ if windows_apps.exists():
30
+ return str(windows_apps)
31
+
32
+ return None
11
33
 
12
34
  def setup_dependencies():
35
+ winget = find_winget()
13
36
 
37
+ if winget is None:
38
+ console.print(
39
+ "[bold red]winget not found.[/bold red]"
40
+ )
41
+ console.print(
42
+ "[yellow]Please install App Installer from Microsoft Store.[/yellow]"
43
+ )
44
+ return
14
45
  packages = [
15
- ("Poppler", "oschwartz10612.Poppler"),
16
- ("Pandoc", "JohnMacFarlane.Pandoc"),
17
- ("MiKTeX", "MiKTeX.MiKTeX"),
46
+ ("Poppler", "oschwartz10612.Poppler"),
47
+ ("Pandoc", "JohnMacFarlane.Pandoc"),
48
+ ("MiKTeX", "MiKTeX.MiKTeX"),
49
+ ("Tesseract OCR", "UB-Mannheim.TesseractOCR"),
50
+ ("Ghostscript", "ArtifexSoftware.GhostScript"),
18
51
  ]
19
52
 
20
53
  for name, package_id in packages:
@@ -23,15 +56,22 @@ def setup_dependencies():
23
56
  f"[cyan]Installing {name}...[/cyan]"
24
57
  )
25
58
 
26
- subprocess.run(
27
- [
28
- "winget",
29
- "install",
30
- "--id",
31
- package_id,
32
- "-e",
33
- ]
34
- )
59
+ try:
60
+ subprocess.run(
61
+ [
62
+ winget,
63
+ "install",
64
+ "--id",
65
+ package_id,
66
+ "-e",
67
+ ],
68
+ check=True,
69
+ )
70
+ except Exception as e:
71
+ console.print(
72
+ f"[red]Failed to install {name}: {e}[/red]"
73
+ )
74
+
35
75
 
36
76
  # Save discovered tools
37
77
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dforge-cli
3
- Version: 1.0.2
3
+ Version: 1.0.4
4
4
  Summary: DForge — Unified Document Processing CLI. Forge your documents from your terminal.
5
5
  Author: Punith Naidu
6
6
  License: MIT
@@ -3,7 +3,7 @@ requires = ["setuptools>=68", "wheel"]
3
3
  build-backend = "setuptools.build_meta"
4
4
  [project]
5
5
  name = "dforge-cli"
6
- version = "1.0.2"
6
+ version = "1.0.4"
7
7
  description = "DForge — Unified Document Processing CLI. Forge your documents from your terminal."
8
8
  readme = "README.md"
9
9
  requires-python = ">=3.9"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes