Starta på søke tui
This commit is contained in:
parent
24f8c30c81
commit
f1612cf838
@ -9,6 +9,7 @@ import iof_xml
|
|||||||
import pdf
|
import pdf
|
||||||
from pdf import format_m_s
|
from pdf import format_m_s
|
||||||
from rich import print
|
from rich import print
|
||||||
|
import search_tui
|
||||||
|
|
||||||
# Main entrypoint for now. Cli with two options; init will make the files needed and run will start the program from the specified directory
|
# Main entrypoint for now. Cli with two options; init will make the files needed and run will start the program from the specified directory
|
||||||
def main():
|
def main():
|
||||||
@ -27,6 +28,10 @@ def main():
|
|||||||
parser_init.add_argument('--port', required=False, dest='port', action='store', help='specify a serial port')
|
parser_init.add_argument('--port', required=False, dest='port', action='store', help='specify a serial port')
|
||||||
parser_init.add_argument('--xml', required=False, dest='xml_path', action='store', default=None, help='Where the xml result file should be saved')
|
parser_init.add_argument('--xml', required=False, dest='xml_path', action='store', default=None, help='Where the xml result file should be saved')
|
||||||
|
|
||||||
|
parser_init = subparsers.add_parser('viewer', help='View otime data')
|
||||||
|
parser_init.add_argument('--dir', required=False, dest='dir', action='store', default='./', help='specify a directory')
|
||||||
|
parser_init.add_argument('--xml', required=False, dest='xml_path', action='store', default=None, help='Where the xml result file should be saved')
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
if not args.xml_path:
|
if not args.xml_path:
|
||||||
@ -37,6 +42,8 @@ def main():
|
|||||||
init_dir(args.dir, args.entries_file, args.courses_file)
|
init_dir(args.dir, args.entries_file, args.courses_file)
|
||||||
case 'run':
|
case 'run':
|
||||||
run(args.port, args.dir, args.xml_path)
|
run(args.port, args.dir, args.xml_path)
|
||||||
|
case 'viewer':
|
||||||
|
search_tui.main(args.dir)
|
||||||
|
|
||||||
def init_dir(project_dir, entries_xml_file, courses_xml_file):
|
def init_dir(project_dir, entries_xml_file, courses_xml_file):
|
||||||
# Lager mappe med en config fil, en csv fil med løpere og en fil med mtr data
|
# Lager mappe med en config fil, en csv fil med løpere og en fil med mtr data
|
||||||
|
30
otime/search_tui.py
Normal file
30
otime/search_tui.py
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
from textual.app import App, ComposeResult
|
||||||
|
from textual.widgets import DataTable
|
||||||
|
import otime
|
||||||
|
import file_io
|
||||||
|
from pdf import format_m_s
|
||||||
|
|
||||||
|
global ROWS
|
||||||
|
class TableApp(App):
|
||||||
|
def compose(self) -> ComposeResult:
|
||||||
|
yield DataTable()
|
||||||
|
|
||||||
|
def on_mount(self) -> None:
|
||||||
|
global ROWS
|
||||||
|
table = self.query_one(DataTable)
|
||||||
|
table.add_columns(*ROWS[0])
|
||||||
|
table.add_rows(ROWS[1:])
|
||||||
|
|
||||||
|
def main(path):
|
||||||
|
event = file_io.event_from_yaml_and_csv(path + '/config.yaml', path + '/mtr.yaml', path + '/runners.csv')
|
||||||
|
result = event.get_result()
|
||||||
|
global ROWS
|
||||||
|
ROWS = []
|
||||||
|
for o_class in result:
|
||||||
|
ROWS += [(str(i.id), str(i.place), i.fullname(), i.o_class, i.club, str(i.card_id), format_m_s(i.total_time), str(i.controls)) for i in o_class.runner_results]
|
||||||
|
print(ROWS)
|
||||||
|
app = TableApp()
|
||||||
|
app.run()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Loading…
Reference in New Issue
Block a user