From b427b73ac40e79ad6794c362a4df5881bd958bed Mon Sep 17 00:00:00 2001 From: inpos Date: Sun, 12 Feb 2017 14:30:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BD=D0=B5=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B8=D0=B3=D1=80?= =?UTF-8?q?=D0=B8=D1=89=20=D0=B8=20=D0=B1=D0=BB=D1=83=D0=B4=D0=BD=D0=B8?= =?UTF-8?q?=D1=86.=201.2.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addon.xml | 2 +- changelog.txt | 4 +++ default.py | 38 ++++++++++++++++++++------ icon.png | Bin 18821 -> 9460 bytes resources/language/English/strings.po | 4 +++ resources/language/Russian/strings.po | 4 +++ resources/settings.xml | 3 +- 7 files changed, 45 insertions(+), 10 deletions(-) diff --git a/addon.xml b/addon.xml index 1b2fb82..0bff65e 100644 --- a/addon.xml +++ b/addon.xml @@ -1,5 +1,5 @@ - + diff --git a/changelog.txt b/changelog.txt index 1f59b01..d7c53ed 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,7 @@ +v1.2.0 (2017-02-12) +- Сообщество или пользователя можно добавить в избранное из контекстного меню заголовка (Пользователь: или Сообщество:). +- У каждой видеозаписи добавлен пункт контекстного меню с указанием владельца, через который можно перейти к странице. + v1.1.0 (2017-02-04) - Добавил информационнаые оповещения, где необходимо. Сделал пункт "Выход из учётной записи" главного экрана. diff --git a/default.py b/default.py index b34e62b..e720c9d 100644 --- a/default.py +++ b/default.py @@ -7,7 +7,7 @@ import urllib2 from urllib import urlencode import re -_VERSION = '1.1.3' +_VERSION = '1.2.0' _ADDON_NAME = 'kodi-vk.inpos.ru' _addon = xbmcaddon.Addon(id = _ADDON_NAME) @@ -21,6 +21,7 @@ _SCOPE = 'friends,photos,audio,video,groups,messages,offline' _SETTINGS_ID_TOKEN = 'vk_token' _SETTINGS_ID_MAX_RES = 'video_resolution' +_SETTINGS_ID_LIST_LEN = 'list_len' _SETTINGS_ID_VIDEO_SEARCH_SORT = 'v_search_sort' _SETTINGS_ID_VIDEO_SEARCH_HD = 'search_hd_video' _SETTINGS_ID_VIDEO_SEARCH_ADULT = 'dont_search_adult_video' @@ -28,7 +29,7 @@ _SETTINGS_ID_VIDEO_SEARCH_ADULT = 'dont_search_adult_video' _SETTINGS_BOOL = {'true': 1, 'false': 0} _SETTINGS_INV_BOOL = {'true': 0, 'false': 1} -_SETTINGS_PAGE_ITEMS = 20 +_SETTINGS_PAGE_ITEMS = int(_addon.getSetting(_SETTINGS_ID_LIST_LEN)) _SETTINGS_MAX_RES = int(_addon.getSetting(_SETTINGS_ID_MAX_RES)) _SETTINGS_VIDEO_SEARCH_SORT = int(_addon.getSetting(_SETTINGS_ID_VIDEO_SEARCH_SORT)) _SETTINGS_VIDEO_SEARCH_HD = _SETTINGS_BOOL[_addon.getSetting(_SETTINGS_ID_VIDEO_SEARCH_HD)] @@ -189,7 +190,12 @@ def media_entries(e_method, conn, oid, **kwargs): e = Entry(e_method, entry_id, conn) e.info = i l.append(e) - return {'pages': pages, 'total': count, 'items': l} + del entries['count'] + del entries['items'] + res = {'pages': pages, 'total': count, 'items': l} + for k in entries.keys(): + res[k] = entries[k] + return res class Entry(object): def __init__(self, e_method, eid, conn): @@ -515,7 +521,8 @@ class KodiVKGUIVideos(object): 'sort': _SETTINGS_VIDEO_SEARCH_SORT, 'hd' : _SETTINGS_VIDEO_SEARCH_HD, 'adult': _SETTINGS_VIDEO_SEARCH_ADULT, - 'q': q + 'q': q, + 'extended': 1 } search_res = media_entries('video.search', self.root.conn, _NO_OWNER, **kwargs) if page < search_res['pages']: @@ -536,6 +543,17 @@ class KodiVKGUIVideos(object): def __create_video_list_(self, vids): for v in vids['items']: list_item = xbmcgui.ListItem(v.info['title']) + oid = v.info['owner_id'] + if int(oid) < 0: + gid = oid * -1 + g = filter(lambda x: x['id'] == gid, vids['groups'])[0] + cm_title = u'%s [I]%s[/I]' % (self.root.gui._string(400604).decode('utf-8'), g['name']) + else: + u = filter(lambda x: x['id'] == oid, vids['profiles'])[0] + cm_title = u'%s [I]%s %s[/I]' % (self.root.gui._string(400603).decode('utf-8'), u['last_name'], u['first_name']) + cm_params = {'do': _DO_HOME, 'oid': oid} + cm_url = self.root.url(**cm_params) + list_item.addContextMenuItems([(cm_title, 'xbmc.Container.update(%s)' % (cm_url,))]) list_item.setInfo('video', { 'title' : v.info['title'], 'duration' : int(v.info['duration']), @@ -573,7 +591,10 @@ class KodiVKGUIVideos(object): def _video_albums(self): page = int(self.root.params['page']) oid = self.root.params['oid'] - kwargs = {'page': page, 'extended': 1} + kwargs = { + 'page': page, + 'extended': 1 + } albums = media_entries('video.getAlbums', self.root.conn, oid, **kwargs) if page < albums['pages']: params = {'do': _DO_VIDEO_ALBUMS,'oid': oid,'page': page + 1} @@ -594,7 +615,7 @@ class KodiVKGUIVideos(object): page = int(self.root.params['page']) oid = self.root.params['oid'] album = self.root.params.get('album', None) - kwargs = {'page': page} + kwargs = {'page': page, 'extended': 1} if album: kwargs['album'] = album vids = media_entries('video.get', self.root.conn, oid, **kwargs) if page < vids['pages']: @@ -684,7 +705,8 @@ class KodiVkGUI: icon_url = u.info[p_key] list_item = xbmcgui.ListItem(header_string) list_item.setArt({'thumb': thumb_url, 'icon': icon_url}) - xbmcplugin.addDirectoryItem(_addon_id, None, list_item, isFolder = False) + h_url = self.root.url({'do': _DO_HOME, 'oid': oid}) + xbmcplugin.addDirectoryItem(_addon_id, h_url, list_item, isFolder = True) if c_type == _CTYPE_VIDEO: self.root.add_folder(self._string(400502), {'do': _DO_MAIN_VIDEO, 'oid': oid}) #elif c_type == _CTYPE_AUDIO: @@ -890,9 +912,9 @@ class KodiVk: self.u = User(u_info['id'], self.conn) self.u.set_info() p = {'do': _DO_HOME} - p['oid'] = self.u.info['id'] if sys.argv[2]: p.update(dict(urlparse.parse_qsl(sys.argv[2][1:]))) + p['oid'] = int(p.get('oid', self.u.info['id'])) self.params = p if 'content_type' not in self.params.keys(): cw_id = xbmcgui.getCurrentWindowId() diff --git a/icon.png b/icon.png index 113f5e75dbfa55a1b2cbcd68e74b13be8106a5c2..8c56f3c7a9f95aa76cd1d89623f18de5598ba840 100644 GIT binary patch literal 9460 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 e{{ + - \ No newline at end of file +