def toCSV(distributions, parent):
def sortDates(datearray):
return list(
sorted(
map(
lambda x: datetime.strptime(x,"%Y-%m-%d"),
datearray
)
)
)
from datetime import datetime, MAXYEAR
lowestStartdate = datetime(MAXYEAR,1,1)
result = ""
for distro in distributions:
import strings
dates = sortDates(distro[strings.dates])
enddate = ""
dateformat = "%Y.%m.%d"
if not distro[strings.status] == strings.active:
enddate = dates[-1].strftime(dateformat)
retuple = toCSV(distro[strings.children],distro[strings.name])
startdate = dates[0]
if retuple.lowestStartdate < startdate:
startdate = retuple.lowestStartdate
if startdate < lowestStartdate:
lowestStartdate = startdate
result += retuple.result +csv(
distro[strings.name],
parent,
startdate.strftime(dateformat),
enddate,
distro[strings.image] if len(distro[strings.children]) > 1 else ""
,""
)
from collections import namedtuple
retuple = namedtuple('Retuple', ['result', 'lowestStartdate'])
return retuple(result, lowestStartdate)
评论列表
文章目录