From 1a7b94cae744cfb429eb2186da08c2617e9792ca Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Tue, 5 Jul 2016 21:42:36 +0000 Subject: [PATCH] twirldown for site yaml on site page --- brozzler/webconsole/__init__.py | 24 +++++++++++++++++-- brozzler/webconsole/static/js/app.js | 3 +++ brozzler/webconsole/static/partials/site.html | 7 +++++- setup.py | 2 +- 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/brozzler/webconsole/__init__.py b/brozzler/webconsole/__init__.py index db0f78b..43f306c 100644 --- a/brozzler/webconsole/__init__.py +++ b/brozzler/webconsole/__init__.py @@ -48,7 +48,6 @@ app = flask.Flask(__name__) gunicorn_error_logger = logging.getLogger('gunicorn.error') app.logger.handlers.extend(gunicorn_error_logger.handlers) app.logger.setLevel(logging.INFO) -app.logger.info('will this show in the log?') # configure with environment variables SETTINGS = { @@ -99,18 +98,39 @@ def pages(site_id): app.logger.info("flask.request.args=%s", flask.request.args) start = int(flask.request.args.get("start", 0)) end = int(flask.request.args.get("end", start + 90)) - app.logger.info("yes new query") pages_ = r.table("pages").between( [site_id, 1, r.minval], [site_id, r.maxval, r.maxval], index="least_hops").order_by(index="least_hops")[start:end].run() return flask.jsonify(pages=list(pages_)) +@app.route("/api/pages/") +@app.route("/api/page/") +def page(page_id): + page_ = r.table("pages").get(page_id).run() + return flask.jsonify(page_) + +@app.route("/api/pages//yaml") +@app.route("/api/page//yaml") +def page_yaml(page_id): + page_ = r.table("pages").get(page_id).run() + return app.response_class( + yaml.dump(page_, default_flow_style=False), + mimetype='application/yaml') + @app.route("/api/sites/") @app.route("/api/site/") def site(site_id): site_ = r.table("sites").get(site_id).run() return flask.jsonify(site_) +@app.route("/api/sites//yaml") +@app.route("/api/site//yaml") +def site_yaml(site_id): + site_ = r.table("sites").get(site_id).run() + return app.response_class( + yaml.dump(site_, default_flow_style=False), + mimetype='application/yaml') + @app.route("/api/stats/") def stats(bucket): stats_ = r.table("stats").get(bucket).run() diff --git a/brozzler/webconsole/static/js/app.js b/brozzler/webconsole/static/js/app.js index ebd6a34..d30fad7 100644 --- a/brozzler/webconsole/static/js/app.js +++ b/brozzler/webconsole/static/js/app.js @@ -208,6 +208,9 @@ brozzlerControllers.controller("SiteController", ["$scope", "$routeParams", "$ht loadSiteStats($http, $scope.site); // console.log("site = ", $scope.site); }); + $http.get("/api/site/" + $routeParams.id + "/yaml").success(function(data) { + $scope.site_yaml = data; + }); loadMorePages(); }]); diff --git a/brozzler/webconsole/static/partials/site.html b/brozzler/webconsole/static/partials/site.html index 63b7dee..e6257de 100644 --- a/brozzler/webconsole/static/partials/site.html +++ b/brozzler/webconsole/static/partials/site.html @@ -11,7 +11,12 @@
-

Site {{site.seed}} (Job {{site.job_id}})

+

+ + Site {{site.seed}} (Job {{site.job_id}}) +

+
{{site_yaml}}
diff --git a/setup.py b/setup.py index 2846cc5..360cd91 100644 --- a/setup.py +++ b/setup.py @@ -21,7 +21,7 @@ import setuptools setuptools.setup( name='brozzler', - version='1.1b3.dev45', + version='1.1b3.dev46', description='Distributed web crawling with browsers', url='https://github.com/internetarchive/brozzler', author='Noah Levitt',