Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solvers-acuk-m
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
Takhir Fakhrutdinov
solvers-acuk-m
Commits
800154ce
Commit
800154ce
authored
Oct 26, 2022
by
Takhir Fakhrutdinov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Косяк в eopjson
parent
589aa849
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
16 deletions
+23
-16
eopfile.py
fte/lib/libpy/parsers/eopfile.py
+9
-3
test_factory.py
fte/loader/test/test_factory.py
+14
-13
No files found.
fte/lib/libpy/parsers/eopfile.py
View file @
800154ce
...
...
@@ -68,7 +68,7 @@ def _get_trackcrc(meas):
return
hs
.
md5
(
s
.
encode
(
'utf8'
))
.
hexdigest
()
# Формирование строки для типа meas_t
def
_get_meas_t
(
meas
):
def
_get_meas_t
(
meas
,
trackid
):
""" Метод. Формирование строки для записи трека в БД
Args:
...
...
@@ -83,8 +83,14 @@ def _get_meas_t(meas):
:linenos:
:caption: _get_meas_t
"""
ms
,
mags
,
files
,
eop
,
tb
,
te
=
list
(),
list
(),
list
(),
list
(),
datetime
.
max
,
datetime
.
min
ms
,
mags
,
files
,
eop
,
tb
,
te
,
_times
=
list
(),
list
(),
list
(),
list
(),
datetime
.
max
,
datetime
.
min
,
set
()
for
m
in
meas
:
if
m
[
'utc'
]
in
_times
:
logger
.
warning
(
'Duplicate time:
%
s in track:
%
s'
,
m
[
'utc'
],
trackid
)
continue
_times
.
add
(
m
[
'utc'
])
tm
=
datetime
.
strptime
(
m
[
'utc'
],
'
%
d/
%
m/
%
Y
%
H:
%
M:
%
S.
%
f'
)
files
.
append
(
m
[
'filename'
])
tb
,
te
=
min
(
tb
,
tm
),
max
(
te
,
tm
)
...
...
@@ -111,7 +117,7 @@ def parsefile(f):
if
not
siteid
:
siteid
=
t
[
'siteid'
]
b
=
t
.
get
(
'bind'
)
tb
,
te
,
avg_m
,
ms
,
files
,
eop
=
_get_meas_t
(
t
[
'meas'
])
tb
,
te
,
avg_m
,
ms
,
files
,
eop
=
_get_meas_t
(
t
[
'meas'
]
,
t
[
'trackid'
]
)
tbeg
,
tend
,
cnt
=
min
(
tbeg
,
tb
),
max
(
tend
,
te
),
len
(
t
[
'meas'
])
mcnt
+=
cnt
# Формируем проводку
...
...
fte/loader/test/test_factory.py
View file @
800154ce
#!/
usr/local/bin/python3
#!/
opt/local/bin/python
# -*- coding: utf-8 -*-
from
libpy.fileFactory
import
factory
#
from libpy.fileFactory import factory
import
sys
import
os
import
io
...
...
@@ -43,11 +43,11 @@ if __name__ == '__main__':
logger
=
logging
.
getLogger
(
''
)
f
=
io
.
StringIO
(
sys
.
stdin
.
read
())
f
.
seek
(
0
)
json
.
load
(
f
)
f
.
seek
(
0
)
t
=
factory
.
detect_file
(
f
)
if
not
t
:
#
f.seek(0)
#
json.load(f)
#
f.seek(0)
#
t = factory.detect_file(f)
if
not
False
:
shema
=
{
"type"
:
"array"
,
"items"
:
{
...
...
@@ -73,9 +73,7 @@ if __name__ == '__main__':
"type"
:
"object"
,
"required"
:
[
"siteid"
,
"nightid"
,
"filename"
,
"exp_num"
,
"obstime"
,
"crops"
,
"ast_ra_j2000"
,
"ast_dec_j2000"
,
"ast_rms_ra"
,
"ast_rms_dec"
,
"ast_orientation"
,
"limmag"
,
"limmag_error"
,
"phot_zero_error"
,
"phot_zero"
,
"sky_level"
,
"seeing"
"ra_j2000"
,
"dec_j2000"
,
"orientation"
,
],
"properties"
:
{
"siteid"
:
{
"$ref"
:
"#/$defs/integer"
},
...
...
@@ -87,8 +85,11 @@ if __name__ == '__main__':
"ast_ra_j2000"
:
{
"$ref"
:
"#/$defs/number"
},
"ast_dec_j2000"
:
{
"$ref"
:
"#/$defs/number"
},
"ast_rms_ra"
:
{
"$ref"
:
"#/$defs/number"
},
"ast_rms_dec"
:
{
"$ref"
:
"#/$defs/number"
},
"ast_orientation"
:
{
"$ref"
:
"#/$defs/number"
},
"ast_rms_dec"
:
{
"$ref"
:
"#/$defs/number"
},
"ra_j2000"
:
{
"$ref"
:
"#/$defs/number"
},
"dec_j2000"
:
{
"$ref"
:
"#/$defs/number"
},
"orientation"
:
{
"$ref"
:
"#/$defs/number"
},
"limmag"
:
{
"$ref"
:
"#/$defs/number"
},
"limmag_error"
:
{
"$ref"
:
"#/$defs/number"
},
"phot_zero_error"
:
{
"$ref"
:
"#/$defs/number"
},
...
...
@@ -107,13 +108,13 @@ if __name__ == '__main__':
"$defs"
:
{
"datetime"
:
{
"type"
:
"string"
,
"pattern"
:
"^
\\
d{2}
\\
/
\\
d{2}
\\
/
\\
d{4}
\\
s
\\
d{2}
\\
:
\\
d{2}
\\
:
\\
d{2}(
\\
.
\\
d+)?$"
},
"integer"
:
{
"type"
:
"string"
,
"pattern"
:
"^[-+]?
\\
d+$"
},
"number"
:
{
"
type"
:
"string"
,
"pattern"
:
"^[-+]?[0-9]*
\\
.?[0-9]+([eE][-+]?[0-9]+)?$"
},
"number"
:
{
"
anyOf"
:[{
"type"
:
"string"
,
"pattern"
:
"^[-+]?[0-9]*
\\
.?[0-9]+([eE][-+]?[0-9]+)?$"
},{
"type"
:
"number"
}]
},
"base64"
:
{
"type"
:
"string"
,
"pattern"
:
"^(?=(.{4})*$)[A-Za-z0-9+
\\
/]*={0,2}$"
}
}
}
f
.
seek
(
0
)
#
f.seek(0)
js
.
validate
(
json
.
load
(
f
),
shema
)
...
...
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