comparison foodtruck/views/publish.py @ 613:e2e955a3bb25

publish: Add publish command. * Add `shell` publisher. * Refactor admin panel's publishing backend to use that, along with the new PID file support.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 04 Feb 2016 08:05:03 -0800
parents efc1dc916e7c
children 40e897e2f11e
comparison
equal deleted inserted replaced
612:2edaefcb82cd 613:e2e955a3bb25
1 import os
2 import os.path
3 import copy 1 import copy
4 import logging 2 import logging
5 from flask import request, g, url_for, render_template, Response 3 from flask import request, g, url_for, render_template, Response
6 from flask.ext.login import login_required 4 from flask.ext.login import login_required
7 from ..pubutil import PublishLogReader 5 from ..pubutil import PublishLogReader
47 45
48 46
49 @app.route('/publish-log') 47 @app.route('/publish-log')
50 @login_required 48 @login_required
51 def stream_publish_log(): 49 def stream_publish_log():
52 site = g.site 50 pid_path = g.site.publish_pid_file
53 pid_path = os.path.join(site.root_dir, '.ft_pub.pid') 51 log_path = g.site.publish_log_file
54 log_path = os.path.join(site.root_dir, '.ft_pub.log')
55 rdr = PublishLogReader(pid_path, log_path) 52 rdr = PublishLogReader(pid_path, log_path)
56 53
57 response = Response(rdr.run(), mimetype='text/event-stream') 54 response = Response(rdr.run(), mimetype='text/event-stream')
58 response.headers['Cache-Control'] = 'no-cache' 55 response.headers['Cache-Control'] = 'no-cache'
59 return response 56 return response