Пример #1
0
class DT_Text(DataReader):
    __name__ = "Text"
    __created_mimetype__ = "text/plain"
    __opened_mimetypes__ = [
        "text/plain", "application/x-qt-windows-mime;value=\"FileName\"",
        NodeFactory.mimetype, CompositeNodeFactory.mimetype
    ]
    __icon_rc__ = ":icons/text.png"

    def __init__(self):
        DataReader.__init__(self)
        self.pm = PackageManager()

    def new(self):
        text = ""
        name = self.__name__
        return self.wrap_data(name, text)

    def open_url(self, parsedUrl):
        url = parsedUrl.geturl()

        if parsedUrl.scheme == "oa":
            fac = self.pm.get_factory_from_url(parsedUrl)
            if isinstance(fac, CompositeNodeFactory):
                pkg = self.pm.get_package_from_url(parsedUrl)[0]
                name = pkg.get_wralea_path()
            else:
                mod_name = fac.get_node_module()
                name = inspect.getsourcefile(mod_name)
            f = open(name)
        elif parsedUrl.scheme == "file":
            name = file_url_to_path(url)
            #name = parsedUrl.path#.strip("/")
            f = open(name)
        else:
            f = urllib2.urlopen(url)
            name = parsedUrl.path
        text = f.read()
        f.close()

        return self.wrap_data(name, text)
class DT_Text(DataReader):
    __name__             = "Text"
    __created_mimetype__ = "text/plain"
    __opened_mimetypes__ = ["text/plain",
                            "application/x-qt-windows-mime;value=\"FileName\"",
                            NodeFactory.mimetype,
                            CompositeNodeFactory.mimetype]
    __icon_rc__   = ":icons/text.png"

    def __init__(self):
        DataReader.__init__(self)
        self.pm = PackageManager()

    def new(self):
        text = ""
        name = self.__name__
        return self.wrap_data(name, text)

    def open_url(self, parsedUrl):
        url = parsedUrl.geturl()

        if parsedUrl.scheme == "oa":
            fac = self.pm.get_factory_from_url(parsedUrl)
            if isinstance(fac, CompositeNodeFactory):
                pkg  = self.pm.get_package_from_url(parsedUrl)[0]
                name = pkg.get_wralea_path()
            else:
                mod_name = fac.get_node_module()
                name =  inspect.getsourcefile(mod_name)
            f = open(name)
        elif parsedUrl.scheme == "file":
            name = file_url_to_path(url)
            #name = parsedUrl.path#.strip("/")
            f = open(name)
        else:
            f = urllib2.urlopen(url)
            name = parsedUrl.path
        text = f.read()
        f.close()

        return self.wrap_data(name, text)