def display(self, url, add=1, relpath=1, position=(0, 0)): ##print 'display:', url, position # for some reason we have to stop the PySol demo # (is this a multithread problem with Tkinter ?) try: ##self.app.game.stopDemo() ##self.app.game._cancelDrag() pass except: pass # ftp: and http: would work if we use urllib, but this widget is # far too limited to display anything but our documentation... for p in REMOTE_PROTOCOLS: if url.startswith(p): if not openURL(url): self.errorDialog( TITLE + _( """HTML limitation: The %s protocol is not supported yet. Please use your standard web browser to open the following URL: %s """ ) % (p, url) ) return # locate the file relative to the current url url = self.basejoin(url, relpath=relpath) # read the file try: file = None if 0: import urllib file = urllib.urlopen(url) else: file, url = self.openfile(url) data = file.read() file.close() file = None except Exception, ex: if file: file.close() self.errorDialog(_("Unable to service request:\n") + url + "\n\n" + str(ex)) return
def display(self, url, add=1, relpath=1, position=(0, 0)): ##print 'display:', url, position # for some reason we have to stop the PySol demo # (is this a multithread problem with Tkinter ?) try: ##self.app.game.stopDemo() ##self.app.game._cancelDrag() pass except: pass # ftp: and http: would work if we use urllib, but this widget is # far too limited to display anything but our documentation... for p in REMOTE_PROTOCOLS: if url.startswith(p): if not openURL(url): self.errorDialog(TITLE + _('''HTML limitation: The %s protocol is not supported yet. Please use your standard web browser to open the following URL: %s ''') % (p, url)) return # locate the file relative to the current url url = self.basejoin(url, relpath=relpath) # read the file try: file = None if 0: import urllib file = urllib.urlopen(url) else: file, url = self.openfile(url) data = file.read() file.close() file = None except Exception, ex: if file: file.close() self.errorDialog( _('Unable to service request:\n') + url + '\n\n' + str(ex)) return
def mHelpWebSite(self, *args): openURL(PACKAGE_URL)
def display(self, url, add=1, relpath=1, position=(0, 0)): # print 'display:', url, position # for some reason we have to stop the PySol demo # (is this a multithread problem with tkinter ?) try: # self.app.game.stopDemo() # self.app.game._cancelDrag() pass except Exception: pass # ftp: and http: would work if we use urllib, but this widget is # far too limited to display anything but our documentation... for p in REMOTE_PROTOCOLS: if url.startswith(p): if not openURL(url): self.errorDialog( _('''%(app)s HTML limitation: The %(protocol)s protocol is not supported yet. Please use your standard web browser to open the following URL: %(url)s ''') % { 'app': TITLE, 'protocol': p, 'url': url }) return # locate the file relative to the current url url = self.basejoin(url, relpath=relpath) # read the file try: file = None if 0: import urllib file = urllib.urlopen(url) else: file, url = self.openfile(url) data = file.read() file.close() file = None except Exception as ex: if file: file.close() self.errorDialog( _('Unable to service request:\n') + url + '\n\n' + str(ex)) return except Exception: if file: file.close() self.errorDialog(_('Unable to service request:\n') + url) return self.url = url if self.home is None: self.home = self.url if add: self.addHistory(self.url, position=position) # print self.history.index, self.history.list if self.history.index > 1: self.backButton.set_sensitive(True) else: self.backButton.set_sensitive(False) if self.history.index < len(self.history.list): self.forwardButton.set_sensitive(True) else: self.forwardButton.set_sensitive(False) start, end = self.textbuffer.get_bounds() self.textbuffer.delete(start, end) writer = tkHTMLWriter(self.textbuffer, self, self.app) fmt = formatter.AbstractFormatter(writer) parser = tkHTMLParser(fmt) parser.feed(data) parser.close() self.set_position(position) self.parent.set_title(parser.title)
def display(self, url, add=1, relpath=1, xview=0, yview=0): # for some reason we have to stop the PySol demo # (is this a multithread problem with tkinter ?) if self.app and self.app.game: self.app.game.stopDemo() # self.app.game._cancelDrag() # pass # ftp: and http: would work if we use urllib, but this widget is # far too limited to display anything but our documentation... for p in REMOTE_PROTOCOLS: if url.startswith(p): if not openURL(url): self.errorDialog( _('''%(app)s HTML limitation: The %(protocol)s protocol is not supported yet. Please use your standard web browser to open the following URL: %(url)s ''') % { 'app': TITLE, 'protocol': p, 'url': url }) return # locate the file relative to the current url url = self.basejoin(url, relpath=relpath) # read the file try: file = None if 0: import urllib.request import urllib.parse import urllib.error file = urllib.request.urlopen(url) else: file, url = self.openfile(url) data = file.read() file.close() file = None except Exception as ex: if file: file.close() self.errorDialog( _("Unable to service request:\n") + url + "\n\n" + str(ex)) return except Exception: if file: file.close() self.errorDialog(_("Unable to service request:\n") + url) return self.url = url if self.home is None: self.home = self.url if add: self.addHistory(self.url, xview=xview, yview=yview) # print self.history.index, self.history.list if self.history.index > 1: self.backButton.config(state="normal") else: self.backButton.config(state="disabled") if self.history.index < len(self.history.list): self.forwardButton.config(state="normal") else: self.forwardButton.config(state="disabled") old_c1, old_c2 = self.defcursor, self.handcursor self.defcursor = self.handcursor = "watch" self.text.config(cursor=self.defcursor) self.text.update_idletasks() # self.frame.config(cursor=self.defcursor) # self.frame.update_idletasks() self.text.config(state="normal") self.text.delete("1.0", "end") # self.images = {} writer = tkHTMLWriter(self.text, self, self.app) fmt = formatter.AbstractFormatter(writer) parser = tkHTMLParser(fmt) parser.feed(data) parser.close() self.text.config(state="disabled") if 0.0 <= xview <= 1.0: self.text.xview_moveto(xview) if 0.0 <= yview <= 1.0: self.text.yview_moveto(yview) self.parent.wm_title(parser.title) self.parent.wm_iconname(parser.title) self.defcursor, self.handcursor = old_c1, old_c2 self.text.config(cursor=self.defcursor)
def _urlClicked(self, event): openURL(self._url)
def _urlClicked(self, *args): openURL(self._url)
def display(self, url, add=1, relpath=1, xview=0, yview=0): # for some reason we have to stop the PySol demo # (is this a multithread problem with Tkinter ?) if self.app and self.app.game: self.app.game.stopDemo() # self.app.game._cancelDrag() # pass # ftp: and http: would work if we use urllib, but this widget is # far too limited to display anything but our documentation... for p in REMOTE_PROTOCOLS: if url.startswith(p): plat = get_platform() if plat == 'android': pass print("Open url: %s (TBD)" % url) # import android # tbd. # start android webbrowser. with url # ??? elif not openURL(url): return # locate the file relative to the current url url = self.basejoin(url, relpath=relpath) # read the file try: file = None if 0: import urllib file = urllib.urlopen(url) else: file, url = self.openfile(url) data = file.read() file.close() file = None except Exception: print("Open url(1) - Exception: %s" % url) if file: file.close() ''' self.errorDialog(_("Unable to service request:\n") + url) ''' return self.url = url if self.home is None: self.home = self.url if add: self.addHistory(self.url, xview=xview, yview=yview) # print self.history.index, self.history.list if self.history.index > 1: self.backButton.config(state="normal") else: self.backButton.config(state="disabled") if self.history.index < len(self.history.list): self.forwardButton.config(state="normal") else: self.forwardButton.config(state="disabled") old_c1, old_c2 = self.defcursor, self.handcursor self.defcursor = self.handcursor = "watch" self.text.config(cursor=self.defcursor) self.text.update_idletasks() # self.frame.config(cursor=self.defcursor) # self.frame.update_idletasks() self.text.config(state="normal") self.text.delete("1.0", "end") # self.images = {} self.text.textbuffer = '' writer = tkHTMLWriter(self.text, self, self.app) fmt = formatter.AbstractFormatter(writer) parser = tkHTMLParser(fmt) parser.feed(data) parser.close() self.text.config(state="disabled") if 0.0 <= xview <= 1.0: self.text.xview_moveto(xview) if 0.0 <= yview <= 1.0: self.text.yview_moveto(yview) # self.parent.wm_title(parser.title) self.window.titleline.text = parser.title self.parent.wm_iconname(parser.title) self.defcursor, self.handcursor = old_c1, old_c2 self.text.config(cursor=self.defcursor)
def display(self, url, add=1, relpath=1, position=(0, 0)): # print 'display:', url, position # for some reason we have to stop the PySol demo # (is this a multithread problem with tkinter ?) try: # self.app.game.stopDemo() # self.app.game._cancelDrag() pass except Exception: pass # ftp: and http: would work if we use urllib, but this widget is # far too limited to display anything but our documentation... for p in REMOTE_PROTOCOLS: if url.startswith(p): if not openURL(url): self.errorDialog(TITLE + _('''HTML limitation: The %s protocol is not supported yet. Please use your standard web browser to open the following URL: %s ''') % (p, url)) return # locate the file relative to the current url url = self.basejoin(url, relpath=relpath) # read the file try: file = None if 0: import urllib file = urllib.urlopen(url) else: file, url = self.openfile(url) data = file.read() file.close() file = None except Exception as ex: if file: file.close() self.errorDialog( _('Unable to service request:\n') + url + '\n\n' + str(ex)) return except Exception: if file: file.close() self.errorDialog(_('Unable to service request:\n') + url) return self.url = url if self.home is None: self.home = self.url if add: self.addHistory(self.url, position=position) # print self.history.index, self.history.list if self.history.index > 1: self.backButton.set_sensitive(True) else: self.backButton.set_sensitive(False) if self.history.index < len(self.history.list): self.forwardButton.set_sensitive(True) else: self.forwardButton.set_sensitive(False) start, end = self.textbuffer.get_bounds() self.textbuffer.delete(start, end) writer = tkHTMLWriter(self.textbuffer, self, self.app) fmt = formatter.AbstractFormatter(writer) parser = tkHTMLParser(fmt) parser.feed(data) parser.close() self.set_position(position) self.parent.set_title(parser.title)
def display(self, url, add=1, relpath=1, xview=0, yview=0): # for some reason we have to stop the PySol demo # (is this a multithread problem with tkinter ?) if self.app and self.app.game: self.app.game.stopDemo() # self.app.game._cancelDrag() # pass # ftp: and http: would work if we use urllib, but this widget is # far too limited to display anything but our documentation... for p in REMOTE_PROTOCOLS: if url.startswith(p): if not openURL(url): self.errorDialog(TITLE + _('''HTML limitation: The %s protocol is not supported yet. Please use your standard web browser to open the following URL: %s ''') % (p, url)) return # locate the file relative to the current url url = self.basejoin(url, relpath=relpath) # read the file try: file = None if 0: import urllib.request import urllib.parse import urllib.error file = urllib.request.urlopen(url) else: file, url = self.openfile(url) data = file.read() file.close() file = None except Exception as ex: if file: file.close() self.errorDialog(_("Unable to service request:\n") + url + "\n\n" + str(ex)) return except Exception: if file: file.close() self.errorDialog(_("Unable to service request:\n") + url) return self.url = url if self.home is None: self.home = self.url if add: self.addHistory(self.url, xview=xview, yview=yview) # print self.history.index, self.history.list if self.history.index > 1: self.backButton.config(state="normal") else: self.backButton.config(state="disabled") if self.history.index < len(self.history.list): self.forwardButton.config(state="normal") else: self.forwardButton.config(state="disabled") old_c1, old_c2 = self.defcursor, self.handcursor self.defcursor = self.handcursor = "watch" self.text.config(cursor=self.defcursor) self.text.update_idletasks() # self.frame.config(cursor=self.defcursor) # self.frame.update_idletasks() self.text.config(state="normal") self.text.delete("1.0", "end") # self.images = {} writer = tkHTMLWriter(self.text, self, self.app) fmt = formatter.AbstractFormatter(writer) parser = tkHTMLParser(fmt) parser.feed(data) parser.close() self.text.config(state="disabled") if 0.0 <= xview <= 1.0: self.text.xview_moveto(xview) if 0.0 <= yview <= 1.0: self.text.yview_moveto(yview) self.parent.wm_title(parser.title) self.parent.wm_iconname(parser.title) self.defcursor, self.handcursor = old_c1, old_c2 self.text.config(cursor=self.defcursor)