Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
G
geomag-algorithms
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
ghsc
National Geomagnetism Program
geomag-algorithms
Commits
d8b05e53
Commit
d8b05e53
authored
4 years ago
by
Jeremy M Fee
Browse files
Options
Downloads
Plain Diff
Merge branch 'webserviceQuery' into 'master'
Webservice query See merge request
!46
parents
d71af8ba
c32bb4b6
No related branches found
No related tags found
2 merge requests
!146
Release CMO metadata to production
,
!46
Webservice query
Pipeline
#27523
failed
4 years ago
Stage: test
Stage: integration
Stage: scan
Stage: deploy
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
geomagio/api/db/metadata_table.py
+17
-10
17 additions, 10 deletions
geomagio/api/db/metadata_table.py
geomagio/api/secure/MetadataQuery.py
+3
-5
3 additions, 5 deletions
geomagio/api/secure/MetadataQuery.py
geomagio/api/secure/metadata.py
+5
-1
5 additions, 1 deletion
geomagio/api/secure/metadata.py
with
25 additions
and
16 deletions
geomagio/api/db/metadata_table.py
+
17
−
10
View file @
d8b05e53
...
@@ -83,8 +83,8 @@ async def create_metadata(meta: Metadata) -> Metadata:
...
@@ -83,8 +83,8 @@ async def create_metadata(meta: Metadata) -> Metadata:
query
=
metadata
.
insert
()
query
=
metadata
.
insert
()
values
=
meta
.
datetime_dict
(
exclude
=
{
"
id
"
},
exclude_none
=
True
)
values
=
meta
.
datetime_dict
(
exclude
=
{
"
id
"
},
exclude_none
=
True
)
query
=
query
.
values
(
**
values
)
query
=
query
.
values
(
**
values
)
meta
data
.
id
=
await
database
.
execute
(
query
)
meta
.
id
=
await
database
.
execute
(
query
)
return
meta
data
return
meta
async
def
delete_metadata
(
id
:
int
)
->
None
:
async
def
delete_metadata
(
id
:
int
)
->
None
:
...
@@ -102,21 +102,24 @@ async def get_metadata(
...
@@ -102,21 +102,24 @@ async def get_metadata(
category
:
MetadataCategory
=
None
,
category
:
MetadataCategory
=
None
,
starttime
:
datetime
=
None
,
starttime
:
datetime
=
None
,
endtime
:
datetime
=
None
,
endtime
:
datetime
=
None
,
created_after
:
datetime
=
None
,
created_before
:
datetime
=
None
,
data_valid
:
bool
=
None
,
data_valid
:
bool
=
None
,
metadata_valid
:
bool
=
None
,
metadata_valid
:
bool
=
None
,
):
):
query
=
metadata
.
select
()
query
=
metadata
.
select
()
if
id
is
not
None
:
if
id
:
query
=
query
.
where
(
metadata
.
c
.
id
==
id
)
query
=
query
.
where
(
metadata
.
c
.
id
==
id
)
if
category
:
if
category
:
query
=
query
.
where
(
metadata
.
c
.
category
==
category
)
query
=
query
.
where
(
metadata
.
c
.
category
==
category
)
if
network
or
station
or
channel
or
location
:
if
network
:
query
=
(
query
=
query
.
where
(
metadata
.
c
.
network
==
network
)
query
.
where
(
metadata
.
c
.
network
.
like
(
network
or
"
%
"
))
if
station
:
.
where
(
metadata
.
c
.
station
.
like
(
station
or
"
%
"
))
query
=
query
.
where
(
metadata
.
c
.
station
==
station
)
.
where
(
metadata
.
c
.
channel
.
like
(
channel
or
"
%
"
))
if
channel
:
.
where
(
metadata
.
c
.
location
.
like
(
location
or
"
%
"
))
query
=
query
.
where
(
metadata
.
c
.
channel
.
like
(
channel
))
)
if
location
:
query
=
query
.
where
(
metadata
.
c
.
location
.
like
(
location
))
if
starttime
:
if
starttime
:
query
=
query
.
where
(
query
=
query
.
where
(
or_
(
metadata
.
c
.
endtime
==
None
,
metadata
.
c
.
endtime
>
starttime
)
or_
(
metadata
.
c
.
endtime
==
None
,
metadata
.
c
.
endtime
>
starttime
)
...
@@ -125,6 +128,10 @@ async def get_metadata(
...
@@ -125,6 +128,10 @@ async def get_metadata(
query
=
query
.
where
(
query
=
query
.
where
(
or_
(
metadata
.
c
.
starttime
==
None
,
metadata
.
c
.
starttime
<
endtime
)
or_
(
metadata
.
c
.
starttime
==
None
,
metadata
.
c
.
starttime
<
endtime
)
)
)
if
created_after
:
query
=
query
.
where
(
metadata
.
c
.
created_time
>
created_after
)
if
created_before
:
query
=
query
.
where
(
metadata
.
c
.
created_time
<
created_before
)
if
data_valid
is
not
None
:
if
data_valid
is
not
None
:
query
=
query
.
where
(
metadata
.
c
.
data_valid
==
data_valid
)
query
=
query
.
where
(
metadata
.
c
.
data_valid
==
data_valid
)
if
metadata_valid
is
not
None
:
if
metadata_valid
is
not
None
:
...
...
This diff is collapsed.
Click to expand it.
geomagio/api/secure/MetadataQuery.py
+
3
−
5
View file @
d8b05e53
...
@@ -12,6 +12,8 @@ class MetadataQuery(BaseModel):
...
@@ -12,6 +12,8 @@ class MetadataQuery(BaseModel):
category
:
MetadataCategory
=
None
category
:
MetadataCategory
=
None
starttime
:
UTCDateTime
=
None
starttime
:
UTCDateTime
=
None
endtime
:
UTCDateTime
=
None
endtime
:
UTCDateTime
=
None
created_after
:
UTCDateTime
=
None
created_before
:
UTCDateTime
=
None
network
:
str
=
None
network
:
str
=
None
station
:
str
=
None
station
:
str
=
None
channel
:
str
=
None
channel
:
str
=
None
...
@@ -21,11 +23,7 @@ class MetadataQuery(BaseModel):
...
@@ -21,11 +23,7 @@ class MetadataQuery(BaseModel):
def
datetime_dict
(
self
,
**
kwargs
):
def
datetime_dict
(
self
,
**
kwargs
):
values
=
self
.
dict
(
**
kwargs
)
values
=
self
.
dict
(
**
kwargs
)
for
key
in
[
"
starttime
"
,
"
endtime
"
]:
for
key
in
[
"
starttime
"
,
"
endtime
"
,
"
created_after
"
,
"
created_before
"
]:
if
key
in
values
and
values
[
key
]
is
not
None
:
if
key
in
values
and
values
[
key
]
is
not
None
:
values
[
key
]
=
values
[
key
].
datetime
.
replace
(
tzinfo
=
timezone
.
utc
)
values
[
key
]
=
values
[
key
].
datetime
.
replace
(
tzinfo
=
timezone
.
utc
)
return
values
return
values
@validator
(
"
starttime
"
)
def
set_default_starttime
(
cls
,
starttime
:
UTCDateTime
=
None
)
->
UTCDateTime
:
return
starttime
or
UTCDateTime
()
-
30
*
86400
This diff is collapsed.
Click to expand it.
geomagio/api/secure/metadata.py
+
5
−
1
View file @
d8b05e53
...
@@ -36,7 +36,7 @@ async def create_metadata(
...
@@ -36,7 +36,7 @@ async def create_metadata(
user
:
User
=
Depends
(
require_user
()),
user
:
User
=
Depends
(
require_user
()),
):
):
metadata
=
await
metadata_table
.
create_metadata
(
metadata
)
metadata
=
await
metadata_table
.
create_metadata
(
metadata
)
return
Response
(
metadata
,
status_code
=
201
,
media_type
=
"
application/json
"
)
return
Response
(
metadata
.
json
()
,
status_code
=
201
,
media_type
=
"
application/json
"
)
@router.delete
(
"
/metadata/{id}
"
)
@router.delete
(
"
/metadata/{id}
"
)
...
@@ -51,6 +51,8 @@ async def get_metadata(
...
@@ -51,6 +51,8 @@ async def get_metadata(
category
:
MetadataCategory
=
None
,
category
:
MetadataCategory
=
None
,
starttime
:
UTCDateTime
=
None
,
starttime
:
UTCDateTime
=
None
,
endtime
:
UTCDateTime
=
None
,
endtime
:
UTCDateTime
=
None
,
created_after
:
UTCDateTime
=
None
,
created_before
:
UTCDateTime
=
None
,
network
:
str
=
None
,
network
:
str
=
None
,
station
:
str
=
None
,
station
:
str
=
None
,
channel
:
str
=
None
,
channel
:
str
=
None
,
...
@@ -62,6 +64,8 @@ async def get_metadata(
...
@@ -62,6 +64,8 @@ async def get_metadata(
category
=
category
,
category
=
category
,
starttime
=
starttime
,
starttime
=
starttime
,
endtime
=
endtime
,
endtime
=
endtime
,
created_after
=
created_after
,
created_before
=
created_before
,
network
=
network
,
network
=
network
,
station
=
station
,
station
=
station
,
channel
=
channel
,
channel
=
channel
,
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment