valar 1.1.3__py3-none-any.whl → 1.2.0__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/apps.py +8 -10
- valar/channels/consumer.py +10 -12
- valar/channels/executer.py +7 -6
- valar/channels/sender.py +95 -43
- valar/channels/views.py +2 -3
- valar/classes/app_mixins/auto_migration_mixin.py +8 -0
- valar/classes/{auto_urlpatterns_mixin.py → app_mixins/auto_urlpatterns_mixin.py} +3 -3
- valar/classes/valar_minio.py +80 -0
- valar/classes/valar_response.py +2 -1
- valar/dao/__init__.py +45 -0
- valar/dao/abstract.py +106 -0
- valar/dao/defaults/__init__.py +0 -0
- valar/dao/defaults/field_keys_default.py +48 -0
- valar/dao/defaults/field_values_default.py +135 -0
- valar/dao/defaults/view_defaults.py +26 -0
- valar/dao/engine.py +80 -0
- valar/dao/frame.py +189 -0
- valar/dao/meta.py +128 -0
- valar/dao/mon_dao.py +113 -0
- valar/dao/mon_field.py +23 -0
- valar/dao/orm_dao.py +304 -0
- valar/dao/orm_field.py +142 -0
- valar/dao/query.py +36 -0
- valar/migrations/0001_initial.py +149 -0
- valar/models/core.py +16 -10
- valar/models/frame.py +4 -7
- valar/models/meta.py +19 -16
- valar/urls.py +22 -0
- valar/views/file.py +49 -0
- valar/views/handler.py +33 -0
- valar/views/meta.py +150 -0
- valar/views/rest.py +90 -0
- {valar-1.1.3.dist-info → valar-1.2.0.dist-info}/METADATA +50 -57
- valar-1.2.0.dist-info/RECORD +47 -0
- valar/classes/auto_migration_mixin.py +0 -7
- valar-1.1.3.dist-info/RECORD +0 -27
- /valar/{classes → channels}/counter.py +0 -0
- /valar/{frame → classes/app_mixins}/__init__.py +0 -0
- {valar-1.1.3.dist-info → valar-1.2.0.dist-info}/WHEEL +0 -0
- {valar-1.1.3.dist-info → valar-1.2.0.dist-info}/licenses/LICENSE +0 -0
- {valar-1.1.3.dist-info → valar-1.2.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: valar
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: valar for morghulis
|
|
5
5
|
Home-page: https://gitee.com/GRIFFIN120/valar_dev
|
|
6
6
|
Author: LYP
|
|
@@ -36,16 +36,28 @@ pip install valar
|
|
|
36
36
|
# 1. settings
|
|
37
37
|
|
|
38
38
|
```python
|
|
39
|
-
|
|
39
|
+
from django.core.management.utils import get_random_secret_key
|
|
40
40
|
from pathlib import Path
|
|
41
41
|
|
|
42
|
-
"""
|
|
42
|
+
""" Compulsory settings """
|
|
43
|
+
|
|
43
44
|
DEBUG = True
|
|
44
45
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
|
45
46
|
BASE_APP = str(BASE_DIR.name)
|
|
46
47
|
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
|
47
|
-
SECRET_KEY =
|
|
48
|
-
|
|
48
|
+
SECRET_KEY = get_random_secret_key()
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
""" Valar Options """
|
|
53
|
+
|
|
54
|
+
HANDLER_MAPPING = "%s.urls.channel_mapping" % BASE_APP
|
|
55
|
+
MONGO_URI = 'mongodb://root:19870120@121.41.111.175:27017/'
|
|
56
|
+
MINIO_URL = "s3://admin:password@120.27.8.186:9000"
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
""" Minimized compulsory settings """
|
|
49
61
|
|
|
50
62
|
DATABASES = {
|
|
51
63
|
'default': {
|
|
@@ -53,55 +65,38 @@ DATABASES = {
|
|
|
53
65
|
'NAME': BASE_DIR / 'db.sqlite3',
|
|
54
66
|
}
|
|
55
67
|
}
|
|
56
|
-
|
|
57
68
|
INSTALLED_APPS = [
|
|
58
69
|
'django.contrib.sessions',
|
|
59
70
|
"corsheaders",
|
|
60
71
|
'channels',
|
|
61
|
-
'
|
|
72
|
+
'valar',
|
|
62
73
|
]
|
|
63
|
-
|
|
64
74
|
MIDDLEWARE = [
|
|
65
75
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
|
66
76
|
'corsheaders.middleware.CorsMiddleware',
|
|
67
77
|
'django.middleware.common.CommonMiddleware',
|
|
68
78
|
]
|
|
69
|
-
|
|
70
79
|
CHANNEL_LAYERS = {
|
|
71
80
|
"default": {
|
|
72
81
|
"BACKEND": "channels.layers.InMemoryChannelLayer"
|
|
73
82
|
}
|
|
74
83
|
}
|
|
75
|
-
|
|
76
84
|
CORS_ORIGIN_ALLOW_ALL = True
|
|
77
85
|
CORS_ALLOW_CREDENTIALS = True
|
|
78
86
|
ROOT_URLCONF = "%s.urls" % BASE_APP
|
|
79
87
|
ASGI_APPLICATION = "%s.asgi.application" % BASE_APP
|
|
80
88
|
|
|
81
|
-
|
|
82
|
-
'host': '<IP>',
|
|
83
|
-
'port': '<PORT>',
|
|
84
|
-
"username": "<USERNAME>",
|
|
85
|
-
"password": '<PASSWORD>'
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
MINIO = {
|
|
89
|
-
'endpoint': '<IP>:<PORT>',
|
|
90
|
-
'access_key': '<USERNAME>',
|
|
91
|
-
"secret_key": "<PASSWORD>",
|
|
92
|
-
'secure': False
|
|
93
|
-
}
|
|
89
|
+
""" Optional settings """
|
|
94
90
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
# DATA_UPLOAD_MAX_MEMORY_SIZE = 1024 * 1024 * 100
|
|
91
|
+
ALLOWED_HOSTS = ['*']
|
|
92
|
+
LANGUAGE_CODE = 'en-us'
|
|
93
|
+
TIME_ZONE = 'Asia/Shanghai'
|
|
94
|
+
USE_I18N = True
|
|
95
|
+
USE_TZ = False
|
|
96
|
+
SESSION_SAVE_EVERY_REQUEST = True
|
|
97
|
+
SESSION_COOKIE_AGE = 60 * 60
|
|
98
|
+
FILE_UPLOAD_MAX_MEMORY_SIZE = 1024 * 1024 * 100
|
|
99
|
+
DATA_UPLOAD_MAX_MEMORY_SIZE = 1024 * 1024 * 100
|
|
105
100
|
|
|
106
101
|
```
|
|
107
102
|
# 2. asgi
|
|
@@ -110,7 +105,7 @@ MINIO = {
|
|
|
110
105
|
from django.core.asgi import get_asgi_application
|
|
111
106
|
from channels.routing import ProtocolTypeRouter, URLRouter
|
|
112
107
|
from django.urls import re_path
|
|
113
|
-
from
|
|
108
|
+
from valar.channels.consumer import ValarConsumer
|
|
114
109
|
|
|
115
110
|
application = ProtocolTypeRouter({
|
|
116
111
|
'http': get_asgi_application(),
|
|
@@ -122,41 +117,39 @@ application = ProtocolTypeRouter({
|
|
|
122
117
|
```
|
|
123
118
|
|
|
124
119
|
# 3. migrate
|
|
125
|
-
|
|
126
|
-
python manage.py makemigrations
|
|
127
|
-
python manage.py migrate
|
|
128
|
-
```
|
|
120
|
+
no need, valar will auto migration
|
|
129
121
|
|
|
130
122
|
|
|
131
123
|
# 4. root urls
|
|
132
124
|
|
|
133
|
-
|
|
134
|
-
from django.urls import path, include
|
|
125
|
+
no need, valar will auto set urlpatterns
|
|
135
126
|
|
|
136
|
-
|
|
137
|
-
path('data/', include('src.valar.data.urls')),
|
|
138
|
-
]
|
|
127
|
+
# 5. how to use valar_channel
|
|
139
128
|
|
|
140
|
-
channel_mapping = {
|
|
141
|
-
# 'test': test_handler
|
|
142
|
-
}
|
|
143
|
-
```
|
|
144
129
|
|
|
145
|
-
|
|
130
|
+
5.1 set HANDLER_MAPPING in settings
|
|
146
131
|
|
|
147
132
|
```python
|
|
133
|
+
HANDLER_MAPPING = "%s.urls.channel_mapping" % BASE_APP
|
|
134
|
+
```
|
|
148
135
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
from src.valar.channels.sender import ValarSocketSender
|
|
152
|
-
from src.valar import Counter
|
|
153
|
-
|
|
136
|
+
5.2 create a handler
|
|
154
137
|
|
|
138
|
+
```python
|
|
139
|
+
from valar.channels.sender import ValarSocketSender
|
|
155
140
|
def test_handler(sender: ValarSocketSender):
|
|
156
141
|
data = sender.data
|
|
157
|
-
length = data.get('length',
|
|
158
|
-
counter =
|
|
142
|
+
length = data.get('length',30)
|
|
143
|
+
counter = sender.create_counter(length)
|
|
159
144
|
for i in range(length):
|
|
160
|
-
|
|
161
|
-
sender.to_clients(counter.tick(),
|
|
145
|
+
# sync method
|
|
146
|
+
sender.to_clients(counter.tick() ,sender.client, wait=True)
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
5.3 register handler in channel_mapping
|
|
150
|
+
|
|
151
|
+
```python
|
|
152
|
+
channel_mapping = {
|
|
153
|
+
'test': test_handler,
|
|
154
|
+
}
|
|
162
155
|
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
valar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
valar/apps.py,sha256=OGgsSN7nsa5GEA3kF0EqtY5eFWI5pnuR2tw32cZXmpo,632
|
|
3
|
+
valar/urls.py,sha256=tE_gvrzla_RDza7JOsINssxBmQfm_R-esUpNtwHUkf4,1099
|
|
4
|
+
valar/channels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
valar/channels/consumer.py,sha256=fEP52wBHWccturn2QAkqOt9-_Fr8akiw95AoVc6dEMM,1395
|
|
6
|
+
valar/channels/counter.py,sha256=K8aQUI1RiIrSOg3280tV102soC-ZC1qSRZvBXuwNYQ0,377
|
|
7
|
+
valar/channels/executer.py,sha256=_Ap859nvxRl8Ln0BWMqhnL6cQNl-1NQSmMR4Akh-afY,333
|
|
8
|
+
valar/channels/mapping.py,sha256=1SBqxEYO4epbRkSOUw5zm6gau15imz1gokrRTQcy94A,755
|
|
9
|
+
valar/channels/sender.py,sha256=PMa6tM300VPsmDzI_b8n6g3u2YOhAmlve71k1pktKFE,3610
|
|
10
|
+
valar/channels/views.py,sha256=4J_f-Bn3VR0o0spOa9D52aRcxMRZ0YYgo-dMzJqFrd4,375
|
|
11
|
+
valar/classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
+
valar/classes/singleton_meta.py,sha256=aa9DZKG4Q9Cr67ZWrQ0yaFLrEjwFoTMQbDrpoIqgJZs,245
|
|
13
|
+
valar/classes/valar_minio.py,sha256=20FpP7fbSuKG4cTF0-gmYUvHnPsVvwWOchfljb92o-8,2720
|
|
14
|
+
valar/classes/valar_response.py,sha256=nwOOjT1AeORkxAIRTrXMPa6-xtMZP7XaLJnHG-yfudA,252
|
|
15
|
+
valar/classes/app_mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
+
valar/classes/app_mixins/auto_migration_mixin.py,sha256=PpqZaIYXMDmlMzfDbmdMNv18T_d7wA8yfVSgU4Qw3uM,337
|
|
17
|
+
valar/classes/app_mixins/auto_urlpatterns_mixin.py,sha256=FX-t-TJWawXyS2r6jbj_IrJBpzwMbWzIjyK6PsHL6XE,415
|
|
18
|
+
valar/dao/__init__.py,sha256=WGjXrnjmgcfOvtTYIVjtdsmh9mlc0IJCrZD2ScZ6Kx0,1335
|
|
19
|
+
valar/dao/abstract.py,sha256=2M5OLxze-uQDAJIgJtuGKoDjpwVw97Rg_wOeOq6gFTA,2318
|
|
20
|
+
valar/dao/engine.py,sha256=B41ScN2OqWpPmVX6n6EEqHPfNejCsMhAo4oBNOTOUAQ,2759
|
|
21
|
+
valar/dao/frame.py,sha256=9vDsJfB-Ztb4YN8Lt6pHJeF_RndqHsVeA_ygWIOgALM,7468
|
|
22
|
+
valar/dao/meta.py,sha256=qEdTmdLrurp3CCMiGGtsDwVkXys6Rb5P0s_pru2w90A,4930
|
|
23
|
+
valar/dao/mon_dao.py,sha256=TRrHUBdWBbOn47uV5ot_B2GcvWGoNpadJW_CkS0TEhc,3588
|
|
24
|
+
valar/dao/mon_field.py,sha256=AJp-KS19oRiRHtMidC_1uTv2oCplqO4-bdKNDLMllWU,570
|
|
25
|
+
valar/dao/orm_dao.py,sha256=yq3WoWsRQQCXKsX-jBMmyNBicpE22K1SkEldRbGPCHI,12322
|
|
26
|
+
valar/dao/orm_field.py,sha256=cl1c9SML9QHHwQCwTUeRsWXlumHLd82C5RRgdaIx5TU,5017
|
|
27
|
+
valar/dao/query.py,sha256=7MqCdwjdhXWBWjEggHVFQfC0zlZH3TrwuVxKE7E0OKA,1049
|
|
28
|
+
valar/dao/defaults/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
+
valar/dao/defaults/field_keys_default.py,sha256=ypirNtCqnHeQqya3lMaL604z8qWD7oemC4xPaiXAkCg,1817
|
|
30
|
+
valar/dao/defaults/field_values_default.py,sha256=6zKPqbw0vJKW_9ilj6PC7IgDyayiWjHsNc4y7aVzuNw,3552
|
|
31
|
+
valar/dao/defaults/view_defaults.py,sha256=v2wEgiaXqEcM4lcjM2uV83cLA5EJZf6qHfLZ7YJikIg,572
|
|
32
|
+
valar/migrations/0001_initial.py,sha256=ExzflfBPtc_I5kVrKOYY-YM3XStE4bIvqkq1MlYvMS0,10525
|
|
33
|
+
valar/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
+
valar/models/__init__.py,sha256=t5BRtyeM8Pa3MRpiC72IoMIl6-2YGEZrU77iemLfuSk,31
|
|
35
|
+
valar/models/core.py,sha256=ghtfs8uFH6SC0xvd-gkARr-FUWDXG0IMGWSuETOvecw,3695
|
|
36
|
+
valar/models/frame.py,sha256=N13Bok7XNJDLoYDCpCIq8tEUktQVNerrLtk_U0KDJAE,851
|
|
37
|
+
valar/models/meta.py,sha256=JPa-Rap2sdSYnG6Sk7_vFrg5flP3r6fAM7tRvlwb4Vw,4871
|
|
38
|
+
valar/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
|
+
valar/views/file.py,sha256=NxfbxT4EJRDFgXol06kD0vcSp4lN4BCVJ5wq43rh8Yg,1537
|
|
40
|
+
valar/views/handler.py,sha256=zlJoCnFnXK_2hyTXaNQrwj7svWQJk4ixIldCosIoCpY,1113
|
|
41
|
+
valar/views/meta.py,sha256=H3_raG-LEcfg1p_CBpluhPXBsLFQB_jtaI5CKGgYOKk,4774
|
|
42
|
+
valar/views/rest.py,sha256=HnmPR6_Q_NTtotaeDjfwIGwVG7eigtKBXfoaedUgar8,2349
|
|
43
|
+
valar-1.2.0.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
|
|
44
|
+
valar-1.2.0.dist-info/METADATA,sha256=8VwVIvq2k2Ck8ZSJ2t3mfUqWTMLOCgNUt-olqZmaM4k,3431
|
|
45
|
+
valar-1.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
46
|
+
valar-1.2.0.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
|
|
47
|
+
valar-1.2.0.dist-info/RECORD,,
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
class AutoMigrationMixin:
|
|
2
|
-
name = None # 子类必须提供
|
|
3
|
-
def auto_migrate(self):
|
|
4
|
-
from django.core.management import call_command
|
|
5
|
-
call_command('makemigrations', self.name, interactive=False, verbosity=0)
|
|
6
|
-
call_command('migrate', self.name, interactive=False, verbosity=0)
|
|
7
|
-
|
valar-1.1.3.dist-info/RECORD
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
valar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
valar/apps.py,sha256=0qShghD2ubrvCMp_MWOQy6KZBgS4N59N6AJ-IUeBb8c,522
|
|
3
|
-
valar/urls.py,sha256=FbM-Wbc7gnda7tlC2dbACxeWcobp_lWlpY29jwxANQY,142
|
|
4
|
-
valar/channels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
valar/channels/consumer.py,sha256=w2Cc-4Jy3tt5h8lKwtmcsJd3yo6HOIrkPspDc1dIQSg,1421
|
|
6
|
-
valar/channels/executer.py,sha256=lurFYyUETq6eWjFUXA-m7mmQTeZtwfxrzuOayWxs4BE,314
|
|
7
|
-
valar/channels/mapping.py,sha256=1SBqxEYO4epbRkSOUw5zm6gau15imz1gokrRTQcy94A,755
|
|
8
|
-
valar/channels/sender.py,sha256=x9oYOYSK0e5E37GauWF5KKbyG1toe8wRAPwSAv0TQms,2465
|
|
9
|
-
valar/channels/views.py,sha256=SMY80ZVDDjIZI-k75TymhToV-3fXPAMxcD93G7mDeRw,374
|
|
10
|
-
valar/classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
valar/classes/auto_migration_mixin.py,sha256=DrcZX1xR_b7S6mxvzDMidvt9uOUvyUkONlc7Dqyci2w,306
|
|
12
|
-
valar/classes/auto_urlpatterns_mixin.py,sha256=b0gB2_GpFfpLusNAFGrDvCxlSRghlNlRzNyadrtLDLo,414
|
|
13
|
-
valar/classes/counter.py,sha256=K8aQUI1RiIrSOg3280tV102soC-ZC1qSRZvBXuwNYQ0,377
|
|
14
|
-
valar/classes/singleton_meta.py,sha256=aa9DZKG4Q9Cr67ZWrQ0yaFLrEjwFoTMQbDrpoIqgJZs,245
|
|
15
|
-
valar/classes/valar_response.py,sha256=kQnHWm8McUKTE_Q20JjLQsXOAv-IX979FRg6O42Tsng,246
|
|
16
|
-
valar/frame/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
valar/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
-
valar/models/__init__.py,sha256=t5BRtyeM8Pa3MRpiC72IoMIl6-2YGEZrU77iemLfuSk,31
|
|
19
|
-
valar/models/core.py,sha256=a-EEN6-s_wdKrgw8nJTPvWcvxRiSG-ff7k_L5_crW-0,3439
|
|
20
|
-
valar/models/frame.py,sha256=MrgcPfBLN0nvpIm2gF68YjmavIgOMGLZUjJ-eiNb90o,1016
|
|
21
|
-
valar/models/meta.py,sha256=auy7ofa5aR_1dmp-DtoQ7DiFsqKc923-Wh0ymTh7k0A,4470
|
|
22
|
-
valar/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
-
valar-1.1.3.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
|
|
24
|
-
valar-1.1.3.dist-info/METADATA,sha256=7KKN7-Z_6A47MloeCiKU5-pnbZOYwzNh0qMMk9lNb8w,3398
|
|
25
|
-
valar-1.1.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
26
|
-
valar-1.1.3.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
|
|
27
|
-
valar-1.1.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|