flask-appbuilder 3.2.1rc1__py3-none-any.whl → 5.0.2rc1__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.
- flask_appbuilder/__init__.py +2 -3
- flask_appbuilder/_compat.py +0 -1
- flask_appbuilder/actions.py +14 -14
- flask_appbuilder/api/__init__.py +741 -527
- flask_appbuilder/api/convert.py +104 -98
- flask_appbuilder/api/manager.py +14 -8
- flask_appbuilder/api/schemas.py +12 -1
- flask_appbuilder/babel/manager.py +12 -16
- flask_appbuilder/base.py +353 -280
- flask_appbuilder/basemanager.py +1 -1
- flask_appbuilder/baseviews.py +241 -164
- flask_appbuilder/charts/jsontools.py +10 -10
- flask_appbuilder/charts/views.py +56 -60
- flask_appbuilder/cli.py +115 -70
- flask_appbuilder/const.py +52 -52
- flask_appbuilder/exceptions.py +67 -5
- flask_appbuilder/fields.py +32 -23
- flask_appbuilder/fieldwidgets.py +34 -27
- flask_appbuilder/filemanager.py +33 -45
- flask_appbuilder/filters.py +11 -13
- flask_appbuilder/forms.py +31 -35
- flask_appbuilder/hooks.py +90 -0
- flask_appbuilder/menu.py +35 -10
- flask_appbuilder/models/base.py +47 -57
- flask_appbuilder/models/decorators.py +13 -13
- flask_appbuilder/models/filters.py +42 -38
- flask_appbuilder/models/generic/__init__.py +29 -29
- flask_appbuilder/models/generic/filters.py +11 -3
- flask_appbuilder/models/generic/interface.py +1 -3
- flask_appbuilder/models/group.py +37 -39
- flask_appbuilder/models/mixins.py +22 -18
- flask_appbuilder/models/sqla/__init__.py +19 -72
- flask_appbuilder/models/sqla/base.py +24 -0
- flask_appbuilder/models/sqla/base_legacy.py +132 -0
- flask_appbuilder/models/sqla/filters.py +132 -19
- flask_appbuilder/models/sqla/interface.py +390 -276
- flask_appbuilder/security/api.py +31 -35
- flask_appbuilder/security/decorators.py +181 -83
- flask_appbuilder/security/forms.py +20 -31
- flask_appbuilder/security/manager.py +715 -489
- flask_appbuilder/security/registerviews.py +29 -112
- flask_appbuilder/security/schemas.py +43 -0
- flask_appbuilder/security/sqla/apis/__init__.py +8 -0
- flask_appbuilder/security/sqla/apis/group/__init__.py +1 -0
- flask_appbuilder/security/sqla/apis/group/api.py +227 -0
- flask_appbuilder/security/sqla/apis/group/schema.py +73 -0
- flask_appbuilder/security/sqla/apis/permission/__init__.py +1 -0
- flask_appbuilder/security/sqla/apis/permission/api.py +19 -0
- flask_appbuilder/security/sqla/apis/permission_view_menu/__init__.py +1 -0
- flask_appbuilder/security/sqla/apis/permission_view_menu/api.py +16 -0
- flask_appbuilder/security/sqla/apis/role/__init__.py +1 -0
- flask_appbuilder/security/sqla/apis/role/api.py +306 -0
- flask_appbuilder/security/sqla/apis/role/schema.py +27 -0
- flask_appbuilder/security/sqla/apis/user/__init__.py +1 -0
- flask_appbuilder/security/sqla/apis/user/api.py +292 -0
- flask_appbuilder/security/sqla/apis/user/schema.py +97 -0
- flask_appbuilder/security/sqla/apis/user/validator.py +27 -0
- flask_appbuilder/security/sqla/apis/view_menu/__init__.py +1 -0
- flask_appbuilder/security/sqla/apis/view_menu/api.py +18 -0
- flask_appbuilder/security/sqla/manager.py +421 -203
- flask_appbuilder/security/sqla/models.py +192 -57
- flask_appbuilder/security/utils.py +9 -0
- flask_appbuilder/security/views.py +232 -229
- flask_appbuilder/static/.DS_Store +0 -0
- flask_appbuilder/static/appbuilder/css/ab.css +20 -12
- flask_appbuilder/static/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css +7 -0
- flask_appbuilder/static/appbuilder/css/bootstrap.min.css.map +1 -0
- flask_appbuilder/static/appbuilder/css/flags/flags16.css +249 -245
- flask_appbuilder/static/appbuilder/css/fontawesome/all.min.css +6 -0
- flask_appbuilder/static/appbuilder/css/fontawesome/brands.min.css +6 -0
- flask_appbuilder/static/appbuilder/css/fontawesome/fontawesome.min.css +6 -0
- flask_appbuilder/static/appbuilder/css/fontawesome/regular.min.css +6 -0
- flask_appbuilder/static/appbuilder/css/fontawesome/solid.min.css +6 -0
- flask_appbuilder/static/appbuilder/css/fontawesome/svg-with-js.min.css +6 -0
- flask_appbuilder/static/appbuilder/css/fontawesome/v4-font-face.min.css +6 -0
- flask_appbuilder/static/appbuilder/css/fontawesome/v4-shims.min.css +6 -0
- flask_appbuilder/static/appbuilder/css/fontawesome/v5-font-face.min.css +6 -0
- flask_appbuilder/static/appbuilder/css/images/flags16.png +0 -0
- flask_appbuilder/static/appbuilder/css/select2/select2-bootstrap.min.css +7 -0
- flask_appbuilder/static/appbuilder/css/select2/select2.min.css +1 -0
- flask_appbuilder/static/appbuilder/css/swagger/swagger-ui.css +3 -0
- flask_appbuilder/static/appbuilder/css/webfonts/fa-brands-400.ttf +0 -0
- flask_appbuilder/static/appbuilder/css/webfonts/fa-brands-400.woff2 +0 -0
- flask_appbuilder/static/appbuilder/css/webfonts/fa-regular-400.ttf +0 -0
- flask_appbuilder/static/appbuilder/css/webfonts/fa-regular-400.woff2 +0 -0
- flask_appbuilder/static/appbuilder/css/webfonts/fa-solid-900.ttf +0 -0
- flask_appbuilder/static/appbuilder/css/webfonts/fa-solid-900.woff2 +0 -0
- flask_appbuilder/static/appbuilder/css/webfonts/fa-v4compatibility.ttf +0 -0
- flask_appbuilder/static/appbuilder/css/webfonts/fa-v4compatibility.woff2 +0 -0
- flask_appbuilder/static/appbuilder/js/ab.js +33 -23
- flask_appbuilder/static/appbuilder/js/ab_filters.js +91 -84
- flask_appbuilder/static/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js +8 -0
- flask_appbuilder/static/appbuilder/js/jquery-latest.js +2 -2
- flask_appbuilder/static/appbuilder/js/select2/select2.min.js +2 -0
- flask_appbuilder/static/appbuilder/js/swagger-ui-bundle.js +3 -0
- flask_appbuilder/templates/appbuilder/baselib.html +9 -3
- flask_appbuilder/templates/appbuilder/general/lib.html +60 -34
- flask_appbuilder/templates/appbuilder/general/model/edit.html +1 -1
- flask_appbuilder/templates/appbuilder/general/model/edit_cascade.html +1 -1
- flask_appbuilder/templates/appbuilder/general/model/search.html +3 -2
- flask_appbuilder/templates/appbuilder/general/model/show.html +1 -1
- flask_appbuilder/templates/appbuilder/general/model/show_cascade.html +1 -1
- flask_appbuilder/templates/appbuilder/general/security/login_db.html +7 -7
- flask_appbuilder/templates/appbuilder/general/security/login_ldap.html +5 -5
- flask_appbuilder/templates/appbuilder/general/security/login_oauth.html +24 -49
- flask_appbuilder/templates/appbuilder/general/widgets/base_list.html +2 -1
- flask_appbuilder/templates/appbuilder/general/widgets/chart.html +4 -2
- flask_appbuilder/templates/appbuilder/general/widgets/direct_chart.html +4 -3
- flask_appbuilder/templates/appbuilder/general/widgets/multiple_chart.html +3 -2
- flask_appbuilder/templates/appbuilder/general/widgets/search.html +11 -10
- flask_appbuilder/templates/appbuilder/init.html +37 -43
- flask_appbuilder/templates/appbuilder/navbar_menu.html +1 -1
- flask_appbuilder/templates/appbuilder/navbar_right.html +2 -2
- flask_appbuilder/templates/appbuilder/swagger/swagger.html +22 -19
- flask_appbuilder/translations/de/LC_MESSAGES/messages.mo +0 -0
- flask_appbuilder/translations/de/LC_MESSAGES/messages.po +305 -161
- flask_appbuilder/translations/fa/LC_MESSAGES/messages.mo +0 -0
- flask_appbuilder/translations/fa/LC_MESSAGES/messages.po +802 -0
- flask_appbuilder/translations/fr/LC_MESSAGES/messages.po +461 -319
- flask_appbuilder/translations/pt_BR/LC_MESSAGES/messages.po +650 -650
- flask_appbuilder/translations/ru/LC_MESSAGES/messages.po +1 -1
- flask_appbuilder/translations/sl/LC_MESSAGES/messages.mo +0 -0
- flask_appbuilder/translations/sl/LC_MESSAGES/messages.po +690 -0
- flask_appbuilder/translations/tr/LC_MESSAGES/messages.mo +0 -0
- flask_appbuilder/translations/tr/LC_MESSAGES/messages.po +1015 -0
- flask_appbuilder/upload.py +20 -22
- flask_appbuilder/urltools.py +39 -19
- flask_appbuilder/utils/base.py +76 -0
- flask_appbuilder/utils/legacy.py +33 -0
- flask_appbuilder/utils/limit.py +20 -0
- flask_appbuilder/validators.py +73 -14
- flask_appbuilder/views.py +75 -424
- flask_appbuilder/widgets.py +50 -51
- {Flask_AppBuilder-3.2.1rc1.dist-info → flask_appbuilder-5.0.2rc1.dist-info}/METADATA +36 -76
- flask_appbuilder-5.0.2rc1.dist-info/RECORD +240 -0
- {Flask_AppBuilder-3.2.1rc1.dist-info → flask_appbuilder-5.0.2rc1.dist-info}/WHEEL +1 -1
- flask_appbuilder-5.0.2rc1.dist-info/entry_points.txt +2 -0
- Flask_AppBuilder-3.2.1rc1.dist-info/RECORD +0 -270
- Flask_AppBuilder-3.2.1rc1.dist-info/entry_points.txt +0 -6
- flask_appbuilder/console.py +0 -426
- flask_appbuilder/models/mongoengine/__init__.py +0 -0
- flask_appbuilder/models/mongoengine/fields.py +0 -65
- flask_appbuilder/models/mongoengine/filters.py +0 -145
- flask_appbuilder/models/mongoengine/interface.py +0 -328
- flask_appbuilder/security/mongoengine/__init__.py +0 -0
- flask_appbuilder/security/mongoengine/manager.py +0 -402
- flask_appbuilder/security/mongoengine/models.py +0 -120
- flask_appbuilder/static/appbuilder/css/font-awesome.min.css +0 -4
- flask_appbuilder/static/appbuilder/datepicker/bootstrap-datepicker.css +0 -9
- flask_appbuilder/static/appbuilder/datepicker/bootstrap-datepicker.js +0 -28
- flask_appbuilder/static/appbuilder/fonts/FontAwesome.otf +0 -0
- flask_appbuilder/static/appbuilder/fonts/fontawesome-webfont.eot +0 -0
- flask_appbuilder/static/appbuilder/fonts/fontawesome-webfont.svg +0 -2671
- flask_appbuilder/static/appbuilder/fonts/fontawesome-webfont.ttf +0 -0
- flask_appbuilder/static/appbuilder/fonts/fontawesome-webfont.woff +0 -0
- flask_appbuilder/static/appbuilder/fonts/fontawesome-webfont.woff2 +0 -0
- flask_appbuilder/static/appbuilder/img/aol.png +0 -0
- flask_appbuilder/static/appbuilder/img/flags/flags16.png +0 -0
- flask_appbuilder/static/appbuilder/img/flickr.png +0 -0
- flask_appbuilder/static/appbuilder/img/google.png +0 -0
- flask_appbuilder/static/appbuilder/img/myopenid.png +0 -0
- flask_appbuilder/static/appbuilder/img/yahoo.png +0 -0
- flask_appbuilder/static/appbuilder/js/_google_charts.js +0 -39
- flask_appbuilder/static/appbuilder/js/html5shiv.js +0 -8
- flask_appbuilder/static/appbuilder/js/respond.min.js +0 -6
- flask_appbuilder/static/appbuilder/select2/select2-spinner.gif +0 -0
- flask_appbuilder/static/appbuilder/select2/select2.css +0 -1205
- flask_appbuilder/static/appbuilder/select2/select2.js +0 -23
- flask_appbuilder/static/appbuilder/select2/select2.png +0 -0
- flask_appbuilder/static/appbuilder/select2/select2x2.png +0 -0
- flask_appbuilder/templates/appbuilder/general/security/login_oid.html +0 -129
- flask_appbuilder/templates/appbuilder/general/security/resetpassword.html +0 -29
- flask_appbuilder/tests/__init__.py +0 -0
- flask_appbuilder/tests/__pycache__/__init__.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/__init__.cpython-37.pyc +0 -0
- flask_appbuilder/tests/__pycache__/_test_auth_ldap.cpython-37.pyc +0 -0
- flask_appbuilder/tests/__pycache__/_test_auth_oauth.cpython-37.pyc +0 -0
- flask_appbuilder/tests/__pycache__/_test_ldapsearch.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/_test_oauth_registration_role.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/base.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/base.cpython-37.pyc +0 -0
- flask_appbuilder/tests/__pycache__/config_api.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/config_api.cpython-37.pyc +0 -0
- flask_appbuilder/tests/__pycache__/const.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/const.cpython-37.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_0_fixture.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_0_fixture.cpython-37.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_api.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_api.cpython-37.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_fab_cli.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_fab_cli.cpython-37.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_menu.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_menu.cpython-37.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_mongoengine.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_mvc.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_mvc.cpython-37.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_sqlalchemy.cpython-36.pyc +0 -0
- flask_appbuilder/tests/__pycache__/test_sqlalchemy.cpython-37.pyc +0 -0
- flask_appbuilder/tests/_test_auth_ldap.py +0 -1045
- flask_appbuilder/tests/_test_auth_oauth.py +0 -419
- flask_appbuilder/tests/_test_ldapsearch.py +0 -135
- flask_appbuilder/tests/_test_oauth_registration_role.py +0 -59
- flask_appbuilder/tests/app.db +0 -0
- flask_appbuilder/tests/base.py +0 -90
- flask_appbuilder/tests/config_api.py +0 -21
- flask_appbuilder/tests/const.py +0 -9
- flask_appbuilder/tests/mongoengine/__init__.py +0 -0
- flask_appbuilder/tests/mongoengine/__pycache__/__init__.cpython-36.pyc +0 -0
- flask_appbuilder/tests/mongoengine/__pycache__/__init__.cpython-37.pyc +0 -0
- flask_appbuilder/tests/mongoengine/__pycache__/models.cpython-36.pyc +0 -0
- flask_appbuilder/tests/mongoengine/models.py +0 -41
- flask_appbuilder/tests/sqla/__init__.py +0 -0
- flask_appbuilder/tests/sqla/__pycache__/__init__.cpython-36.pyc +0 -0
- flask_appbuilder/tests/sqla/__pycache__/__init__.cpython-37.pyc +0 -0
- flask_appbuilder/tests/sqla/__pycache__/models.cpython-36.pyc +0 -0
- flask_appbuilder/tests/sqla/__pycache__/models.cpython-37.pyc +0 -0
- flask_appbuilder/tests/sqla/models.py +0 -340
- flask_appbuilder/tests/test_0_fixture.py +0 -39
- flask_appbuilder/tests/test_api.py +0 -2790
- flask_appbuilder/tests/test_fab_cli.py +0 -72
- flask_appbuilder/tests/test_menu.py +0 -122
- flask_appbuilder/tests/test_mongoengine.py +0 -572
- flask_appbuilder/tests/test_mvc.py +0 -1710
- flask_appbuilder/tests/test_sqlalchemy.py +0 -24
- flask_appbuilder/translations/__pycache__/__init__.cpython-36.pyc +0 -0
- flask_appbuilder/translations/es/LC_MESSAGES/messages.po~ +0 -582
- {Flask_AppBuilder-3.2.1rc1.dist-info → flask_appbuilder-5.0.2rc1.dist-info}/LICENSE +0 -0
- {Flask_AppBuilder-3.2.1rc1.dist-info → flask_appbuilder-5.0.2rc1.dist-info}/top_level.txt +0 -0
flask_appbuilder/widgets.py
CHANGED
|
@@ -6,7 +6,7 @@ Created on Oct 12, 2013
|
|
|
6
6
|
|
|
7
7
|
import logging
|
|
8
8
|
|
|
9
|
-
from flask
|
|
9
|
+
from flask import current_app
|
|
10
10
|
|
|
11
11
|
from ._compat import as_unicode
|
|
12
12
|
|
|
@@ -16,9 +16,9 @@ log = logging.getLogger(__name__)
|
|
|
16
16
|
|
|
17
17
|
class RenderTemplateWidget(object):
|
|
18
18
|
"""
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
Base template for every widget
|
|
20
|
+
Enables the possibility of rendering a template
|
|
21
|
+
inside a template with run time options
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
24
|
template = "appbuilder/general/widgets/render.html"
|
|
@@ -28,8 +28,7 @@ class RenderTemplateWidget(object):
|
|
|
28
28
|
self.template_args = kwargs
|
|
29
29
|
|
|
30
30
|
def __call__(self, **kwargs):
|
|
31
|
-
|
|
32
|
-
jinja_env = ctx.app.jinja_env
|
|
31
|
+
jinja_env = current_app.jinja_env
|
|
33
32
|
|
|
34
33
|
template = jinja_env.get_template(self.template)
|
|
35
34
|
args = self.template_args.copy()
|
|
@@ -39,12 +38,12 @@ class RenderTemplateWidget(object):
|
|
|
39
38
|
|
|
40
39
|
class FormWidget(RenderTemplateWidget):
|
|
41
40
|
"""
|
|
42
|
-
|
|
41
|
+
FormWidget
|
|
43
42
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
form = None
|
|
44
|
+
include_cols = []
|
|
45
|
+
exclude_cols = []
|
|
46
|
+
fieldsets = []
|
|
48
47
|
"""
|
|
49
48
|
|
|
50
49
|
template = "appbuilder/general/widgets/form.html"
|
|
@@ -52,12 +51,12 @@ class FormWidget(RenderTemplateWidget):
|
|
|
52
51
|
|
|
53
52
|
class FormVerticalWidget(RenderTemplateWidget):
|
|
54
53
|
"""
|
|
55
|
-
|
|
54
|
+
FormWidget
|
|
56
55
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
form = None
|
|
57
|
+
include_cols = []
|
|
58
|
+
exclude_cols = []
|
|
59
|
+
fieldsets = []
|
|
61
60
|
"""
|
|
62
61
|
|
|
63
62
|
template = "appbuilder/general/widgets/form_vertical.html"
|
|
@@ -65,12 +64,12 @@ class FormVerticalWidget(RenderTemplateWidget):
|
|
|
65
64
|
|
|
66
65
|
class FormHorizontalWidget(RenderTemplateWidget):
|
|
67
66
|
"""
|
|
68
|
-
|
|
67
|
+
FormWidget
|
|
69
68
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
form = None
|
|
70
|
+
include_cols = []
|
|
71
|
+
exclude_cols = []
|
|
72
|
+
fieldsets = []
|
|
74
73
|
"""
|
|
75
74
|
|
|
76
75
|
template = "appbuilder/general/widgets/form_horizontal.html"
|
|
@@ -78,12 +77,12 @@ class FormHorizontalWidget(RenderTemplateWidget):
|
|
|
78
77
|
|
|
79
78
|
class FormInlineWidget(RenderTemplateWidget):
|
|
80
79
|
"""
|
|
81
|
-
|
|
80
|
+
FormWidget
|
|
82
81
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
form = None
|
|
83
|
+
include_cols = []
|
|
84
|
+
exclude_cols = []
|
|
85
|
+
fieldsets = []
|
|
87
86
|
"""
|
|
88
87
|
|
|
89
88
|
template = "appbuilder/general/widgets/form_inline.html"
|
|
@@ -102,7 +101,7 @@ class SearchWidget(FormWidget):
|
|
|
102
101
|
return super(SearchWidget, self).__init__(**kwargs)
|
|
103
102
|
|
|
104
103
|
def __call__(self, **kwargs):
|
|
105
|
-
"""
|
|
104
|
+
"""create dict labels based on form"""
|
|
106
105
|
""" create dict of form widgets """
|
|
107
106
|
""" create dict of possible filters """
|
|
108
107
|
""" create list of active filters """
|
|
@@ -124,16 +123,16 @@ class SearchWidget(FormWidget):
|
|
|
124
123
|
|
|
125
124
|
class ShowWidget(RenderTemplateWidget):
|
|
126
125
|
"""
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
126
|
+
ShowWidget implements a template as an widget
|
|
127
|
+
it takes the following arguments
|
|
128
|
+
|
|
129
|
+
pk = None
|
|
130
|
+
label_columns = []
|
|
131
|
+
include_columns = []
|
|
132
|
+
value_columns = []
|
|
133
|
+
actions = None
|
|
134
|
+
fieldsets = []
|
|
135
|
+
modelview_name = ''
|
|
137
136
|
"""
|
|
138
137
|
|
|
139
138
|
template = "appbuilder/general/widgets/show.html"
|
|
@@ -149,20 +148,20 @@ class ShowVerticalWidget(RenderTemplateWidget):
|
|
|
149
148
|
|
|
150
149
|
class ListWidget(RenderTemplateWidget):
|
|
151
150
|
"""
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
151
|
+
List Widget implements a Template as an widget.
|
|
152
|
+
It takes the following arguments
|
|
153
|
+
|
|
154
|
+
label_columns = []
|
|
155
|
+
include_columns = []
|
|
156
|
+
value_columns = []
|
|
157
|
+
order_columns = []
|
|
158
|
+
page = None
|
|
159
|
+
page_size = None
|
|
160
|
+
count = 0
|
|
161
|
+
pks = []
|
|
162
|
+
actions = None
|
|
163
|
+
filters = {}
|
|
164
|
+
modelview_name = ''
|
|
166
165
|
"""
|
|
167
166
|
|
|
168
167
|
template = "appbuilder/general/widgets/list.html"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
|
-
Name:
|
|
3
|
-
Version:
|
|
2
|
+
Name: flask-appbuilder
|
|
3
|
+
Version: 5.0.2rc1
|
|
4
4
|
Summary: Simple and rapid application development framework, built on top of Flask. includes detailed security, auto CRUD generation for your models, google charts and much more.
|
|
5
5
|
Home-page: https://github.com/dpgaspar/flask-appbuilder/
|
|
6
6
|
Author: Daniel Vaz Gaspar
|
|
@@ -12,34 +12,42 @@ Classifier: Environment :: Web Environment
|
|
|
12
12
|
Classifier: Intended Audience :: Developers
|
|
13
13
|
Classifier: License :: OSI Approved :: BSD License
|
|
14
14
|
Classifier: Operating System :: OS Independent
|
|
15
|
-
Classifier: Programming Language :: Python
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
20
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
19
|
-
Requires-Python: ~=3.
|
|
21
|
+
Requires-Python: ~=3.7
|
|
20
22
|
Description-Content-Type: text/x-rst
|
|
21
|
-
|
|
22
|
-
Requires-Dist:
|
|
23
|
-
Requires-Dist:
|
|
24
|
-
Requires-Dist:
|
|
25
|
-
Requires-Dist:
|
|
26
|
-
Requires-Dist: Flask
|
|
27
|
-
Requires-Dist: Flask-
|
|
28
|
-
Requires-Dist: Flask-
|
|
29
|
-
Requires-Dist:
|
|
30
|
-
Requires-Dist: Flask-SQLAlchemy
|
|
31
|
-
Requires-Dist: Flask-WTF
|
|
32
|
-
Requires-Dist: Flask-JWT-Extended
|
|
33
|
-
Requires-Dist: jsonschema
|
|
34
|
-
Requires-Dist: marshmallow
|
|
35
|
-
Requires-Dist: marshmallow-
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
Requires-Dist:
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
Requires-Dist: sqlalchemy-utils
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
Requires-Dist: apispec[yaml] <7,>=6.0.0
|
|
25
|
+
Requires-Dist: colorama <1,>=0.3.9
|
|
26
|
+
Requires-Dist: click <9,>=8
|
|
27
|
+
Requires-Dist: email-validator >=1.0.5
|
|
28
|
+
Requires-Dist: Flask <4,>=2
|
|
29
|
+
Requires-Dist: Flask-Babel <5,>=3
|
|
30
|
+
Requires-Dist: Flask-Limiter <4,>3
|
|
31
|
+
Requires-Dist: Flask-Login <0.7,>=0.3
|
|
32
|
+
Requires-Dist: Flask-SQLAlchemy <4,>=2.4.0
|
|
33
|
+
Requires-Dist: Flask-WTF <2,>=0.14.2
|
|
34
|
+
Requires-Dist: Flask-JWT-Extended <5.0.0,>=4.0.0
|
|
35
|
+
Requires-Dist: jsonschema <5,>=3
|
|
36
|
+
Requires-Dist: marshmallow <5,>=3.18.0
|
|
37
|
+
Requires-Dist: marshmallow-sqlalchemy <3.0.0,>=0.22.0
|
|
38
|
+
Requires-Dist: python-dateutil <3,>=2.3
|
|
39
|
+
Requires-Dist: prison <1.0.0,>=0.2.1
|
|
40
|
+
Requires-Dist: PyJWT <3.0.0,>=2.0.0
|
|
41
|
+
Requires-Dist: SQLAlchemy <3,>=1.4.0
|
|
42
|
+
Requires-Dist: sqlalchemy-utils <1,>=0.32.21
|
|
43
|
+
Requires-Dist: WTForms <4
|
|
44
|
+
Requires-Dist: werkzeug <4
|
|
41
45
|
Provides-Extra: jmespath
|
|
42
|
-
Requires-Dist: jmespath
|
|
46
|
+
Requires-Dist: jmespath >=0.9.5 ; extra == 'jmespath'
|
|
47
|
+
Provides-Extra: oauth
|
|
48
|
+
Requires-Dist: Authlib <2.0.0,>=0.14 ; extra == 'oauth'
|
|
49
|
+
Provides-Extra: talisman
|
|
50
|
+
Requires-Dist: flask-talisman <2.0,>=1.0.0 ; extra == 'talisman'
|
|
43
51
|
|
|
44
52
|
Flask App Builder
|
|
45
53
|
=================
|
|
@@ -51,7 +59,7 @@ Flask App Builder
|
|
|
51
59
|
:alt: PyPI
|
|
52
60
|
:target: https://pypi.org/project/Flask-AppBuilder/
|
|
53
61
|
|
|
54
|
-
.. image:: https://img.shields.io/badge/pyversions-3.
|
|
62
|
+
.. image:: https://img.shields.io/badge/pyversions-3.8%2C%203.9%2C%203.10%2C%203.11%2C%203.12-blue.svg
|
|
55
63
|
:target: https://www.python.org/
|
|
56
64
|
|
|
57
65
|
.. image:: https://codecov.io/github/dpgaspar/Flask-AppBuilder/coverage.svg?branch=master
|
|
@@ -83,52 +91,6 @@ Change Log
|
|
|
83
91
|
|
|
84
92
|
`Versions <https://github.com/dpgaspar/Flask-AppBuilder/tree/master/CHANGELOG.rst>`_ for further detail on what changed.
|
|
85
93
|
|
|
86
|
-
BREAKING CHANGE on 3.0.0 (OAuth)
|
|
87
|
-
|
|
88
|
-
Major version 3, changed it's **OAuth** dependency from flask-oauth to authlib, due to this OAuth configuration
|
|
89
|
-
changed:
|
|
90
|
-
|
|
91
|
-
Before:
|
|
92
|
-
|
|
93
|
-
.. code-block::
|
|
94
|
-
|
|
95
|
-
OAUTH_PROVIDERS = [
|
|
96
|
-
{'name':'google', 'icon':'fa-google', 'token_key':'access_token',
|
|
97
|
-
'remote_app': {
|
|
98
|
-
'consumer_key':'GOOGLE KEY',
|
|
99
|
-
'consumer_secret':'GOOGLE SECRET',
|
|
100
|
-
'base_url':'https://www.googleapis.com/oauth2/v2/',
|
|
101
|
-
'request_token_params':{
|
|
102
|
-
'scope': 'email profile'
|
|
103
|
-
},
|
|
104
|
-
'request_token_url':None,
|
|
105
|
-
'access_token_url':'https://accounts.google.com/o/oauth2/token',
|
|
106
|
-
'authorize_url':'https://accounts.google.com/o/oauth2/auth'}
|
|
107
|
-
}
|
|
108
|
-
]
|
|
109
|
-
|
|
110
|
-
Now:
|
|
111
|
-
|
|
112
|
-
.. code-block::
|
|
113
|
-
|
|
114
|
-
OAUTH_PROVIDERS = [
|
|
115
|
-
{'name':'google', 'icon':'fa-google', 'token_key':'access_token',
|
|
116
|
-
'remote_app': {
|
|
117
|
-
'client_id':'GOOGLE KEY',
|
|
118
|
-
'client_secret':'GOOGLE SECRET',
|
|
119
|
-
'api_base_url':'https://www.googleapis.com/oauth2/v2/',
|
|
120
|
-
'client_kwargs':{
|
|
121
|
-
'scope': 'email profile'
|
|
122
|
-
},
|
|
123
|
-
'request_token_url':None,
|
|
124
|
-
'access_token_url':'https://accounts.google.com/o/oauth2/token',
|
|
125
|
-
'authorize_url':'https://accounts.google.com/o/oauth2/auth'}
|
|
126
|
-
}
|
|
127
|
-
]
|
|
128
|
-
|
|
129
|
-
Also make sure you change your dependency for flask-oauth to `authlib <https://github.com/lepture/authlib>`_
|
|
130
|
-
|
|
131
|
-
|
|
132
94
|
Fixes, Bugs and contributions
|
|
133
95
|
-----------------------------
|
|
134
96
|
|
|
@@ -276,5 +238,3 @@ Depends on:
|
|
|
276
238
|
- flask-openid
|
|
277
239
|
- flask-wtform
|
|
278
240
|
- flask-Babel
|
|
279
|
-
|
|
280
|
-
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
flask_appbuilder/__init__.py,sha256=DZ5Z_ZuBYFwQDQTJvaXQ3UwiC74ue591z3P1gm7QtC0,707
|
|
2
|
+
flask_appbuilder/_compat.py,sha256=Ac71GIwVHe9Pq7i2qDsrGUgL63Vz5oeC4rjhWw0kd6g,1969
|
|
3
|
+
flask_appbuilder/actions.py,sha256=-TqIH159BKCB-ezHJifbubApk2nxjospNYfH_7IgBJ8,1177
|
|
4
|
+
flask_appbuilder/base.py,sha256=m9TTuOoBiU99qHfCPv27RwhVeXu4IjpS2_RzkQJvnFY,25543
|
|
5
|
+
flask_appbuilder/basemanager.py,sha256=MdgZ52RhUBxKWRBxp4a2u41cUy9u7FBYWVHo6FW_RG0,342
|
|
6
|
+
flask_appbuilder/baseviews.py,sha256=z97PnyNnK30MyDU6vnaBdPdZFiXJMK6gMg9oDQJpKfQ,50171
|
|
7
|
+
flask_appbuilder/cli.py,sha256=2QtMfOOVzdtSRBhZKYe1W3T6oFMchoSRv3ptS3U304w,14347
|
|
8
|
+
flask_appbuilder/const.py,sha256=D4ZZN1afeg0OYSiBVqfoFeq0n5ij62e8oYh9kiNmaP0,8378
|
|
9
|
+
flask_appbuilder/exceptions.py,sha256=nA-l9TNFCuKt6KhS0YAF4Tn9Mf2KgNe2lBXykyChf2M,1798
|
|
10
|
+
flask_appbuilder/fields.py,sha256=GyM_EjpP0HL1cpqhVjWludv3uj1VdKImM-kj5fazDk8,9328
|
|
11
|
+
flask_appbuilder/fieldwidgets.py,sha256=XPQPzBsNsTOi848nK2lsQG0knkZzx9kLvujspqL83Qs,6058
|
|
12
|
+
flask_appbuilder/filemanager.py,sha256=DDUL_CQwk8PV5GUzTYLmcwAeWcB6sU3fbCp2you7yiU,8281
|
|
13
|
+
flask_appbuilder/filters.py,sha256=dBBO8p5UwzMkRANWkf9PVAVzWqxqwQXlhErdR8yJrNk,6164
|
|
14
|
+
flask_appbuilder/forms.py,sha256=FaHUlz-VO4n2Jg3cbROqjQxRCSy9xIe1ImOT-53X0Fk,10855
|
|
15
|
+
flask_appbuilder/hooks.py,sha256=WScmGkHUjVsQgxli01fXZ97E0_5toxi8MMcATgrXKDg,3003
|
|
16
|
+
flask_appbuilder/menu.py,sha256=_hNRzwoWmjuB98IqNErrXnQhd-cAr6djZ2LXqRMiB0U,7628
|
|
17
|
+
flask_appbuilder/messages.py,sha256=Q5KXDSZUKV7O26n7BxR6AMDgtoANJZmVGgCyrvTkbK8,290
|
|
18
|
+
flask_appbuilder/upload.py,sha256=q59R4G2U_89SY3Sv4lfoqyppCAOWbR0s9zVJhX2fchM,7537
|
|
19
|
+
flask_appbuilder/urltools.py,sha256=QduNelzv4XSbEq7YoJTNXon3Kv6Rqk5LhOEDbH5wtcE,3178
|
|
20
|
+
flask_appbuilder/validators.py,sha256=dqaK10Qc-TWrHh6tIuZWeSN5bthIsNJeblhdL_GjEOM,3364
|
|
21
|
+
flask_appbuilder/views.py,sha256=hYr69hyS0depKELBghdoNP1naMebwJq67LGw1axa8jU,17620
|
|
22
|
+
flask_appbuilder/widgets.py,sha256=_wvKEHdPx6jfJ4tJ-U-_KY0OFFSwruM3frbvOXBmBdA,4767
|
|
23
|
+
flask_appbuilder/api/__init__.py,sha256=IQeCsrjPsZjKu0PvrJ6JrcwMUzQRjbPRdIcGHLT3OAc,78069
|
|
24
|
+
flask_appbuilder/api/convert.py,sha256=2lLAhbP12mG8zPaMm66V6IzVYw7fK0GNgTE9ZcQfH2g,9917
|
|
25
|
+
flask_appbuilder/api/manager.py,sha256=jhwnZLRMxwXiOG3ZorPILlDWJOJwREGMGEFsOCkxjdM,3453
|
|
26
|
+
flask_appbuilder/api/schemas.py,sha256=QnAvfYqUBZt59cO5U5hxjsw-EpG1ZPdEUQN05ZJ8Cf4,5313
|
|
27
|
+
flask_appbuilder/babel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
+
flask_appbuilder/babel/manager.py,sha256=Uo5M9c75E_HRaAAJzk4olJT1OLEg9V3UJyknmL07msQ,2297
|
|
29
|
+
flask_appbuilder/babel/views.py,sha256=LWM2xbw-eekTEBCdgB49GkYaEOk95Po5TKF2-Jsyp14,506
|
|
30
|
+
flask_appbuilder/charts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
+
flask_appbuilder/charts/jsontools.py,sha256=ftlXJd_LP_YFMdtvVPbm54E3de0QbEyHJOZwo9gt6nY,1315
|
|
32
|
+
flask_appbuilder/charts/views.py,sha256=6yumuHzdbZF8UwGLtX0h7-dqqg4ZVP2DPOacL0JRNlE,17437
|
|
33
|
+
flask_appbuilder/charts/widgets.py,sha256=o-VafcXlbiCVbopxxphDUA0Q4WNhxEwY_d5cRlIzk9I,382
|
|
34
|
+
flask_appbuilder/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
+
flask_appbuilder/models/base.py,sha256=ieR67LYskkIlNISRs1kKLZp7PyoduISbAmPBljuWhfw,8985
|
|
36
|
+
flask_appbuilder/models/decorators.py,sha256=GKPLyW1Q1aN6VPe9JUqvzh-YBUEP7ltKmtgc2pLrEf4,794
|
|
37
|
+
flask_appbuilder/models/filters.py,sha256=kyegHhHDZDBsX_MYLJTOirQysW6AP7Kfo1RXBt86b6s,10309
|
|
38
|
+
flask_appbuilder/models/group.py,sha256=x3wxx7yj5j4bYwS-z3HHvVWTDTyv6GQyZ8ncJSXwCuE,10808
|
|
39
|
+
flask_appbuilder/models/mixins.py,sha256=hFl45jrLz1HAf5ZIR8yZVUBSUAykucpWljZT4D7e9Go,2709
|
|
40
|
+
flask_appbuilder/models/generic/__init__.py,sha256=gU8gN5UYdgSpQ33SHiPm862T5ejcOIUxFEp2Vg1MEeA,12948
|
|
41
|
+
flask_appbuilder/models/generic/filters.py,sha256=RCUqA7QkN2DtJqVARXqmeTNHiVDiAaCLeGFLheIVMK8,2755
|
|
42
|
+
flask_appbuilder/models/generic/interface.py,sha256=CDxMomzeMEiow7CY2SxjBFmkBKgBM2w06htfsK8MjTs,2247
|
|
43
|
+
flask_appbuilder/models/sqla/__init__.py,sha256=wsccXJo1jG7htW6rnwln2nXC_6CjZh7Ujlo5okdoLt8,961
|
|
44
|
+
flask_appbuilder/models/sqla/base.py,sha256=rzmuF2M-YV3nyTdhNf6LCpLvwggKm_L5QIxTlIlnNS8,762
|
|
45
|
+
flask_appbuilder/models/sqla/base_legacy.py,sha256=bvMAD725XzN3FiIwPwGjn6lekMRyAgENhEy_vTftH_s,4014
|
|
46
|
+
flask_appbuilder/models/sqla/filters.py,sha256=Yi7tMPDtTTikoyTQbTN6YhHl-9K9xWsHhcVQsY9YqTI,12846
|
|
47
|
+
flask_appbuilder/models/sqla/interface.py,sha256=3lYml7jjaJS7wKnK_FcKV3Oxv8LK8uPPwJ6yYH5XHsg,40228
|
|
48
|
+
flask_appbuilder/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
+
flask_appbuilder/security/api.py,sha256=HcVBiiSk9gwsMGJXhvYFSVYdowNOFoDMGyN6DqZOH4s,5229
|
|
50
|
+
flask_appbuilder/security/decorators.py,sha256=0qiJEN5MiSwsxE_LI2vtGkdEoqMH8fqXarlGRk9SAYo,11011
|
|
51
|
+
flask_appbuilder/security/forms.py,sha256=PTJlF4-5HOOSBmfZYq_YWC5QSyEPYsvirLt4oeBgvXQ,3452
|
|
52
|
+
flask_appbuilder/security/manager.py,sha256=hkf59yDN_yrj6hRk9PNrqqBTdlZdu4bk_WAE8A6eSFk,79414
|
|
53
|
+
flask_appbuilder/security/registerviews.py,sha256=cj1KDR6DiZ4WlDfIdrpvBp1Nd_VJ4gyHn6qc_A4HUTM,7512
|
|
54
|
+
flask_appbuilder/security/schemas.py,sha256=keManyd6dh-FXBXGkuvVHLWh-BSYoJytv8pTZ2wTHhY,1359
|
|
55
|
+
flask_appbuilder/security/utils.py,sha256=0PwDO-mB76RLPYlV9tCksChIMRq3zQgwLwiVMJ8jeiU,247
|
|
56
|
+
flask_appbuilder/security/views.py,sha256=yABRVGT8A1Xn_c0-Cs-qlcp3VWUV3zN9Aqde8F4DczM,25570
|
|
57
|
+
flask_appbuilder/security/sqla/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
+
flask_appbuilder/security/sqla/manager.py,sha256=Pj_HsTC0dxm8P3pDGvs1YkSAgB1HjUuc_3T18uUwoV4,28515
|
|
59
|
+
flask_appbuilder/security/sqla/models.py,sha256=Za5Ec7qRCGA9WAmwGdTzI1OZLTx_ovoH0hUYf1Q1im0,9497
|
|
60
|
+
flask_appbuilder/security/sqla/apis/__init__.py,sha256=BEPT-0mp9n48tq72bZQiES80P0L8vdWYqki3kbhTr-s,512
|
|
61
|
+
flask_appbuilder/security/sqla/apis/group/__init__.py,sha256=6HMo0L15Bw5dZX_1k2eh1zh-3Jg2KuDIlIy8V8R9jCU,40
|
|
62
|
+
flask_appbuilder/security/sqla/apis/group/api.py,sha256=fzJAacrC2_ZL96hc615FjwtZm37v7vQmiEXoPPmq4-w,7694
|
|
63
|
+
flask_appbuilder/security/sqla/apis/group/schema.py,sha256=9zoFsZ_Q9K1H4EDzBgfcbHN55RkakEqyl6s9646q6ek,1944
|
|
64
|
+
flask_appbuilder/security/sqla/apis/permission/__init__.py,sha256=QmBYWNu9LIk0k-qrcYmcSnN3YW6QGK4pky_Ux3V6Vjg,45
|
|
65
|
+
flask_appbuilder/security/sqla/apis/permission/api.py,sha256=Kh-LZ4v4G3y06y-XJyclKj1kjOF4d4HLfTqAK5KY99s,624
|
|
66
|
+
flask_appbuilder/security/sqla/apis/permission_view_menu/__init__.py,sha256=OyBP6HjYzOpSqr63drKLXaqEngIdqPRLueUDJos-UPY,53
|
|
67
|
+
flask_appbuilder/security/sqla/apis/permission_view_menu/api.py,sha256=mthU1QIYTsw0tCWu_M2gr7usEicAVO1izu62wvgSW_0,647
|
|
68
|
+
flask_appbuilder/security/sqla/apis/role/__init__.py,sha256=naG_84Y_PUaV8jvm5AeLJcLxywf_onzcnd5TbLjZuXc,39
|
|
69
|
+
flask_appbuilder/security/sqla/apis/role/api.py,sha256=0IQGTPLGc_mZwc-Jje62_XV4Dy7xDJJRQm_ha0qlFH8,9867
|
|
70
|
+
flask_appbuilder/security/sqla/apis/role/schema.py,sha256=X10OybMs2usEw4mVrRyTi-w9N8YMeLWq5CSkpOHVR8Y,699
|
|
71
|
+
flask_appbuilder/security/sqla/apis/user/__init__.py,sha256=8llQQbFTBj7oaHzMRV-Wd5iBFNOjqAhy1-x3_Ae1gf0,39
|
|
72
|
+
flask_appbuilder/security/sqla/apis/user/api.py,sha256=uXHV5HOWGEIo8o1yaC6vIN1n2QH98F7dlEdL8cgXZqw,9962
|
|
73
|
+
flask_appbuilder/security/sqla/apis/user/schema.py,sha256=VYZq-fwOLyCw1Aur34lNj6wSKq3sMbof6eDpVijL54U,3166
|
|
74
|
+
flask_appbuilder/security/sqla/apis/user/validator.py,sha256=mZ1dHl7X0BSzmafJjzHrPuJWuu1sFLUhZQGjMzE2F6Y,1095
|
|
75
|
+
flask_appbuilder/security/sqla/apis/view_menu/__init__.py,sha256=YPSc8M1MMrcfLg633cJtKY0UPMTQT96V0fcY0GWQ8a0,43
|
|
76
|
+
flask_appbuilder/security/sqla/apis/view_menu/api.py,sha256=g0-OBjpwcF8Pm52QHHOqNENT-2D6WZOs7VA3vvM96Xo,569
|
|
77
|
+
flask_appbuilder/static/.DS_Store,sha256=y0F1REGYdjEP6mkLEXwRfq1bfqn3irXPxwg2W-1pSu0,6148
|
|
78
|
+
flask_appbuilder/static/appbuilder/css/ab.css,sha256=3aeitulGDxslqqEfB0XPFgUYN87Y3SAJYg7zBlJklnc,643
|
|
79
|
+
flask_appbuilder/static/appbuilder/css/bootstrap.min.css,sha256=bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd-tIvLhE,121457
|
|
80
|
+
flask_appbuilder/static/appbuilder/css/bootstrap.min.css.map,sha256=eLWMnr_ULsLGG8T99Gpd-ZjmzZB8dzB2oKbo9Whrr8M,540434
|
|
81
|
+
flask_appbuilder/static/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css,sha256=bZRrQVK1rYvxccX8WACyWguD6Ba0h4h_Qs6vmJP2Pws,21102
|
|
82
|
+
flask_appbuilder/static/appbuilder/css/flags/flags16.css,sha256=rIM9XGcQ0BxJPOuKTzXajC4niQoS4cAa1wmN4-8kB28,10904
|
|
83
|
+
flask_appbuilder/static/appbuilder/css/fontawesome/all.min.css,sha256=Z1K5uhUaJXA7Ll0XrZ_0JhX4lAtZFpT6jkKrEDT0drU,101894
|
|
84
|
+
flask_appbuilder/static/appbuilder/css/fontawesome/brands.min.css,sha256=TXCTfrlEOGerSO77rgj5Fvyzf9g0O4ne2lXoR8uS4II,18594
|
|
85
|
+
flask_appbuilder/static/appbuilder/css/fontawesome/fontawesome.min.css,sha256=zgORubRsz5iTQajy0X9EdrJBq1vNm70B2ZW4YKdRy3s,80761
|
|
86
|
+
flask_appbuilder/static/appbuilder/css/fontawesome/regular.min.css,sha256=AKdJTilWP0HA1p1q_DnHgnJmR3uc56QTFroCEUE1NCs,580
|
|
87
|
+
flask_appbuilder/static/appbuilder/css/fontawesome/solid.min.css,sha256=PWjOYKvQnR-QNLq3ts8OC0_uUzdQ2NkfEulijXY8Xfo,572
|
|
88
|
+
flask_appbuilder/static/appbuilder/css/fontawesome/svg-with-js.min.css,sha256=BmRf_TpWkrGebpxG24nKIy25TXuzr7WmOOqtWPhfaNw,16771
|
|
89
|
+
flask_appbuilder/static/appbuilder/css/fontawesome/v4-font-face.min.css,sha256=3qx38sFUtiOKkZc7eAT97tB7BHy4UtkjNS8Kirug-lA,1736
|
|
90
|
+
flask_appbuilder/static/appbuilder/css/fontawesome/v4-shims.min.css,sha256=CBrGmsHCYkijL0yBH22hDEe9MvZYhXdAiOjeZm9OkS8,27593
|
|
91
|
+
flask_appbuilder/static/appbuilder/css/fontawesome/v5-font-face.min.css,sha256=zGrY1du3JRHqYLHQdYES159Q-372nQNFC_IpetFsksY,794
|
|
92
|
+
flask_appbuilder/static/appbuilder/css/images/flags16.png,sha256=4J5H4u1HssdXva0oOR4tEDhcWmXjd3ubK3zvzicaTk8,51306
|
|
93
|
+
flask_appbuilder/static/appbuilder/css/select2/select2-bootstrap.min.css,sha256=nbyata2PJRjImhByQzik2ot6gSHSU4Cqdz5bNYL2zcU,16792
|
|
94
|
+
flask_appbuilder/static/appbuilder/css/select2/select2.min.css,sha256=FdatTf20PQr_rWg-cAKfl6j4_IY3oohFAJ7gVC3M34E,14966
|
|
95
|
+
flask_appbuilder/static/appbuilder/css/swagger/swagger-ui.css,sha256=wk7P_WP8eX03vtHGjqAwR5rRx6MGOP-2taJVnqmLxDE,151211
|
|
96
|
+
flask_appbuilder/static/appbuilder/css/themes/amelia.css,sha256=kPkKJh9Kz2u6naJn3pH4VFgGpgr1DNzNOy2liHeU4Wk,105250
|
|
97
|
+
flask_appbuilder/static/appbuilder/css/themes/cerulean.css,sha256=UKmB9_useaL9IPo4IS517peuQEt05x_Z0vSG14-lCBc,120090
|
|
98
|
+
flask_appbuilder/static/appbuilder/css/themes/cosmo.css,sha256=VguXHGaX2jwxjvlWXG3zwWh_i3d8w1XCi2jVqTRmG7I,119768
|
|
99
|
+
flask_appbuilder/static/appbuilder/css/themes/cyborg.css,sha256=zxEHfLTlVC7lgREqDvri8javBIniGsbVmfSgAwx0wfE,119799
|
|
100
|
+
flask_appbuilder/static/appbuilder/css/themes/darkly.css,sha256=3ENdQmzAZ_ZJ_5vCIpqVRiaOQQwGDT0qDyLL_b0D-GY,121625
|
|
101
|
+
flask_appbuilder/static/appbuilder/css/themes/flatly.css,sha256=YWVGaarRFEqNTJPYf4VPJj4lutdGawVsrfm-tXi9qbw,121354
|
|
102
|
+
flask_appbuilder/static/appbuilder/css/themes/journal.css,sha256=wLEIsTem6YGp3_G0iNqqLKhYzkiBzPN9ZBoZpU2PuY4,118666
|
|
103
|
+
flask_appbuilder/static/appbuilder/css/themes/lumen.css,sha256=Tg2t3ds9B3CEkYurKyNc2E8wV5IoJjPgo0pq7meOeHE,124431
|
|
104
|
+
flask_appbuilder/static/appbuilder/css/themes/paper.css,sha256=l26I8blnp0qRoSufU5_wAxzYwkj8Egy_Q40h9sPMrVM,132318
|
|
105
|
+
flask_appbuilder/static/appbuilder/css/themes/readable.css,sha256=PA0eUEGv1KU0FsZUIa2nJacxxLbtyqRgavDy8FGFhDg,118678
|
|
106
|
+
flask_appbuilder/static/appbuilder/css/themes/sandstone.css,sha256=dWyyHDaAx6lROKdA9KzmLzBe9LsF2hnwCZk2auGcfe4,118965
|
|
107
|
+
flask_appbuilder/static/appbuilder/css/themes/simplex.css,sha256=Uu16KAlMrzFZBn_2FYxhVWnwHarllrNh2cvf8w4YNZc,120186
|
|
108
|
+
flask_appbuilder/static/appbuilder/css/themes/slate.css,sha256=Orf6npZE1_7-IlImB13cRpXmY4UkoF4POi_A4SFTcJg,129014
|
|
109
|
+
flask_appbuilder/static/appbuilder/css/themes/solar.css,sha256=myOylmHaqDfIsXzix87RHS8ROCq2po3cAyCl_pxIMKE,125030
|
|
110
|
+
flask_appbuilder/static/appbuilder/css/themes/spacelab.css,sha256=_BGJbByPB6l_Z75eYlhuECuDOE4AGGh4RGpH7MYEwJI,121499
|
|
111
|
+
flask_appbuilder/static/appbuilder/css/themes/superhero.css,sha256=_YJAsKpKyctRvT1UDptVCWpLhg-hY1bYRkzXgXtnY44,120731
|
|
112
|
+
flask_appbuilder/static/appbuilder/css/themes/united.css,sha256=ltLC53c-9nQc0ELY92pXXop0iDkRo4LeF9_FQ_JnXH0,117016
|
|
113
|
+
flask_appbuilder/static/appbuilder/css/themes/yeti.css,sha256=EWnz2eP0uYQgePSFe305auRVJm2K6j7KBENXMlMQzDU,121865
|
|
114
|
+
flask_appbuilder/static/appbuilder/css/webfonts/fa-brands-400.ttf,sha256=sdHBsBLhp2IcyE_R5cHbq5IBL0DfdCPoeasvpJNSD-4,186124
|
|
115
|
+
flask_appbuilder/static/appbuilder/css/webfonts/fa-brands-400.woff2,sha256=xhKHwvqYY7X7WETGg6ForGUgyU2CK7Q9Xq41w6KoIWY,107656
|
|
116
|
+
flask_appbuilder/static/appbuilder/css/webfonts/fa-regular-400.ttf,sha256=17Gf4gEQGwirE0T_1HLVnOZSrTw_tfGUw-NaopCOZ0o,62320
|
|
117
|
+
flask_appbuilder/static/appbuilder/css/webfonts/fa-regular-400.woff2,sha256=XaMTsEZ_fBsY2YFnKyNGGt0x461BmIwwEBvaq7B05EY,25236
|
|
118
|
+
flask_appbuilder/static/appbuilder/css/webfonts/fa-solid-900.ttf,sha256=5Pan6dGnwLSWjZy51CLo2c3KIp9_866sf5bkuqJcdoA,397420
|
|
119
|
+
flask_appbuilder/static/appbuilder/css/webfonts/fa-solid-900.woff2,sha256=jwZUD9d_Hv_h4tqOoQzsSjgt2pzG7wXYFuHW3kRAcvI,150516
|
|
120
|
+
flask_appbuilder/static/appbuilder/css/webfonts/fa-v4compatibility.ttf,sha256=Lds7QRSpy1ZeSbCvIcw6yIzQQ760m-MouPV6Y0mJ4Kw,10140
|
|
121
|
+
flask_appbuilder/static/appbuilder/css/webfonts/fa-v4compatibility.woff2,sha256=9GcVydMAR_jepOsl7YafeR6wacaw9hAjgsMqVq7q37s,4568
|
|
122
|
+
flask_appbuilder/static/appbuilder/fonts/glyphicons-halflings-regular.eot,sha256=E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc,20127
|
|
123
|
+
flask_appbuilder/static/appbuilder/fonts/glyphicons-halflings-regular.svg,sha256=QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U,108738
|
|
124
|
+
flask_appbuilder/static/appbuilder/fonts/glyphicons-halflings-regular.ttf,sha256=45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY,45404
|
|
125
|
+
flask_appbuilder/static/appbuilder/fonts/glyphicons-halflings-regular.woff,sha256=omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I,23424
|
|
126
|
+
flask_appbuilder/static/appbuilder/fonts/glyphicons-halflings-regular.woff2,sha256=_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw,18028
|
|
127
|
+
flask_appbuilder/static/appbuilder/img/fab.png,sha256=MeZfyBLCdtgsJdGdPYKd3QFiDhJby6oLp1sVP1NbF4Q,2591
|
|
128
|
+
flask_appbuilder/static/appbuilder/img/glyphicons-halflings-white.png,sha256=8ODZWpyKvN-r9GNI4tQoWCm7BJH19q8OBa9Sv_tjJMQ,8777
|
|
129
|
+
flask_appbuilder/static/appbuilder/img/glyphicons-halflings.png,sha256=2Z4_oyxkEDLwgUmRSyjC3GrPLsYvcJh_Ilnqu_p_wN4,12799
|
|
130
|
+
flask_appbuilder/static/appbuilder/js/ab.js,sha256=X-SKsBQKViDV4I0l_XWYfKto0diPp1qBwXn9XXaaLbo,3380
|
|
131
|
+
flask_appbuilder/static/appbuilder/js/ab_actions.js,sha256=gSh55Vh0fOLLUJPxzCJaegAtJFVgvzvd0duPXRy3pjA,4228
|
|
132
|
+
flask_appbuilder/static/appbuilder/js/ab_filters.js,sha256=iPw-tVct4pLuCAF38vEdk7vbzL5aSC1RVYs0Sv4XKms,5275
|
|
133
|
+
flask_appbuilder/static/appbuilder/js/ab_keep_tab.js,sha256=8MOjHJICM0UiMmB_B8r2pFFZ2Mka3BT2d90eL5SKBFM,1526
|
|
134
|
+
flask_appbuilder/static/appbuilder/js/bootstrap.min.js,sha256=nuL8_2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL-1ev4,39680
|
|
135
|
+
flask_appbuilder/static/appbuilder/js/google_charts.js,sha256=WWPcbKY75OwEWXxnfXEY55cx788X92ZdaAGH_mvjCgI,46151
|
|
136
|
+
flask_appbuilder/static/appbuilder/js/jquery-latest.js,sha256=_xUj-3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej_m4,89501
|
|
137
|
+
flask_appbuilder/static/appbuilder/js/swagger-ui-bundle.js,sha256=KlVjBlJL7SymaOxa4ZsdvU2c2qNHlckGOhxEspqcYJc,1385226
|
|
138
|
+
flask_appbuilder/static/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js,sha256=iZp9dyOMJKPFdn1UMra9ZMhPZAlSGZUzdhqqEgijE-Q,33871
|
|
139
|
+
flask_appbuilder/static/appbuilder/js/select2/select2.min.js,sha256=AFAYEOkzB6iIKnTYZOdUf9FFje6lOTYdwRJKwTN5mks,70851
|
|
140
|
+
flask_appbuilder/templates/appbuilder/_formhelpers.html,sha256=XVS_zN1ZrWLqDhnmH1oqhieF1F5uGMi1K7bCm__wsno,360
|
|
141
|
+
flask_appbuilder/templates/appbuilder/base.html,sha256=HUMYeU_KKCy4LiA0KrdoXQm56MoiORgQV6ERwQbbgkY,28
|
|
142
|
+
flask_appbuilder/templates/appbuilder/baselayout.html,sha256=EF_tMzYkKAIexehvoXol2sj62XK1Z8HLCz_bOvghzwc,874
|
|
143
|
+
flask_appbuilder/templates/appbuilder/baselib.html,sha256=wZeeadZHH1sVaiKvSpPWtueWE28VdXJA3xn2n0VFZgs,4592
|
|
144
|
+
flask_appbuilder/templates/appbuilder/flash.html,sha256=omg3axewTG3DWQgkLxORg7MPQLwvfbelzTJ-PJs7RRI,486
|
|
145
|
+
flask_appbuilder/templates/appbuilder/footer.html,sha256=fxT9fn7iPczCYAZVYWmpL6xferrnOHK7MyR_nKRON3o,143
|
|
146
|
+
flask_appbuilder/templates/appbuilder/index.html,sha256=NJKAjcqL9C7mTbwR_bAD3dkAOJTGcJBfPQlSMDhcu-0,145
|
|
147
|
+
flask_appbuilder/templates/appbuilder/init.html,sha256=Y81Y7FQtmW-jODm2d8viwInaNaAIUiKtAbK_y4oRnLg,3048
|
|
148
|
+
flask_appbuilder/templates/appbuilder/navbar.html,sha256=FA57fvVai2a4rfolvsdwP7B61P_GyfLjdOHykUdE3gc,1299
|
|
149
|
+
flask_appbuilder/templates/appbuilder/navbar_menu.html,sha256=yA0FVS-hZs-2CnZvhX3vm21gK4mDyPvJ3FDJwp-wyhw,1247
|
|
150
|
+
flask_appbuilder/templates/appbuilder/navbar_right.html,sha256=Cns5yZby86HkJenMgRwabBvcGqNNLceSqhAITmVL1Lg,1568
|
|
151
|
+
flask_appbuilder/templates/appbuilder/general/alert.html,sha256=odj2dNzbopclSI7jVXwODnrqY185ASYTyShL442iox8,444
|
|
152
|
+
flask_appbuilder/templates/appbuilder/general/confirm.html,sha256=tA-hAsBh91vEPeW2W5D0hY0bX-jSI61JyZwOiUElwGI,717
|
|
153
|
+
flask_appbuilder/templates/appbuilder/general/lib.html,sha256=2R_EAl1PwhPws_YhkK9BV785Kw21tlD8YjH8LfmPUSk,14587
|
|
154
|
+
flask_appbuilder/templates/appbuilder/general/charts/chart.html,sha256=vZTsnv3YmEU-JSlKlIc7CTR5uJvOzsryOq-YsAXnSYo,778
|
|
155
|
+
flask_appbuilder/templates/appbuilder/general/charts/chart_time.html,sha256=vMGotm_VFaWYyJGk4zZ1tPM4WdTylvNtWN2kBwttp20,890
|
|
156
|
+
flask_appbuilder/templates/appbuilder/general/charts/jsonchart.html,sha256=w09kwbAsGFG0WFvQ_3JouVVAkX4LhNZx3MabPi4GvQ4,670
|
|
157
|
+
flask_appbuilder/templates/appbuilder/general/model/add.html,sha256=MhOXEx-gqV8CPKhq2jh8T4iqVgSbWdw9SgiMffCKcpA,271
|
|
158
|
+
flask_appbuilder/templates/appbuilder/general/model/edit.html,sha256=oQ2xBDDGqp_ifxYJANcAqxovdEO3FODCVQrLT2b-OmY,1181
|
|
159
|
+
flask_appbuilder/templates/appbuilder/general/model/edit_cascade.html,sha256=HFTJczks4TdkIhkap785poJBI_TTynaKLogoNdJEh4w,813
|
|
160
|
+
flask_appbuilder/templates/appbuilder/general/model/left_master_detail.html,sha256=i6ObZ1lY1QpOEUnmQb-fv1cD-MEUyZ-vd9dy5eaqen4,653
|
|
161
|
+
flask_appbuilder/templates/appbuilder/general/model/list.html,sha256=fBEQb_J_ttJI80D0C1M9jI0G9w25ckoSk7xOazmT5Zc,496
|
|
162
|
+
flask_appbuilder/templates/appbuilder/general/model/multiple_views.html,sha256=u4R0GrHeVPRCbQPwDKBdOBf0jVsAvWkINK4J0UrdpvY,517
|
|
163
|
+
flask_appbuilder/templates/appbuilder/general/model/search.html,sha256=vxS_74SuBr-9DQtJMpRnveO3pXtn5Yl2hlF_DDmTDww,501
|
|
164
|
+
flask_appbuilder/templates/appbuilder/general/model/show.html,sha256=Z6V02x3BJKIhb_emhXGARL_g94-F1nEWkV4JruUioeo,1207
|
|
165
|
+
flask_appbuilder/templates/appbuilder/general/model/show_cascade.html,sha256=okkMqAiZaqPyvKeGKwLTYPaGn44mzT-xh4bQiytFA3k,784
|
|
166
|
+
flask_appbuilder/templates/appbuilder/general/security/activation.html,sha256=xERW3RMRr12xKUX6zRpye9bAXhfe3RiW-hyzo4Wtbeg,216
|
|
167
|
+
flask_appbuilder/templates/appbuilder/general/security/login_db.html,sha256=gJVY9kxEa_-bpxHTAJsVBCVJ2MZmlg0oVnNC18vB4bE,2955
|
|
168
|
+
flask_appbuilder/templates/appbuilder/general/security/login_ldap.html,sha256=W3pPTRUwFkCKTJEDItipq0E1SvBZ92dP6wekR_qxYrc,2002
|
|
169
|
+
flask_appbuilder/templates/appbuilder/general/security/login_oauth.html,sha256=-XwSh9NBm3rpd_kryjRThF_mqQTFPgiJu_zOnYGAGtM,1595
|
|
170
|
+
flask_appbuilder/templates/appbuilder/general/security/register_mail.html,sha256=o40VoLzyETkSM7lW5el2Hff-gIAh3i5jMlW0d2Ay-4M,230
|
|
171
|
+
flask_appbuilder/templates/appbuilder/general/security/register_oauth.html,sha256=Zl-ORB_dCbphWaXYigEGSVIBU6ZrcNwAGDPrUUXSVo4,1057
|
|
172
|
+
flask_appbuilder/templates/appbuilder/general/widgets/base_list.html,sha256=Fv7FyPoLPanYh_zmFosQnibJb0jTJ4QwToqKAkBCHqU,1153
|
|
173
|
+
flask_appbuilder/templates/appbuilder/general/widgets/chart.html,sha256=Zge0HeDD-MUm_YbSP1oSAbJtw0WmO87W-0te9_iqZxA,2981
|
|
174
|
+
flask_appbuilder/templates/appbuilder/general/widgets/direct_chart.html,sha256=Q8VX97abYdtcZOWIym053M29wTpXbbTWsUoDLwQbnpc,2613
|
|
175
|
+
flask_appbuilder/templates/appbuilder/general/widgets/form.html,sha256=ZApB1T0AoYQVhMzQ_MKeUX1mToablQW514NvnaBLUc4,2016
|
|
176
|
+
flask_appbuilder/templates/appbuilder/general/widgets/form_horizontal.html,sha256=ccOK-8aUBmM1m4fvUSfTDaZaSpxFQUA99i1Av7o72vQ,1382
|
|
177
|
+
flask_appbuilder/templates/appbuilder/general/widgets/form_inline.html,sha256=4-SZuL53_omJOukHvxQAkK7H6lM0ojXrPoEoQ2HsIeI,1326
|
|
178
|
+
flask_appbuilder/templates/appbuilder/general/widgets/form_vertical.html,sha256=vKaK9jS7c_ZdfONzOQDbpsdWxU7mt7ZwsAhnW5lC0ZQ,1328
|
|
179
|
+
flask_appbuilder/templates/appbuilder/general/widgets/group_form_list.html,sha256=eceh1r4br9UF_fkxfASR-MHv1b83RVHSmOwbpxHiQWg,247
|
|
180
|
+
flask_appbuilder/templates/appbuilder/general/widgets/list.html,sha256=Kg-tSP5CI5x1bbyWPc76PLoRgcbWmTeLyBHdCB69tmI,2745
|
|
181
|
+
flask_appbuilder/templates/appbuilder/general/widgets/list_block.html,sha256=g3xOphl51AQR4BsY4bvzULFLP8xNYx974z3JSCzvYtk,1331
|
|
182
|
+
flask_appbuilder/templates/appbuilder/general/widgets/list_carousel.html,sha256=PHpItuC_EVplduO9PNpc2id90FJlsAymrqfIOy1WgOo,2038
|
|
183
|
+
flask_appbuilder/templates/appbuilder/general/widgets/list_item.html,sha256=g4LHtP3Ay1_9fF1yIybkrMXlPyyILhNGHe485uByw-U,1317
|
|
184
|
+
flask_appbuilder/templates/appbuilder/general/widgets/list_link.html,sha256=UnljuAk0cAvDnkjPPGOBMqKvYF1n26aARfmh7gm8kzE,2843
|
|
185
|
+
flask_appbuilder/templates/appbuilder/general/widgets/list_master.html,sha256=91W3oiuvcmqysm-uyUxHk9TdqXSe58RVmVksZeXYF8s,572
|
|
186
|
+
flask_appbuilder/templates/appbuilder/general/widgets/list_thumbnail.html,sha256=_oG8PjsNGBXpBFayWfZwBTGf7I8fKCfvYsgIwmFhKAw,1167
|
|
187
|
+
flask_appbuilder/templates/appbuilder/general/widgets/multiple_chart.html,sha256=eb1DK3zuF43XYvRk99ELw5hBhs6ZV20GgmnXF5h14DA,1631
|
|
188
|
+
flask_appbuilder/templates/appbuilder/general/widgets/search.html,sha256=NsmI-irzl9lHFpBSEiQ4SrwTpBVrO8dERZ9Zunx0ccA,1087
|
|
189
|
+
flask_appbuilder/templates/appbuilder/general/widgets/show.html,sha256=ur1bgNTjg8SgoqbVNfOq8XKF606dduG7-PDP6FWGNYo,1738
|
|
190
|
+
flask_appbuilder/templates/appbuilder/general/widgets/show_block.html,sha256=ZylOUshZQ9octVj2-XjRjMAH53CSmbfZ7Rs5N9-75MY,1833
|
|
191
|
+
flask_appbuilder/templates/appbuilder/general/widgets/show_vertical.html,sha256=pOqaFmvNndW0r1zkrwzNS9_LPM5bLztLWr7MAl1LCyY,1544
|
|
192
|
+
flask_appbuilder/templates/appbuilder/general/widgets/roles/list.html,sha256=-_LLPbwlzLZnP4R4w-h7scFwwip2Y_iJ7p6UZQu8qBg,3249
|
|
193
|
+
flask_appbuilder/templates/appbuilder/general/widgets/roles/show.html,sha256=PYQxFZXOqfbARAuPLNjZlafCXo7BbHno2hxRaWHqJCg,2132
|
|
194
|
+
flask_appbuilder/templates/appbuilder/swagger/swagger.html,sha256=R8OgoPVCFQA22yx6tiI3Pqp6o93kd3rpIblbCKfjWu8,896
|
|
195
|
+
flask_appbuilder/translations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
196
|
+
flask_appbuilder/translations/de/LC_MESSAGES/messages.mo,sha256=iavCGbOdPhfvqHeMGjidesCcncDYYLJsw7TkxIoDWLU,9681
|
|
197
|
+
flask_appbuilder/translations/de/LC_MESSAGES/messages.po,sha256=NCd_qi-PBkQoSb6udJ0QOIhLSB6oAmovw-gbiwDk3Nc,26578
|
|
198
|
+
flask_appbuilder/translations/el/LC_MESSAGES/messages.mo,sha256=LXr_WkihKj4Kzs8SVNTDoJnrOKZS6b3HGrsHivmuxdg,11017
|
|
199
|
+
flask_appbuilder/translations/el/LC_MESSAGES/messages.po,sha256=Wh4wezTVlsYs7ndqUk2P1NukL0-Ci6Y-bi4rufPkssU,22936
|
|
200
|
+
flask_appbuilder/translations/es/LC_MESSAGES/messages.mo,sha256=f58Vl0A6lngb_JPk-MGjwJHBMHiWc2krlZm1OcukbPk,8468
|
|
201
|
+
flask_appbuilder/translations/es/LC_MESSAGES/messages.po,sha256=ve9Y8p1PzizY5kd3ROacELV78kRAPNsKkNGKPvvDbg4,20079
|
|
202
|
+
flask_appbuilder/translations/fa/LC_MESSAGES/messages.mo,sha256=WJJg4gaR71uH7KDDwu-x6jDSCISWr0mGZWMlK-UsZX8,12017
|
|
203
|
+
flask_appbuilder/translations/fa/LC_MESSAGES/messages.po,sha256=zUMPkOLASFn51Fz4zY88t0iOErbUQiew3t2m-dVru_M,27607
|
|
204
|
+
flask_appbuilder/translations/fr/LC_MESSAGES/messages.mo,sha256=XdsRh8eobO5pwmWw9OpMYjL0YM66hmhEVaS7x1BrnQ8,8504
|
|
205
|
+
flask_appbuilder/translations/fr/LC_MESSAGES/messages.po,sha256=DgCWIYZx6yoELKihlLeFJVmKh9-igo86-H_d_qPJ5ro,25810
|
|
206
|
+
flask_appbuilder/translations/it/LC_MESSAGES/messages.mo,sha256=T7JAnLQc4ww_9BSEssovwkojmXz_MmS4zQkapefQWuw,9121
|
|
207
|
+
flask_appbuilder/translations/it/LC_MESSAGES/messages.po,sha256=PDIirc9Kf3so84xrC5MWmSZt3RpwE__EYqaMDs5a9sE,24545
|
|
208
|
+
flask_appbuilder/translations/ja_JP/LC_MESSAGES/messages.mo,sha256=Yvs2hZ8PbYhv5_I2NEQtAeYzvdGUhVngkZOwAJNji0U,9412
|
|
209
|
+
flask_appbuilder/translations/ja_JP/LC_MESSAGES/messages.po,sha256=DLXJUwApP6cc1tPm9SVuSOBn1wIs7lDjV2sLp6PC-Ww,20790
|
|
210
|
+
flask_appbuilder/translations/ko/LC_MESSAGES/messages.mo,sha256=_hcH6yP4mzlVYKbk5HJSK8bnLsY7w_IhuRS7M63x_zo,9513
|
|
211
|
+
flask_appbuilder/translations/ko/LC_MESSAGES/messages.po,sha256=WUn5YfX8aWfAsven5RUqbwafN2EAI6u4_eIyucN_LGA,39930
|
|
212
|
+
flask_appbuilder/translations/nl/LC_MESSAGES/messages.mo,sha256=p1h8_BqijMFXRaACAgB_9RIvWArTrhFV4RMYXk0J-G0,8252
|
|
213
|
+
flask_appbuilder/translations/nl/LC_MESSAGES/messages.po,sha256=vyTNgbYKJmwMW1hsxfZfrrWW-pROqidvRsMSiaxZ-hc,19648
|
|
214
|
+
flask_appbuilder/translations/pl/LC_MESSAGES/messages.mo,sha256=6jqC0VJIvAvYHghzZpYT9OqgRA__Ej25Mk5mwjsYDW4,8136
|
|
215
|
+
flask_appbuilder/translations/pl/LC_MESSAGES/messages.po,sha256=A1S4jbKbP9ztqMpJfp4iCzpGyYE2rz9BXZm5V59Bw8o,20115
|
|
216
|
+
flask_appbuilder/translations/pt/LC_MESSAGES/messages.mo,sha256=-gqhdBzwygGmLocm5kWwoSIprMOF5bpiYNZHcb8yz7c,8441
|
|
217
|
+
flask_appbuilder/translations/pt/LC_MESSAGES/messages.po,sha256=qVyiB8TA1TO8vjHvCvP8QZAf7bsgMDLIuML7EubVuE8,20002
|
|
218
|
+
flask_appbuilder/translations/pt/LC_MESSAGES/messages.po~,sha256=zwUQE2GP-L3VaKum4KqqFWh2Md8DSMp-Kq7f7PO5y0A,20509
|
|
219
|
+
flask_appbuilder/translations/pt_BR/LC_MESSAGES/messages.mo,sha256=YT8fgL_bJDNf0ghQ5KyEdpgbtwh3po6tZzvct7RVlmk,8336
|
|
220
|
+
flask_appbuilder/translations/pt_BR/LC_MESSAGES/messages.po,sha256=Og1Efwv409W0fZUFUSJeJ4Vdgt-3mKYQQs0TovaBjFc,20517
|
|
221
|
+
flask_appbuilder/translations/ru/LC_MESSAGES/messages.mo,sha256=wcG3qhjMmIgG4qD4ViH20Hx4dxg5CvFyJ-1GQqUIigg,10674
|
|
222
|
+
flask_appbuilder/translations/ru/LC_MESSAGES/messages.po,sha256=uG6zOAFH3NuS1DAkKj6bf7l0qMIS8dvxx6jfDdvf5W8,22035
|
|
223
|
+
flask_appbuilder/translations/sl/LC_MESSAGES/messages.mo,sha256=zgKVl6OjSSxtloIoVN7RDXLt31BkWW4VUJQMcrl5aSY,9682
|
|
224
|
+
flask_appbuilder/translations/sl/LC_MESSAGES/messages.po,sha256=28IkADoqJB1owFqKL-psyAmA_lDn7Uh_6BdcymdX2IU,20841
|
|
225
|
+
flask_appbuilder/translations/tr/LC_MESSAGES/messages.mo,sha256=nJlekRpNIOBYx3q6BHrSyR-01qn7UERrORB-sBVAFJ0,10336
|
|
226
|
+
flask_appbuilder/translations/tr/LC_MESSAGES/messages.po,sha256=q3hv2AMKpaMpI2CXentUvQa1VBm6wfABqGLnk3sCfgw,40132
|
|
227
|
+
flask_appbuilder/translations/zh/LC_MESSAGES/messages.mo,sha256=LOspp0B_RAVWHmtqzvmFHrgxds6pmZjPrRpS_D8jkME,7528
|
|
228
|
+
flask_appbuilder/translations/zh/LC_MESSAGES/messages.po,sha256=3allp8Aa1eUVZXi-ezhmbOPNR5JO57qajtwbrWkltnM,19095
|
|
229
|
+
flask_appbuilder/translations/zh_HK/LC_MESSAGES/messages.mo,sha256=s4S4s1yNeGRmfPlpd7NuAf4UqkxeKakXFUsirvn0c14,7493
|
|
230
|
+
flask_appbuilder/translations/zh_HK/LC_MESSAGES/messages.po,sha256=G3K0jpHUZNYQXMazLBVpUB8tDVrDWzeo6oumWTzwYxs,19104
|
|
231
|
+
flask_appbuilder/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
232
|
+
flask_appbuilder/utils/base.py,sha256=MtrE-rqiigb45HzcJmvz3J_-22mtKXjXYNB9tQ6CcbY,2490
|
|
233
|
+
flask_appbuilder/utils/legacy.py,sha256=Bz2_imi02_aOE_w7dN_0Igl_fWjD1PTLlu6gx8IMAW4,1001
|
|
234
|
+
flask_appbuilder/utils/limit.py,sha256=hEwMH2k_bPiqMaaP--alPW5YaiJS21YBgRthKiv0uPo,725
|
|
235
|
+
flask_appbuilder-5.0.2rc1.dist-info/LICENSE,sha256=pZ-ajm1I_0h91a1peoZFSemkiFE8kK1H_xmV_cxlQlY,1493
|
|
236
|
+
flask_appbuilder-5.0.2rc1.dist-info/METADATA,sha256=2eGPWWBK8DzVIC0FO_tuetWczp4cMZAD9-TI7Uv8oRs,8786
|
|
237
|
+
flask_appbuilder-5.0.2rc1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
238
|
+
flask_appbuilder-5.0.2rc1.dist-info/entry_points.txt,sha256=h5lBK4jb4RFWW8gH7C-0tE5QvQGUA5wx5hlYOhNWy4Q,48
|
|
239
|
+
flask_appbuilder-5.0.2rc1.dist-info/top_level.txt,sha256=Dy4t809z2TNdpjQhDUMEXU8Hc61x1e6WRNaC7hG6r8M,17
|
|
240
|
+
flask_appbuilder-5.0.2rc1.dist-info/RECORD,,
|