def post(self): s = Song.load_from_id(self.get_argument("song_id")) g = SongGroup.load_from_id(self.get_argument("group_id")) s.remove_group_id(g.id) g.reconcile_sids() self.append( self.return_name, {"success": "true", "tl_key": "Group removed from song ID."}, )
def post(self): g = SongGroup.load_from_id(self.get_argument("group_id")) g.set_cooldown(self.get_argument("cooldown")) self.append( self.return_name, { "tl_key": "group_edit_success", "text": "Group cooldown updated to %s" % self.get_argument("cooldown") })
def post(self): g = SongGroup.load_from_id(self.get_argument("group_id")) g.set_elec_block(self.get_argument("elec_block")) self.append( self.return_name, { "tl_key": "group_edit_success", "text": "Group elec block updated to %s" % self.get_argument("elec_block") })
def get(self): group = SongGroup.load_from_id(self.get_argument("id")) self.write(self.render_string("bare_header.html", title="Song List")) self.write("<h2>%s Songs</h2>" % (group.data['name'])) self.write("<table>") for row in db.c.fetch_all("SELECT r4_songs.song_id AS id, song_title AS title, album_name, group_is_tag FROM r4_song_group JOIN r4_songs USING (song_id) JOIN r4_albums USING (album_id) WHERE group_id = %s ORDER BY group_is_tag, album_name, title", (group.id,)): self.write("<tr><td>%s</th><td>%s</td><td>" % (row['id'], row['album_name'])) self.write("</td><td>%s</td><td>" % row['title']) if not row['group_is_tag']: self.write("<a class='group_name group_delete' onclick=\"window.top.call_api('admin/remove_group_from_song', { 'song_id': %s, 'group_id': %s });\">%s (X)</a> " % (row['id'], group.id, group.data['name'])) self.write("</td></tr>") self.write(self.render_string("basic_footer.html"))
def get(self, group_id): #pylint: disable=W0221 group = SongGroup.load_from_id(group_id) songs = cache.get_user(self.user, "admin_associate_groups_songs") or [] cache.set_user(self.user, "admin_associate_groups_songs", []) for song_id in songs: group.associate_song_id(song_id) albums = cache.get_user(self.user, "admin_associate_groups_albums") or [] cache.set_user(self.user, "admin_associate_groups_albums", []) for album_set in albums: album = Album.load_from_id_with_songs(album_set[0], album_set[1]) for song in album.data['songs']: group.associate_song_id(song['id']) self.write(self.render_string("bare_header.html", title="Added Groups")) self.write("<p>Now associated.</p><p><a href='/admin/tools/associate_groups'>Start over.</a></p>") self.write(self.render_string("basic_footer.html"))
def get(self, group_id): group = SongGroup.load_from_id(group_id) songs = cache.get_user(self.user, "admin_associate_groups_songs") or [] cache.set_user(self.user, "admin_associate_groups_songs", []) for song_id in songs: group.associate_song_id(song_id) albums = cache.get_user(self.user, "admin_associate_groups_albums") or [] cache.set_user(self.user, "admin_associate_groups_albums", []) for album_set in albums: album = Album.load_from_id_with_songs(album_set[0], album_set[1]) for song in album.data['songs']: group.associate_song_id(song['id']) self.write(self.render_string("bare_header.html", title="Added Groups")) self.write("<p>Now associated.</p><p><a href='/admin/tools/associate_groups'>Start over.</a></p>") self.write(self.render_string("basic_footer.html"))
def post(self): SongGroup.load_from_name(self.get_argument("name")) self.append( self.return_name, {"tl_key": "group_create_success", "text": "Group created."}, )
def post(self): g = SongGroup.load_from_id(self.get_argument("group_id")) g.set_cooldown(self.get_argument("cooldown")) self.append(self.return_name, { "tl_key": "group_edit_success", "text": "Group cooldown updated to %s" % self.get_argument("cooldown") })
def post(self): g = SongGroup.load_from_id(self.get_argument("group_id")) g.set_elec_block(self.get_argument("elec_block")) self.append(self.return_name, { "tl_key": "group_edit_success", "text": "Group elec block updated to %s" % self.get_argument("elec_block") })
def post(self): s = Song.load_from_id(self.get_argument("song_id")) g = SongGroup.load_from_id(self.get_argument("group_id")) s.remove_group_id(g.id) g.reconcile_sids() self.append(self.return_name, { "success": "true", "tl_key": "Group removed from song ID." })
#!/usr/bin/python import argparse from libs import config from libs import db from rainwave.playlist import SongGroup if __name__ == "__main__": parser = argparse.ArgumentParser(description="Reconciles song<>group data.") parser.add_argument("--config", default=None) args = parser.parse_args() config.load(args.config) db.connect() groups = db.c.fetch_list("SELECT group_id FROM r4_groups") i = 0 for group_id in groups: txt = "Group %s / %s" % (i, len(groups)) txt += " " * (80 - len(txt)) print "\r" + txt, i += 1 g = SongGroup.load_from_id(group_id) g.reconcile_sids()
def post(self): SongGroup.load_from_name(self.get_argument("name")) self.append(self.return_name, { "tl_key": "group_create_success", "text": "Group created." })
#!/usr/bin/env python import argparse from libs import config from libs import db from libs import log from rainwave.playlist import SongGroup if __name__ == "__main__": parser = argparse.ArgumentParser( description="Reconciles song<>group data.") parser.add_argument("--config", default=None) args = parser.parse_args() config.load(args.config) log.init() db.connect() groups = db.c.fetch_list("SELECT group_id FROM r4_groups") i = 0 for group_id in groups: txt = "Group %s / %s" % (i, len(groups)) txt += " " * (80 - len(txt)) print("\r" + txt, end="") i += 1 g = SongGroup.load_from_id(group_id) g.reconcile_sids()