django-bulk-hooks 0.1.68__py3-none-any.whl → 0.1.69__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.

Potentially problematic release.


This version of django-bulk-hooks might be problematic. Click here for more details.

@@ -1,4 +1,4 @@
1
- from django_bulk_hooks.handler import HookHandler
1
+ from django_bulk_hooks.handler import Hook
2
2
  from django_bulk_hooks.manager import BulkHookManager
3
3
 
4
- __all__ = ["BulkHookManager", "HookHandler"]
4
+ __all__ = ["BulkHookManager", "Hook"]
@@ -4,8 +4,6 @@ BEFORE_UPDATE = "before_update"
4
4
  AFTER_UPDATE = "after_update"
5
5
  BEFORE_DELETE = "before_delete"
6
6
  AFTER_DELETE = "after_delete"
7
-
8
- # Validation constants - run during clean() for admin/form validation
9
7
  VALIDATE_CREATE = "validate_create"
10
8
  VALIDATE_UPDATE = "validate_update"
11
9
  VALIDATE_DELETE = "validate_delete"
@@ -64,7 +64,7 @@ class HookContextState:
64
64
  Hook = HookContextState()
65
65
 
66
66
 
67
- class HookHandlerMeta(type):
67
+ class HookMeta(type):
68
68
  _registered = set()
69
69
 
70
70
  def __new__(mcs, name, bases, namespace):
@@ -73,9 +73,9 @@ class HookHandlerMeta(type):
73
73
  if hasattr(method, "hooks_hooks"):
74
74
  for model_cls, event, condition, priority in method.hooks_hooks:
75
75
  key = (model_cls, event, cls, method_name)
76
- if key not in HookHandlerMeta._registered:
76
+ if key not in HookMeta._registered:
77
77
  logger.info(
78
- "Registering hook via HookHandlerMeta: model=%s, event=%s, handler_cls=%s, method_name=%s",
78
+ "Registering hook via HookMeta: model=%s, event=%s, handler_cls=%s, method_name=%s",
79
79
  model_cls.__name__,
80
80
  event,
81
81
  cls.__name__,
@@ -89,11 +89,11 @@ class HookHandlerMeta(type):
89
89
  condition=condition,
90
90
  priority=priority,
91
91
  )
92
- HookHandlerMeta._registered.add(key)
92
+ HookMeta._registered.add(key)
93
93
  return cls
94
94
 
95
95
 
96
- class HookHandler(metaclass=HookHandlerMeta):
96
+ class Hook(metaclass=HookMeta):
97
97
  @classmethod
98
98
  def handle(
99
99
  cls,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-bulk-hooks
3
- Version: 0.1.68
3
+ Version: 0.1.69
4
4
  Summary: Hook-style hooks for Django bulk operations like bulk_create and bulk_update.
5
5
  Home-page: https://github.com/AugendLimited/django-bulk-hooks
6
6
  License: MIT
@@ -54,11 +54,11 @@ class Account(HookModelMixin):
54
54
  ### Create a Hook Handler
55
55
 
56
56
  ```python
57
- from django_bulk_hooks import hook, AFTER_UPDATE, HookHandler
57
+ from django_bulk_hooks import hook, AFTER_UPDATE, Hook
58
58
  from django_bulk_hooks.conditions import WhenFieldHasChanged
59
59
  from .models import Account
60
60
 
61
- class AccountHookHandler(HookHandler):
61
+ class AccountHooks(Hook):
62
62
  @hook(AFTER_UPDATE, model=Account, condition=WhenFieldHasChanged("balance"))
63
63
  def log_balance_change(self, new_records, old_records):
64
64
  print("Accounts updated:", [a.pk for a in new_records])
@@ -166,7 +166,7 @@ Account.objects.bulk_delete(accounts)
166
166
  ### Advanced Hook Usage
167
167
 
168
168
  ```python
169
- class AdvancedAccountHandler(HookHandler):
169
+ class AdvancedAccountHooks(Hook):
170
170
  @hook(BEFORE_UPDATE, model=Account, condition=WhenFieldHasChanged("balance"))
171
171
  def validate_balance_change(self, new_records, old_records):
172
172
  for new_account, old_account in zip(new_records, old_records):
@@ -1,17 +1,17 @@
1
- django_bulk_hooks/__init__.py,sha256=Dc1AoWBC2atP8cNBHmCnDCbjn-iB8zOsXRSesiGztWo,154
1
+ django_bulk_hooks/__init__.py,sha256=uUgpnb9AWjIAcWNpCMqBcOewSnpJjJYH6cjPbQkzoNU,140
2
2
  django_bulk_hooks/conditions.py,sha256=S8o8JLAeYoF5hNUaxmC2QwMtmak0C73aI-j4GtgmbAw,6541
3
- django_bulk_hooks/constants.py,sha256=WQtV0BFlHuQTuJMyDXEvY6OJbPDrzQLfhLviyF0iqyQ,376
3
+ django_bulk_hooks/constants.py,sha256=3x1H1fSUUNo0DZONN7GUVDuySZctTR-jtByBHmAIX5w,303
4
4
  django_bulk_hooks/context.py,sha256=HVDT73uSzvgrOR6mdXTvsBm3hLOgBU8ant_mB7VlFuM,380
5
5
  django_bulk_hooks/decorators.py,sha256=tckDcxtOzKCbgvS9QydgeIAWTFDEl-ch3_Q--ruEGdQ,4831
6
6
  django_bulk_hooks/engine.py,sha256=My339hWu8L2iZ6GQeEJ3M6LGTraKbp8vG6cO8_Vpi2Y,2632
7
7
  django_bulk_hooks/enums.py,sha256=Zo8_tJzuzZ2IKfVc7gZ-0tWPT8q1QhqZbAyoh9ZVJbs,381
8
- django_bulk_hooks/handler.py,sha256=9iSXy6qkh-vs5hcrYR9Ciyfs1IllcyyX68hHRc294ZE,5553
8
+ django_bulk_hooks/handler.py,sha256=w0t6cCR9y4ooGEXoxTVlJHBqdAIS0MeSh5E6kvU5Cok,5511
9
9
  django_bulk_hooks/manager.py,sha256=90wOzdtkM2xaXXh7pGzV0E5kPkJlfkIZJILdEFjUxUc,7450
10
10
  django_bulk_hooks/models.py,sha256=7RG7GrOdHXFjGVPV4FPRZVNMIHHW-hMCi6hn9LH_hVI,3331
11
11
  django_bulk_hooks/priority.py,sha256=HG_2D35nga68lBCZmSXTcplXrjFoRgZFRDOy4ROKonY,376
12
12
  django_bulk_hooks/queryset.py,sha256=nmVZ6cqkveSiBz_L4cRT-3u-mkcjkGQNJLhza8SSdKc,1398
13
13
  django_bulk_hooks/registry.py,sha256=2S_MUrhFJpGPZbBuqFvPEpKgEduGYUAsxqMS3_wsVXA,1233
14
- django_bulk_hooks-0.1.68.dist-info/LICENSE,sha256=dguKIcbDGeZD-vXWdLyErPUALYOvtX_fO4Zjhq481uk,1088
15
- django_bulk_hooks-0.1.68.dist-info/METADATA,sha256=q-Eg-hQcrPBCOSwzO6hKkTRs8l7smoBeRmuO1YYGOMY,5947
16
- django_bulk_hooks-0.1.68.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
17
- django_bulk_hooks-0.1.68.dist-info/RECORD,,
14
+ django_bulk_hooks-0.1.69.dist-info/LICENSE,sha256=dguKIcbDGeZD-vXWdLyErPUALYOvtX_fO4Zjhq481uk,1088
15
+ django_bulk_hooks-0.1.69.dist-info/METADATA,sha256=kiyQOr6EB4UyBTeomqcjOTdTvuS6Vn1gWB1qhjlo58A,5918
16
+ django_bulk_hooks-0.1.69.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
17
+ django_bulk_hooks-0.1.69.dist-info/RECORD,,