예제 #1
0
    def get(self):
        files = self.request.get_all(PARAM_FILE)
        if not files:
            logging.warning("No dashboard file to delete.")
            self.response.set_status(400)
            return

        for file in files:
            DashboardFile.delete_file(file)

        # Display dashboard file list after deleting the file.
        self.redirect("/dashboards/")
    def get(self):
        files = self.request.get_all(PARAM_FILE)
        if not files:
            logging.warning("No dashboard file to delete.")
            self.response.set_status(400)
            return

        for file in files:
            DashboardFile.delete_file(file)

        # Display dashboard file list after deleting the file.
        self.redirect("/dashboards/")
    def get(self):
        files = self.request.get_all(PARAM_FILE)
        if not files:
            # FIXME: Just grab the entire dashboards directory.
            files = ["aggregate_results.html",
                     "builders.js",
                     "dashboard_base.js",
                     "dygraph-combined.js",
                     "flakiness_dashboard.html",
                     "timeline_explorer.html",
                     "treemap.html",
                     "webtreemap.css",
                     "webtreemap.js"]

        errors = []
        for file in files:
            if not DashboardFile.update_file(file):
                errors.append("Failed to update file: %s" % file)

        if errors:
            messages = "; ".join(errors)
            logging.warning(messages)
            self.response.set_status(500, messages)
            self.response.out.write("FAIL")
        else:
            self.response.set_status(200)
            self.response.out.write("OK")
    def _get_file_list(self):
        logging.info("getting dashboard file list.")

        files = DashboardFile.get_files("", 100)
        if not files:
            logging.info("Failed to find dashboard files.")
            self.response.set_status(404)
            return

        template_values = {
            "admin": users.is_current_user_admin(),
            "files": files,
        }
        self.response.out.write(
            template.render("templates/dashboardfilelist.html",
                            template_values))
예제 #5
0
    def _get_file_list(self):
        logging.info("getting dashboard file list.")

        files = DashboardFile.get_files("", 100)
        if not files:
            logging.info("Failed to find dashboard files.")
            self.response.set_status(404)
            return

        template_values = {
            "admin": users.is_current_user_admin(),
            "files": files,
        }
        self.response.out.write(
            template.render("templates/dashboardfilelist.html",
                template_values))
    def get(self, resource):
        if not resource:
            logging.debug("Getting dashboard file list.")
            return self._get_file_list()

        filename = str(urllib2.unquote(resource))

        logging.debug("Getting dashboard file: %s", filename)

        files = DashboardFile.get_files(filename)
        if not files:
            logging.error("Failed to find dashboard file: %s, request: %s",
                          filename, self.request)
            self.response.set_status(404)
            return

        content_type = "%s; charset=utf-8" % get_content_type(filename)
        logging.info("content type: %s", content_type)
        self.response.headers["Content-Type"] = content_type
        self.response.out.write(files[0].data)
    def get(self):
        files = self.request.get_all(PARAM_FILE)
        if not files:
            files = ["flakiness_dashboard.html",
                     "dashboard_base.js",
                     "aggregate_results.html"]

        errors = []
        for file in files:
            if not DashboardFile.update_file(file):
                errors.append("Failed to update file: %s" % file)

        if errors:
            messages = "; ".join(errors)
            logging.warning(messages)
            self.response.set_status(500, messages)
            self.response.out.write("FAIL")
        else:
            self.response.set_status(200)
            self.response.out.write("OK")
예제 #8
0
    def get(self, resource):
        if not resource:
            logging.debug("Getting dashboard file list.")
            return self._get_file_list()

        filename = str(urllib2.unquote(resource))

        logging.debug("Getting dashboard file: %s", filename)

        files = DashboardFile.get_files(filename)
        if not files:
            logging.error("Failed to find dashboard file: %s, request: %s",
                filename, self.request)
            self.response.set_status(404)
            return

        content_type = "%s; charset=utf-8" % get_content_type(filename)
        logging.info("content type: %s", content_type)
        self.response.headers["Content-Type"] = content_type
        self.response.out.write(files[0].data)
예제 #9
0
    def get(self):
        files = self.request.get_all(PARAM_FILE)
        if not files:
            # FIXME: Just grab the entire dashboards directory.
            files = [
                "aggregate_results.html", "builders.js", "dashboard_base.js",
                "dygraph-combined.js", "flakiness_dashboard.html",
                "timeline_explorer.html", "treemap.html", "webtreemap.css",
                "webtreemap.js"
            ]

        errors = []
        for file in files:
            if not DashboardFile.update_file(file):
                errors.append("Failed to update file: %s" % file)

        if errors:
            messages = "; ".join(errors)
            logging.warning(messages)
            self.response.set_status(500, messages)
            self.response.out.write("FAIL")
        else:
            self.response.set_status(200)
            self.response.out.write("OK")