valar 1.0.24__py3-none-any.whl → 1.0.25__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-1.0.24.dist-info → valar-1.0.25.dist-info}/METADATA +62 -52
- {valar-1.0.24.dist-info → valar-1.0.25.dist-info}/RECORD +5 -5
- {valar-1.0.24.dist-info → valar-1.0.25.dist-info}/WHEEL +0 -0
- {valar-1.0.24.dist-info → valar-1.0.25.dist-info}/licenses/LICENSE +0 -0
- {valar-1.0.24.dist-info → valar-1.0.25.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: valar
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.25
|
|
4
4
|
Summary: valar for morghulis
|
|
5
|
+
Home-page: https://gitee.com/GRIFFIN120/valar_dev
|
|
5
6
|
Author: LYP
|
|
6
7
|
Author-email: liuyinpeng@buaa.edu.cn
|
|
7
8
|
Requires-Python: >=3.9
|
|
@@ -19,15 +20,22 @@ Dynamic: author
|
|
|
19
20
|
Dynamic: author-email
|
|
20
21
|
Dynamic: description
|
|
21
22
|
Dynamic: description-content-type
|
|
23
|
+
Dynamic: home-page
|
|
22
24
|
Dynamic: license-file
|
|
23
25
|
Dynamic: requires-dist
|
|
24
26
|
Dynamic: requires-python
|
|
25
27
|
Dynamic: summary
|
|
26
28
|
|
|
27
29
|
valar for morghulis
|
|
30
|
+
# 1. install
|
|
31
|
+
```shell
|
|
32
|
+
pip install valar
|
|
33
|
+
```
|
|
34
|
+
|
|
28
35
|
|
|
29
|
-
# settings
|
|
36
|
+
# 1. settings
|
|
30
37
|
```python
|
|
38
|
+
|
|
31
39
|
from pathlib import Path
|
|
32
40
|
|
|
33
41
|
""" Compulsory settings """
|
|
@@ -35,9 +43,8 @@ DEBUG = True
|
|
|
35
43
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
|
36
44
|
BASE_APP = str(BASE_DIR.name)
|
|
37
45
|
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
""" DataSource """
|
|
46
|
+
SECRET_KEY = 'django-insecure-of@tfouoq^_f$l!yki#m=6j7)@&kjri$1_$!mca-=%7=+@f@5^'
|
|
47
|
+
""" Minimized compulsory settings """
|
|
41
48
|
|
|
42
49
|
DATABASES = {
|
|
43
50
|
'default': {
|
|
@@ -46,34 +53,17 @@ DATABASES = {
|
|
|
46
53
|
}
|
|
47
54
|
}
|
|
48
55
|
|
|
49
|
-
MONGO_SETTINGS = {
|
|
50
|
-
'host': '47.98.192.120',
|
|
51
|
-
'port': 27017,
|
|
52
|
-
"username": "admin",
|
|
53
|
-
"password": '19870120'
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
MINIO_SETTINGS = {
|
|
57
|
-
'endpoint': '10.134.10.92:9000',
|
|
58
|
-
'access_key': 'admin',
|
|
59
|
-
"secret_key": "19870120",
|
|
60
|
-
'secure': False
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
""" Minimized compulsory settings """
|
|
64
|
-
|
|
65
56
|
INSTALLED_APPS = [
|
|
66
57
|
'django.contrib.sessions',
|
|
67
58
|
"corsheaders",
|
|
68
59
|
'channels',
|
|
69
|
-
'valar.data'
|
|
60
|
+
'valar.data',
|
|
70
61
|
]
|
|
71
62
|
|
|
72
63
|
MIDDLEWARE = [
|
|
73
64
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
|
74
65
|
'corsheaders.middleware.CorsMiddleware',
|
|
75
66
|
'django.middleware.common.CommonMiddleware',
|
|
76
|
-
'valar.Middleware'
|
|
77
67
|
]
|
|
78
68
|
|
|
79
69
|
CHANNEL_LAYERS = {
|
|
@@ -86,8 +76,20 @@ CORS_ORIGIN_ALLOW_ALL = True
|
|
|
86
76
|
CORS_ALLOW_CREDENTIALS = True
|
|
87
77
|
ROOT_URLCONF = "%s.urls" % BASE_APP
|
|
88
78
|
ASGI_APPLICATION = "%s.asgi.application" % BASE_APP
|
|
89
|
-
VALAR_CHANNEL_HANDLER_MAPPING = "%s.urls.channel_handler_mapping" % BASE_APP
|
|
90
79
|
|
|
80
|
+
MONGO = {
|
|
81
|
+
'host': '<IP>',
|
|
82
|
+
'port': '<PORT>',
|
|
83
|
+
"username": "<USERNAME>",
|
|
84
|
+
"password": '<PASSWORD>'
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
MINIO = {
|
|
88
|
+
'endpoint': '<IP>:<PORT>',
|
|
89
|
+
'access_key': '<USERNAME>',
|
|
90
|
+
"secret_key": "<PASSWORD>",
|
|
91
|
+
'secure': False
|
|
92
|
+
}
|
|
91
93
|
|
|
92
94
|
""" Optional settings """
|
|
93
95
|
# ALLOWED_HOSTS = ['*']
|
|
@@ -99,49 +101,57 @@ VALAR_CHANNEL_HANDLER_MAPPING = "%s.urls.channel_handler_mapping" % BASE_APP
|
|
|
99
101
|
# SESSION_COOKIE_AGE = 60 * 60
|
|
100
102
|
# FILE_UPLOAD_MAX_MEMORY_SIZE = 1024 * 1024 * 100
|
|
101
103
|
# DATA_UPLOAD_MAX_MEMORY_SIZE = 1024 * 1024 * 100
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
# 2. asgi
|
|
107
|
+
```python
|
|
108
|
+
from django.core.asgi import get_asgi_application
|
|
109
|
+
from channels.routing import ProtocolTypeRouter, URLRouter
|
|
110
|
+
from django.urls import re_path
|
|
111
|
+
from valar.channels.consumer import ValarConsumer
|
|
112
|
+
|
|
113
|
+
application = ProtocolTypeRouter({
|
|
114
|
+
'http': get_asgi_application(),
|
|
115
|
+
'websocket': URLRouter([
|
|
116
|
+
re_path(r'(?P<client>\w+)/$', ValarConsumer.as_asgi()),
|
|
117
|
+
])
|
|
118
|
+
})
|
|
119
|
+
|
|
102
120
|
```
|
|
103
121
|
|
|
104
|
-
#
|
|
122
|
+
# 3. migrate
|
|
123
|
+
```shell
|
|
124
|
+
python manage.py makemigrations
|
|
125
|
+
python manage.py migrate
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
# 4. root urls
|
|
105
130
|
```python
|
|
106
131
|
from django.urls import path, include
|
|
107
132
|
|
|
108
|
-
from valar.channels import ValarSocketSender
|
|
109
|
-
from valar.channels.views import handel_channel
|
|
110
|
-
|
|
111
133
|
urlpatterns = [
|
|
112
|
-
path('socket/<str:handler>', handel_channel),
|
|
113
134
|
path('data/', include('valar.data.urls')),
|
|
114
135
|
]
|
|
115
136
|
|
|
116
|
-
|
|
117
|
-
channel_handler_mapping = {
|
|
137
|
+
channel_mapping = {
|
|
118
138
|
# 'test': test_handler
|
|
119
139
|
}
|
|
120
|
-
|
|
121
|
-
# async def test_handler(data, sender: ValarSocketSender):
|
|
122
|
-
# # print(data, sender.handler, sender.client, sender.uid)
|
|
123
|
-
# await sender.to_users({'user': 15}, 15)
|
|
124
|
-
# for i in range(3):
|
|
125
|
-
# await sender.to_clients({'h': i},sender.client)
|
|
126
|
-
|
|
127
140
|
```
|
|
128
141
|
|
|
129
|
-
|
|
130
|
-
# asgi
|
|
142
|
+
# 5. channel_handler
|
|
131
143
|
```python
|
|
132
|
-
from django.core.asgi import get_asgi_application
|
|
133
|
-
from channels.routing import ProtocolTypeRouter, URLRouter
|
|
134
|
-
from django.urls import re_path
|
|
135
144
|
|
|
136
|
-
|
|
145
|
+
import time
|
|
137
146
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
'websocket': URLRouter([
|
|
141
|
-
re_path(r'(?P<client>\w+)/$', ValarConsumer.as_asgi()),
|
|
142
|
-
])
|
|
143
|
-
})
|
|
147
|
+
from valar.channels.sender import ValarSocketSender
|
|
148
|
+
from valar.core.counter import Counter
|
|
144
149
|
|
|
150
|
+
def test_handler(sender: ValarSocketSender):
|
|
151
|
+
data = sender.data
|
|
152
|
+
length = data.get('length',50)
|
|
153
|
+
counter = Counter(length)
|
|
154
|
+
for i in range(length):
|
|
155
|
+
time.sleep(0.1)
|
|
156
|
+
sender.to_clients(counter.tick() ,sender.client, wait=True)
|
|
145
157
|
```
|
|
146
|
-
|
|
147
|
-
|
|
@@ -42,8 +42,8 @@ valar/data/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
|
42
42
|
valar/data/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
43
|
valar/data/views/handler.py,sha256=h769dO9ZiJXwgkGyIWVzMaz3LKpqafjwAM7ZH2oCSkQ,1214
|
|
44
44
|
valar/data/views/rest.py,sha256=r13F3CKjF9bnlaqRzyLk9iu5CdNsmQSEBRcHseLiZ0I,2535
|
|
45
|
-
valar-1.0.
|
|
46
|
-
valar-1.0.
|
|
47
|
-
valar-1.0.
|
|
48
|
-
valar-1.0.
|
|
49
|
-
valar-1.0.
|
|
45
|
+
valar-1.0.25.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
|
|
46
|
+
valar-1.0.25.dist-info/METADATA,sha256=fyI30zlIzKfwXbNx-LkkTK367B87ClDraSuUGJm-tWA,3395
|
|
47
|
+
valar-1.0.25.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
48
|
+
valar-1.0.25.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
|
|
49
|
+
valar-1.0.25.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|