Esempio n. 1
0
    def process_item(self, item, spider):
        if not Event.objects.filter(title=item['title']).exists():
            event = Event()
            event.title = item['title']
        else:
            event = Event.objects.get(title=item['title'])

        event.url = item['url']
        event.image = item['image']
        event.body = item['body']
        event.date = item['date'].replace('/', '-')
        event.time = item['time']
        event.price = item['price']

        if Venue.objects.filter(name=item['venue']).exists():
            venue = Venue.objects.get(name=item['venue'])
        else:
            venue = Venue()
            venue.name = item['venue']
            venue.save()

        venue.address = item['address']
        event.venue = venue

        event.save()
        artists = item['artists']
        for artist_name in artists:
            if Artist.objects.filter(name=artist_name).exists():
                artist = Artist.objects.get(name=artist_name)
            else:
                artist = Artist()
                artist.name = artist_name
                artist.save()
            event.artists.add(artist)

        event.save()