|
|
|
|
@@ -12,6 +12,7 @@ import posts
|
|
|
|
|
import webbrowser
|
|
|
|
|
import logging
|
|
|
|
|
import longpoolthread
|
|
|
|
|
import selector
|
|
|
|
|
from pubsub import pub
|
|
|
|
|
from mysc.repeating_timer import RepeatingTimer
|
|
|
|
|
from mysc.thread_utils import call_threaded
|
|
|
|
|
@@ -120,6 +121,7 @@ class Controller(object):
|
|
|
|
|
widgetUtils.connect_event(self.window, widgetUtils.MENU, self.configuration, menuitem=self.window.settings_dialog)
|
|
|
|
|
widgetUtils.connect_event(self.window, widgetUtils.MENU, self.new_timeline, menuitem=self.window.timeline)
|
|
|
|
|
widgetUtils.connect_event(self.window, widgetUtils.MENU, self.create_audio_album, menuitem=self.window.audio_album)
|
|
|
|
|
widgetUtils.connect_event(self.window, widgetUtils.MENU, self.delete_audio_album, menuitem=self.window.delete_audio_album)
|
|
|
|
|
pub.subscribe(self.get_chat, "order-sent-message")
|
|
|
|
|
|
|
|
|
|
def disconnect_events(self):
|
|
|
|
|
@@ -160,6 +162,7 @@ class Controller(object):
|
|
|
|
|
|
|
|
|
|
def update_all_buffers(self):
|
|
|
|
|
log.debug("Updating buffers...")
|
|
|
|
|
self.session.audio_albums = self.session.vk.client.audio.getAlbums(owner_id=self.session.user_id)["items"]
|
|
|
|
|
for i in self.buffers:
|
|
|
|
|
if hasattr(i, "get_items"):
|
|
|
|
|
i.get_items()
|
|
|
|
|
@@ -347,15 +350,15 @@ class Controller(object):
|
|
|
|
|
|
|
|
|
|
def get_audio_albums(self, user_id=None):
|
|
|
|
|
albums = self.session.vk.client.audio.getAlbums(owner_id=user_id)
|
|
|
|
|
print albums
|
|
|
|
|
self.session.audio_albums = albums["items"]
|
|
|
|
|
for i in albums["items"]:
|
|
|
|
|
buffer = buffers.audioBuffer(parent=self.window.tb, name="{0}_album".format(i["id"],), composefunc="compose_audio", session=self.session, endpoint="get", parent_endpoint="audio", full_list=True, count=self.session.settings["buffers"]["count_for_audio_buffers"], user_id=user_id, album_id=i["id"])
|
|
|
|
|
buffer = buffers.audioBuffer(parent=self.window.tb, name="{0}_audio_album".format(i["id"],), composefunc="compose_audio", session=self.session, endpoint="get", parent_endpoint="audio", full_list=True, count=self.session.settings["buffers"]["count_for_audio_buffers"], user_id=user_id, album_id=i["id"])
|
|
|
|
|
name_ = _(u"Album: {0}").format(i["title"],)
|
|
|
|
|
self.buffers.append(buffer)
|
|
|
|
|
self.window.insert_buffer(buffer.tab, name_, self.window.search("albums"))
|
|
|
|
|
buffer.get_items()
|
|
|
|
|
# inserts a pause of 1 second here, so we'll avoid errors 6 in VK.
|
|
|
|
|
time.sleep(1)
|
|
|
|
|
time.sleep(0.4)
|
|
|
|
|
|
|
|
|
|
def create_audio_album(self, *args, **kwargs):
|
|
|
|
|
d = creation.audio_album()
|
|
|
|
|
@@ -363,8 +366,23 @@ class Controller(object):
|
|
|
|
|
response = self.session.vk.client.audio.addAlbum(title=d.get("title"))
|
|
|
|
|
if response.has_key("album_id") == False: return
|
|
|
|
|
album_id = response["album_id"]
|
|
|
|
|
buffer = buffers.audioBuffer(parent=self.window.tb, name="{0}_album".format(album_id,), composefunc="compose_audio", session=self.session, endpoint="get", parent_endpoint="audio", full_list=True, count=self.session.settings["buffers"]["count_for_audio_buffers"], user_id=self.session.user_id, album_id=album_id)
|
|
|
|
|
buffer = buffers.audioBuffer(parent=self.window.tb, name="{0}_audio_album".format(album_id,), composefunc="compose_audio", session=self.session, endpoint="get", parent_endpoint="audio", full_list=True, count=self.session.settings["buffers"]["count_for_audio_buffers"], user_id=self.session.user_id, album_id=album_id)
|
|
|
|
|
name_ = _(u"Album: {0}").format(d.get("title"),)
|
|
|
|
|
self.buffers.append(buffer)
|
|
|
|
|
self.window.insert_buffer(buffer.tab, name_, self.window.search("albums"))
|
|
|
|
|
buffer.get_items()
|
|
|
|
|
self.session.audio_albums = self.session.vk.client.audio.getAlbums(owner_id=self.session.user_id)["items"]
|
|
|
|
|
|
|
|
|
|
def delete_audio_album(self, *args, **kwargs):
|
|
|
|
|
answer = selector.audioAlbum(_(u"Select the album you want to delete"), self.session)
|
|
|
|
|
if answer.item == None:
|
|
|
|
|
return
|
|
|
|
|
response = commonMessages.delete_audio_album()
|
|
|
|
|
if response != widgetUtils.YES: return
|
|
|
|
|
removal = self.session.vk.client.audio.deleteAlbum(album_id=answer.item)
|
|
|
|
|
buffer = self.search("{0}_audio_album".format(answer.item,))
|
|
|
|
|
buff = self.window.search(buffer.name)
|
|
|
|
|
self.window.remove_buffer(buff)
|
|
|
|
|
self.buffers.remove(buffer)
|
|
|
|
|
del buffer
|
|
|
|
|
self.session.audio_albums = self.session.vk.client.audio.getAlbums(owner_id=self.session.user_id)["items"]
|
|
|
|
|
|