mirror of
https://git.deluge-torrent.org/deluge
synced 2025-04-21 03:54:50 +00:00
basic reconnect
This commit is contained in:
parent
8f039eb0fa
commit
fb85b87580
3 changed files with 54 additions and 10 deletions
|
@ -3,7 +3,7 @@ decorators for html-pages.
|
|||
"""
|
||||
#relative imports
|
||||
from render import render
|
||||
from webserver_common import ws, log
|
||||
from webserver_common import ws, log, proxy
|
||||
from utils import *
|
||||
#/relative
|
||||
|
||||
|
@ -35,7 +35,7 @@ def check_session(func):
|
|||
vars = web.input(redir_after_login = None)
|
||||
ck = cookies()
|
||||
if ck.has_key("session_id") and ck["session_id"] in ws.SESSIONS:
|
||||
return func(self, name) #ok, continue..
|
||||
return func(self, name) #check_session:ok
|
||||
elif vars.redir_after_login:
|
||||
seeother(url("/login",redir=self_url()))
|
||||
else:
|
||||
|
@ -43,9 +43,26 @@ def check_session(func):
|
|||
deco.__name__ = func.__name__
|
||||
return deco
|
||||
|
||||
def check_connected(func):
|
||||
def deco(self, name = None):
|
||||
connected = False
|
||||
try:
|
||||
proxy.ping()
|
||||
connected = True
|
||||
except:
|
||||
pass
|
||||
if connected:
|
||||
return func(self, name) #check_connected:ok
|
||||
else:
|
||||
seeother("/connect")
|
||||
|
||||
|
||||
deco.__name__ = func.__name__
|
||||
return deco
|
||||
|
||||
def deluge_page(func):
|
||||
"deluge_page_noauth+check_session"
|
||||
return check_session(deluge_page_noauth(func))
|
||||
"deluge_page_noauth+check_session+check connected"
|
||||
return check_session(check_connected(deluge_page_noauth(func)))
|
||||
|
||||
#combi-deco's:
|
||||
#decorators to use in combination with the ones above.
|
||||
|
|
|
@ -319,12 +319,13 @@ class logout:
|
|||
seeother('/login')
|
||||
|
||||
class connect:
|
||||
@deco.deluge_page
|
||||
@deco.check_session
|
||||
@deco.deluge_page_noauth
|
||||
def GET(self, name):
|
||||
#if proxy.connected():
|
||||
# error = _("Not Connected to a daemon")
|
||||
#else:
|
||||
error = None
|
||||
if proxy.connected():
|
||||
error = _("Not Connected to a daemon")
|
||||
else:
|
||||
error = None
|
||||
connect_list = ["http://localhost:58846"]
|
||||
return render.connect(connect_list, error)
|
||||
|
||||
|
@ -338,7 +339,7 @@ class connect:
|
|||
else:
|
||||
uri = vars.uri
|
||||
#TODO: more error-handling
|
||||
ws.init_06(uri)
|
||||
proxy.set_core_uri(uri)
|
||||
do_redirect()
|
||||
|
||||
|
||||
|
|
26
deluge/ui/webui/webui_plugin/templates/deluge/connect.html
Normal file
26
deluge/ui/webui/webui_plugin/templates/deluge/connect.html
Normal file
|
@ -0,0 +1,26 @@
|
|||
$def with (connect_list, error)
|
||||
|
||||
$:render.header(_("Connect to Daemon"))
|
||||
<div class="panel" align="left">
|
||||
$if error:
|
||||
<div class="error">$error</div>
|
||||
|
||||
<form method="POST">
|
||||
$for i, uri in enumerate(connect_list):
|
||||
<p><input type="radio" name="uri" value="$uri"
|
||||
$if i == 0:
|
||||
checked
|
||||
>$uri</p>
|
||||
<p>
|
||||
<input type="radio" name="uri" value="other">$_("Other"):
|
||||
<input type="text" name="other_uri">
|
||||
</p>
|
||||
|
||||
<input type="submit" name="submit" value="$_('Connect')">
|
||||
|
||||
</li>
|
||||
</form>
|
||||
<br>
|
||||
|
||||
</div>
|
||||
$:render.footer()
|
Loading…
Add table
Reference in a new issue