"source/git@gitlab.pirati.cz:va-fighters/ui-styleguide.git" did not exist on "d58883bc610607a5151f0c5ce6aae179854c4978"
Select Git revision
-
jan.bednarik authoredjan.bednarik authored
functions.py NaN GiB
from wagtail.blocks import StructValue
from shared.blocks import ProgramItemBlock
from .getters import get_issue_list, get_issue_overall_percentage
def fill_data_from_redmine_for_page(page):
"""
Naplní hondnotu completion_percentage a program_items pro RedmineProgramBlock
pro danou Page (musí mít atribut content s blockem redmine_program_block)
"""
for program_block in page.content:
if program_block.block_type == "redmine_program_block":
redmine_issue_id = program_block.value["redmine_issue"]
fill_overall_percentage_from_redmine(program_block.value, redmine_issue_id)
fill_program_items_from_redmine(program_block.value, redmine_issue_id)
def fill_overall_percentage_from_redmine(program_block_value: dict, issue_id: int):
"""
Naplní hondnotu completion_percentage pro RedmineProgramBlock hodnoutou z Redmine.
"""
program_block_value["completion_percentage"] = get_issue_overall_percentage(
issue_id
)
def fill_program_items_from_redmine(program_block_value: dict, issue_id: int):
"""
Naplní hondnotu program_items pro RedmineProgramBlock. Nejdříve hodnotu (list)
promaže a pak z getných issues naplní pomocí StructValue
"""
issue_list = get_issue_list(issue_id)
program_block_value["program_items"].clear()
for issue in issue_list:
sv = StructValue(ProgramItemBlock)
sv.update(
{
"completion_percentage": issue.get("done_ratio", None),
"title": issue.get("subject", ""),
"issue_link": "https://redmine.pirati.cz/issues/{}".format(
issue.get("id", "")
),
}
)
program_block_value["program_items"].append(sv)