def __init__(self, paquete, modulo): Gtk.Paned.__init__(self, orientation=Gtk.Orientation.HORIZONTAL) scroll = Gtk.ScrolledWindow() scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) apiwidget = ApiWidget(paquete, modulo) scroll.add(apiwidget) scroll.set_size_request(250, -1) self.pack1(scroll, resize=False, shrink=True) self.infonotebook = InfoNotebook() self.pack2(self.infonotebook, resize=True, shrink=True) self.show_all() apiwidget.connect('update', self.__update)
class IntrospectionPanel(Gtk.Paned): __gtype_name__ = 'PygiHackIntrospectionPanel' __gsignals__ = { "info-try": (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, (GObject.TYPE_STRING,)), "abrir": (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, (GObject.TYPE_STRING,))} def __init__(self, paquete, modulo): Gtk.Paned.__init__(self, orientation=Gtk.Orientation.HORIZONTAL) scroll = Gtk.ScrolledWindow() scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) self.apiwidget = ApiWidget(paquete, modulo) scroll.add(self.apiwidget) scroll.set_size_request(250, -1) self.pack1(scroll, resize=False, shrink=True) self.infonotebook = InfoNotebook() self.pack2(self.infonotebook, resize=True, shrink=True) self.show_all() self.apiwidget.connect('update', self.__update) self.apiwidget.connect('abrir', self.__open_file) def __open_file(self, widget, modulo_path): self.emit("abrir", modulo_path) def __update(self, widget, tupla): if tupla: webdoc = '' objeto, gdoc, doc, _type, modulo_path, tipo = tupla doc = str(doc).replace("[", "").replace("]", "").replace( ",", "\n").replace("u'", "").replace("'", "") else: self.infonotebook.set_gdoc('') self.infonotebook.set_doc('') self.infonotebook.set_webdoc('') self.emit("info-try", '') return self.infonotebook.set_gdoc(gdoc) self.infonotebook.set_doc(doc) clase = objeto.split(".")[-1] modulo = objeto.replace(".%s" % objeto.split(".")[-1], '') for f in os.listdir('/tmp'): if f.split(".")[-1] == 'html': os.remove(os.path.join('/tmp', f)) if tipo == "python-gi": if modulo == "gi": arch0 = os.path.join(BASE_PATH, "SpyderHack", "Make_doc.py") commands.getoutput('cp %s %s' % (arch0, '/tmp')) arch = os.path.join('/tmp', "Make_doc.py") else: arch0 = os.path.join(BASE_PATH, "SpyderHack", "Make_gi_doc.py") commands.getoutput('cp %s %s' % (arch0, '/tmp')) arch = os.path.join('/tmp', "Make_gi_doc.py") elif tipo == "python" or tipo == "Otros": arch0 = os.path.join(BASE_PATH, "SpyderHack", "Make_doc.py") commands.getoutput('cp %s %s' % (arch0, '/tmp')) arch = os.path.join('/tmp', "Make_doc.py") commands.getoutput('python %s %s %s' % (arch, modulo, clase)) os.remove(arch) ### Porque aveces la web no tiene este nombre. for file in os.listdir('/tmp'): if str(file).endswith('.html'): archivo = os.path.realpath(os.path.join('/tmp', file)) arch = open(archivo, "r") text = arch.read() arch.close() if text: webdoc = archivo self.infonotebook.set_webdoc(webdoc) self.emit("info-try", "%s %s %s %s" % ( objeto, _type, modulo_path, tipo)) def zoom(self, zoom): self.infonotebook.zoom(zoom) def buscar_mas(self, accion, texto): self.apiwidget.buscar_mas(accion, texto) def get_estructura(self): return self.apiwidget.get_estructura()
class IntrospectionPanel(Gtk.Paned): __gtype_name__ = 'PygiHackIntrospectionPanel' __gsignals__ = { "info-try": (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, (GObject.TYPE_STRING, )), "abrir": (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, (GObject.TYPE_STRING, )) } def __init__(self, paquete, modulo): Gtk.Paned.__init__(self, orientation=Gtk.Orientation.HORIZONTAL) scroll = Gtk.ScrolledWindow() scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) self.apiwidget = ApiWidget(paquete, modulo) scroll.add(self.apiwidget) scroll.set_size_request(250, -1) self.pack1(scroll, resize=False, shrink=True) self.infonotebook = InfoNotebook() self.pack2(self.infonotebook, resize=True, shrink=True) self.show_all() self.apiwidget.connect('update', self.__update) self.apiwidget.connect('abrir', self.__open_file) def __open_file(self, widget, modulo_path): self.emit("abrir", modulo_path) def __update(self, widget, tupla): if tupla: webdoc = '' objeto, gdoc, doc, _type, modulo_path, tipo = tupla doc = str(doc).replace("[", "").replace("]", "").replace( ",", "\n").replace("u'", "").replace("'", "") else: self.infonotebook.set_gdoc('') self.infonotebook.set_doc('') self.infonotebook.set_webdoc('') self.emit("info-try", '') return self.infonotebook.set_gdoc(gdoc) self.infonotebook.set_doc(doc) clase = objeto.split(".")[-1] modulo = objeto.replace(".%s" % objeto.split(".")[-1], '') for f in os.listdir('/tmp'): if f.split(".")[-1] == 'html': os.remove(os.path.join('/tmp', f)) if tipo == "python-gi": if modulo == "gi": arch0 = os.path.join(BASE_PATH, "SpyderHack", "Make_doc.py") commands.getoutput('cp %s %s' % (arch0, '/tmp')) arch = os.path.join('/tmp', "Make_doc.py") else: arch0 = os.path.join(BASE_PATH, "SpyderHack", "Make_gi_doc.py") commands.getoutput('cp %s %s' % (arch0, '/tmp')) arch = os.path.join('/tmp', "Make_gi_doc.py") elif tipo == "python" or tipo == "Otros": arch0 = os.path.join(BASE_PATH, "SpyderHack", "Make_doc.py") commands.getoutput('cp %s %s' % (arch0, '/tmp')) arch = os.path.join('/tmp', "Make_doc.py") commands.getoutput('python %s %s %s' % (arch, modulo, clase)) os.remove(arch) ### Porque aveces la web no tiene este nombre. for file in os.listdir('/tmp'): if str(file).endswith('.html'): archivo = os.path.realpath(os.path.join('/tmp', file)) arch = open(archivo, "r") text = arch.read() arch.close() if text: webdoc = archivo self.infonotebook.set_webdoc(webdoc) self.emit("info-try", "%s %s %s %s" % (objeto, _type, modulo_path, tipo)) def zoom(self, zoom): self.infonotebook.zoom(zoom) def buscar_mas(self, accion, texto): self.apiwidget.buscar_mas(accion, texto) def get_estructura(self): return self.apiwidget.get_estructura()