def navigateWithPhotoId(self, photoId): analytics.log('ImageViewer_segue') if isinstance(self.postId, int): pass managers.shared().screensManager( ).showDetailPhotoViewControllerWithOwnerId_photoId_( args=[self.ownerId, photoId])
def sendCommentWithTypeownerIdpostIdtext(self, type, ownerId, postId, text): analytics.log('Posts_send_comment') response = {} try: if type == 'wall': response = self.wallPostService.sendComment( ownerId, postId, text, 0) elif type == 'photo': response = self.detailPhotoService.sendComment( ownerId, postId, text, 0) elif type == 'video': response = self.detailVideoService.sendComment( ownerId, postId, text, 0) except Exception as e: print( 'preloadCommentsWithTypeownerIdpostIdcountloaded exception: ' + str(e)) commentId = 0 if isinstance(response, int): response = {'comment_id': response} try: commentId = response['comment_id'] except: pass if commentId == 0: dialogsManager = PyDialogsManager() dialogsManager.showDialogWithMessage('error_send_comment') else: try: response['user_info'] = users.getShortUserById(vk.userId()) except: pass return response
def tappedOnVideoWithIdownerIdrepresentation(self, videoId, ownerId, representation): analytics.log('Dialog_video_segue') cache = VideosDatabase() try: cache.update([representation]) except: pass cache.close() managers.shared().screensManager().showDetailVideoViewControllerWithOwnerId_videoId_(args=[ownerId, videoId])
def exitTapped(self): dialogsManager = PyDialogsManager() index, cancelled = dialogsManager.showRowsDialogWithTitles(['settings_exit']) if index == 0 and not cancelled: analytics.log('Settings_do_exit') settings.set('access_token', '') settings.set('user_id', 0) vk.setToken('') vk.setUserId(0) settings.write() managers.shared().screensManager().showAuthorizationViewController()
def tappedOnVideoWithIdownerIdrepresentation(self, videoId, ownerId, representation): analytics.log('Posts_tapped_on_video') #print('representation: ' + json.dumps(representation, indent=4)) try: cache = VideosDatabase() cache.update([representation]) cache.close() except Exception as e: print('tappedOnVideoWithIdownerIdrepresentation exception: ' + str(e)) managers.shared().screensManager( ).showDetailVideoViewControllerWithOwnerId_videoId_( args=[ownerId, videoId])
def repostObjectWithIdentifier(self, identifier): analytics.log('Posts_repost') dialogsManager = PyDialogsManager() index, cancelled = dialogsManager.showRowsDialogWithTitles( ['repost_for_friends']) if cancelled: return {} if index == 0: text, cancelled = dialogsManager.showTextFieldDialogWithText( 'repost_enter_message') if cancelled: return {} return self.doRepostForFriends(identifier, text) return {}
def likeObjectWithTypeownerIditemIdaccessKeylike(self, type, ownerId, itemId, accessKey, like): analytics.log('Posts_like') try: if type == 'wall': type = 'post' api = vk.api() #print('type: ' + str(type) + ' ownerId ' + str(ownerId) + ' itemId ' + str(itemId) + ' accessKey ' + str(accessKey) + ' like ' + str(like)) if like == True: response = api.likes.add(type=type, owner_id=ownerId, item_id=itemId, access_key=accessKey) else: response = api.likes.delete(type=type, owner_id=ownerId, item_id=itemId) def updateCache(): likesCount = response.get('likes') if isinstance(likesCount, int): if type == 'wall': cache = PostsDatabase() data = cache.getById(ownerId, itemId) likes = data['likes'] likes['count'] = likesCount likes['user_likes'] = 1 if like == True else 0 data['likes'] = likes cache.update([data]) cache.close() elif type == 'video': cache = VideosDatabase() data = cache.getById(ownerId, itemId) print('video data: ' + json.dumps(data, indent=4)) likes = data['likes'] likes['count'] = likesCount likes['user_likes'] = 1 if like == True else 0 data['likes'] = likes cache.update([data]) cache.close() thread = threading.Thread(target=updateCache) thread.start() except Exception as e: print('likeObjectWithTypeownerIditemIdaccessKeylike exception: ' + str(e)) return response
def friendButtonTapped(self, friend_status): analytics.log('Wall_friend_Button') response = {} try: api = vk.api() if self.userId < 0: # работа с группой return self.joinOrLeaveGroup(friend_status) elif friend_status == 1 or friend_status == 3: if friend_status == 3: # Пользователь друг или есть входящая заявка dialogsManager = PyDialogsManager() index, cancelled = dialogsManager.showRowsDialogWithTitles(['delete_from_friends']) if cancelled: return -1 response = api.friends.delete(user_id=self.userId) print('friends.delete response: ' + str(response)) if response.get('success') == 1: return 5 if friend_status == 3 else 0 return -1 response = api.friends.add(user_id=self.userId) except Exception as e: print('wallviewmodel.py friendButtonTapped exception: ' + str(e)) return response
def followersTapped(self): analytics.log('Wall_followers') managers.shared().screensManager().showFriendsViewController_usersListType_push_(args=[self.userId, UsersListTypes.FOLLOWERS, True])
def tappedOnUserWithId(self, userId): analytics.log('Friends_segue') managers.shared().screensManager().showWallViewController_push_( args=[userId, True])
def subscribtionsTapped(self): analytics.log('Wall_subscribtions') managers.shared().screensManager().showFriendsViewController_usersListType_push_(args=[self.userId, UsersListTypes.SUBSCRIPTIONS, True])
def tappedOnGroupWithId(self, groupId): print('tappedOnGroupWithId: ' + str(groupId)) analytics.log('Groups_segue') managers.shared().screensManager().showWallViewController_push_(args=[groupId, True])
def tappedOnPhotoWithId(self, photoId): analytics.log('Gallery_segue') managers.shared().screensManager( ).showImagesViewerViewControllerWithOwnerId_albumId_photoId_( args=[self.ownerId, self.albumId, photoId])
def groupsTapped(self): analytics.log('Wall_groups') managers.shared().screensManager().showGroupsViewController_push_(args=[self.userId, True])
def bookmarksTapped(self): analytics.log('Menu_Bookmarks') managers.shared().screensManager().showBookmarksViewController()
def friendsTapped(self): analytics.log('Menu_Friends') managers.shared().screensManager().showFriendsViewController_usersListType_push_(args=[vk.userId(), UsersListTypes.FRIENDS, False])
def tappedOnPhotoWithIndexmessageId(self, index, messageId): analytics.log('Dialog_photo_segue') managers.shared().screensManager().showImagesViewerViewControllerWithMessageId_index_(args=[messageId, index])
def lentaTapped(self): analytics.log('Menu_Wall') managers.shared().screensManager().showWallViewController()
def newsTapped(self): analytics.log('Menu_News') managers.shared().screensManager().showNewsViewController()
def settingsTapped(self): analytics.log('Menu_Settings') managers.shared().screensManager().showSettingsViewController()
def documentsTapped(self): analytics.log('Menu_Documents') managers.shared().screensManager().showDocumentsViewController_(args=[vk.userId()])
def videosTapped(self): analytics.log('Menu_Videos') managers.shared().screensManager().showVideosViewController_push_(args=[vk.userId(), False])
def photosTapped(self): analytics.log('Wall_photos') managers.shared().screensManager().showPhotoAlbumsViewController_push_(args=[self.userId, True])
def addPostTapped(self): analytics.log('Wall_add_post') managers.shared().screensManager().presentAddPostViewController_(args=[self.userId])
def videosTapped(self): analytics.log('Wall_videos') managers.shared().screensManager().showVideosViewController_push_(args=[self.userId, True])
def answersTapped(self): analytics.log('Menu_Answers') managers.shared().screensManager().showAnswersViewController()
def messageButtonTapped(self): analytics.log('Wall_message_button') managers.shared().screensManager().showDialogViewController_(args=[self.userId])
def groupsTapped(self): analytics.log('Menu_Groups') managers.shared().screensManager().showGroupsViewController_push_(args=[vk.userId(), False])
def tappedOnAlbumWithId(self, albumId): analytics.log('PhotoAlbum_segue') managers.shared().screensManager().showGalleryViewControllerWithOwnerId_albumId_(args=[self.ownerId, albumId]);
def photosTapped(self): analytics.log('Menu_Photos') managers.shared().screensManager().showPhotoAlbumsViewController_push_(args=[vk.userId(), False])