valar 0.0.8__py3-none-any.whl → 0.0.9__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 valar might be problematic. Click here for more details.

valar/__init__.py CHANGED
@@ -0,0 +1,21 @@
1
+ from django.http import JsonResponse, HttpRequest
2
+ from django.utils.deprecation import MiddlewareMixin
3
+
4
+ class ValarResponse(JsonResponse):
5
+ def __init__(self, data, message='', code='info'):
6
+ self.message = message
7
+ self.code = code
8
+ super(ValarResponse, self).__init__(data, safe=False)
9
+
10
+
11
+ class Middleware(MiddlewareMixin):
12
+ @staticmethod
13
+ def process_response(request: HttpRequest, response: ValarResponse):
14
+ message, code = response.message, response.code
15
+ user_id = request.session.get('USER_ID')
16
+ headers = response.headers
17
+ headers['valar_message'] = message
18
+ headers['valar_code'] = code
19
+ if user_id:
20
+ headers['user_id'] = user_id
21
+ return response
@@ -43,7 +43,7 @@ class ValarSocketSender:
43
43
  await self.send(GROUP, body)
44
44
 
45
45
  async def register(self):
46
- body = self.__convert_body('register.emit', [self.client], [self.uid])
46
+ body = self.__convert_body('register.emit', None,[self.client], [self.uid])
47
47
  await self.send(GROUP, body)
48
48
 
49
49
 
@@ -65,7 +65,6 @@ class ValarConsumer(AsyncJsonWebsocketConsumer):
65
65
  await self.close(code)
66
66
 
67
67
  async def receive_json(self, data, *args, **kwargs):
68
- print(data)
69
68
  pass
70
69
 
71
70
  async def user_emit(self, event):
valar/channels/views.py CHANGED
@@ -2,21 +2,26 @@ import asyncio
2
2
  import importlib
3
3
  import json
4
4
  from django.core.exceptions import ImproperlyConfigured
5
- from django.http import JsonResponse
6
5
  from django.conf import settings
7
6
 
7
+ from src.valar import ValarResponse
8
8
  from src.valar.channels import ValarSocketSender
9
9
 
10
10
 
11
+
12
+
13
+
11
14
  async def handel_channel(request, handler):
12
15
  client = request.headers.get('CLIENT')
13
16
  uid = request.session.get('UID')
14
17
  data = json.loads(request.body)
15
18
  method = get_valar_channel_handler(handler)
16
- loop = asyncio.get_event_loop()
17
19
  sender = ValarSocketSender(handler, client, uid)
20
+ if uid and client:
21
+ await sender.register()
22
+ loop = asyncio.get_event_loop()
18
23
  loop.create_task(method(data, sender))
19
- return JsonResponse({'status':'OK'}, safe=False)
24
+ return ValarResponse({'status':'OK'}, message='OK', code= 'success')
20
25
 
21
26
 
22
27
 
@@ -0,0 +1,107 @@
1
+ Metadata-Version: 2.2
2
+ Name: valar
3
+ Version: 0.0.9
4
+ Summary: valar for morghulis
5
+ Author: LYP
6
+ Author-email: liuyinpeng@buaa.edu.cn
7
+ Requires-Python: >=3.9
8
+ Description-Content-Type: text/markdown
9
+ License-File: LICENSE
10
+ Requires-Dist: channels==3.0.3
11
+ Dynamic: author
12
+ Dynamic: author-email
13
+ Dynamic: description
14
+ Dynamic: description-content-type
15
+ Dynamic: requires-dist
16
+ Dynamic: requires-python
17
+ Dynamic: summary
18
+
19
+ valar for morghulis
20
+
21
+ # settings
22
+ ```python
23
+ from pathlib import Path
24
+
25
+ """ Compulsory settings """
26
+ DEBUG = True
27
+ BASE_DIR = Path(__file__).resolve().parent.parent
28
+ BASE_APP = str(BASE_DIR.name)
29
+ DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
30
+
31
+ """ Minimized compulsory settings """
32
+
33
+ DATABASES = {
34
+ 'default': {
35
+ 'ENGINE': 'django.db.backends.sqlite3',
36
+ 'NAME': BASE_DIR / 'db.sqlite3',
37
+ }
38
+ }
39
+
40
+ INSTALLED_APPS = [
41
+ 'django.contrib.sessions',
42
+ "corsheaders",
43
+ 'channels',
44
+ 'valar.dao'
45
+ ]
46
+
47
+ MIDDLEWARE = [
48
+ 'django.contrib.sessions.middleware.SessionMiddleware',
49
+ 'corsheaders.middleware.CorsMiddleware',
50
+ 'django.middleware.common.CommonMiddleware',
51
+ 'valar.Middleware'
52
+ ]
53
+
54
+ CHANNEL_LAYERS = {
55
+ "default": {
56
+ "BACKEND": "channels.layers.InMemoryChannelLayer"
57
+ }
58
+ }
59
+
60
+ CORS_ORIGIN_ALLOW_ALL = True
61
+ CORS_ALLOW_CREDENTIALS = True
62
+ ROOT_URLCONF = "%s.urls" % BASE_APP
63
+ ASGI_APPLICATION = "%s.asgi.application" % BASE_APP
64
+ VALAR_CHANNEL_HANDLER_MAPPING = "%s.urls.channel_handler_mapping" % BASE_APP
65
+
66
+ """ Optional settings """
67
+ # ALLOWED_HOSTS = ['*']
68
+ # LANGUAGE_CODE = 'en-us'
69
+ # TIME_ZONE = 'Asia/Shanghai'
70
+ # USE_I18N = True
71
+ # USE_TZ = False
72
+ # SESSION_SAVE_EVERY_REQUEST = True
73
+ # SESSION_COOKIE_AGE = 60 * 60
74
+ # FILE_UPLOAD_MAX_MEMORY_SIZE = 1024 * 1024 * 100
75
+ # DATA_UPLOAD_MAX_MEMORY_SIZE = 1024 * 1024 * 100
76
+ ```
77
+
78
+ # root urls
79
+
80
+
81
+
82
+
83
+
84
+ # prepare
85
+ ```sh
86
+ python -m pip install --upgrade pip
87
+ ```
88
+ ```sh
89
+ pip install --upgrade build
90
+ ```
91
+ ```sh
92
+ pip install twine
93
+ ```
94
+
95
+ # publish
96
+ ```sh
97
+ rm -r dist
98
+ ```
99
+ ```sh
100
+ python -m build
101
+ ```
102
+ ```sh
103
+ twine check dist/*
104
+ ```
105
+ ```sh
106
+ twine upload dist/*
107
+ ```
@@ -0,0 +1,13 @@
1
+ valar/__init__.py,sha256=8IqN-NsTjKsUogq7km3kncq__tIm0cMqhnhPx445dkc,744
2
+ valar/channels/__init__.py,sha256=U5JYsuTMvqqhxdNyfTWCQPu3M3-B_AEFWSG53WiBdrU,2753
3
+ valar/channels/views.py,sha256=6DorOS3DjvoCsRoxacjIXqvxlr2uYlsRT7f4CCX3740,1452
4
+ valar/dao/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ valar/dao/models.py,sha256=wsieA4rUU3r9Yzs_FQzN3QxZNUCv_mTODLdyz5rtXlE,165
6
+ valar/dao/views.py,sha256=xc1IQHrsij7j33TUbo-_oewy3vs03pw_etpBWaMYJl0,63
7
+ valar/dao/migrations/0001_initial.py,sha256=VKfAlhQKfij8PeLFYnoOnDd2lKmddvfGzW_n1TklXlo,541
8
+ valar/dao/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ valar-0.0.9.dist-info/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
10
+ valar-0.0.9.dist-info/METADATA,sha256=fps4s_OnDlRY56oRAG6tNPVoHVeIasQMZXwDA7Vxt_c,2009
11
+ valar-0.0.9.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
12
+ valar-0.0.9.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
13
+ valar-0.0.9.dist-info/RECORD,,
@@ -1,44 +0,0 @@
1
- Metadata-Version: 2.2
2
- Name: valar
3
- Version: 0.0.8
4
- Summary: valar for morghulis
5
- Author: LYP
6
- Author-email: liuyinpeng@buaa.edu.cn
7
- Requires-Python: >=3.9
8
- Description-Content-Type: text/markdown
9
- License-File: LICENSE
10
- Requires-Dist: channels==3.0.3
11
- Dynamic: author
12
- Dynamic: author-email
13
- Dynamic: description
14
- Dynamic: description-content-type
15
- Dynamic: requires-dist
16
- Dynamic: requires-python
17
- Dynamic: summary
18
-
19
- valar for morghulis
20
-
21
- # prepare
22
- ```sh
23
- python -m pip install --upgrade pip
24
- ```
25
- ```sh
26
- pip install --upgrade build
27
- ```
28
- ```sh
29
- pip install twine
30
- ```
31
-
32
- # publish
33
- ```sh
34
- rm -r dist
35
- ```
36
- ```sh
37
- python -m build
38
- ```
39
- ```sh
40
- twine check dist/*
41
- ```
42
- ```sh
43
- twine upload dist/*
44
- ```
@@ -1,13 +0,0 @@
1
- valar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- valar/channels/__init__.py,sha256=6f_UMAYlhXQhvDqvBW1EjsNuVVlcxSjYDGqrZhKn61w,2768
3
- valar/channels/views.py,sha256=hnnbYvEEqbAx3lgZYPaDvyhdiHry-shlpDfMq2tRSIs,1375
4
- valar/dao/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- valar/dao/models.py,sha256=wsieA4rUU3r9Yzs_FQzN3QxZNUCv_mTODLdyz5rtXlE,165
6
- valar/dao/views.py,sha256=xc1IQHrsij7j33TUbo-_oewy3vs03pw_etpBWaMYJl0,63
7
- valar/dao/migrations/0001_initial.py,sha256=VKfAlhQKfij8PeLFYnoOnDd2lKmddvfGzW_n1TklXlo,541
8
- valar/dao/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- valar-0.0.8.dist-info/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
10
- valar-0.0.8.dist-info/METADATA,sha256=q9vPZMEobcWXkudJfQfZ6OxJmjw-AtUGijrzjTVXKwc,662
11
- valar-0.0.8.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
12
- valar-0.0.8.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
13
- valar-0.0.8.dist-info/RECORD,,
File without changes
File without changes