Add Redmine API token authentication
This commit is contained in:
@@ -14,7 +14,9 @@ class CSVFormatter(Formatter):
|
||||
def format(self, rows: List[ReportRow]) -> str:
|
||||
output = io.StringIO()
|
||||
writer = csv.writer(output, dialect="excel")
|
||||
writer.writerow(["Project", "Version", "Issue ID", "Subject", "Status", "Spent Time"])
|
||||
writer.writerow(
|
||||
["Project", "Version", "Issue ID", "Subject", "Status", "Spent Time"]
|
||||
)
|
||||
for r in rows:
|
||||
writer.writerow(
|
||||
[
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from typing import List, Dict, Any
|
||||
from typing import Dict, List
|
||||
from .base import Formatter
|
||||
from ..types import ReportRow
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import os
|
||||
from importlib import resources
|
||||
from typing import List
|
||||
from odf.opendocument import load
|
||||
from odf.opendocument import OpenDocument, load
|
||||
from odf.text import P
|
||||
from odf.table import Table, TableColumn, TableRow, TableCell
|
||||
from odf.style import Style, TableColumnProperties, TableCellProperties
|
||||
@@ -21,7 +20,7 @@ class ODTFormatter(Formatter):
|
||||
self.from_date = from_date
|
||||
self.to_date = to_date
|
||||
|
||||
def format(self, rows: List[ReportRow]) -> "OpenDocument":
|
||||
def format(self, rows: List[ReportRow]) -> OpenDocument:
|
||||
"""
|
||||
Форматирует данные в объект OpenDocument.
|
||||
"""
|
||||
@@ -44,7 +43,9 @@ class ODTFormatter(Formatter):
|
||||
# Стиль ячеек
|
||||
cell_style_name = "TableCellStyle"
|
||||
cell_style = Style(name=cell_style_name, family="table-cell")
|
||||
cell_props = TableCellProperties(padding="0.04in", border="0.05pt solid #000000")
|
||||
cell_props = TableCellProperties(
|
||||
padding="0.04in", border="0.05pt solid #000000"
|
||||
)
|
||||
cell_style.addElement(cell_props)
|
||||
doc.automaticstyles.addElement(cell_style)
|
||||
|
||||
@@ -102,7 +103,9 @@ class ODTFormatter(Formatter):
|
||||
# Ячейка "Проект" - только в первой строке всего проекта
|
||||
if first_version_in_project and first_row_in_version:
|
||||
cell_project = TableCell(stylename=cell_style_name)
|
||||
cell_project.setAttribute("numberrowsspanned", str(total_project_rows))
|
||||
cell_project.setAttribute(
|
||||
"numberrowsspanned", str(total_project_rows)
|
||||
)
|
||||
p = P(stylename=para_style_name, text=project)
|
||||
cell_project.addElement(p)
|
||||
row.addElement(cell_project)
|
||||
@@ -110,7 +113,9 @@ class ODTFormatter(Formatter):
|
||||
# Ячейка "Версия" - только в первой строке каждой версии
|
||||
if first_row_in_version:
|
||||
cell_version = TableCell(stylename=cell_style_name)
|
||||
cell_version.setAttribute("numberrowsspanned", str(row_span_version))
|
||||
cell_version.setAttribute(
|
||||
"numberrowsspanned", str(row_span_version)
|
||||
)
|
||||
p = P(stylename=para_style_name, text=version)
|
||||
cell_version.addElement(p)
|
||||
row.addElement(cell_version)
|
||||
|
||||
Reference in New Issue
Block a user