Exemplo n.º 1
0
def import_fp(fp_file_name):

    dataset_dict = {}
    i = 0
    with open('survey_datasets.csv') as survey_datasets:
        for line in survey_datasets:
            if i > 0:
                sline = line.split(',')
                dataset_dict[sline[4]] = sline
            i += 1

    #Load datasets

    with open(fp_file_name) as fp_file:
        for line in fp_file:
            sline = line.split(';')
            source_dataset_name = sline[0].replace('.g', '').replace('\n', '')
            target_dataset_name = sline[1].replace('.g', '').replace('\n', '')
            try:
                source_dataset = Dataset.objects.get(nick=source_dataset_name)
            except:
                source_dataset = create_dataset(dataset_dict[source_dataset_name])
            try:
                target_dataset = Dataset.objects.get(nick=target_dataset_name)
            except:
                target_dataset = create_dataset(dataset_dict[target_dataset_name])
            similarity_source = Similarity.objects.filter(source_dataset=source_dataset, target_dataset=target_dataset)
            similarity_target = Similarity.objects.filter(source_dataset=target_dataset, target_dataset=source_dataset)
            for i in range(3 - len(similarity_source) - len(similarity_target)):
            	print 'Creating similarity for %s - %s' % (source_dataset.nick, target_dataset.nick)
                similarity = Similarity()
                similarity.source_dataset = source_dataset
                similarity.target_dataset = target_dataset
                similarity.similarity = None
                similarity.save()
            try:
                dataset = Dataset.objects.get(datahub_url=sline[1])
                dataset.nick = sline[4]
                dataset.save()
            except Exception as e:
                print e
                print sline[1]

with open('relations.csv') as f:
    for line in f:
        sline = line.split(';')
        source_dataset = Dataset.objects.get(nick=sline[0])
        target_dataset = Dataset.objects.get(nick=sline[1])
        similarity_source = Similarity.objects.filter(source_dataset=source_dataset, target_dataset=target_dataset)
        similarity_target = Similarity.objects.filter(source_dataset=target_dataset, target_dataset=source_dataset)
        if len(similarity_target) <= 0:
            for i in range(3 - len(similarity_source)):
                print 'Creating similarity for %s - %s' % (source_dataset.nick, target_dataset.nick)
                similarity = Similarity()
                similarity.source_dataset = source_dataset
                similarity.target_dataset = target_dataset
                similarity.similarity = None
                similarity.save()
        else:
            for i in range(3 - len(similarity_target)):
                print 'Creating similarity for %s - %s' % (target_dataset.nick, source_dataset.nick)
                similarity = Similarity()
                similarity.source_dataset = source_dataset
                similarity.target_dataset = target_dataset
                similarity.similarity = None
                similarity.save()