aboutsummaryrefslogtreecommitdiffstats
path: root/torouterui/views.py
diff options
context:
space:
mode:
authorficus <ficus@robocracy.org>2012-11-25 02:24:27 +0100
committerficus <ficus@robocracy.org>2012-11-25 02:25:30 +0100
commit3aae76170978a7557b0d7d2cbf10b3b856871538 (patch)
treece2bd74d873a03db0177029c7abe7aae8e4d9c8e /torouterui/views.py
parent17f9bf637866bd9dbf63cce097a2db85f92e15cc (diff)
downloadtui-3aae76170978a7557b0d7d2cbf10b3b856871538.tar.gz
tui-3aae76170978a7557b0d7d2cbf10b3b856871538.zip
add tor (re)starts
Diffstat (limited to 'torouterui/views.py')
-rw-r--r--torouterui/views.py24
1 files changed, 21 insertions, 3 deletions
diff --git a/torouterui/views.py b/torouterui/views.py
index f52a89b..9002348 100644
--- a/torouterui/views.py
+++ b/torouterui/views.py
@@ -199,14 +199,30 @@ def torpage():
msg = list()
status = dict()
status['tor'] = tor.get_tor_status()
- if request.method == 'GET':
+ # Check for reset first
+ if request.method == 'POST' and \
+ request.form.get('submit') == 'Restart':
+ try:
+ tor.restart_tor()
+ msg.append(("info",
+ "Reloading Tor daemon... please wait a minute then <a href='/tor'>revisit this page</a> (don't just reload)."),)
+ except Exception, err:
+ msg.append(("error", err),)
+ return render_template('tor.html', form=None, status=status,
+ formerr=None, messages=msg)
+ # Then regular GET
+ if request.method == 'GET' or (request.method == 'POST' and \
+ request.form.get('submit') == 'Reset'):
if status['tor']['state'] == 'DISABLED':
msg.append(("warning",
- "Could not connect to Tor daemon for control. Will try to restart daemon if settings are saved from this page."),)
+ "Could not connect to Tor daemon for control."),)
+ form = None
+ elif status['tor']['state'] == 'PERMISSION_DENIED':
+ msg.append(("error",
+ "Permission denied when connecting to Tor daemon for control."),)
form = None
else:
form = tor.get_tor_settings()
- print form
return render_template('tor.html', form=form, status=status,
formerr=None, messages=msg)
# Got this far, need to validate form
@@ -225,6 +241,8 @@ def torpage():
msg.append(("error",
"Was unable to commit changes...\"%s\""
% err))
+ return render_template('tor.html', settings=None, status=None,
+ form=request.form, formerr=None, messages=msg)
return render_template('tor.html', settings=None, status=None,
form=request.form, formerr=None, messages=msg)