Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
R
robo-dividend
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
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wenwen.tang
robo-dividend
Commits
8f75bef3
Commit
8f75bef3
authored
Nov 14, 2022
by
纪超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完成日志、配置文件、数据库工具模块
parent
75416445
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
29 additions
and
28 deletions
+29
-28
__init__.py
framework/__init__.py
+5
-4
database.py
framework/database.py
+8
-5
env_config.py
framework/env_config.py
+6
-9
injectable.py
framework/injectable.py
+4
-4
logger.py
framework/logger.py
+4
-4
main.py
main.py
+2
-2
No files found.
framework/__init__.py
View file @
8f75bef3
from
.date_utils
import
*
from
.base
import
*
from
.database
import
read
,
write
,
transaction
,
where
from
.
__
env_config
import
config
,
get_config
from
.
__logger
import
build_logger
,
logger
from
.env_config
import
config
,
get_config
from
.
logger
import
build_logger
,
_log
from
.injectable
import
component
,
autowired
,
get_instance
,
init_injectable
as
_init_injectable
_init_injectable
()
del
injectable
,
__logger
,
__env_config
,
database
,
base
,
date_utils
,
_init_injectable
del
injectable
,
logger
,
env_config
,
database
,
base
,
date_utils
,
_init_injectable
logger
=
_log
del
_log
framework/database.py
View file @
8f75bef3
import
functools
import
pymysql
import
threading
from
enum
import
Enum
import
pymysql
from
pymysql.cursors
import
DictCursor
from
.__env_config
import
get_config
from
.date_utils
import
format_date
,
datetime
from
enum
import
Enum
from
.env_config
import
get_config
class
DatabaseError
(
Exception
):
...
...
@@ -66,6 +68,7 @@ def read(func=None, config=None, one=False):
else
:
with
Database
(
config
)
as
db
:
return
execute
(
db
,
sql
)
return
wraps
...
...
@@ -93,6 +96,7 @@ def write(func=None, config=None):
except
Exception
as
e
:
db
.
connect
.
rollback
()
raise
e
return
wraps
...
...
@@ -115,6 +119,7 @@ def transaction(func=None, config=None):
raise
e
finally
:
del
__local__
.
db
return
wraps
...
...
@@ -136,5 +141,3 @@ def where(*args, **kwargs) -> str:
if
args
:
result
.
extend
([
x
for
x
in
args
if
x
])
return
f
"where {' and '.join(result)}"
if
result
else
''
framework/
__
env_config.py
→
framework/env_config.py
View file @
8f75bef3
import
os
import
re
from
functools
import
partial
,
reduce
from
.base
import
*
from
functools
import
partial
import
yaml
from
.base
import
*
has_regex_module
=
False
ENV_VAR_MATCHER
=
re
.
compile
(
...
...
@@ -60,12 +60,9 @@ def env_var_constructor(loader, node, raw=False):
raw_value
=
loader
.
construct_scalar
(
node
)
# detect and error on recursive environment variables
if
not
has_regex_module
and
RECURSIVE_ENV_VAR_MATCHER
.
match
(
raw_value
):
# pragma: no cover
raise
Exception
(
"Nested environment variable lookup requires the `regex` module"
)
if
not
has_regex_module
and
RECURSIVE_ENV_VAR_MATCHER
.
match
(
raw_value
):
# pragma: no cover
raise
Exception
(
"Nested environment variable lookup requires the `regex` module"
)
value
=
ENV_VAR_MATCHER
.
sub
(
_replace_env_var
,
raw_value
)
if
value
==
raw_value
:
return
value
# avoid recursion
...
...
@@ -92,7 +89,7 @@ yaml.add_implicit_resolver(
config
=
build_config
()
def
get_config
(
module
:
str
):
def
get_config
(
module
:
str
=
None
):
result
=
config
if
module
:
for
name
in
module
.
split
(
'.'
):
...
...
framework/injectable.py
View file @
8f75bef3
import
os
,
sys
import
os
from
functools
import
partial
,
wraps
from
importlib
import
import_module
from
inspect
import
signature
,
Parameter
from
functools
import
partial
,
wraps
from
typing
import
List
,
get_origin
,
get_args
from
types
import
GenericAlias
from
typing
import
get_origin
,
get_args
from
framework.base
import
get_project_path
__COMPONENT_CLASS
=
[]
...
...
framework/
__
logger.py
→
framework/logger.py
View file @
8f75bef3
import
os
from
logging
import
config
as
cf
,
getLogger
from
.__env_config
import
config
from
.base
import
get_project_path
from
framework.env_config
import
get_
config
from
framework
.base
import
get_project_path
def
build_logger
(
config
,
name
=
'root'
):
...
...
@@ -14,5 +14,5 @@ def build_logger(config, name='root'):
return
getLogger
(
name
)
if
'framework'
in
config
and
'logger'
in
config
[
'framework'
]:
logger
=
build_logger
(
config
[
'framework'
][
'logger'
],
name
=
config
[
'framework'
][
'logger'
][
'use'
])
config
=
get_config
(
__name__
)
_log
=
build_logger
(
config
,
name
=
config
[
'use'
]
if
'use'
in
config
else
None
)
if
config
else
None
main.py
View file @
8f75bef3
...
...
@@ -4,8 +4,8 @@ from api import AssetOptimize, AssetRisk
@
autowired
def
start
(
optimize
:
AssetOptimize
=
None
,
risk
:
AssetRisk
=
None
):
#
pool = optimize.get_optimize_pool(parse_date('2022-11-07'))
#
logger.info(pool)
pool
=
optimize
.
get_optimize_pool
(
parse_date
(
'2022-11-07'
))
logger
.
info
(
pool
)
risk
.
is_risk
(
1
,
parse_date
(
'2022-11-07'
))
...
...
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