Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
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()
Exemplo n.º 4
0
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()