def OnNavigated(self, event): url = event.GetURL() if url == 'https://www.dropbox.com/1/oauth2/authorize_submit': result = self.browser.RunScript(""" if (!document.getElementsByClassName) { document.getElementsByClassName=function(cn) { var allT=document.getElementsByTagName('*'), allCN=[], i=0, a; while(a=allT[i++]) { a.className==cn ? allCN[allCN.length]=a : null; } return allCN } } document.title = document.getElementsByClassName('auth-code')[0].innerText; """) auth_code = self.browser.GetCurrentTitle() self.parent.Hide() self.Destroy() track_event('Dropbox auth finished') startWorker(did_login, self.shotBufApp.did_finish_auth(auth_code)) else: print 'Fail'
def OnConnectDropbox(self, event): track_event('Connect button pressed') self.dialog = WebViewDialog(self, -1) self.dialog.parent = self self.dialog.shotBufApp = self.shotBufApp self.dialog.browser.LoadURL(shotBufApp.get_auth_url()) self.SetWindowStyle(self.style) self.dialog.Show()
def image(): localFilePath = '' try: track_event('spotainize_common', 'api', '/eval/image') url = request.json["url"] localFilePath = downloadImage(url) score = list(evaluate([localFilePath])) return jsonify({'score': str(score[0])}), 200 except Exception as e: return jsonify({'message': str(e)}), 400 finally: removeFile(localFilePath)
def images(): localFilePathList = [] try: track_event('spotainize_common', 'api', '/eval/images') urlList = request.get_json()["urlList"] if (len(urlList) > 10): return {'error': 'No more than 10.'} localFilePathList = downloadImages(urlList) result = list(evaluate(localFilePathList)) removeFiles(localFilePathList) return {'score': result} except Exception as e: removeFiles(localFilePathList) return {'error': str(e)}
def OnMenu(self, event): evt_id = event.GetId() if evt_id == CustomTaskBarIcon.ID_DISABLE_SHOTBUF: track_event('Disable shotbuf') self.isEnabled = True disable_shotbuf() if evt_id == CustomTaskBarIcon.ID_ENABLE_SHOTBUF: track_event('Enable shotbuf') self.isEnabled = False enable_shotbuf() elif evt_id == CustomTaskBarIcon.ID_UNLINK_DROPBOX: track_event('unlink dropbox account') shotBufApp.unlink_dropbox() frame.ShowAsTopWindow() disable_shotbuf() elif evt_id == CustomTaskBarIcon.ID_CHECK_UPDATES: track_event('check updates clicked') if not check_if_new_version_is_available(): message = 'ShotBuf %s is currently the newest version available.' % update_checker.CURRENT_VERSION dlg = wx.MessageDialog(frame, message, "You're up to date!", wx.OK | wx.ICON_INFORMATION | wx.STAY_ON_TOP) dlg = dlg.ShowModal() # dlg.ShowModal() elif evt_id == CustomTaskBarIcon.ID_QUIT_SHOTBUF: track_event('Quit Shotbuf') app.ExitMainLoop() # dlg.Destroy() # dialog = MyDialog(self, -1) # print 'dialog', dialog # dialog.Show() # # if not updateChecker.is_newest_version_available(): # updateChecker.is_newest_version_available() # updateCheckerFrame.ShowAsTopWindow() # dlg.Destroy() # else: # elif evt_id == wx.ID_EXIT: # disable_shotbuf() # print 'Quit' # app.ExitMainLoop() # wx.MessageBox("Hello World!", "Hello") # elif evt_id == CustomTaskBarIcon.ID_HELLO2: # wx.MessageBox("Hi Again!", "Hi!") # el # if evt_id == wx.ID_CLOSE: # self.Destroy() # else: event.Skip()
def OnPasteButton(event): if not wx.TheClipboard.IsOpened(): wx.TheClipboard.Open() bitmap_success = wx.TheClipboard.IsSupported(wx.DataFormat(wx.DF_BITMAP)) text_success = wx.TheClipboard.IsSupported(wx.DataFormat(wx.DF_TEXT)) if bitmap_success or text_success: bitmap_data_object = wx.BitmapDataObject() text_data_object = wx.TextDataObject() do = wx.DataObjectComposite() do.Add(bitmap_data_object, True) do.Add(text_data_object, True) success = wx.TheClipboard.GetData(do) if success: format = do.GetReceivedFormat() data_object = do.GetObject(format) format_type = format.GetType() if format_type in [wx.DF_DIB, wx.DF_BITMAP]: bitmap = bitmap_data_object.GetBitmap() size = bitmap.GetSize() image_data = numpy.zeros((size[0], size[1], 3), dtype=numpy.uint8) image = bitmap.ConvertToImage() rgb_bitmap = image.ConvertToBitmap() rgb_bitmap.CopyToBuffer(image_data) isNewImage = shotBufApp.set_image_data_if_new(image_data) if isNewImage: track_event('Paste new Image') fileTemp = tempfile.NamedTemporaryFile(delete = False) bitmap.SaveFile(fileTemp.name, wx.BITMAP_TYPE_PNG) shotBufApp.paste_file(fileTemp.name) elif format_type in [wx.DF_UNICODETEXT, wx.DF_TEXT]: text = text_data_object.GetText() shotBufApp.paste_text_if_new(text) wx.TheClipboard.Close()
def check_if_new_version_is_available(): result = updateChecker.is_newest_version_available() if updateChecker.is_newest_version_available(): track_event('Newest version is available') message = 'You are currently running version %s, version %s is now available for download.\n\nDo you wish to install it now?' message = message % (update_checker.CURRENT_VERSION, updateChecker.get_newest_version()) print message dlg = wx.MessageDialog(frame, message, 'A new version of Shotbuf is available.', wx.YES_NO | wx.YES_DEFAULT | wx.ICON_QUESTION) # dlg.SetIcon('distributive.icns') retCode = dlg.ShowModal() if (retCode == wx.ID_YES): track_event('Agree to install newest version') webbrowser.open('http://shotbuf.com/d') # dlg.ShowModal() dlg.Destroy() else: track_event('Disagree to install newest version') return result
def main(): track_event('Launch App') if not shotBufApp.is_logined(): frame.ShowAsTopWindow() track_event('Connect Dropbox') app.MainLoop() else: try: shotBufApp.did_login() check_if_new_version_is_available() enable_shotbuf() app.MainLoop() except urllib3.exceptions.MaxRetryError: track_event('Login connection error') dlg = wx.MessageDialog(frame, "Please, check your internet connection.", "Network error!", wx.OK | wx.ICON_ERROR | wx.STAY_ON_TOP) dlg.ShowModal() dlg.Destroy() print 'Start'
def paste_text_if_new(self, text): isNew = self.set_text_data_if_new(text) if isNew: track_event('Paste new text') self.paste_text(text)
def did_login(result): track_event('Did login') enable_shotbuf()