def multiBan(request, player_id, player): try: toBan = json.loads(request.POST['to_ban']) toUnban = json.loads(request.POST['to_unban']) except ValueError: return HttpResponseBadRequest("Bad JSON. Couldn't even parse. \n" + "to add data: " + request.POST['to_add'] + "\n" + "to delete data: " + request.POST['to_delete']) nonExistentIds = getNonExistantLibIds(toBan, player) nonExistentIds += getNonExistantLibIds(toUnban, player) if len(nonExistentIds) > 0: toReturn = HttpJSONResponse(json.dumps(nonExistentIds), status=404) toReturn[MISSING_RESOURCE_HEADER] = 'song' return toReturn def setSongBanStatus(songid, banStatus): songToBan = LibraryEntry.objects.get(player=player, player_lib_song_id=songid) songToBan.is_banned = banStatus songToBan.save() map(lambda songid: setSongBanStatus(songid, True), toBan) map(lambda songid: setSongBanStatus(songid, False), toUnban) return HttpResponse()
def multiBan(request, player_id, player): try: toBan = json.loads(request.POST['to_ban']) toUnban = json.loads(request.POST['to_unban']) except ValueError: return HttpResponseBadRequest("Bad JSON. Couldn't even parse. \n" + "to add data: " + request.POST['to_add'] + "\n" + "to delete data: " + request.POST['to_delete']) nonExistentIds = getNonExistantLibIds(toBan, player) nonExistentIds += getNonExistantLibIds(toUnban, player) if len(nonExistentIds) > 0: print nonExistentIds toReturn = HttpJSONResponse(json.dumps(nonExistentIds), status=404) toReturn[MISSING_RESOURCE_HEADER] = 'song' return toReturn def setSongBanStatus(songid, library, banStatus): songToChange = LibraryEntry.objects.get(lib_id=songid, library=library) if banStatus: songToChange.banSong(player) else: songToChange.unbanSong(player) map(lambda songid: setSongBanStatus(songid, player.DefaultLibrary, True), toBan) map(lambda songid: setSongBanStatus(songid, player.DefaultLibrary, False), toUnban) return HttpResponse()
def modLibrary(request, player_id, player): try: toAdd = json.loads(request.POST['to_add']) toDelete = json.loads(request.POST['to_delete']) except ValueError as f: return HttpResponseBadRequest("Bad JSON. Couldn't even parse. \n" + "to add data: " + request.POST['to_add'] + "\n" + "to delete data: " + request.POST['to_delete']) try: duplicates, badIds = getDuplicateDifferentIds(toAdd, player) if len(badIds) > 0: return HttpJSONResponse(json.dumps(badIds), status=409) nonExistentIds = getNonExistantLibIds(toDelete, player) if len(nonExistentIds) > 0: return HttpJSONResponse(json.dumps(nonExistentIds), status=404) addSongs(filter(lambda song: song['id'] not in duplicates, toAdd), player) deleteSongs(toDelete, player) except KeyError as e: return HttpResponseBadRequest('Bad JSON.\n Bad key: ' + str(e) ) except ValueError as f: return HttpResponseBadRequest('Bad JSON.\n Bad value: ' + str(f) ) return HttpResponse()
def modLibrary(request, player_id, player): try: toAdd = json.loads(request.POST['to_add']) toDelete = json.loads(request.POST['to_delete']) except ValueError as f: return HttpResponseBadRequest("Bad JSON. Couldn't even parse. \n" + "to add data: " + request.POST['to_add'] + "\n" + "to delete data: " + request.POST['to_delete']) try: duplicates, badIds = getDuplicateDifferentIds(toAdd, player) if len(badIds) > 0: return HttpJSONResponse(json.dumps(badIds), status=409) nonExistentIds = getNonExistantLibIds(toDelete, player) if len(nonExistentIds) > 0: return HttpJSONResponse(json.dumps(nonExistentIds), status=404) addSongs(filter(lambda song: song['id'] not in duplicates, toAdd), player) deleteSongs(toDelete, player) except KeyError as e: return HttpResponseBadRequest('Bad JSON.\n Bad key: ' + str(e)) except ValueError as f: return HttpResponseBadRequest('Bad JSON.\n Bad value: ' + str(f)) return HttpResponse()