Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
J
jr
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Jiří Kalvoda
jr
Commits
2478490c
Commit
2478490c
authored
Jul 16, 2024
by
Jiří Kalvoda
Browse files
Options
Downloads
Patches
Plain Diff
MainServer: prev_data
parent
dc91f7a6
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
prog/communication.py
+27
-4
27 additions, 4 deletions
prog/communication.py
with
27 additions
and
4 deletions
prog/communication.py
+
27
−
4
View file @
2478490c
...
@@ -237,17 +237,17 @@ class MainServer(FuncCaller):
...
@@ -237,17 +237,17 @@ class MainServer(FuncCaller):
self
.
_download_server
=
download_server
.
DownloadServer
(
s
)
self
.
_download_server
=
download_server
.
DownloadServer
(
s
)
return
self
.
_download_server
return
self
.
_download_server
async
def
_tree_walker
(
self
,
condition
,
worker
):
async
def
_tree_walker
(
self
,
condition
,
worker
,
reverse
=
False
):
d
=
"
data/realtime
"
d
=
"
data/realtime
"
for
d_Y_m_d
in
sorted
(
os
.
listdir
(
d
)):
for
d_Y_m_d
in
sorted
(
os
.
listdir
(
d
)
,
reverse
=
reverse
):
path
=
d_Y_m_d
path
=
d_Y_m_d
dt
=
path_to_dt
(
path
)
dt
=
path_to_dt
(
path
)
if
await
condition
(
dt
,
datetime
.
timedelta
(
days
=
1
)):
if
await
condition
(
dt
,
datetime
.
timedelta
(
days
=
1
)):
for
d_H
in
sorted
(
os
.
listdir
(
d
+
"
/
"
+
path
)):
for
d_H
in
sorted
(
os
.
listdir
(
d
+
"
/
"
+
path
)
,
reverse
=
reverse
):
path
=
d_Y_m_d
+
"
/
"
+
d_H
path
=
d_Y_m_d
+
"
/
"
+
d_H
dt
=
path_to_dt
(
path
)
dt
=
path_to_dt
(
path
)
if
await
condition
(
dt
,
datetime
.
timedelta
(
hours
=
1
)):
if
await
condition
(
dt
,
datetime
.
timedelta
(
hours
=
1
)):
for
d_M_S
in
sorted
(
os
.
listdir
(
d
+
"
/
"
+
path
)):
for
d_M_S
in
sorted
(
os
.
listdir
(
d
+
"
/
"
+
path
)
,
reverse
=
reverse
):
path
=
d_Y_m_d
+
"
/
"
+
d_H
+
"
/
"
+
d_M_S
path
=
d_Y_m_d
+
"
/
"
+
d_H
+
"
/
"
+
d_M_S
dt
=
path_to_dt
(
path
)
dt
=
path_to_dt
(
path
)
await
worker
(
dt
)
await
worker
(
dt
)
...
@@ -278,6 +278,21 @@ class MainServer(FuncCaller):
...
@@ -278,6 +278,21 @@ class MainServer(FuncCaller):
return
r
.
val
return
r
.
val
return
None
return
None
async
def
list_prev_realtime_data
(
self
,
dt_from
:
datetime
):
class
Return
(
Exception
):
def
__init__
(
self
,
val
):
self
.
val
=
val
async
def
condition
(
dt
,
delta
):
return
dt_intersect
(
dt_minf
,
dt_from
,
dt
,
delta
)
async
def
worker
(
dt
):
if
dt
<
dt_from
:
raise
Return
(
dt
)
try
:
await
self
.
_tree_walker
(
condition
,
worker
,
reverse
=
True
)
except
Return
as
r
:
return
r
.
val
return
None
@server_exec
()
@server_exec
()
async
def
get_data
(
self
,
dt
:
datetime
.
datetime
):
async
def
get_data
(
self
,
dt
:
datetime
.
datetime
):
path
=
"
data/realtime/
"
+
dt_to_path
(
dt
)
path
=
"
data/realtime/
"
+
dt_to_path
(
dt
)
...
@@ -298,6 +313,14 @@ class MainServer(FuncCaller):
...
@@ -298,6 +313,14 @@ class MainServer(FuncCaller):
else
:
else
:
return
next_dt
,
await
self
.
get_data
(
dt
)
return
next_dt
,
await
self
.
get_data
(
dt
)
@server_exec
()
async
def
get_prev_data
(
self
,
dt
:
datetime
.
datetime
):
prev_dt
=
await
self
.
list_prev_realtime_data
(
dt
)
if
prev_dt
is
None
:
return
None
else
:
return
prev_dt
,
await
self
.
get_data
(
dt
)
@server_exec
()
@server_exec
()
async
def
get_preprocessed_data
(
self
,
dt
:
datetime
.
datetime
,
route_id
:
str
):
async
def
get_preprocessed_data
(
self
,
dt
:
datetime
.
datetime
,
route_id
:
str
):
assert
all
(
i
.
isalnum
()
for
i
in
route_id
)
assert
all
(
i
.
isalnum
()
for
i
in
route_id
)
...
...
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