def fillData(self, bands, genre): chart = self.readChart(genre) for artistId in bands: x = Artist(key_name=str(artistId)) x.artistId = artistId x.genre = genre try: pos = chart.index('<a href="Artist.asp?action=view&ArtistID=%d">' % artistId) posRank = chart.rindex(' ',0,pos) + 6 x.rank = int(chart[posRank:chart.rindex('</td>',posRank,pos)]) posName = chart.index('">',pos) + 2 x.name = chart[posName:chart.index('</',posName)] except: x.rank = 99999 x.brRank = 999 x.name = "Artista id %s fora do ranking nesta atualização" % artistId self.rank.append(x) self.rank.sort(key=lambda x:x.rank) self.calculateDiff()
def get(self): genre = int(cgi.escape(self.request.get('genre'))) if not auth_genre(genre): self.response.out.write("Acesso negado") return id = int(cgi.escape(self.request.get('id'))) artistList = db.GqlQuery("SELECT * FROM Genre WHERE id = :1", genre).fetch(1)[0] exists = artistList.bands.count(id) > 0 if exists: logging.info("Removendo a banda %d do genero %s" % (id, artistList.name)) artistList.bands.remove(id) removed = Artist(key_name=str(id)) removed.artistId = id removed.genre = 99 removed.brRank = 999 removed.rank = 99999 removed.put() else: logging.info("Adicionando a banda %d para o genero %s" % (id, artistList.name)) artistList.bands.append(id) artistList.put() self.response.out.write("A banda %d foi %s com sucesso!" % (id, "removida" if exists else "adicionada"))