bk-resource 0.4.12b0__tar.gz → 0.4.13b0__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 (61) hide show
  1. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/PKG-INFO +3 -3
  2. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/contrib/model.py +1 -4
  3. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/cache.py +1 -1
  4. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/request.py +32 -0
  5. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/viewsets.py +13 -0
  6. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource.egg-info/PKG-INFO +3 -3
  7. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource.egg-info/requires.txt +1 -1
  8. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/readme.md +1 -1
  9. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/setup.py +2 -2
  10. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/LICENSE.txt +0 -0
  11. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/MANIFEST.in +0 -0
  12. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/__init__.py +0 -0
  13. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/apps.py +0 -0
  14. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/base.py +0 -0
  15. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/conf/__init__.py +0 -0
  16. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/conf/app_template/__init__.py-tpl +0 -0
  17. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/conf/app_template/admin.py-tpl +0 -0
  18. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/conf/app_template/apps.py-tpl +0 -0
  19. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/conf/app_template/migrations/__init__.py-tpl +0 -0
  20. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/conf/app_template/models.py-tpl +0 -0
  21. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/conf/app_template/resources.py-tpl +0 -0
  22. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/conf/app_template/serializers.py-tpl +0 -0
  23. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/conf/app_template/urls.py-tpl +0 -0
  24. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/conf/app_template/views.py-tpl +0 -0
  25. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/contrib/__init__.py +0 -0
  26. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/contrib/api.py +0 -0
  27. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/contrib/bk_api.py +0 -0
  28. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/contrib/cache.py +0 -0
  29. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/exceptions.py +0 -0
  30. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/locale/en/LC_MESSAGES/django.mo +0 -0
  31. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/locale/en/LC_MESSAGES/django.po +0 -0
  32. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/locale/zh_CN/LC_MESSAGES/django.mo +0 -0
  33. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/locale/zh_CN/LC_MESSAGES/django.po +0 -0
  34. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/management/__init__.py +0 -0
  35. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/management/commands/__init__.py +0 -0
  36. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/management/commands/generate_resource_stub_file.py +0 -0
  37. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/management/commands/start_resource.py +0 -0
  38. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/management/exceptions.py +0 -0
  39. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/management/finder.py +0 -0
  40. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/management/root.py +0 -0
  41. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/management/stub_file_generator.py +0 -0
  42. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/routers.py +0 -0
  43. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/serializers.py +0 -0
  44. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/settings.py +0 -0
  45. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/tasks.py +0 -0
  46. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/tools.py +0 -0
  47. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/__init__.py +0 -0
  48. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/common_utils.py +0 -0
  49. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/factory.py +0 -0
  50. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/generators.py +0 -0
  51. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/inspectors.py +0 -0
  52. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/local.py +0 -0
  53. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/logger.py +0 -0
  54. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/request_log.py +0 -0
  55. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/text.py +0 -0
  56. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/thread_backend.py +0 -0
  57. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource/utils/time_tools.py +0 -0
  58. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource.egg-info/SOURCES.txt +0 -0
  59. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource.egg-info/dependency_links.txt +0 -0
  60. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/bk_resource.egg-info/top_level.txt +0 -0
  61. {bk_resource-0.4.12b0 → bk_resource-0.4.13b0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bk_resource
3
- Version: 0.4.12b0
3
+ Version: 0.4.13b0
4
4
  Summary: Bk Resource
5
5
  Home-page: https://bk.tencent.com
6
6
  Author: blueking
@@ -14,12 +14,12 @@ Requires-Dist: drf-yasg>=1.20.0
14
14
  Requires-Dist: pyinstrument>=3.4.2
15
15
  Requires-Dist: arrow>=1.2.0
16
16
  Requires-Dist: django-rest-framework-condition>=0.1.1
17
- Requires-Dist: celery>=5
17
+ Requires-Dist: celery>=4.4.0
18
18
 
19
19
  ![logo.png](assests/logo.png)
20
20
 
21
21
  [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat)](https://github.com/TencentBlueKing/bk-resource/blob/main/LICENSE.txt)
22
- [![Release Version](https://img.shields.io/badge/release-0.4.12b0-brightgreen.svg)](https://github.com/TencentBlueKing/bk-resource/releases)
22
+ [![Release Version](https://img.shields.io/badge/release-0.4.13b0-brightgreen.svg)](https://github.com/TencentBlueKing/bk-resource/releases)
23
23
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/TencentBlueKing/bk-resource/pulls)
24
24
  [![codecov](https://codecov.io/gh/TencentBlueKing/bk-resource/branch/main/graph/badge.svg)](https://codecov.io/gh/TencentBlueKing/bk-resource)
25
25
  [![Unittest Py3](https://github.com/TencentBlueKing/bk-resource/actions/workflows/unittest.yml/badge.svg)](https://github.com/TencentBlueKing/bk-resource/actions/workflows/unittest.yml)
@@ -26,13 +26,10 @@ from rest_framework.generics import GenericAPIView
26
26
  from rest_framework.viewsets import ModelViewSet
27
27
 
28
28
  from bk_resource import Resource
29
+ from bk_resource.base import Empty
29
30
  from bk_resource.utils.request import get_mock_request
30
31
 
31
32
 
32
- class Empty:
33
- ...
34
-
35
-
36
33
  class ViewMixin(GenericAPIView):
37
34
  filter_fields = []
38
35
  search_fields = []
@@ -25,7 +25,7 @@ from django.core.cache import cache, caches
25
25
  from django.utils.encoding import force_bytes
26
26
  from django.utils.translation import gettext
27
27
 
28
- from bk_resource.contrib.model import Empty
28
+ from bk_resource.base import Empty
29
29
  from bk_resource.settings import bk_resource_settings
30
30
  from bk_resource.utils.common_utils import count_md5
31
31
  from bk_resource.utils.local import local
@@ -15,8 +15,11 @@ specific language governing permissions and limitations under the License.
15
15
  We undertake not to change the open source license (MIT license) applicable
16
16
  to the current version of the project delivered to anyone in the future.
17
17
  """
18
+ from typing import Optional, Type
18
19
 
20
+ from django.http import HttpRequest
19
21
  from django.test import RequestFactory
22
+ from django.urls import Resolver404, resolve
20
23
 
21
24
  from bk_resource.utils.local import local
22
25
 
@@ -44,3 +47,32 @@ def set_local_username(username):
44
47
 
45
48
  def get_mock_request(**kwargs):
46
49
  return RequestFactory().request(**kwargs)
50
+
51
+
52
+ def get_resource_by_request(request: HttpRequest = None) -> Optional[Type["bk_resource.Resource"]]:
53
+ """根据 request 对象获取具体的 Resource 类"""
54
+
55
+ from blueapps.utils.request_provider import get_local_request
56
+
57
+ request = request or get_local_request()
58
+ if not request:
59
+ return None
60
+
61
+ try:
62
+ match = resolve(request.path_info)
63
+ except Resolver404:
64
+ try:
65
+ match = resolve(f"{request.path_info}/")
66
+ except Resolver404:
67
+ return None
68
+
69
+ try:
70
+ from bk_resource.viewsets import RESOURCE_MAPPING
71
+
72
+ view_set_path = f"{match.func.cls.__module__}.{match.func.cls.__name__}"
73
+ resource_clz = RESOURCE_MAPPING.get(
74
+ (request.method, f"{view_set_path}.{match.func.actions.get(request.method.lower())}")
75
+ )
76
+ return resource_clz
77
+ except Exception: # pylint: disable=broad-except
78
+ return None
@@ -35,6 +35,9 @@ from bk_resource.base import Resource
35
35
  from bk_resource.settings import bk_resource_settings
36
36
 
37
37
 
38
+ RESOURCE_MAPPING = {}
39
+
40
+
38
41
  class ResourceRoute(object):
39
42
  """
40
43
  Resource的视图配置,应用于viewsets
@@ -124,6 +127,7 @@ class ResourceViewSet(viewsets.GenericViewSet):
124
127
 
125
128
  @classmethod
126
129
  def generate_endpoint(cls):
130
+
127
131
  for resource_route in cls.resource_routes:
128
132
  # 生成方法模版
129
133
  function = cls._generate_function_template(resource_route)
@@ -202,6 +206,9 @@ class ResourceViewSet(viewsets.GenericViewSet):
202
206
  setattr(cls, cls.EMPTY_ENDPOINT_METHODS[resource_route.method], function)
203
207
  else:
204
208
  raise AssertionError(gettext("不支持的请求方法: %s,请确认resource_routes配置是否正确!") % resource_route.method)
209
+
210
+ resource_action = cls.EMPTY_ENDPOINT_METHODS[resource_route.method]
211
+
205
212
  else:
206
213
  function = method_decorator(cache_control(max_age=0, private=True))(function)
207
214
  function.__name__ = resource_route.endpoint
@@ -217,6 +224,12 @@ class ResourceViewSet(viewsets.GenericViewSet):
217
224
  function = decorator_function(function)
218
225
  setattr(cls, resource_route.endpoint, function)
219
226
 
227
+ resource_action = resource_route.endpoint
228
+
229
+ RESOURCE_MAPPING[
230
+ (resource_route.method, f"{cls.__module__}.{cls.__name__}.{resource_action}")
231
+ ] = resource_route.resource_class
232
+
220
233
  @classmethod
221
234
  def _generate_function_template(cls, resource_route: ResourceRoute):
222
235
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bk_resource
3
- Version: 0.4.12b0
3
+ Version: 0.4.13b0
4
4
  Summary: Bk Resource
5
5
  Home-page: https://bk.tencent.com
6
6
  Author: blueking
@@ -14,12 +14,12 @@ Requires-Dist: drf-yasg>=1.20.0
14
14
  Requires-Dist: pyinstrument>=3.4.2
15
15
  Requires-Dist: arrow>=1.2.0
16
16
  Requires-Dist: django-rest-framework-condition>=0.1.1
17
- Requires-Dist: celery>=5
17
+ Requires-Dist: celery>=4.4.0
18
18
 
19
19
  ![logo.png](assests/logo.png)
20
20
 
21
21
  [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat)](https://github.com/TencentBlueKing/bk-resource/blob/main/LICENSE.txt)
22
- [![Release Version](https://img.shields.io/badge/release-0.4.12b0-brightgreen.svg)](https://github.com/TencentBlueKing/bk-resource/releases)
22
+ [![Release Version](https://img.shields.io/badge/release-0.4.13b0-brightgreen.svg)](https://github.com/TencentBlueKing/bk-resource/releases)
23
23
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/TencentBlueKing/bk-resource/pulls)
24
24
  [![codecov](https://codecov.io/gh/TencentBlueKing/bk-resource/branch/main/graph/badge.svg)](https://codecov.io/gh/TencentBlueKing/bk-resource)
25
25
  [![Unittest Py3](https://github.com/TencentBlueKing/bk-resource/actions/workflows/unittest.yml/badge.svg)](https://github.com/TencentBlueKing/bk-resource/actions/workflows/unittest.yml)
@@ -5,4 +5,4 @@ drf-yasg>=1.20.0
5
5
  pyinstrument>=3.4.2
6
6
  arrow>=1.2.0
7
7
  django-rest-framework-condition>=0.1.1
8
- celery>=5
8
+ celery>=4.4.0
@@ -1,7 +1,7 @@
1
1
  ![logo.png](assests/logo.png)
2
2
 
3
3
  [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat)](https://github.com/TencentBlueKing/bk-resource/blob/main/LICENSE.txt)
4
- [![Release Version](https://img.shields.io/badge/release-0.4.12b0-brightgreen.svg)](https://github.com/TencentBlueKing/bk-resource/releases)
4
+ [![Release Version](https://img.shields.io/badge/release-0.4.13b0-brightgreen.svg)](https://github.com/TencentBlueKing/bk-resource/releases)
5
5
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/TencentBlueKing/bk-resource/pulls)
6
6
  [![codecov](https://codecov.io/gh/TencentBlueKing/bk-resource/branch/main/graph/badge.svg)](https://codecov.io/gh/TencentBlueKing/bk-resource)
7
7
  [![Unittest Py3](https://github.com/TencentBlueKing/bk-resource/actions/workflows/unittest.yml/badge.svg)](https://github.com/TencentBlueKing/bk-resource/actions/workflows/unittest.yml)
@@ -23,7 +23,7 @@ with open("readme.md") as f:
23
23
 
24
24
  setup(
25
25
  name="bk_resource",
26
- version="0.4.12b0",
26
+ version="0.4.13b0",
27
27
  author="blueking",
28
28
  url="https://bk.tencent.com",
29
29
  author_email="blueking@tencent.com",
@@ -46,7 +46,7 @@ setup(
46
46
  "pyinstrument>=3.4.2",
47
47
  "arrow>=1.2.0",
48
48
  "django-rest-framework-condition>=0.1.1",
49
- "celery>=5",
49
+ "celery>=4.4.0",
50
50
  ],
51
51
  include_package_data=True,
52
52
  )
File without changes