gitwebhooks 2.3.0__tar.gz → 2.3.1__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 (113) hide show
  1. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/PKG-INFO +1 -1
  2. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/__init__.py +1 -1
  3. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/serve.py +11 -10
  4. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/service.py +25 -72
  5. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.egg-info/PKG-INFO +1 -1
  6. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/pyproject.toml +1 -1
  7. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/.editorconfig +0 -0
  8. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/CLAUDE.md +0 -0
  9. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/LICENSE +0 -0
  10. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/MANIFEST.in +0 -0
  11. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/README.md +0 -0
  12. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/README.zh.md +0 -0
  13. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/custom-body.png +0 -0
  14. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/custom-header.png +0 -0
  15. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/custom-response.png +0 -0
  16. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/gitee-success.png +0 -0
  17. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/gitee.png +0 -0
  18. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/github-success.png +0 -0
  19. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/github.png +0 -0
  20. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/gitlab-success.png +0 -0
  21. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/gitlab.png +0 -0
  22. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/install.png +0 -0
  23. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/uninstall.png +0 -0
  24. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/__main__.py +0 -0
  25. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/__init__.py +0 -0
  26. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/custom.py +0 -0
  27. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/factory.py +0 -0
  28. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/gitee.py +0 -0
  29. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/github.py +0 -0
  30. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/gitlab.py +0 -0
  31. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/verifier.py +0 -0
  32. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/__init__.py +0 -0
  33. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/config.py +0 -0
  34. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/help.py +0 -0
  35. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/init_wizard.py +0 -0
  36. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/prompts.py +0 -0
  37. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/config/__init__.py +0 -0
  38. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/config/loader.py +0 -0
  39. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/config/models.py +0 -0
  40. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/config/registry.py +0 -0
  41. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/config/server.py +0 -0
  42. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/__init__.py +0 -0
  43. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/base.py +0 -0
  44. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/custom.py +0 -0
  45. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/factory.py +0 -0
  46. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/gitee.py +0 -0
  47. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/github.py +0 -0
  48. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/gitlab.py +0 -0
  49. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/request.py +0 -0
  50. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/logging/__init__.py +0 -0
  51. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/logging/setup.py +0 -0
  52. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/main/__init__.py +0 -0
  53. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/main/__main__.py +0 -0
  54. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/main/version.py +0 -0
  55. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/models/__init__.py +0 -0
  56. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/models/config.py +0 -0
  57. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/models/provider.py +0 -0
  58. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/models/request.py +0 -0
  59. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/models/result.py +0 -0
  60. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/server.py +0 -0
  61. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/utils/__init__.py +0 -0
  62. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/utils/constants.py +0 -0
  63. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/utils/exceptions.py +0 -0
  64. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/utils/executor.py +0 -0
  65. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/utils/systemd.py +0 -0
  66. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.egg-info/SOURCES.txt +0 -0
  67. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.egg-info/dependency_links.txt +0 -0
  68. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.egg-info/entry_points.txt +0 -0
  69. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.egg-info/requires.txt +0 -0
  70. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.egg-info/top_level.txt +0 -0
  71. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.ini.sample +0 -0
  72. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/setup.cfg +0 -0
  73. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/__init__.py +0 -0
  74. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/__main__.py +0 -0
  75. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/conftest.py +0 -0
  76. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/fixtures/__init__.py +0 -0
  77. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/fixtures/custom_payloads.py +0 -0
  78. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/fixtures/gitee_payloads.py +0 -0
  79. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/fixtures/github_payloads.py +0 -0
  80. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/fixtures/gitlab_payloads.py +0 -0
  81. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/fixtures/signature_builder.py +0 -0
  82. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/__init__.py +0 -0
  83. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_command_execution.py +0 -0
  84. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_config_discovery.py +0 -0
  85. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_config_view_integration.py +0 -0
  86. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_custom_webhook.py +0 -0
  87. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_edge_cases.py +0 -0
  88. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_gitee_webhook.py +0 -0
  89. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_github_webhook.py +0 -0
  90. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_gitlab_webhook.py +0 -0
  91. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/test_auth/__init__.py +0 -0
  92. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/test_config/__init__.py +0 -0
  93. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/test_handlers/__init__.py +0 -0
  94. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/test_integration/__init__.py +0 -0
  95. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/__init__.py +0 -0
  96. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/cli/__init__.py +0 -0
  97. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/cli/test_config_view.py +0 -0
  98. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/cli/test_init_wizard.py +0 -0
  99. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_config_level.py +0 -0
  100. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_config_loading.py +0 -0
  101. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_data_parsing.py +0 -0
  102. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_install_service_logic.py +0 -0
  103. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_main.py +0 -0
  104. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_prompts_config_level.py +0 -0
  105. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_provider_detection.py +0 -0
  106. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_request_handler.py +0 -0
  107. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_service_install_context.py +0 -0
  108. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_signature_verification.py +0 -0
  109. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/utils/__init__.py +0 -0
  110. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/utils/certificate_generator.py +0 -0
  111. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/utils/coverage_runner.py +0 -0
  112. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/utils/http_client.py +0 -0
  113. {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/utils/server_manager.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitwebhooks
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: A lightweight Git webhook server for automated deployment supporting GitHub, Gitee, GitLab, and custom webhooks
5
5
  Author-email: Troy Tse <troy@holyhi.net>
6
6
  Maintainer-email: Troy Tse <troy@holyhi.net>
@@ -3,7 +3,7 @@
3
3
  Automated deployment server supporting GitHub, Gitee, GitLab, and custom webhooks.
4
4
  """
5
5
 
6
- __version__ = '2.3.0'
6
+ __version__ = '2.3.1'
7
7
 
8
8
  # Export main classes for convenient import paths
9
9
  from .server import WebhookServer
@@ -13,12 +13,7 @@ from gitwebhooks.utils.exceptions import ConfigurationError
13
13
  from gitwebhooks.utils.constants import CONFIG_SEARCH_PATHS
14
14
 
15
15
  # Import service management functions
16
- from gitwebhooks.cli.service import (
17
- cmd_install as service_cmd_install,
18
- cmd_uninstall as service_cmd_uninstall,
19
- install_service,
20
- uninstall_service,
21
- )
16
+ from gitwebhooks.cli.service import install_service, uninstall_service
22
17
 
23
18
  # Import version display
24
19
  from gitwebhooks import __version__
@@ -48,11 +43,17 @@ def cmd_serve(args: argparse.Namespace) -> int:
48
43
  serve_action = getattr(args, 'serve_action', None)
49
44
 
50
45
  if serve_action == 'install':
51
- # Delegate to service install command
52
- return service_cmd_install(args)
46
+ # Call install_service directly (no deprecation warning)
47
+ return install_service(
48
+ force=getattr(args, 'force', False),
49
+ verbose=getattr(args, 'verbose', 0),
50
+ dry_run=getattr(args, 'dry_run', False),
51
+ config_level_override=getattr(args, 'config_level', None),
52
+ config_path_override=getattr(args, 'config', None)
53
+ )
53
54
  elif serve_action == 'uninstall':
54
- # Delegate to service uninstall command
55
- return service_cmd_uninstall(args)
55
+ # Call uninstall_service directly (no deprecation warning)
56
+ return uninstall_service(purge=getattr(args, 'purge', False))
56
57
  else:
57
58
  # Start server
58
59
  return start_server(args)
@@ -30,6 +30,9 @@ E_EXISTS = 1
30
30
  def cmd_install(args: argparse.Namespace) -> int:
31
31
  """Install systemd service (deprecated, use 'serve install' instead)
32
32
 
33
+ This is a wrapper that shows a deprecation warning before calling
34
+ the actual install_service function.
35
+
33
36
  Args:
34
37
  args: Parsed command-line arguments
35
38
  - force: Force overwrite existing service
@@ -41,67 +44,15 @@ def cmd_install(args: argparse.Namespace) -> int:
41
44
  Returns:
42
45
  Exit code (0 = success, 1 = error)
43
46
  """
44
- # Show deprecation warning
47
+ # Show deprecation warning only when called directly via service command
45
48
  print('Warning: "service install" is deprecated. Use "serve install" instead.', file=sys.stderr)
46
49
  print()
47
- # Get verbose and dry_run from args
48
- verbose = getattr(args, 'verbose', 0)
49
- dry_run = getattr(args, 'dry_run', False)
50
-
51
- # Get config path from global -c argument (backward compatibility)
52
- config_path = getattr(args, 'config', None)
53
- config_level = getattr(args, 'config_level', None)
54
-
55
- # Check for conflicting options
56
- if config_path and config_level:
57
- print('Error: Conflicting options: --config-level and -c cannot be used together.', file=sys.stderr)
58
- print()
59
- print('Please use either:', file=sys.stderr)
60
- print(' - gitwebhooks-cli service install --config-level <level>', file=sys.stderr)
61
- print(' - gitwebhooks-cli service install -c <config-file>', file=sys.stderr)
62
- return 1
63
-
64
- # For dry-run mode, skip root check
65
- if not dry_run:
66
- # Check root permission
67
- if not check_root_permission():
68
- print('Error: This operation requires root privileges', file=sys.stderr)
69
- print('Please use: sudo gitwebhooks-cli service install', file=sys.stderr)
70
- return E_PERM
71
-
72
- # Check systemd availability
73
- if not check_systemd():
74
- print('Error: systemd is not supported on this system', file=sys.stderr)
75
- return E_SYSTEMD
76
-
77
- # Check if service already exists
78
- service_path = get_service_path()
79
- if service_path.exists():
80
- if not args.force:
81
- print(f'Error: Service already installed', file=sys.stderr)
82
- print(f'Service file: {service_path}', file=sys.stderr)
83
- print('Use --force to force overwrite', file=sys.stderr)
84
- return E_EXISTS
85
-
86
- # Confirm overwrite
87
- if not confirm_overwrite():
88
- print('Installation cancelled')
89
- return 0
90
- else:
91
- # In dry-run mode, warn if service exists but continue
92
- service_path = get_service_path()
93
- if service_path.exists() and not args.force:
94
- print(f'Notice: Service already exists at {service_path}', file=sys.stderr)
95
- print('Previewing service file content (use --force to suppress this notice)...', file=sys.stderr)
96
- print()
97
-
98
- # Perform installation
99
50
  return install_service(
100
- force=args.force,
101
- verbose=verbose,
102
- dry_run=dry_run,
103
- config_level_override=config_level,
104
- config_path_override=config_path
51
+ force=getattr(args, 'force', False),
52
+ verbose=getattr(args, 'verbose', 0),
53
+ dry_run=getattr(args, 'dry_run', False),
54
+ config_level_override=getattr(args, 'config_level', None),
55
+ config_path_override=getattr(args, 'config', None)
105
56
  )
106
57
 
107
58
 
@@ -313,6 +264,9 @@ def enable_and_start_service() -> int:
313
264
  def cmd_uninstall(args: argparse.Namespace) -> int:
314
265
  """Uninstall systemd service (deprecated, use 'serve uninstall' instead)
315
266
 
267
+ This is a wrapper that shows a deprecation warning before calling
268
+ the actual uninstall_service function.
269
+
316
270
  Args:
317
271
  args: Parsed command-line arguments
318
272
  - purge: Also remove configuration file
@@ -320,22 +274,10 @@ def cmd_uninstall(args: argparse.Namespace) -> int:
320
274
  Returns:
321
275
  Exit code (0 = success, 1 = error)
322
276
  """
323
- # Show deprecation warning
277
+ # Show deprecation warning only when called directly via service command
324
278
  print('Warning: "service uninstall" is deprecated. Use "serve uninstall" instead.', file=sys.stderr)
325
279
  print()
326
- # Check root permission
327
- if not check_root_permission():
328
- print('Error: This operation requires root privileges', file=sys.stderr)
329
- print('Please use: sudo gitwebhooks-cli service uninstall', file=sys.stderr)
330
- return E_PERM
331
-
332
- # Check if service is installed
333
- if not check_service_exists():
334
- print('Error: Service not installed', file=sys.stderr)
335
- return 1
336
-
337
- # Perform uninstallation
338
- return uninstall_service(args.purge)
280
+ return uninstall_service(purge=getattr(args, 'purge', False))
339
281
 
340
282
 
341
283
  def uninstall_service(purge: bool = False) -> int:
@@ -347,6 +289,17 @@ def uninstall_service(purge: bool = False) -> int:
347
289
  Returns:
348
290
  Exit code (0 = success, 1 = error)
349
291
  """
292
+ # Check root permission
293
+ if not check_root_permission():
294
+ print('Error: This operation requires root privileges', file=sys.stderr)
295
+ print('Please use: sudo gitwebhooks-cli serve uninstall', file=sys.stderr)
296
+ return E_PERM
297
+
298
+ # Check if service is installed
299
+ if not check_service_exists():
300
+ print('Error: Service not installed', file=sys.stderr)
301
+ return 1
302
+
350
303
  print('Uninstalling systemd service...')
351
304
 
352
305
  # Stop and disable service
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitwebhooks
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: A lightweight Git webhook server for automated deployment supporting GitHub, Gitee, GitLab, and custom webhooks
5
5
  Author-email: Troy Tse <troy@holyhi.net>
6
6
  Maintainer-email: Troy Tse <troy@holyhi.net>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "gitwebhooks"
7
- version = "2.3.0"
7
+ version = "2.3.1"
8
8
  description = "A lightweight Git webhook server for automated deployment supporting GitHub, Gitee, GitLab, and custom webhooks"
9
9
  readme = "README.md"
10
10
  license = "MIT"
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