71 lines
1.9 KiB
Python
71 lines
1.9 KiB
Python
|
import logging
|
||
|
|
||
|
class ResultRow:
|
||
|
def __init__(self, firstName, lastName, club, id, group, class_, dance, place, placeTo):
|
||
|
self.firstName = firstName
|
||
|
self.lastName = lastName
|
||
|
self.name = f'{firstName} {lastName}'
|
||
|
self.club = club
|
||
|
self.id = id
|
||
|
self.group = group
|
||
|
self.class_ = class_
|
||
|
self.dance = dance
|
||
|
self.place = place
|
||
|
self.placeTo = placeTo
|
||
|
|
||
|
class ResultPerson:
|
||
|
def __init__(self, firstName, lastName, club, id = None):
|
||
|
self.firstName = firstName
|
||
|
self.lastName = lastName
|
||
|
self.name = f'{firstName} {lastName}'
|
||
|
self.club = club
|
||
|
self.id = id
|
||
|
|
||
|
@staticmethod
|
||
|
def extractFromResultRow(row: ResultRow):
|
||
|
return ResultPerson(
|
||
|
firstName=row.firstName,
|
||
|
lastName=row.lastName,
|
||
|
club=row.club
|
||
|
)
|
||
|
|
||
|
class CompetitionResult:
|
||
|
def __init__(self, dance, class_, place, placeTo, id):
|
||
|
self.dance = dance
|
||
|
self.class_ = class_
|
||
|
self.place = place
|
||
|
self.placeTo = placeTo
|
||
|
self.id = int(id)
|
||
|
|
||
|
@staticmethod
|
||
|
def extractFromResultRow(row: ResultRow):
|
||
|
return CompetitionResult(
|
||
|
dance=row.dance,
|
||
|
class_=row.class_,
|
||
|
place=row.place, placeTo=row.placeTo,
|
||
|
id=row.id
|
||
|
)
|
||
|
|
||
|
class CSVExtractor:
|
||
|
def __init__(self):
|
||
|
self.l = logging.getLogger('solo_turnier.worker')
|
||
|
|
||
|
def mapCSVImport(self, imported) -> list[ResultRow]:
|
||
|
ret = []
|
||
|
|
||
|
def __processRow(row):
|
||
|
result = ResultRow(
|
||
|
dance=row[4],
|
||
|
id=row[5],
|
||
|
firstName=row[6], lastName=row[7],
|
||
|
club=row[10],
|
||
|
place=row[12], placeTo=row[13],
|
||
|
group=row[15], class_=row[16]
|
||
|
)
|
||
|
ret.append(result)
|
||
|
|
||
|
for row in imported['data']:
|
||
|
__processRow(row)
|
||
|
|
||
|
return ret
|