def process_candidates():
    reader = codecs.open("candidates.csv", 'r', encoding='utf-8')
    counter = 0
    candidates_ids = []
    for line in reader:
        row = line.split(u',')
        area_name = row[0].title().strip()
        area = area_getter(area_name)
        if area is None:
            print u'no encontré a ' + area_name
            return
        kind_of = row[1].title().strip()
        election_name = kind_of + u' por ' + area.name
        if not Election.objects.filter(name__iexact=election_name):
            print u"no pillé a " + election_name
            # Candidate.objects.filter(id__in=candidates_ids).delete()
            return
        else:
            e = Election.objects.get(name__iexact=election_name)
        name = row[2].title().strip()
        candidate = Candidate(name=name)

        candidate.save()
        candidates_ids.append(candidate.id)
        e.candidates.add(candidate)
        print e, candidate
        try:
            mail = row[6].strip().lower()
        except IndexError:
            mail = None
        if mail:
            contact = CandidacyContact.objects.create(candidate=candidate,
                                                      mail=mail)

        pacto = row[3].strip().title()
        sub_pacto = row[4].strip().title()
        partido = row[5].strip().title()
        if pacto:
            PersonalData.objects.create(candidate=candidate,
                                        label=u'Pacto',
                                        value=pacto)
        if sub_pacto:
            PersonalData.objects.create(candidate=candidate,
                                        label=u'Sub Pacto',
                                        value=sub_pacto)
        if partido:
            PersonalData.objects.create(candidate=candidate,
                                        label=u'Partido',
                                        value=partido)
        send_candidate_username_and_password(candidate)
        counter += 1
        if not counter % 1000:
            print u'van' + str(counter)
Beispiel #2
0
        counts = table.find_all(class_="read")
        days = table.find_all(class_="date")
        for tit, count, day in zip(t**s, counts, days):
            title = tit.a.get_text()
            link = tit.a.get('href')
            read = count.get_text()
            date = day.get_text()
            temp_dict = {
                'day': date,
                'title': title,
                'count': read,
                'link': link
            }
            temp_list.append(temp_dict)

    #toJson(temp_list)

    return temp_list


#parsing()

if __name__ == '__main__':
    parsed_data = parsing()
    for i in range(len(parsed_data)):
        new_candidate = Candidate(name=parsed_data[i]["day"],
                                  introduction=parsed_data[i]["title"],
                                  area=parsed_data[i]["count"],
                                  party_number=parsed_data[i]["link"])
        new_candidate.save()
Beispiel #3
0
            if container.find('video'):
                videotag = container.find('video')
                image =videotag.get('poster')
            elif container.find('img'):
                imgtag = container.find('img')
                image =imgtag.get('src')
            else:
                image = 'none'
            #
            read = count.get_text()
            date = day.get_text()
            temp_dict = {'day': date, 'title': title, 'count': read, 'link': link, 'image': image}
            temp_list.append(temp_dict)
    #toJson(temp_list)
    return temp_list
'''
if __name__=='__main__':
    parsed_data = []
    parsed_data = ygosu_parsing()
    #parsed_data1 = ou_parsing()
    #parsed_data.extend(parsed_data1)
    toJson(parsed_data)

    for i in range(len(parsed_data)):
        new_candidate = Candidate(date=parsed_data[i]["day"],
        title=parsed_data[i]["title"],
        count=parsed_data[i]["count"],
        link=parsed_data[i]["link"],
        image=parsed_data[i]["image"])
        new_candidate.save()