svg.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:distrowatch1graph1svg 作者: jappeace 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号