Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
flask-admin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
flask-admin
Commits
0ce4e7be
Commit
0ce4e7be
authored
Oct 26, 2018
by
PJ Janse van Rensburg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Lazily import sqlalchemy_utils and arrow.
parent
831e4389
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
18 additions
and
12 deletions
+18
-12
form.py
flask_admin/contrib/sqla/form.py
+2
-1
typefmt.py
flask_admin/contrib/sqla/typefmt.py
+13
-10
validators.py
flask_admin/contrib/sqla/validators.py
+1
-1
requirements-dev.txt
requirements-dev.txt
+2
-0
No files found.
flask_admin/contrib/sqla/form.py
View file @
0ce4e7be
...
...
@@ -4,7 +4,6 @@ from enum import Enum, EnumMeta
from
wtforms
import
fields
,
validators
from
sqlalchemy
import
Boolean
,
Column
from
sqlalchemy.orm
import
ColumnProperty
from
sqlalchemy_utils
import
Choice
from
flask_admin
import
form
from
flask_admin.model.form
import
(
converts
,
ModelConverterBase
,
...
...
@@ -428,6 +427,8 @@ def choice_type_coerce_factory(type_):
Return a function to coerce a ChoiceType column, for use by Select2Field.
:param type_: ChoiceType object
"""
from
sqlalchemy_utils
import
Choice
choices
=
type_
.
choices
if
isinstance
(
choices
,
type
)
and
issubclass
(
choices
,
Enum
):
key
,
choice_cls
=
'value'
,
choices
...
...
flask_admin/contrib/sqla/typefmt.py
View file @
0ce4e7be
from
sqlalchemy.ext.associationproxy
import
_AssociationList
from
flask_admin.model.typefmt
import
BASE_FORMATTERS
,
EXPORT_FORMATTERS
,
\
DETAIL_FORMATTERS
,
list_formatter
list_formatter
from
sqlalchemy.orm.collections
import
InstrumentedList
from
sqlalchemy_utils
import
Choice
from
arrow
import
Arrow
def
choice_formatter
(
view
,
choice
):
...
...
@@ -42,15 +40,20 @@ def arrow_export_formatter(view, arrow_time):
DEFAULT_FORMATTERS
=
BASE_FORMATTERS
.
copy
()
EXPORT_FORMATTERS
=
EXPORT_FORMATTERS
.
copy
()
DETAIL_FORMATTERS
=
DETAIL_FORMATTERS
.
copy
()
DEFAULT_FORMATTERS
.
update
({
InstrumentedList
:
list_formatter
,
_AssociationList
:
list_formatter
,
Choice
:
choice_formatter
,
Arrow
:
arrow_formatter
,
})
EXPORT_FORMATTERS
.
update
({
Arrow
:
arrow_export_formatter
,
})
try
:
from
sqlalchemy_utils
import
Choice
DEFAULT_FORMATTERS
[
Choice
]
=
choice_formatter
except
ImportError
:
pass
try
:
from
arrow
import
Arrow
DEFAULT_FORMATTERS
[
Arrow
]
=
arrow_formatter
EXPORT_FORMATTERS
[
Arrow
]
=
arrow_export_formatter
except
ImportError
:
pass
flask_admin/contrib/sqla/validators.py
View file @
0ce4e7be
from
sqlalchemy.orm.exc
import
NoResultFound
from
sqlalchemy_utils
import
Currency
from
wtforms
import
ValidationError
try
:
...
...
@@ -70,6 +69,7 @@ class ItemsRequired(InputRequired):
def
valid_currency
(
form
,
field
):
from
sqlalchemy_utils
import
Currency
try
:
Currency
(
field
.
data
)
except
(
TypeError
,
ValueError
):
...
...
requirements-dev.txt
View file @
0ce4e7be
...
...
@@ -18,3 +18,5 @@ pylint
sqlalchemy-citext
sqlalchemy_utils
azure-storage-blob
arrow
colour
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment