view xenaGetDataset.py @ 42:bc9784300015

more reliable, error handling
author jingchunzhu <jingchunzhu@gmail.com>
date Mon, 27 Jul 2015 12:01:42 -0700
parents 02b0824c7d60
children 3167c1a26101
line wrap: on
line source

#!/usr/bin/env python

import argparse
import re
import urllib2


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("dataHub", type=str)
    parser.add_argument("datasetId", type=str)
    #parser.add_argument("metadatafile", type=str)
    parser.add_argument("datafile", type=str)
    args = parser.parse_args()

    datasetUrlHost = re.sub("/proj/", "/download/", args.dataHub)
    datasetIdTokens = re.split("/", args.datasetId)
    datasetUrl = datasetUrlHost + "/" + "/".join(datasetIdTokens[1:])
    print datasetUrl
    """
    metadataUrl = datasetUrl + ".json"
    mm = urllib2.urlopen(metadataUrl)
    with open(args.metadatafile, "w") as metadata:
        metadata.write(mm.read())
    mm.close()
    """
    dd = urllib2.urlopen(datasetUrl)
    with open(args.datafile, "w") as data:
        data.write(dd.read())
    dd.close()


if __name__ == "__main__":
    main()