Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F8395554
generate_roadmap_doc.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
generate_roadmap_doc.py
View Options
import
gitlab
from
datetime
import
datetime
YEAR
=
2023
BOARD_URL
=
"https://gitlab-staging.swh.network/groups/swh/-/milestones?sort=name_asc"
ROADMAP_PREFIX
=
"[Roadmap - $GOAL] "
SWH_GROUP
=
25
def
write_header
(
output
):
output
.
write
(
".. _roadmap-current:
\n
"
)
output
.
write
(
f
".. _roadmap-{YEAR}:
\n
"
)
output
.
write
(
"
\n
"
)
output
.
write
(
f
"Roadmap {YEAR}
\n
"
)
output
.
write
(
"============
\n
"
)
output
.
write
(
"
\n
"
)
output
.
write
(
f
"(Version 1.0, last modified {datetime.now().strftime('%Y-%m-
%d
')})
\n
"
)
output
.
write
(
"
\n
"
)
output
.
write
(
"This document provides an overview of the technical roadmap of the Software
\n
"
)
output
.
write
(
f
"Heritage initiative for the year {YEAR}.
\n
"
)
output
.
write
(
"
\n
"
)
output
.
write
(
"Live tracking of the roadmap implementation progress during the year is
\n
"
)
output
.
write
(
"available from a dedicated `GitLab board
\n
"
)
output
.
write
(
f
"<{BOARD_URL}>`_.
\n
"
)
output
.
write
(
"
\n
"
)
output
.
write
(
".. contents::
\n
"
)
output
.
write
(
":depth: 3
\n
"
)
output
.
write
(
"..
\n
"
)
def
write_milestones
(
output
):
gl
=
gitlab
.
Gitlab
.
from_config
(
"staging"
,
[
"./python-gitlab.cfg"
])
gl
.
auth
()
swh_group
=
gl
.
groups
.
get
(
SWH_GROUP
)
_milestones
=
swh_group
.
milestones
.
list
(
get_all
=
True
)
goals
=
[
"Collect"
,
"Preserve"
,
"Share"
,
"Documentation"
,
"Technical Debt"
,
"Tooling and Infrastructure"
,
]
milestones
=
[[]]
*
len
(
goals
)
# group milestones by Goal
for
i
in
range
(
len
(
goals
)):
goal
=
goals
[
i
]
prefix
=
ROADMAP_PREFIX
.
replace
(
"$GOAL"
,
goal
)
.
lower
()
for
milestone
in
_milestones
:
if
milestone
.
title
.
lower
()
.
startswith
(
prefix
):
milestone
.
title
=
milestone
.
title
[
len
(
prefix
)
:]
milestones
[
i
]
.
append
(
milestone
)
# display goals & milestones
for
i
in
range
(
len
(
goals
)):
goal
=
goals
[
i
]
output
.
write
(
"
\n
"
)
output
.
write
(
f
"{goal}
\n
"
)
output
.
write
(
"-"
*
len
(
goal
)
+
"
\n
"
)
output
.
write
(
"
\n
"
)
for
milestone
in
milestones
[
i
]:
output
.
write
(
"
\n
"
)
output
.
write
(
f
"{milestone.title}
\n
"
)
output
.
write
(
"^"
*
len
(
milestone
.
title
)
+
"
\n
"
)
output
.
write
(
"
\n
"
)
output
.
write
(
f
"- `Milestone: <{milestone.web_url}>`__
\n
"
)
output
.
write
(
f
"{milestone.description}
\n
"
)
output
.
write
(
"
\n
"
)
output
=
open
(
f
"docs/roadmap-{YEAR}.rst"
,
"w"
)
write_header
(
output
)
write_milestones
(
output
)
output
.
close
()
File Metadata
Details
Attached
Mime Type
text/x-python
Expires
Jun 4 2025, 7:41 PM (10 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3279263
Attached To
rDSNIP Code snippets
Event Timeline
Log In to Comment