Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Roadmap
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
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD 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
Admin message
PlayWallDesktop wird heute 10 Jahre alt!
Show more breadcrumbs
Robert Goldmann
Roadmap
Commits
3f41513a
Commit
3f41513a
authored
May 30, 2019
by
Robert Goldmann
Browse files
Options
Downloads
Patches
Plain Diff
RoadmapAPI: added full json request for roadmap; adapted client;
parent
515d6e19
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
api/RoadmapAPIServer.py
+43
-0
43 additions, 0 deletions
api/RoadmapAPIServer.py
client/RoadmapClient.py
+3
-40
3 additions, 40 deletions
client/RoadmapClient.py
with
46 additions
and
40 deletions
api/RoadmapAPIServer.py
+
43
−
0
View file @
3f41513a
import
json
import
json
from
datetime
import
datetime
from
flask
import
Flask
,
send_from_directory
from
flask
import
Flask
,
send_from_directory
from
flask
import
jsonify
from
flask
import
jsonify
from
gevent.pywsgi
import
WSGIServer
from
gevent.pywsgi
import
WSGIServer
...
@@ -13,6 +14,8 @@ with open("settings.json", "r") as f:
...
@@ -13,6 +14,8 @@ with open("settings.json", "r") as f:
database
=
Database
(
SETTINGS
[
"
database
"
])
database
=
Database
(
SETTINGS
[
"
database
"
])
DEFAULT_DATE
=
datetime
(
2000
,
1
,
1
,
0
,
0
,
0
)
@app.route
(
'
/
'
)
@app.route
(
'
/
'
)
def
index
():
def
index
():
...
@@ -29,6 +32,46 @@ def get_roadmap(roadmapID):
...
@@ -29,6 +32,46 @@ def get_roadmap(roadmapID):
return
jsonify
(
database
.
get_roadmap
(
roadmapID
))
return
jsonify
(
database
.
get_roadmap
(
roadmapID
))
@app.route
(
'
/roadmap/<int:roadmapID>/full
'
,
methods
=
[
'
GET
'
])
def
get_roadmap_fast
(
roadmapID
):
roadmap
=
database
.
get_roadmap
(
roadmapID
)
roadmap
[
"
milestones
"
]
=
database
.
get_milestones
(
roadmapID
)
numberOfOpenMilestones
=
0
for
milestone
in
roadmap
[
"
milestones
"
]:
if
milestone
[
"
DueDate
"
]
==
DEFAULT_DATE
:
milestone
[
"
DueDate
"
]
=
"
-
"
else
:
milestone
[
"
DueDate
"
]
=
datetime
.
strftime
(
milestone
[
"
DueDate
"
],
"
%d.%m.%Y
"
)
if
milestone
[
"
CompletionDate
"
]
==
DEFAULT_DATE
:
milestone
[
"
CompletionDate
"
]
=
"
-
"
else
:
milestone
[
"
CompletionDate
"
]
=
datetime
.
strftime
(
milestone
[
"
CompletionDate
"
],
"
%d.%m.%Y
"
)
if
milestone
[
"
Status
"
]
==
0
:
numberOfOpenMilestones
+=
1
milestone
[
"
tasks
"
]
=
database
.
get_tasks
(
milestone
[
"
ID
"
])
numberOfOpenTasks
=
0
for
task
in
milestone
[
"
tasks
"
]:
task
[
"
subtasks
"
]
=
database
.
get_sub_tasks
(
task
[
"
ID
"
])
numberOfOpenSubTasks
=
0
for
subtask
in
task
[
"
subtasks
"
]:
if
subtask
[
"
Status
"
]
==
0
:
numberOfOpenSubTasks
+=
1
task
[
"
numberOfOpenSubTasks
"
]
=
numberOfOpenSubTasks
if
task
[
"
Status
"
]
==
0
:
numberOfOpenTasks
+=
1
milestone
[
"
numberOfOpenTasks
"
]
=
numberOfOpenTasks
roadmap
[
"
numberOfOpenMilestones
"
]
=
numberOfOpenMilestones
return
jsonify
(
roadmap
)
@app.route
(
'
/milestones/<int:roadmapID>
'
,
methods
=
[
'
GET
'
])
@app.route
(
'
/milestones/<int:roadmapID>
'
,
methods
=
[
'
GET
'
])
def
get_milestones
(
roadmapID
):
def
get_milestones
(
roadmapID
):
return
jsonify
(
database
.
get_milestones
(
roadmapID
))
return
jsonify
(
database
.
get_milestones
(
roadmapID
))
...
...
This diff is collapsed.
Click to expand it.
client/RoadmapClient.py
+
3
−
40
View file @
3f41513a
...
@@ -8,7 +8,7 @@ from Localization import LOCALIZATION
...
@@ -8,7 +8,7 @@ from Localization import LOCALIZATION
app
=
Flask
(
__name__
)
app
=
Flask
(
__name__
)
API_URL
=
"
http://127.0.0.1:
5
000
"
API_URL
=
"
http://127.0.0.1:
10
000
"
DEFAULT_DATE
=
datetime
(
2000
,
1
,
1
,
0
,
0
,
0
)
DEFAULT_DATE
=
datetime
(
2000
,
1
,
1
,
0
,
0
,
0
)
...
@@ -38,50 +38,13 @@ def roadmap_by_id(roadmapID):
...
@@ -38,50 +38,13 @@ def roadmap_by_id(roadmapID):
if
roadmapID
<
1
:
if
roadmapID
<
1
:
return
render_template
(
"
error.html
"
,
message
=
LOCALIZATION
[
"
error_param_invalid
"
])
return
render_template
(
"
error.html
"
,
message
=
LOCALIZATION
[
"
error_param_invalid
"
])
roadmap
=
requests
.
get
(
build_url
(
"
roadmap
"
,
roadmapID
)).
json
()
roadmap
=
requests
.
get
(
build_url
(
"
roadmap
"
,
roadmapID
,
"
full
"
)).
json
()
if
roadmap
is
None
:
if
roadmap
is
None
:
return
render_template
(
"
error.html
"
,
message
=
LOCALIZATION
[
"
error_roadmap_not_existing
"
])
return
render_template
(
"
error.html
"
,
message
=
LOCALIZATION
[
"
error_roadmap_not_existing
"
])
roadmap
[
"
milestones
"
]
=
requests
.
get
(
build_url
(
"
milestones
"
,
roadmapID
)).
json
()
numberOfOpenMilestones
=
0
for
milestone
in
roadmap
[
"
milestones
"
]:
dueDate
=
datetime
.
strptime
(
milestone
[
"
DueDate
"
],
"
%a, %d %b %Y %H:%M:%S %Z
"
)
if
dueDate
==
DEFAULT_DATE
:
milestone
[
"
DueDate
"
]
=
"
-
"
else
:
milestone
[
"
DueDate
"
]
=
datetime
.
strftime
(
dueDate
,
"
%d.%m.%Y
"
)
completionDate
=
datetime
.
strptime
(
milestone
[
"
CompletionDate
"
],
"
%a, %d %b %Y %H:%M:%S %Z
"
)
if
completionDate
==
DEFAULT_DATE
:
milestone
[
"
CompletionDate
"
]
=
"
-
"
else
:
milestone
[
"
CompletionDate
"
]
=
datetime
.
strftime
(
completionDate
,
"
%d.%m.%Y
"
)
if
milestone
[
"
Status
"
]
==
0
:
numberOfOpenMilestones
+=
1
milestone
[
"
tasks
"
]
=
requests
.
get
(
build_url
(
"
tasks
"
,
milestone
[
"
ID
"
])).
json
()
numberOfOpenTasks
=
0
for
task
in
milestone
[
"
tasks
"
]:
task
[
"
subtasks
"
]
=
requests
.
get
(
build_url
(
"
subtasks
"
,
task
[
"
ID
"
])).
json
()
numberOfOpenSubTasks
=
0
for
subtask
in
task
[
"
subtasks
"
]:
if
subtask
[
"
Status
"
]
==
0
:
numberOfOpenSubTasks
+=
1
task
[
"
numberOfOpenSubTasks
"
]
=
numberOfOpenSubTasks
if
task
[
"
Status
"
]
==
0
:
numberOfOpenTasks
+=
1
milestone
[
"
numberOfOpenTasks
"
]
=
numberOfOpenTasks
roadmap
[
"
numberOfOpenMilestones
"
]
=
numberOfOpenMilestones
return
render_template
(
"
index.html
"
,
roadmap
=
roadmap
,
localization
=
LOCALIZATION
)
return
render_template
(
"
index.html
"
,
roadmap
=
roadmap
,
localization
=
LOCALIZATION
)
if
__name__
==
"
__main__
"
:
if
__name__
==
"
__main__
"
:
http_server
=
WSGIServer
((
"
0.0.0.0
"
,
1
0
000
),
app
)
http_server
=
WSGIServer
((
"
0.0.0.0
"
,
1
1
000
),
app
)
http_server
.
serve_forever
()
http_server
.
serve_forever
()
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