Example #1
0
    def __init__(self):

        self.args = self._parse_args()

        if self.args.version:
            print __version__
            sys.exit(0)

        self.kwdb = KeywordTable()
        self.app = flask.Flask(__name__)

        with self.app.app_context():
            current_app.kwdb = self.kwdb

        for lib in self.args.library:
            try:
                self.kwdb.add_library(lib)
            except robot.errors.DataError as e:
                sys.stderr.write("unable to load library '%s'\n" % lib)
                sys.exit(1)

        self._load_keyword_data(self.args.path,
                                self.args.no_installed_keywords)

        self.app.add_url_rule("/", "home", self._root)
        self.app.add_url_rule("/ping", "ping", self._ping)
        self.app.add_url_rule("/favicon.ico", "favicon", self._favicon)
        self.app.register_blueprint(blueprints.api, url_prefix="/api")
        self.app.register_blueprint(blueprints.doc, url_prefix="/doc")
        self.app.register_blueprint(blueprints.dashboard,
                                    url_prefix="/dashboard")
Example #2
0
    def __init__(self):

        # N.B. this seems to take < 200ms to load up a
        # decent number of files. I can live with that
        parser = ArgumentParser()
        parser.add_argument("-i", "--interface", default="127.0.0.1")
        parser.add_argument("-p", "--port", default=7070, type=int)
        parser.add_argument("-D", "--debug", action="store_true", default=False)
        parser.add_argument("--no-installed-keywords", action="store_true", default=False)
        parser.add_argument("paths", nargs="*")

        self.args = parser.parse_args()

        self.kwdb = KeywordTable()
        self.app = flask.Flask(__name__)

        with self.app.app_context():
            current_app.kwdb = self.kwdb

        self._load_keyword_data(self.args.paths, self.args.no_installed_keywords)

        self.app.add_url_rule("/", "home", self._root)
        self.app.add_url_rule("/ping", "ping", self._ping)
        self.app.register_blueprint(blueprints.api, url_prefix="/api")
        self.app.register_blueprint(blueprints.doc, url_prefix="/doc")
        self.app.register_blueprint(blueprints.dashboard, url_prefix="/dashboard")