Пример #1
0
    def command(self, save=True, auto=False):
        res = {
            'api_methods': [],
            'javascript_classes': [],
            'css_files': []
        }
        if self.args:
            # Short-circuit if we're serving templates...
            return self._success(_('Serving up API content'), result=res)

        session, config = self.session, self.session.config
        urlmap = UrlMap(session)
        for method in ('GET', 'POST', 'UPDATE', 'DELETE'):
            for cmd in urlmap._api_commands(method, strict=True):
                cmdinfo = {
                    "url": cmd.SYNOPSIS[2],
                    "method": method
                }
                if hasattr(cmd, 'HTTP_QUERY_VARS'):
                    cmdinfo["query_vars"] = cmd.HTTP_QUERY_VARS
                if hasattr(cmd, 'HTTP_POST_VARS'):
                    cmdinfo["post_vars"] = cmd.HTTP_POST_VARS
                if hasattr(cmd, 'HTTP_OPTIONAL_VARS'):
                    cmdinfo["optional_vars"] = cmd.OPTIONAL_VARS
                res['api_methods'].append(cmdinfo)

        created_js = []
        for cls, filename in sorted(list(
                config.plugins.get_js_classes().iteritems())):
            try:
                parts = cls.split('.')[:-1]
                for i in range(1, len(parts)):
                    parent = '.'.join(parts[:i+1])
                    if parent not in created_js:
                        res['javascript_classes'].append({
                            'classname': parent,
                            'code': ''
                        })
                        created_js.append(parent)
                with open(filename, 'rb') as fd:
                    res['javascript_classes'].append({
                        'classname': cls,
                        'code': fd.read().decode('utf-8')
                    })
                    created_js.append(cls)
            except (OSError, IOError, UnicodeDecodeError):
                self._ignore_exception()

        for cls, filename in sorted(list(
                config.plugins.get_css_files().iteritems())):
            try:
                with open(filename, 'rb') as fd:
                    res['css_files'].append({
                        'classname': cls,
                        'css': fd.read().decode('utf-8')
                    })
            except (OSError, IOError, UnicodeDecodeError):
                self._ignore_exception()

        return self._success(_('Generated Javascript API'), result=res)
Пример #2
0
    def command(self, save=True, auto=False):
        session, config = self.session, self.session.config

        urlmap = UrlMap(session)
        res = {"api_methods": [], "javascript_classes": [], "css_files": []}

        for method in ("GET", "POST", "UPDATE", "DELETE"):
            for cmd in urlmap._api_commands(method, strict=True):
                cmdinfo = {"url": cmd.SYNOPSIS[2], "method": method}
                if hasattr(cmd, "HTTP_QUERY_VARS"):
                    cmdinfo["query_vars"] = cmd.HTTP_QUERY_VARS
                if hasattr(cmd, "HTTP_POST_VARS"):
                    cmdinfo["post_vars"] = cmd.HTTP_POST_VARS
                if hasattr(cmd, "HTTP_OPTIONAL_VARS"):
                    cmdinfo["optional_vars"] = cmd.OPTIONAL_VARS
                res["api_methods"].append(cmdinfo)

        for cls, filename in config.plugins.get_js_classes().iteritems():
            try:
                with open(filename, "rb") as fd:
                    res["javascript_classes"].append({"classname": cls, "code": fd.read().decode("utf-8")})
            except (OSError, IOError, UnicodeDecodeError):
                self._ignore_exception()

        for cls, filename in config.plugins.get_css_files().iteritems():
            try:
                with open(filename, "rb") as fd:
                    res["css_files"].append({"classname": cls, "css": fd.read().decode("utf-8")})
            except (OSError, IOError, UnicodeDecodeError):
                self._ignore_exception()

        return res
Пример #3
0
    def command(self, save=True, auto=False):
        res = {
            'api_methods': [],
            'javascript_classes': [],
            'css_files': []
        }
        if self.args:
            # Short-circuit if we're serving templates...
            return self._success(_('Serving up API content'), result=res)

        session, config = self.session, self.session.config
        urlmap = UrlMap(session)
        for method in ('GET', 'POST', 'UPDATE', 'DELETE'):
            for cmd in urlmap._api_commands(method, strict=True):
                cmdinfo = {
                    "url": cmd.SYNOPSIS[2],
                    "method": method
                }
                if hasattr(cmd, 'HTTP_QUERY_VARS'):
                    cmdinfo["query_vars"] = cmd.HTTP_QUERY_VARS
                if hasattr(cmd, 'HTTP_POST_VARS'):
                    cmdinfo["post_vars"] = cmd.HTTP_POST_VARS
                if hasattr(cmd, 'HTTP_OPTIONAL_VARS'):
                    cmdinfo["optional_vars"] = cmd.OPTIONAL_VARS
                res['api_methods'].append(cmdinfo)

        created_js = []
        for cls, filename in sorted(list(
                config.plugins.get_js_classes().iteritems())):
            try:
                parts = cls.split('.')[:-1]
                for i in range(1, len(parts)):
                    parent = '.'.join(parts[:i+1])
                    if parent not in created_js:
                        res['javascript_classes'].append({
                            'classname': parent,
                            'code': ''
                        })
                        created_js.append(parent)
                with open(filename, 'rb') as fd:
                    res['javascript_classes'].append({
                        'classname': cls,
                        'code': fd.read().decode('utf-8')
                    })
                    created_js.append(cls)
            except (OSError, IOError, UnicodeDecodeError):
                self._ignore_exception()

        for cls, filename in sorted(list(
                config.plugins.get_css_files().iteritems())):
            try:
                with open(filename, 'rb') as fd:
                    res['css_files'].append({
                        'classname': cls,
                        'css': fd.read().decode('utf-8')
                    })
            except (OSError, IOError, UnicodeDecodeError):
                self._ignore_exception()

        return self._success(_('Generated Javascript API'), result=res)
Пример #4
0
    def command(self, save=True, auto=False):
        session, config = self.session, self.session.config

        urlmap = UrlMap(session)
        res = {
            'api_methods': [],
            'javascript_classes': [],
            'css_files': []
        }

        for method in ('GET', 'POST', 'UPDATE', 'DELETE'):
            for cmd in urlmap._api_commands(method, strict=True):
                cmdinfo = {
                    "url": cmd.SYNOPSIS[2],
                    "method": method
                }
                if hasattr(cmd, 'HTTP_QUERY_VARS'):
                    cmdinfo["query_vars"] = cmd.HTTP_QUERY_VARS
                if hasattr(cmd, 'HTTP_POST_VARS'):
                    cmdinfo["post_vars"] = cmd.HTTP_POST_VARS
                if hasattr(cmd, 'HTTP_OPTIONAL_VARS'):
                    cmdinfo["optional_vars"] = cmd.OPTIONAL_VARS
                res['api_methods'].append(cmdinfo)

        for cls, filename in config.plugins.get_js_classes().iteritems():
            try:
                with open(filename, 'rb') as fd:
                    res['javascript_classes'].append({
                        'classname': cls,
                        'code': fd.read().decode('utf-8')
                    })
            except (OSError, IOError, UnicodeDecodeError):
                self._ignore_exception()

        for cls, filename in config.plugins.get_css_files().iteritems():
            try:
                with open(filename, 'rb') as fd:
                    res['css_files'].append({
                        'classname': cls,
                        'css': fd.read().decode('utf-8')
                    })
            except (OSError, IOError, UnicodeDecodeError):
                self._ignore_exception()

        return res
Пример #5
0
    def command(self, save=True, auto=False):
        res = {"api_methods": [], "javascript_classes": [], "css_files": []}
        if self.args:
            # Short-circuit if we're serving templates...
            return self._success(_("Serving up API content"), result=res)

        session, config = self.session, self.session.config
        urlmap = UrlMap(session)
        for method in ("GET", "POST", "UPDATE", "DELETE"):
            for cmd in urlmap._api_commands(method, strict=True):
                cmdinfo = {"url": cmd.SYNOPSIS[2], "method": method}
                if hasattr(cmd, "HTTP_QUERY_VARS"):
                    cmdinfo["query_vars"] = cmd.HTTP_QUERY_VARS
                if hasattr(cmd, "HTTP_POST_VARS"):
                    cmdinfo["post_vars"] = cmd.HTTP_POST_VARS
                if hasattr(cmd, "HTTP_OPTIONAL_VARS"):
                    cmdinfo["optional_vars"] = cmd.OPTIONAL_VARS
                res["api_methods"].append(cmdinfo)

        created_js = []
        for cls, filename in sorted(list(config.plugins.get_js_classes().iteritems())):
            try:
                parts = cls.split(".")[:-1]
                for i in range(1, len(parts)):
                    parent = ".".join(parts[: i + 1])
                    if parent not in created_js:
                        res["javascript_classes"].append({"classname": parent, "code": ""})
                        created_js.append(parent)
                with open(filename, "rb") as fd:
                    res["javascript_classes"].append({"classname": cls, "code": fd.read().decode("utf-8")})
                    created_js.append(cls)
            except (OSError, IOError, UnicodeDecodeError):
                self._ignore_exception()

        for cls, filename in sorted(list(config.plugins.get_css_files().iteritems())):
            try:
                with open(filename, "rb") as fd:
                    res["css_files"].append({"classname": cls, "css": fd.read().decode("utf-8")})
            except (OSError, IOError, UnicodeDecodeError):
                self._ignore_exception()

        return self._success(_("Generated Javascript API"), result=res)
Пример #6
0
    def command(self, save=True, auto=False):
        session, config = self.session, self.session.config

        urlmap = UrlMap(session)
        res = {'api_methods': [], 'javascript_classes': [], 'css_files': []}

        for method in ('GET', 'POST', 'UPDATE', 'DELETE'):
            for cmd in urlmap._api_commands(method, strict=True):
                cmdinfo = {"url": cmd.SYNOPSIS[2], "method": method}
                if hasattr(cmd, 'HTTP_QUERY_VARS'):
                    cmdinfo["query_vars"] = cmd.HTTP_QUERY_VARS
                if hasattr(cmd, 'HTTP_POST_VARS'):
                    cmdinfo["post_vars"] = cmd.HTTP_POST_VARS
                if hasattr(cmd, 'HTTP_OPTIONAL_VARS'):
                    cmdinfo["optional_vars"] = cmd.OPTIONAL_VARS
                res['api_methods'].append(cmdinfo)

        for cls, filename in config.plugins.get_js_classes().iteritems():
            try:
                with open(filename, 'rb') as fd:
                    res['javascript_classes'].append({
                        'classname':
                        cls,
                        'code':
                        fd.read().decode('utf-8')
                    })
            except (OSError, IOError, UnicodeDecodeError):
                self._ignore_exception()

        for cls, filename in config.plugins.get_css_files().iteritems():
            try:
                with open(filename, 'rb') as fd:
                    res['css_files'].append({
                        'classname': cls,
                        'css': fd.read().decode('utf-8')
                    })
            except (OSError, IOError, UnicodeDecodeError):
                self._ignore_exception()

        return res