def csv2markdown(year):
    global_config = mu.mutil.config_load(file_home=__file__)
    print global_config

    local_config = {
        "year": "{}".format(year),
        "id": "iswc-{}".format(year),
    }


    #paper
    filename = "{0}/data/source/{1}-paper.csv".format( global_config["home"], local_config["id"])
    list_paper = load_csv(filename, "author")
    json_output = {"tracks":[],"title": "Open Access Preprint Papers in ISWC {} Proceedings".format(year) }

    map_track = {}

    for paper in list_paper:

        if paper["author"].startswith("#"):
            continue

        if not paper["link_open_access"]:
            continue

        track_title = paper["category"]
        if track_title in map_track:
            track = map_track[track_title]
        else:
            track = {"title":track_title, "papers":[]}
            map_track[track_title] = track
            json_output["tracks"].append(track)

        entry = {
            "title": paper["title"].strip(),
            "author": paper["author"].strip(),
            "abstract": paper["abstract"].strip(),
            "track" : paper["category"],
            "pages" : paper["pages"],
            "link_open_access" : paper["link_open_access"],
            "paper_id_x" : paper["paper_id_x"],
        }
        track["papers"].append(entry)


    #print lib_data.json2text(json_output)

    filename = "{0}/temp/{1}-github-proceeding-papers.json".format( global_config["home"], local_config["id"])
    with open(filename, "w") as f:
        f.write(lib_data.json2text(json_output))


    html_output = pystache.render(template_paper_markdown, json_output)
    filename = "{0}/temp/{1}-github-readme.md".format( global_config["home"], local_config["id"])
    with open(filename, "w") as f:
        f.write(html_output)
def csv2json(year):
    global_config = mu.mutil.config_load(file_home=__file__)
    print global_config

    local_config = {
        "year": "{}".format(year),
        "id": "iswc-{}".format(year),
    }


    #paper-author
    map_role_author={}

    filename = "{0}/data/source/{1}-paper.csv".format( global_config["home"], local_config["id"])
    list_paper = load_csv(filename, "author")

    for paper in list_paper:
        if paper["author"] :

            role = "Author of {}".format(paper["category"])
            if role not in map_role_author:
                map_role_author[role]= set()

            for x in paper["author"].replace(" and ", ",").split(","):
                x = x.strip()
                map_role_author[role].add(x)

    for x in map_role_author["Author of Industry Track Paper"]:
        print x

    #person
    filename = "{0}/data/source/{1}-person.csv".format( global_config["home"], local_config["id"])
    list_person = load_csv(filename, "name")
    map_name_person = {}




    for person in list_person:
        entry = {
            "name": person["name"].strip(),
        }

        for field in ["email","homepage"]:
            if person[field]:
                entry[field] =  person[field].strip()

        if person["organization"]:
            entry["affiliation"] = []
            for x in person["organization"].split(";"):
                x =x.strip()
                entry["affiliation"].append(x)


        key = person["name"].strip()
        if key in map_name_person:
            info = map_name_person[key]
            info.update(entry)
            if person["role_label"]:
                lib_data.list_append_unique(info["holdsRole"], person["role_label"])
        else:
            info = {"holdsRole":[]}
            for role in map_role_author:
                if key in map_role_author[role]:
                    lib_data.list_append_unique(info["holdsRole"], role)

            info.update(entry)
            if person["role_label"]:
                lib_data.list_append_unique(info["holdsRole"], person["role_label"])
            info["id"] = len(map_name_person)+1
            map_name_person[key] = info


    json_output = {"contacts": sorted(map_name_person.values(), key=lambda x: x["id"]) }

    filename = "{0}/data/www/{1}-mobile-person.json".format( global_config["home"], local_config["id"])
    with open(filename, "w") as f:
        f.write(lib_data.json2text(json_output))

    html_output = pystache.render(template_person, json_output)
    filename = "{0}/temp/{1}-mobile-person.html".format( global_config["home"], local_config["id"])
    with open(filename, "w") as f:
        f.write(html_output)






    #paper
    filename = "{0}/data/source/{1}-paper.csv".format( global_config["home"], local_config["id"])
    list_paper = load_csv(filename, "author")
    json_output = {"articles":[]}
    map_name_paper = {}

    for paper in list_paper:

        if paper["author"].startswith("#"):
            continue

        entry = {
            "title": paper["title"].strip(),
            "author": paper["author"].strip(),
            "authors": [],
            "abstract": paper["abstract"].strip(),
            "track" : paper["category"],
            "pages" : paper["pages"],
            "link_open_access" : paper["link_open_access"],
            "paper_id_x" : paper["paper_id_x"],
        }

        entry["id"] = len(json_output["articles"])+1

        json_output["articles"].append(entry)
        map_name_paper[paper["title"]] = entry

        for x in paper["author"].replace(" and ", ",").split(","):
            x = x.strip()
            entry["authors"].append( map_name_person[x]["id"])

    filename = "{0}/data/www/{1}-mobile-paper.json".format( global_config["home"], local_config["id"])
    with open(filename, "w") as f:
        f.write(lib_data.json2text(json_output))

    html_output = pystache.render(template_paper, json_output)
    filename = "{0}/temp/{1}-mobile-paper.html".format( global_config["home"], local_config["id"])
    with open(filename, "w") as f:
        f.write(html_output)







    #event
    filename = "{0}/data/source/{1}-event.csv".format( global_config["home"], local_config["id"])
    list_event = load_csv(filename, "room")
    json_output = {"events":[], "talks":[]}
    map_event_id = {}


    for event in list_event:
        entry = {
            "day": event["start"][8:10],
            "start": event["start"][11:16],
            "end": event["end"][11:16],
            "name" : event["label"],
            "type" : event["event_type"],
            "location" : event["room"],
        }
        if event["event_type"] in ["TalkEvent"]:
            entry["id"] = len(json_output["talks"])+1
            json_output["talks"].append(entry)

            entry["event"]= map_event_id[event["super_event_uri"]]
            entry["paper"]= map_name_paper[event["label"]]["id"]

        else:
            entry["id"] = len(json_output["events"])+1
            json_output["events"].append(entry)

            p = "event_uri"
            if p in event:
                map_event_id[event[p]] = entry["id"]


    filename = "{0}/data/www/{1}-mobile-event.json".format( global_config["home"], local_config["id"])
    with open(filename, "w") as f:
        f.write(lib_data.json2text(json_output))

    html_output = pystache.render(template_event, json_output)
    filename = "{0}/temp/{1}-mobile-event.html".format( global_config["home"], local_config["id"])
    with open(filename, "w") as f:
        f.write(html_output)