Skip to content
This repository was archived by the owner on Dec 21, 2023. It is now read-only.
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Add rewrite version
  • Loading branch information
PythonCoderAS authored Mar 18, 2022
commit 4fc7ab2385c22238124485738c8f0ef3c4ba4b14
23 changes: 19 additions & 4 deletions markdowntable/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
from __future__ import print_function, unicode_literals
from dataclasses import dataclass, field
from typing import Iterable

import markdowntable.errors
from markdowntable.row import Row, Column
from markdowntable.table import Table

@dataclass
class Table:
headers: list[str] = field(default_factory=list)
rows: list[Iterable[str]] = field(default_factory=list, init=False)

def add_row(self, row: Iterable[str]):
self.rows.append(row)

def set_headers(self, headers: list[str]):
self.headers = headers

def get_table(self) -> str:
header_row = "|" + "|".join(self.headers) + "|"
separator_row = "|" + "|".join(["-"] * len(self.headers)) + "|"
body_rows = [f"|{'|'.join(row)}|" for row in self.rows]
return "\n".join([header_row, separator_row] + body_rows)