valar 1.3.12__tar.gz → 1.3.13__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.
Potentially problematic release.
This version of valar might be problematic. Click here for more details.
- {valar-1.3.12/src/valar.egg-info → valar-1.3.13}/PKG-INFO +1 -1
- {valar-1.3.12 → valar-1.3.13}/setup.py +1 -1
- {valar-1.3.12 → valar-1.3.13}/src/valar/classes/valar_minio.py +8 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/__init__.py +6 -6
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/abstract.py +8 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/mon_dao.py +6 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/orm_dao.py +12 -1
- {valar-1.3.12 → valar-1.3.13}/src/valar/migrations/0001_initial.py +1 -1
- valar-1.3.13/src/valar/migrations/0002_location.py +32 -0
- valar-1.3.13/src/valar/migrations/0003_location_code_location_name_cn_location_name_en.py +28 -0
- valar-1.3.13/src/valar/migrations/0004_remove_location_icon_remove_location_isleaf_and_more.py +25 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/models/indicator.py +11 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/urls.py +1 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/views/rest.py +10 -2
- {valar-1.3.12 → valar-1.3.13/src/valar.egg-info}/PKG-INFO +1 -1
- {valar-1.3.12 → valar-1.3.13}/src/valar.egg-info/SOURCES.txt +3 -0
- {valar-1.3.12 → valar-1.3.13}/LICENSE +0 -0
- {valar-1.3.12 → valar-1.3.13}/README.md +0 -0
- {valar-1.3.12 → valar-1.3.13}/setup.cfg +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/__init__.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/apps.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/auth/Authentication.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/auth/Middleware.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/auth/__init__.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/channels/__init__.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/channels/consumer.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/channels/counter.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/channels/executer.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/channels/mapping.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/channels/sender.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/channels/views.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/classes/__init__.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/classes/app_mixins/__init__.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/classes/app_mixins/auto_migration_mixin.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/classes/app_mixins/auto_urlpatterns_mixin.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/classes/singleton_meta.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/classes/valar_response.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/defaults/__init__.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/defaults/field_keys_default.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/defaults/field_values_default.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/defaults/view_defaults.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/engine.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/frame.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/meta.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/mon_field.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/orm_field.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/dao/query.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/migrations/__init__.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/models/__init__.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/models/auth.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/models/core.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/models/frame.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/models/meta.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/models/test.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/views/__init__.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/views/auth.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/views/file.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/views/handler.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/views/meta.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar/views/password.py +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar.egg-info/dependency_links.txt +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar.egg-info/requires.txt +0 -0
- {valar-1.3.12 → valar-1.3.13}/src/valar.egg-info/top_level.txt +0 -0
|
@@ -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",
|
|
@@ -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
|
|
|
@@ -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
|
|
@@ -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):
|
|
@@ -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
|
+
]
|
valar-1.3.13/src/valar/migrations/0004_remove_location_icon_remove_location_isleaf_and_more.py
ADDED
|
@@ -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
|
+
]
|
|
@@ -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 = '指标集'
|
|
@@ -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),
|
|
@@ -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)
|
|
@@ -41,6 +41,9 @@ src/valar/dao/defaults/field_keys_default.py
|
|
|
41
41
|
src/valar/dao/defaults/field_values_default.py
|
|
42
42
|
src/valar/dao/defaults/view_defaults.py
|
|
43
43
|
src/valar/migrations/0001_initial.py
|
|
44
|
+
src/valar/migrations/0002_location.py
|
|
45
|
+
src/valar/migrations/0003_location_code_location_name_cn_location_name_en.py
|
|
46
|
+
src/valar/migrations/0004_remove_location_icon_remove_location_isleaf_and_more.py
|
|
44
47
|
src/valar/migrations/__init__.py
|
|
45
48
|
src/valar/models/__init__.py
|
|
46
49
|
src/valar/models/auth.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|