Updated changelog
This commit is contained in:
parent
207e38e619
commit
d250d3dcb6
@ -12,6 +12,8 @@
|
|||||||
* Socializer will skip restricted audio tracks. Restricted songs are not allowed to be played in the user's country. Before, playing a restricted track was generating an exception and playback could not resume.
|
* Socializer will skip restricted audio tracks. Restricted songs are not allowed to be played in the user's country. Before, playing a restricted track was generating an exception and playback could not resume.
|
||||||
* Fixed an error when people was trying to open a post in an empty buffer, or accessing the menu when there are no posts in the buffer.
|
* Fixed an error when people was trying to open a post in an empty buffer, or accessing the menu when there are no posts in the buffer.
|
||||||
* Now Socializer will not send a notification every 5 minutes.
|
* Now Socializer will not send a notification every 5 minutes.
|
||||||
|
* Socializer should handle connection errors when loading items in buffers and retry in 2 minutes. Also, connection errors in the chat server are handled and chat should be able to reconnect by itself.
|
||||||
|
* When trying to add an audio or video to an album, if the current user does not have any album, it will display an error instead of a traceback.
|
||||||
|
|
||||||
## Changes in version 0.16 (13.12.2018)
|
## Changes in version 0.16 (13.12.2018)
|
||||||
|
|
||||||
@ -73,4 +75,4 @@
|
|||||||
* Added more options in the search audio dialog. Now users could use more parameters and searches will be more precise.
|
* Added more options in the search audio dialog. Now users could use more parameters and searches will be more precise.
|
||||||
* Added a new attachments' list. When a post is opened, this list will show up if there are attachments in the current post (attachments are audio, photos, video and links). You will be able to interact with the supported data (at the moment only photos, videos, audio and links are supported, more will be added in future).
|
* Added a new attachments' list. When a post is opened, this list will show up if there are attachments in the current post (attachments are audio, photos, video and links). You will be able to interact with the supported data (at the moment only photos, videos, audio and links are supported, more will be added in future).
|
||||||
* Added a changelog file which could be opened from the help menu.
|
* Added a changelog file which could be opened from the help menu.
|
||||||
* Added a preferences dialogue and a new application menu in the menu bar. From this dialogue you can change the number of items to be loaded for every buffer.
|
* Added a preferences dialogue and a new application menu in the menu bar. From this dialogue you can change the number of items to be loaded for every buffer.
|
@ -16,6 +16,7 @@ import attach
|
|||||||
from pubsub import pub
|
from pubsub import pub
|
||||||
from vk_api.exceptions import VkApiError
|
from vk_api.exceptions import VkApiError
|
||||||
from vk_api import upload
|
from vk_api import upload
|
||||||
|
from requests.exceptions import ReadTimeout, ConnectionError
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import home
|
||||||
from sessionmanager import session, renderers, utils
|
from sessionmanager import session, renderers, utils
|
||||||
from mysc.thread_utils import call_threaded
|
from mysc.thread_utils import call_threaded
|
||||||
@ -87,6 +88,9 @@ class baseBuffer(object):
|
|||||||
log.error(u"Error {0}: {1}".format(err.code, err.message))
|
log.error(u"Error {0}: {1}".format(err.code, err.message))
|
||||||
retrieved = err.code
|
retrieved = err.code
|
||||||
return retrieved
|
return retrieved
|
||||||
|
except ReadTimeout, ConnectionError:
|
||||||
|
log.exception("Connection error when updating buffer %s. Will try again in 2 minutes" % (self.name,))
|
||||||
|
return False
|
||||||
if show_nextpage == False:
|
if show_nextpage == False:
|
||||||
if self.tab.list.get_count() > 0 and num > 0:
|
if self.tab.list.get_count() > 0 and num > 0:
|
||||||
v = [i for i in self.session.db[self.name]["items"][:num]]
|
v = [i for i in self.session.db[self.name]["items"][:num]]
|
||||||
@ -141,7 +145,6 @@ class baseBuffer(object):
|
|||||||
r = uploader.photo_wall(photos, caption=description)
|
r = uploader.photo_wall(photos, caption=description)
|
||||||
id = r[0]["id"]
|
id = r[0]["id"]
|
||||||
owner_id = r[0]["owner_id"]
|
owner_id = r[0]["owner_id"]
|
||||||
# self.session.vk.client.photos.edit(photo_id=id, owner_id=owner_id, caption=description)
|
|
||||||
local_attachments += "photo{0}_{1},".format(owner_id, id)
|
local_attachments += "photo{0}_{1},".format(owner_id, id)
|
||||||
return local_attachments
|
return local_attachments
|
||||||
|
|
||||||
@ -334,10 +337,13 @@ class feedBuffer(baseBuffer):
|
|||||||
retrieved = True
|
retrieved = True
|
||||||
try:
|
try:
|
||||||
num = getattr(self.session, "get_page")(show_nextpage=show_nextpage, name=self.name, *self.args, **self.kwargs)
|
num = getattr(self.session, "get_page")(show_nextpage=show_nextpage, name=self.name, *self.args, **self.kwargs)
|
||||||
except ValueError:
|
except VkApiError as err:
|
||||||
log.error(u"Error {0}: {1}".format(err.code, err.message))
|
log.error(u"Error {0}: {1}".format(err.code, err.message))
|
||||||
retrieved = err.code
|
retrieved = err.code
|
||||||
return retrieved
|
return retrieved
|
||||||
|
except ReadTimeout, ConnectionError:
|
||||||
|
log.exception("Connection error when updating buffer %s. Will try again in 2 minutes" % (self.name,))
|
||||||
|
return False
|
||||||
if show_nextpage == False:
|
if show_nextpage == False:
|
||||||
if self.tab.list.get_count() > 0 and num > 0:
|
if self.tab.list.get_count() > 0 and num > 0:
|
||||||
v = [i for i in self.session.db[self.name]["items"][:num]]
|
v = [i for i in self.session.db[self.name]["items"][:num]]
|
||||||
@ -479,6 +485,8 @@ class audioBuffer(feedBuffer):
|
|||||||
self.tab.list.remove_item(self.tab.list.get_selected())
|
self.tab.list.remove_item(self.tab.list.get_selected())
|
||||||
|
|
||||||
def move_to_album(self, *args, **kwargs):
|
def move_to_album(self, *args, **kwargs):
|
||||||
|
if len(self.session.audio_albums) == 0:
|
||||||
|
return commonMessages.no_audio_albums()
|
||||||
post = self.get_post()
|
post = self.get_post()
|
||||||
if post == None:
|
if post == None:
|
||||||
return
|
return
|
||||||
@ -601,6 +609,8 @@ class videoBuffer(feedBuffer):
|
|||||||
self.tab.list.remove_item(self.tab.list.get_selected())
|
self.tab.list.remove_item(self.tab.list.get_selected())
|
||||||
|
|
||||||
def move_to_album(self, *args, **kwargs):
|
def move_to_album(self, *args, **kwargs):
|
||||||
|
if len(self.session.video_albums) == 0:
|
||||||
|
return commonMessages.no_video_albums()
|
||||||
post= self.get_post()
|
post= self.get_post()
|
||||||
if post == None:
|
if post == None:
|
||||||
return
|
return
|
||||||
@ -735,10 +745,13 @@ class chatBuffer(baseBuffer):
|
|||||||
retrieved = True # Control variable for handling unauthorised/connection errors.
|
retrieved = True # Control variable for handling unauthorised/connection errors.
|
||||||
try:
|
try:
|
||||||
num = getattr(self.session, "get_messages")(name=self.name, *self.args, **self.kwargs)
|
num = getattr(self.session, "get_messages")(name=self.name, *self.args, **self.kwargs)
|
||||||
except ValueError as err:
|
except VkApiError as err:
|
||||||
log.error(u"Error {0}: {1}".format(err.code, err.message))
|
log.error(u"Error {0}: {1}".format(err.code, err.message))
|
||||||
retrieved = err.code
|
retrieved = err.code
|
||||||
return retrieved
|
return retrieved
|
||||||
|
except ReadTimeout, ConnectionError:
|
||||||
|
log.exception("Connection error when updating buffer %s. Will try again in 2 minutes" % (self.name,))
|
||||||
|
return False
|
||||||
if show_nextpage == False:
|
if show_nextpage == False:
|
||||||
if self.tab.history.GetValue() != "" and num > 0:
|
if self.tab.history.GetValue() != "" and num > 0:
|
||||||
v = [i for i in self.session.db[self.name]["items"][:num]]
|
v = [i for i in self.session.db[self.name]["items"][:num]]
|
||||||
@ -914,10 +927,13 @@ class requestsBuffer(peopleBuffer):
|
|||||||
retrieved = True
|
retrieved = True
|
||||||
try:
|
try:
|
||||||
ids = self.session.vk.client.friends.getRequests(*self.args, **self.kwargs)
|
ids = self.session.vk.client.friends.getRequests(*self.args, **self.kwargs)
|
||||||
except ValueError as err:
|
except VkApiError as err:
|
||||||
log.error(u"Error {0}: {1}".format(err.code, err.message))
|
log.error(u"Error {0}: {1}".format(err.code, err.message))
|
||||||
retrieved = err.code
|
retrieved = err.code
|
||||||
return retrieved
|
return retrieved
|
||||||
|
except ReadTimeout, ConnectionError:
|
||||||
|
log.exception("Connection error when updating buffer %s. Will try again in 2 minutes" % (self.name,))
|
||||||
|
return False
|
||||||
num = self.session.get_page(name=self.name, show_nextpage=show_nextpage, endpoint="get", parent_endpoint="users", count=1000, user_ids=", ".join([str(i) for i in ids["items"]]), fields="uid, first_name, last_name, last_seen")
|
num = self.session.get_page(name=self.name, show_nextpage=show_nextpage, endpoint="get", parent_endpoint="users", count=1000, user_ids=", ".join([str(i) for i in ids["items"]]), fields="uid, first_name, last_name, last_seen")
|
||||||
if show_nextpage == False:
|
if show_nextpage == False:
|
||||||
if self.tab.list.get_count() > 0 and num > 0:
|
if self.tab.list.get_count() > 0 and num > 0:
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
import threading
|
import threading
|
||||||
from vk_api.longpoll import VkLongPoll, VkEventType
|
from vk_api.longpoll import VkLongPoll, VkEventType
|
||||||
from pubsub import pub
|
from pubsub import pub
|
||||||
from requests.exceptions import ReadTimeout
|
from requests.exceptions import ReadTimeout, ConnectionError
|
||||||
|
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
log = getLogger("controller.longpolThread")
|
log = getLogger("controller.longpolThread")
|
||||||
@ -23,5 +23,5 @@ class worker(threading.Thread):
|
|||||||
pub.sendMessage("user-online", event=event)
|
pub.sendMessage("user-online", event=event)
|
||||||
elif event.type == VkEventType.USER_OFFLINE:
|
elif event.type == VkEventType.USER_OFFLINE:
|
||||||
pub.sendMessage("user-offline", event=event)
|
pub.sendMessage("user-offline", event=event)
|
||||||
except ReadTimeout:
|
except ReadTimeout, ConnectionError:
|
||||||
pub.sendMessage("longpoll-read-timeout")
|
pub.sendMessage("longpoll-read-timeout")
|
@ -25,5 +25,11 @@ def show_error_code(code):
|
|||||||
def bad_authorisation():
|
def bad_authorisation():
|
||||||
return wx.MessageDialog(None, _(u"authorisation failed. Your configuration will not be saved. Please close and open again the application for authorising your account. Make sure you have typed your credentials correctly."), _(u"Error"), style=wx.ICON_ERROR).ShowModal()
|
return wx.MessageDialog(None, _(u"authorisation failed. Your configuration will not be saved. Please close and open again the application for authorising your account. Make sure you have typed your credentials correctly."), _(u"Error"), style=wx.ICON_ERROR).ShowModal()
|
||||||
|
|
||||||
|
def no_audio_albums():
|
||||||
|
return wx.MessageDialog(None, _(u"You do not have audio albums to add tis file."), _(u"Error"), style=wx.ICON_ERROR).ShowModal()
|
||||||
|
|
||||||
|
def no_video_albums():
|
||||||
|
return wx.MessageDialog(None, _(u"You do not have video albums to add tis file."), _(u"Error"), style=wx.ICON_ERROR).ShowModal()
|
||||||
|
|
||||||
def delete_audio_album():
|
def delete_audio_album():
|
||||||
return wx.MessageDialog(None, _(u"Do you really want to delete this Album? this will be deleted from VK too."), _(u"Attention"), style=wx.ICON_QUESTION|wx.YES_NO).ShowModal()
|
return wx.MessageDialog(None, _(u"Do you really want to delete this Album? this will be deleted from VK too."), _(u"Attention"), style=wx.ICON_QUESTION|wx.YES_NO).ShowModal()
|
||||||
|
Loading…
Reference in New Issue
Block a user