valar 1.3.12__py3-none-any.whl → 1.3.13__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/classes/valar_minio.py +8 -0
- valar/dao/__init__.py +6 -6
- valar/dao/abstract.py +8 -0
- valar/dao/mon_dao.py +6 -0
- valar/dao/orm_dao.py +12 -1
- valar/migrations/0001_initial.py +1 -1
- valar/migrations/0002_location.py +32 -0
- valar/migrations/0003_location_code_location_name_cn_location_name_en.py +28 -0
- valar/migrations/0004_remove_location_icon_remove_location_isleaf_and_more.py +25 -0
- valar/models/indicator.py +11 -0
- valar/urls.py +1 -0
- valar/views/rest.py +10 -2
- {valar-1.3.12.dist-info → valar-1.3.13.dist-info}/METADATA +1 -1
- {valar-1.3.12.dist-info → valar-1.3.13.dist-info}/RECORD +17 -14
- {valar-1.3.12.dist-info → valar-1.3.13.dist-info}/WHEEL +0 -0
- {valar-1.3.12.dist-info → valar-1.3.13.dist-info}/licenses/LICENSE +0 -0
- {valar-1.3.12.dist-info → valar-1.3.13.dist-info}/top_level.txt +0 -0
valar/classes/valar_minio.py
CHANGED
|
@@ -47,6 +47,14 @@ class ValarMinio:
|
|
|
47
47
|
)
|
|
48
48
|
return BytesIO(ret.read())
|
|
49
49
|
|
|
50
|
+
def read_path(self, path) -> BytesIO:
|
|
51
|
+
bucket_name, object_name = path.split('/')
|
|
52
|
+
ret: BaseHTTPResponse = self.client.get_object(
|
|
53
|
+
bucket_name=bucket_name,
|
|
54
|
+
object_name=object_name
|
|
55
|
+
)
|
|
56
|
+
return BytesIO(ret.read())
|
|
57
|
+
|
|
50
58
|
def __generate_policy__(self):
|
|
51
59
|
return json.dumps({
|
|
52
60
|
"Version": "2012-10-17",
|
valar/dao/__init__.py
CHANGED
|
@@ -18,15 +18,15 @@ class Dao(AbstractDao):
|
|
|
18
18
|
self.fields = self.dao.fields
|
|
19
19
|
self.manager = self.dao.manager
|
|
20
20
|
|
|
21
|
+
def insert_one(self, item):
|
|
22
|
+
return self.dao.insert_one(item)
|
|
23
|
+
|
|
24
|
+
def update_one(self, item):
|
|
25
|
+
return self.dao.update_one(item)
|
|
26
|
+
|
|
21
27
|
def save_many(self, array: list):
|
|
22
|
-
warnings.warn(
|
|
23
|
-
"save_many 已弃用,请使用 insert_one 或 update_one 替代。",
|
|
24
|
-
DeprecationWarning,
|
|
25
|
-
stacklevel=2
|
|
26
|
-
)
|
|
27
28
|
return self.dao.save_many(array)
|
|
28
29
|
|
|
29
|
-
|
|
30
30
|
def save_one(self, item):
|
|
31
31
|
return self.dao.save_one(item)
|
|
32
32
|
|
valar/dao/abstract.py
CHANGED
|
@@ -49,6 +49,14 @@ class AbstractDao(ABC):
|
|
|
49
49
|
def save_one(self, item):
|
|
50
50
|
pass
|
|
51
51
|
|
|
52
|
+
@abstractmethod
|
|
53
|
+
def insert_one(self, item):
|
|
54
|
+
pass
|
|
55
|
+
|
|
56
|
+
@abstractmethod
|
|
57
|
+
def update_one(self, item):
|
|
58
|
+
pass
|
|
59
|
+
|
|
52
60
|
@abstractmethod
|
|
53
61
|
def save_many(self, array: list):
|
|
54
62
|
pass
|
valar/dao/mon_dao.py
CHANGED
valar/dao/orm_dao.py
CHANGED
|
@@ -50,7 +50,18 @@ class OrmDao(AbstractDao):
|
|
|
50
50
|
props.append('id')
|
|
51
51
|
return list(query_set.values(*props))
|
|
52
52
|
|
|
53
|
-
def
|
|
53
|
+
def insert_one(self, item):
|
|
54
|
+
print(item)
|
|
55
|
+
return self.__save__(item)
|
|
56
|
+
|
|
57
|
+
def update_one(self, item):
|
|
58
|
+
pass
|
|
59
|
+
|
|
60
|
+
def save_one(self, item: dict):
|
|
61
|
+
item.update({'saved': True})
|
|
62
|
+
return self.__save__(item)
|
|
63
|
+
|
|
64
|
+
def __save__(self, item: dict):
|
|
54
65
|
oid, simple_item, complex_item = self.__detach_item__(item)
|
|
55
66
|
query_set = self.manager.filter(id=oid) if oid else []
|
|
56
67
|
if len(query_set):
|
valar/migrations/0001_initial.py
CHANGED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Generated by Django 4.2.24 on 2025-09-22 11:51
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
('valar', '0001_initial'),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.CreateModel(
|
|
14
|
+
name='Location',
|
|
15
|
+
fields=[
|
|
16
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
17
|
+
('sort', models.BigIntegerField(null=True, verbose_name='序号')),
|
|
18
|
+
('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
|
|
19
|
+
('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
|
|
20
|
+
('disabled', models.BooleanField(default=False, verbose_name='禁用')),
|
|
21
|
+
('saved', models.BooleanField(default=False, verbose_name='已保存')),
|
|
22
|
+
('pid', models.IntegerField(default=0, verbose_name='父节点')),
|
|
23
|
+
('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
|
|
24
|
+
('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
|
|
25
|
+
('scope', models.CharField(max_length=100, null=True)),
|
|
26
|
+
('name', models.CharField(max_length=100, null=True)),
|
|
27
|
+
],
|
|
28
|
+
options={
|
|
29
|
+
'verbose_name': '指标集',
|
|
30
|
+
},
|
|
31
|
+
),
|
|
32
|
+
]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Generated by Django 4.2.24 on 2025-09-22 11:51
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
('valar', '0002_location'),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AddField(
|
|
14
|
+
model_name='location',
|
|
15
|
+
name='code',
|
|
16
|
+
field=models.CharField(max_length=100, null=True),
|
|
17
|
+
),
|
|
18
|
+
migrations.AddField(
|
|
19
|
+
model_name='location',
|
|
20
|
+
name='name_cn',
|
|
21
|
+
field=models.CharField(max_length=100, null=True),
|
|
22
|
+
),
|
|
23
|
+
migrations.AddField(
|
|
24
|
+
model_name='location',
|
|
25
|
+
name='name_en',
|
|
26
|
+
field=models.CharField(max_length=100, null=True),
|
|
27
|
+
),
|
|
28
|
+
]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Generated by Django 4.2.24 on 2025-09-22 11:52
|
|
2
|
+
|
|
3
|
+
from django.db import migrations
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
('valar', '0003_location_code_location_name_cn_location_name_en'),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.RemoveField(
|
|
14
|
+
model_name='location',
|
|
15
|
+
name='icon',
|
|
16
|
+
),
|
|
17
|
+
migrations.RemoveField(
|
|
18
|
+
model_name='location',
|
|
19
|
+
name='isLeaf',
|
|
20
|
+
),
|
|
21
|
+
migrations.RemoveField(
|
|
22
|
+
model_name='location',
|
|
23
|
+
name='pid',
|
|
24
|
+
),
|
|
25
|
+
]
|
valar/models/indicator.py
CHANGED
|
@@ -22,3 +22,14 @@ class Indicator(VModel):
|
|
|
22
22
|
|
|
23
23
|
class Meta:
|
|
24
24
|
verbose_name = '指标项'
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class Location(VModel):
|
|
28
|
+
scope = models.CharField(max_length=100, null=True)
|
|
29
|
+
code = models.CharField(max_length=100, null=True)
|
|
30
|
+
name = models.CharField(max_length=100, null=True)
|
|
31
|
+
name_cn = models.CharField(max_length=100, null=True)
|
|
32
|
+
name_en = models.CharField(max_length=100, null=True)
|
|
33
|
+
|
|
34
|
+
class Meta:
|
|
35
|
+
verbose_name = '指标集'
|
valar/urls.py
CHANGED
|
@@ -6,6 +6,7 @@ urlpatterns = [
|
|
|
6
6
|
path('socket/<str:handler>', handel_channel),
|
|
7
7
|
path('batch', rest.batch),
|
|
8
8
|
path('<str:db>/<str:entity>/save_one', rest.save_one),
|
|
9
|
+
path('<str:db>/<str:entity>/insert_one', rest.insert_one),
|
|
9
10
|
path('<str:db>/<str:entity>/delete_one', rest.delete_one),
|
|
10
11
|
path('<str:db>/<str:entity>/find_one', rest.find_one),
|
|
11
12
|
path('<str:db>/<str:entity>/find', rest.find),
|
valar/views/rest.py
CHANGED
|
@@ -15,6 +15,15 @@ async def batch(request):
|
|
|
15
15
|
return ValarResponse(True)
|
|
16
16
|
|
|
17
17
|
|
|
18
|
+
def insert_one(request, db, entity):
|
|
19
|
+
item = json.loads(request.body)
|
|
20
|
+
dao = Dao(entity, db)
|
|
21
|
+
print(item)
|
|
22
|
+
bean = dao.insert_one(item)
|
|
23
|
+
item = dao.serialize(bean)
|
|
24
|
+
return ValarResponse(item)
|
|
25
|
+
|
|
26
|
+
|
|
18
27
|
def save_one(request, db, entity):
|
|
19
28
|
item = json.loads(request.body)
|
|
20
29
|
dao = Dao(entity, db)
|
|
@@ -76,9 +85,8 @@ def search(request, db, entity):
|
|
|
76
85
|
code = body.get('code', 'default')
|
|
77
86
|
conditions = body.get('conditions')
|
|
78
87
|
dao = Dao(entity, db)
|
|
79
|
-
dao.save_one({})
|
|
80
88
|
qs, _ = dao.find(conditions)
|
|
81
|
-
|
|
89
|
+
if db == 'orm': qs.filter(saved=False).delete()
|
|
82
90
|
|
|
83
91
|
if _type == 'tree':
|
|
84
92
|
query_set = dao.tree(root, conditions)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
valar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
valar/apps.py,sha256=_FYAPq33FTimVOeSpdp6eQ8bWZBtT-tfG9lgZqGC3O8,746
|
|
3
|
-
valar/urls.py,sha256=
|
|
3
|
+
valar/urls.py,sha256=iFBIFy9cvS4vR0rigbiuqeVMV8yAn2tUA798w2NUV8A,1412
|
|
4
4
|
valar/auth/Authentication.py,sha256=8HCQ7U0SWMyIKgi5ZMXhVAkduaixJEF-RvNYM5IJpRA,1513
|
|
5
5
|
valar/auth/Middleware.py,sha256=axg1UnA9NRY4Ug1WaR7i8uoq19OLEPnbtpRo1TSUllQ,1197
|
|
6
6
|
valar/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -13,32 +13,35 @@ valar/channels/sender.py,sha256=6TJR5RlG9K44chhSUC34gvl1G2MgjRxnRpz9lGrs0rU,3852
|
|
|
13
13
|
valar/channels/views.py,sha256=4J_f-Bn3VR0o0spOa9D52aRcxMRZ0YYgo-dMzJqFrd4,375
|
|
14
14
|
valar/classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
valar/classes/singleton_meta.py,sha256=aa9DZKG4Q9Cr67ZWrQ0yaFLrEjwFoTMQbDrpoIqgJZs,245
|
|
16
|
-
valar/classes/valar_minio.py,sha256=
|
|
16
|
+
valar/classes/valar_minio.py,sha256=JkY2f_1U8oqOkBVq7NYCSGhZT5ZoLH1X92RxRm2RYxY,3026
|
|
17
17
|
valar/classes/valar_response.py,sha256=C7jfWZFy5jPWioIHbq7XprzoCfNy1slmhcaQw7KBIp4,310
|
|
18
18
|
valar/classes/app_mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
19
|
valar/classes/app_mixins/auto_migration_mixin.py,sha256=lHKY5UnWyDVuEntmiJxF2AcoHFGwa4IRTygGW3zfO7w,330
|
|
20
20
|
valar/classes/app_mixins/auto_urlpatterns_mixin.py,sha256=FX-t-TJWawXyS2r6jbj_IrJBpzwMbWzIjyK6PsHL6XE,415
|
|
21
|
-
valar/dao/__init__.py,sha256=
|
|
22
|
-
valar/dao/abstract.py,sha256=
|
|
21
|
+
valar/dao/__init__.py,sha256=HRpBnsBSNgh2IHGg6zjOnNOkKETbSiuo1Qi6BG7wR2c,1525
|
|
22
|
+
valar/dao/abstract.py,sha256=6GurHbMmNTjLVVRHtv3zvZqxDS7lBjGW68RuszneS8c,2566
|
|
23
23
|
valar/dao/engine.py,sha256=wiMOGr_RQYAzLr91C0WkxCQMMlJ-qsZf3IV-NlEwf04,3058
|
|
24
24
|
valar/dao/frame.py,sha256=cz2SWcRgKww0XVNZpCcPD3ACcW6q6piMba2StshT60M,7462
|
|
25
25
|
valar/dao/meta.py,sha256=2o720rFqPdDxQ0yXW74zHU0m914PfKkzvLwPINtiRbg,5051
|
|
26
|
-
valar/dao/mon_dao.py,sha256=
|
|
26
|
+
valar/dao/mon_dao.py,sha256=OlbbEl8Pl-2ABoYTT9goj2q51mgxmWy9770ZQv3fB_s,3665
|
|
27
27
|
valar/dao/mon_field.py,sha256=AJp-KS19oRiRHtMidC_1uTv2oCplqO4-bdKNDLMllWU,570
|
|
28
|
-
valar/dao/orm_dao.py,sha256=
|
|
28
|
+
valar/dao/orm_dao.py,sha256=vL68kHEPvGTVknpDv0USl36JrZVhgl4sya8z9ob-LVI,13907
|
|
29
29
|
valar/dao/orm_field.py,sha256=qADDGPM_EUVxP2VEGfnb2m97gYeSFxXt5fOmY2Df11c,4981
|
|
30
30
|
valar/dao/query.py,sha256=7MqCdwjdhXWBWjEggHVFQfC0zlZH3TrwuVxKE7E0OKA,1049
|
|
31
31
|
valar/dao/defaults/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
32
|
valar/dao/defaults/field_keys_default.py,sha256=SegJzDXn7aHyIyIGyFIHbOltSWA1-JWwkQiaOva4WUY,2262
|
|
33
33
|
valar/dao/defaults/field_values_default.py,sha256=ZyiN0f2nCqewEMfXWjwv6Yeq7gK16EBggTMU6s0pF40,3915
|
|
34
34
|
valar/dao/defaults/view_defaults.py,sha256=v2wEgiaXqEcM4lcjM2uV83cLA5EJZf6qHfLZ7YJikIg,572
|
|
35
|
-
valar/migrations/0001_initial.py,sha256=
|
|
35
|
+
valar/migrations/0001_initial.py,sha256=eAW7jCXafKG-uWwsQVb_8JWGBytj75Yl2grs4_nlVmY,23345
|
|
36
|
+
valar/migrations/0002_location.py,sha256=gfqmwADFFLyXL20EYWNxYtXAF7ZdTfOAQtd4gz3hrKw,1428
|
|
37
|
+
valar/migrations/0003_location_code_location_name_cn_location_name_en.py,sha256=TQgGFF5t5Ykncs7J5N9Bq0MEg5plkJ83wss2Cos0Tug,717
|
|
38
|
+
valar/migrations/0004_remove_location_icon_remove_location_isleaf_and_more.py,sha256=ELpOV-LdiOq6ATcx36-U_ji-ioDnY0tWv8zl1jWsZaQ,563
|
|
36
39
|
valar/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
40
|
valar/models/__init__.py,sha256=GMosgOi_o4kFIyReJg1qFqtbWSob5Mazd5FSGT_zfqI,55
|
|
38
41
|
valar/models/auth.py,sha256=nxtLgJwBEgvYWXATcN-RN1e5LIzeUzK97jExUSjoIOk,1710
|
|
39
42
|
valar/models/core.py,sha256=ghtfs8uFH6SC0xvd-gkARr-FUWDXG0IMGWSuETOvecw,3695
|
|
40
43
|
valar/models/frame.py,sha256=N13Bok7XNJDLoYDCpCIq8tEUktQVNerrLtk_U0KDJAE,851
|
|
41
|
-
valar/models/indicator.py,sha256=
|
|
44
|
+
valar/models/indicator.py,sha256=vytY_CFFziUO44oMNB2SXOxs8PKlZQ6NgAiYp2MjK_I,1384
|
|
42
45
|
valar/models/meta.py,sha256=sNCYJZKzx8JNbRidgRQunwIHYn9WXm89Svoc7-uutd4,4967
|
|
43
46
|
valar/models/test.py,sha256=3yfyZHJgviEybV1NyN4Qs1BGKE3DvAtb_e4oFI2MVos,1319
|
|
44
47
|
valar/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -47,9 +50,9 @@ valar/views/file.py,sha256=MdsmuoauyPJTDb89_-mk57IFId5w8HJNpBVozBKAG7s,1538
|
|
|
47
50
|
valar/views/handler.py,sha256=KlXWhVU-b_b5uxrUwQBHW7H4shSPy4NnXj6AINM_Joo,1619
|
|
48
51
|
valar/views/meta.py,sha256=H3_raG-LEcfg1p_CBpluhPXBsLFQB_jtaI5CKGgYOKk,4774
|
|
49
52
|
valar/views/password.py,sha256=O094qG8Sh4ilT_wpEMw4IZtAlcQjrDVcFD5BHaWKg2Q,2127
|
|
50
|
-
valar/views/rest.py,sha256=
|
|
51
|
-
valar-1.3.
|
|
52
|
-
valar-1.3.
|
|
53
|
-
valar-1.3.
|
|
54
|
-
valar-1.3.
|
|
55
|
-
valar-1.3.
|
|
53
|
+
valar/views/rest.py,sha256=GUuRDZLljxEwiZJwLfspwz9VYjTDEwYf-iRUsZnTCVQ,2684
|
|
54
|
+
valar-1.3.13.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
|
|
55
|
+
valar-1.3.13.dist-info/METADATA,sha256=dUYMndu2bZu2BaN-rw0ISzAhEy6tL7wCWCjHmjnBl6A,5173
|
|
56
|
+
valar-1.3.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
57
|
+
valar-1.3.13.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
|
|
58
|
+
valar-1.3.13.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|