django-restit 4.2.153__py3-none-any.whl → 4.2.156__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
account/models/member.py CHANGED
@@ -320,7 +320,7 @@ class Member(User, RestModel, MetaDataModel):
320
320
  self.locateByIP(request.ip)
321
321
  return True
322
322
 
323
- def canLogin(self, request=None, throw_exception=True):
323
+ def canLogin(self, request=None, throw_exception=True, using_password=True):
324
324
  if not self.is_active:
325
325
  self.log("login_blocked", F"account is not active {self.username}", request, method="login", level=31)
326
326
  if throw_exception:
@@ -337,7 +337,7 @@ class Member(User, RestModel, MetaDataModel):
337
337
  f"{self.username} Account locked out", 411,
338
338
  component="account.Member", component_id=self.id)
339
339
  return False
340
- if self.hasPasswordExpired():
340
+ if using_password and self.hasPasswordExpired():
341
341
  self.log("login_blocked", "password has expired", request, method="login", level=31)
342
342
  if throw_exception:
343
343
  raise PermissionDeniedException(
account/passkeys/core.py CHANGED
@@ -114,7 +114,7 @@ def authComplete(request, fido2_state, rp_id):
114
114
  credentials=stored_credentials,
115
115
  response=credential)
116
116
  request.member = upk.member
117
- request.member.canLogin(request) # throws exception if cannot login
117
+ request.member.canLogin(request, using_password=False) # throws exception if cannot login
118
118
  request.member.loginNoPassword(request=request)
119
119
  request.member.log(
120
120
  "passkey_login", "passkey login succesful",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-restit
3
- Version: 4.2.153
3
+ Version: 4.2.156
4
4
  Summary: A Rest Framework for DJANGO
5
5
  License: MIT
6
6
  Author: Ian Starnes
@@ -30,7 +30,7 @@ account/models/device.py,sha256=0AFeLMGk4im4KZVd3eGSyRbK4eQEXiFM2cdY8GUzihs,5934
30
30
  account/models/feeds.py,sha256=vI7fG4ASY1M0Zjke24RdnfDcuWeATl_yR_25jPmT64g,2011
31
31
  account/models/group.py,sha256=N9Ow7AtV4xN5zSE9E5-msthJy0G5-3DEr2MTmvFO1kU,22887
32
32
  account/models/legacy.py,sha256=zYdtv4LC0ooxPVqWM-uToPwV-lYWQLorSE6p6yn1xDw,2720
33
- account/models/member.py,sha256=FvVUoc_n7PgqxXduQRF-S4VJcl8aER5tMBxM5xsgswU,54682
33
+ account/models/member.py,sha256=qmLCOVbNTRr4L-E7BbOMtv4V64QN7K-0pXDgnuB-AbY,54722
34
34
  account/models/membership.py,sha256=90EpAhOsGaqphDAkONP6j_qQ0OWSRaQsI8H7E7fgMkE,9249
35
35
  account/models/notify.py,sha256=YKYEXT56i98b7-ydLt5UuEVOqW7lipQMi-KuiPhcSwY,15627
36
36
  account/models/passkeys.py,sha256=TJxITUi4DT4_1tW2K7ZlOcRjJuMVl2NtKz7pKQU8-Tw,1516
@@ -39,7 +39,7 @@ account/models/settings.py,sha256=gOyRWBVd3BQpjfj_hJPtqX3H46ztyRAFxBrPbv11lQg,21
39
39
  account/oauth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
40
  account/oauth/google.py,sha256=q5M6Qhpfp9QslKRVYFZBvtG6kgXV6vYMrR5fp6Xdb9I,2078
41
41
  account/passkeys/__init__.py,sha256=FwXYJXwSJXfkLojGBcVpF1dFpgFhzDdd9N_3naYQ0cc,89
42
- account/passkeys/core.py,sha256=xj-vXjSrfWDvc5MYtEmXzwaMkNHl-cXrQKVrN9soRCg,4126
42
+ account/passkeys/core.py,sha256=4aUBNCuF_kjOvE1zFapK1Pj28ap5slO71dRyfnWi0YU,4148
43
43
  account/periodic.py,sha256=-u0n-7QTJgDOkasGhBAPwHAwjpqWGA-MZLEFkVTqCGU,874
44
44
  account/rpc/__init__.py,sha256=SGF0M_-H0dKh3b1apSX29BotNWAvITYccGQVC0MIjL8,336
45
45
  account/rpc/auth.py,sha256=p62tyihWvSY2zn7eaVxKcCG9qLnnZBIkwdRH81sS5_Y,16615
@@ -176,7 +176,7 @@ medialib/forms.py,sha256=nrE6QTPNPiIeX7Nx4l9DEmAQeQXqFyCg1C3JEDBYJfE,5442
176
176
  medialib/migrations/0001_initial.py,sha256=H3JliH5aw7tiHef8MhrJr_9rGetqgA7UjTF-eKziRSM,20518
177
177
  medialib/migrations/0002_alter_mediaitemrendition_bytes.py,sha256=igC1R02smbNoWlk2T4uCi9cNilOsxGKD-D24fQv92dM,414
178
178
  medialib/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
- medialib/models.py,sha256=hBq-xyUZB0X0TpYmywmMCuLFrOK4Su-zRfSGD1ULvk8,54995
179
+ medialib/models.py,sha256=fsgNxBtJNR7lufbWUsI_LtxfYmLBTpIQ0uOW-T_CsD8,55032
180
180
  medialib/ocr.py,sha256=zlP7-NBiXhW7jR9pljmEPl5xzLVZpLN5QLAELQgU0Fk,1189
181
181
  medialib/pdf.py,sha256=l28WwM0JKbT9boV-b_9TFh9jhvGcrquR8GqC8wfEaLk,1275
182
182
  medialib/qrcode.py,sha256=vHyA5egXOX70EFiUDgr1njI9zcF6bXQJ_hKAQrppRow,545
@@ -379,7 +379,7 @@ pushit/utils.py,sha256=IeTCGa-164nmB1jIsK1lu1O1QzUhS3BKfuXHGjCW-ck,2121
379
379
  rest/.gitignore,sha256=TbEvWRMnAiajCTOdhiNrd9eeCAaIjRp9PRjE_VkMM5g,118
380
380
  rest/README.md,sha256=V3ETc-cJu8PZIbKr9xSe_pA4JEUpC8Dhw4bQeVCDJPw,5460
381
381
  rest/RemoteEvents.py,sha256=nL46U7AuxIrlw2JunphR1tsXyqi-ep_gD9CYGpYbNgE,72
382
- rest/__init__.py,sha256=8aFIz-8RHV4xBWuoJXgDNggbkdl1BC7eSkON9J2HXVY,122
382
+ rest/__init__.py,sha256=lqGQe8RpSgJgRYgI1-4Lf8OQxGHqQkLQMoIwqbt-NCw,122
383
383
  rest/arc4.py,sha256=y644IbF1ec--e4cUJ3KEYsewTCITK0gmlwa5mJruFC0,1967
384
384
  rest/cache.py,sha256=1Qg0rkaCJCaVP0-l5hZg2CIblTdeBSlj_0fP6vlKUpU,83
385
385
  rest/crypto/__init__.py,sha256=Tl0U11rgj1eBYqd6OXJ2_XSdNLumW_JkBZnaJqI6Ldw,72
@@ -507,7 +507,7 @@ ws4redis/__init__.py,sha256=teNfv83A_ke1CBt9BB7NsnWCcFBhnUFPsPESjF554_k,46
507
507
  ws4redis/client.py,sha256=HTntgqlMzZU9MhBz3fn3fXDpzfaTDZx_9tIb5SU91hY,7077
508
508
  ws4redis/connection.py,sha256=SM0KOaTjNeRt3W28mBsSPi3dgegXlhWhLIpGYULgl1Q,14060
509
509
  ws4redis/exceptions.py,sha256=EGLoRTdqJVwz900pwhciqPuSjBBd08hhLgFu6umHrI4,636
510
- ws4redis/redis.py,sha256=jHfwpUG0Nru_zSyD-xwJhX67gASqVtTFiAc3RwgTcJs,6542
510
+ ws4redis/redis.py,sha256=1hglQUEZAG9wvd-5A_Czdetv0eAMjG4mBljTAAYUAYc,6700
511
511
  ws4redis/servers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
512
512
  ws4redis/servers/base.py,sha256=3nYZF5jSsQxNLbnLtKLFJ82xJs_Mc7N1H2kEOx8wT6o,3747
513
513
  ws4redis/servers/django.py,sha256=cKOE4U0cE8I3_rDaLgv-KuDb376RASdOzUn7MlDA4As,5900
@@ -515,7 +515,7 @@ ws4redis/servers/uwsgi.py,sha256=VyhoCI1DnVFqBiJYHoxqn5Idlf6uJPHvfBKgkjs34mo,172
515
515
  ws4redis/settings.py,sha256=KKq00EwoGnz1yLwCZr5Dfoq2izivmAdsNEEM4EhZwN4,1610
516
516
  ws4redis/utf8validator.py,sha256=S0OlfjeGRP75aO6CzZsF4oTjRQAgR17OWE9rgZdMBZA,5122
517
517
  ws4redis/websocket.py,sha256=R0TUyPsoVRD7Y_oU7w2I6NL4fPwiz5Vl94-fUkZgLHA,14848
518
- django_restit-4.2.153.dist-info/LICENSE.md,sha256=VHN4hhEeVOoFjtG-5fVv4jesA4SWi0Z-KgOzzN6a1ps,1068
519
- django_restit-4.2.153.dist-info/METADATA,sha256=VojJKBZUJNrnd64vmXxVW51-UNOstFLOcaMDflyUgbg,7663
520
- django_restit-4.2.153.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
521
- django_restit-4.2.153.dist-info/RECORD,,
518
+ django_restit-4.2.156.dist-info/LICENSE.md,sha256=VHN4hhEeVOoFjtG-5fVv4jesA4SWi0Z-KgOzzN6a1ps,1068
519
+ django_restit-4.2.156.dist-info/METADATA,sha256=cl7Zn0f9xdd9SKb8qbni3mdRURx5NKP2149paeLUGyc,7663
520
+ django_restit-4.2.156.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
521
+ django_restit-4.2.156.dist-info/RECORD,,
medialib/models.py CHANGED
@@ -365,6 +365,7 @@ class MediaItem(models.Model, RestModel, MetaDataModel):
365
365
  "extra": ["metadata"],
366
366
  "graphs": {
367
367
  "self": "basic",
368
+ "owner": "basic"
368
369
  }
369
370
  }
370
371
  }
rest/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
1
  from .uberdict import UberDict # noqa: F401
2
2
  from .settings_helper import settings # noqa: F401
3
3
 
4
- __version__ = "4.2.153"
4
+ __version__ = "4.2.156"
ws4redis/redis.py CHANGED
@@ -146,7 +146,11 @@ class RedisStore():
146
146
  while time.time() < timeout_at:
147
147
  message = self.pubsub.get_message()
148
148
  if message is not None and message.get("type") == "message":
149
- return UberDict.fromJSON(message.get("data"))
149
+ imsg = UberDict.fromJSON(message.get("data"))
150
+ if muid is not None and imsg.muid == muid:
151
+ return imsg
152
+ elif muid is None:
153
+ return imsg
150
154
  time.sleep(1.0)
151
155
  return None
152
156