Updated changelog
This commit is contained in:
		| @@ -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. | ||||
| * 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. | ||||
| * 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) | ||||
|  | ||||
|   | ||||
| @@ -16,6 +16,7 @@ import attach | ||||
| from pubsub import pub | ||||
| from vk_api.exceptions import VkApiError | ||||
| from vk_api import upload | ||||
| from requests.exceptions import ReadTimeout, ConnectionError | ||||
| from wxUI.tabs import home | ||||
| from sessionmanager import session, renderers, utils | ||||
| 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)) | ||||
| 			retrieved = err.code | ||||
| 			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 self.tab.list.get_count() > 0 and num > 0: | ||||
| 				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) | ||||
| 				id = r[0]["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) | ||||
| 		return local_attachments | ||||
|  | ||||
| @@ -334,10 +337,13 @@ class feedBuffer(baseBuffer): | ||||
| 		retrieved = True | ||||
| 		try: | ||||
| 			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)) | ||||
| 			retrieved = err.code | ||||
| 			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 self.tab.list.get_count() > 0 and num > 0: | ||||
| 				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()) | ||||
|  | ||||
| 	def move_to_album(self, *args, **kwargs): | ||||
| 		if len(self.session.audio_albums) == 0: | ||||
| 			return commonMessages.no_audio_albums() | ||||
| 		post = self.get_post() | ||||
| 		if post == None: | ||||
| 			return | ||||
| @@ -601,6 +609,8 @@ class videoBuffer(feedBuffer): | ||||
| 			self.tab.list.remove_item(self.tab.list.get_selected()) | ||||
|  | ||||
| 	def move_to_album(self, *args, **kwargs): | ||||
| 		if len(self.session.video_albums) == 0: | ||||
| 			return commonMessages.no_video_albums() | ||||
| 		post= self.get_post() | ||||
| 		if post == None: | ||||
| 			return | ||||
| @@ -735,10 +745,13 @@ class chatBuffer(baseBuffer): | ||||
| 		retrieved = True # Control variable for handling unauthorised/connection errors. | ||||
| 		try: | ||||
| 			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)) | ||||
| 			retrieved = err.code | ||||
| 			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 self.tab.history.GetValue() != "" and num > 0: | ||||
| 				v = [i for i in self.session.db[self.name]["items"][:num]] | ||||
| @@ -914,10 +927,13 @@ class requestsBuffer(peopleBuffer): | ||||
| 		retrieved = True | ||||
| 		try: | ||||
| 			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)) | ||||
| 			retrieved = err.code | ||||
| 			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") | ||||
| 		if show_nextpage  == False: | ||||
| 			if self.tab.list.get_count() > 0 and num > 0: | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| import threading | ||||
| from vk_api.longpoll import VkLongPoll, VkEventType | ||||
| from pubsub import pub | ||||
| from requests.exceptions import ReadTimeout | ||||
| from requests.exceptions import ReadTimeout, ConnectionError | ||||
|  | ||||
| from logging import getLogger | ||||
| log = getLogger("controller.longpolThread") | ||||
| @@ -23,5 +23,5 @@ class worker(threading.Thread): | ||||
| 					pub.sendMessage("user-online", event=event) | ||||
| 				elif event.type == VkEventType.USER_OFFLINE: | ||||
| 					pub.sendMessage("user-offline", event=event) | ||||
| 		except ReadTimeout: | ||||
| 		except ReadTimeout, ConnectionError: | ||||
| 			pub.sendMessage("longpoll-read-timeout") | ||||
| @@ -25,5 +25,11 @@ def show_error_code(code): | ||||
| 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() | ||||
|  | ||||
| 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(): | ||||
| 	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() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user