summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorMarcos Pinto <markybob@dipconsultants.com>2007-11-22 04:20:42 +0000
committerMarcos Pinto <markybob@dipconsultants.com>2007-11-22 04:20:42 +0000
commitcc0d1502ccbd777be6aa829d68569e9ed735c79a (patch)
treea5a6219ee4964a06096dad907bec9a5e424c8273 /plugins
parent74f739a6937b970f6771e1ec5f6ace714d646153 (diff)
downloaddeluge-cc0d1502ccbd777be6aa829d68569e9ed735c79a.tar.gz
deluge-cc0d1502ccbd777be6aa829d68569e9ed735c79a.tar.bz2
deluge-cc0d1502ccbd777be6aa829d68569e9ed735c79a.zip
revert webui
Diffstat (limited to 'plugins')
-rw-r--r--plugins/WebUi/__init__.py26
-rw-r--r--plugins/WebUi/dbus_interface.py24
-rw-r--r--plugins/WebUi/deluge_webserver.py58
-rw-r--r--plugins/WebUi/revno2
-rwxr-xr-xplugins/WebUi/static/simple_site_style.css33
-rw-r--r--plugins/WebUi/templates/deluge/index.html18
-rw-r--r--plugins/WebUi/templates/deluge/part_stats.html7
-rw-r--r--plugins/WebUi/templates/deluge/sort_column_head.html2
-rw-r--r--plugins/WebUi/templates/deluge/tab_meta.html85
-rw-r--r--plugins/WebUi/templates/deluge/torrent_delete.html13
-rw-r--r--plugins/WebUi/templates/deluge/torrent_info.html90
-rw-r--r--plugins/WebUi/templates/hacking-templates.txt25
-rw-r--r--plugins/WebUi/tests/test_all.py58
-rw-r--r--plugins/WebUi/version6
-rw-r--r--plugins/WebUi/webserver_common.py12
-rw-r--r--plugins/WebUi/webserver_framework.py10
16 files changed, 158 insertions, 311 deletions
diff --git a/plugins/WebUi/__init__.py b/plugins/WebUi/__init__.py
index c0a44655f..4202d21ba 100644
--- a/plugins/WebUi/__init__.py
+++ b/plugins/WebUi/__init__.py
@@ -45,20 +45,13 @@ Other contributors:
"""
import deluge.common
-try:
- import deluge.pref
- from deluge.dialogs import show_popup_warning
- import webserver_common
-except ImportError:
- print 'WebUi:not imported as a plugin'
-
-
-
+import deluge.pref
+from deluge.dialogs import show_popup_warning
try:
from dbus_interface import get_dbus_manager
except:
pass #for unit-test.
-
+import webserver_common
import time
import gtk
@@ -124,9 +117,6 @@ class plugin_WebUi(object):
else:
self.config.set("run_in_thread", False)
- if self.config.get("use_https") == None:
- self.config.set("use_https", False)
-
self.dbus_manager = get_dbus_manager(deluge_core, deluge_interface,
self.config, self.config_file)
@@ -177,6 +167,8 @@ class plugin_WebUi(object):
def __del__(self):
self.kill_server()
+
+
class ConfigDialog(gtk.Dialog):
"""
sorry, can't get used to gui builders.
@@ -203,12 +195,6 @@ class ConfigDialog(gtk.Dialog):
gtk.combo_box_new_text())
self.cache_templates = self.add_widget(_('Cache Templates'),
gtk.CheckButton())
- """
- temporary disable for 0.5.7
- self.use_https = self.add_widget(_('Use https://'),
- gtk.CheckButton())
- """
-
#self.share_downloads = self.add_widget(_('Share Download Directory'),
# gtk.CheckButton())
@@ -236,7 +222,6 @@ class ConfigDialog(gtk.Dialog):
# bool(self.config.get("share_downloads")))
self.cache_templates.set_active(self.config.get("cache_templates"))
- """0.5.7.. self.use_https.set_active(self.config.get("use_https"))"""
self.vbox.pack_start(self.vb, True, True, 0)
self.vb.show_all()
@@ -272,7 +257,6 @@ class ConfigDialog(gtk.Dialog):
self.config.set("template", self.template.get_active_text())
self.config.set("button_style", self.button_style.get_active())
self.config.set("cache_templates", self.cache_templates.get_active())
- #0.5.7.. self.config.set("use_https", self.use_https.get_active())
#self.config.set("share_downloads", self.share_downloads.get_active())
self.config.save(self.plugin.config_file)
self.plugin.start_server() #restarts server
diff --git a/plugins/WebUi/dbus_interface.py b/plugins/WebUi/dbus_interface.py
index 9f0f826bc..f14a382e0 100644
--- a/plugins/WebUi/dbus_interface.py
+++ b/plugins/WebUi/dbus_interface.py
@@ -95,8 +95,7 @@ class DbusManager(dbus.service.Object):
"total_size": state["total_size"],
"num_pieces": state["num_pieces"],
"state": state['state'],
- "user_paused": self.core.is_user_paused(torrent_id),
- "paused":state['is_paused'],
+ "paused": self.core.is_user_paused(torrent_id),
"progress": int(state["progress"] * 100),
"next_announce": state["next_announce"],
"total_payload_download":state["total_payload_download"],
@@ -154,22 +153,16 @@ class DbusManager(dbus.service.Object):
self.core.update_tracker(torrent_id)
@dbus.service.method(dbus_interface=dbus_interface,
- in_signature="asbb", out_signature="")
- def remove_torrent(self, torrent_ids, data_also, torrent_also):
+ in_signature="sbb", out_signature="")
+ def remove_torrent(self, torrent_id, data_also, torrent_also):
"""remove a torrent,and optionally data and torrent
additions compared to 0.6 interface: (data_also, torrent_also)
"""
- for torrent_id in torrent_ids:
- torrent_id = int(torrent_id)
- self.core.remove_torrent(torrent_id, bool(data_also)
- ,bool( torrent_also))
-
- #this should not be needed:
- gtk.gdk.threads_enter()
- try:
- self.interface.torrent_model_remove(torrent_id)
- except:
- pass
+ torrent_id = int(torrent_id)
+ self.core.remove_torrent(torrent_id, bool(data_also)
+ ,bool( torrent_also))
+ #this should not be needed:
+ self.interface.torrent_model_remove(torrent_id)
@dbus.service.method(dbus_interface=dbus_interface,
in_signature="s", out_signature="b")
@@ -181,6 +174,7 @@ class DbusManager(dbus.service.Object):
@dbus.service.method(dbus_interface=dbus_interface,
in_signature="s", out_signature="b")
def queue_up(self, torrent_id):
+ print 'UP!'
self.core.queue_up(int(torrent_id))
return True
diff --git a/plugins/WebUi/deluge_webserver.py b/plugins/WebUi/deluge_webserver.py
index d63ae55f9..69ddb495c 100644
--- a/plugins/WebUi/deluge_webserver.py
+++ b/plugins/WebUi/deluge_webserver.py
@@ -46,9 +46,7 @@ urls = (
"/login", "login",
"/index", "index",
"/torrent/info/(.*)", "torrent_info",
- "/torrent/info_inner/(.*)", "torrent_info_inner",
- "/torrent/stop/(.*)", "torrent_stop",
- "/torrent/start/(.*)", "torrent_start",
+ "/torrent/pause", "torrent_pause",
"/torrent/reannounce/(.*)", "torrent_reannounce",
"/torrent/add", "torrent_add",
"/torrent/delete/(.*)", "torrent_delete",
@@ -117,38 +115,19 @@ class index:
class torrent_info:
@deluge_page
@auto_refreshed
- def GET(self, name):
- torrent_id = name.split(',')[0]
+ def GET(self, torrent_id):
return ws.render.torrent_info(get_torrent_status(torrent_id))
-class torrent_info_inner:
- @deluge_page
- def GET(self, torrent_ids):
- torrent_ids = torrent_ids.split(',')
- info = get_torrent_status(torrent_ids[0])
- if len(torrent_ids) > 1:
- #todo : hmm, lots of manual stuff here :(
- pass
-
-
- return ws.render.torrent_info_inner(info)
-
-class torrent_start:
- @check_session
- def POST(self, name):
- torrent_ids = name.split(',')
- ws.proxy.resume_torrent(torrent_ids)
- do_redirect()
-
-class torrent_stop:
+class torrent_pause:
@check_session
def POST(self, name):
- torrent_ids = name.split(',')
- ws.proxy.pause_torrent(torrent_ids)
+ vars = web.input(stop = None, start = None, redir = None)
+ if vars.stop:
+ ws.proxy.pause_torrent([vars.stop])
+ elif vars.start:
+ ws.proxy.resume_torrent([vars.start])
do_redirect()
-
-
class torrent_reannounce:
@check_session
def POST(self, torrent_id):
@@ -196,32 +175,27 @@ class remote_torrent_add:
class torrent_delete:
@deluge_page
- def GET(self, name):
- torrent_ids = name.split(',')
- torrent_list = [get_torrent_status(id) for id in torrent_ids]
- return ws.render.torrent_delete(name, torrent_list)
+ def GET(self, torrent_id):
+ return ws.render.torrent_delete(get_torrent_status(torrent_id))
@check_session
- def POST(self, name):
- torrent_ids = name.split(',')
+ def POST(self, torrent_id):
vars = web.input(data_also = None, torrent_also = None)
data_also = bool(vars.data_also)
torrent_also = bool(vars.torrent_also)
- ws.proxy.remove_torrent(torrent_ids, data_also, torrent_also)
+ ws.proxy.remove_torrent(torrent_id, data_also, torrent_also)
do_redirect()
class torrent_queue_up:
@check_session
- def POST(self, name):
- for torrent_id in sorted(name.split(',')):
- ws.proxy.queue_up(torrent_id)
+ def POST(self, torrent_id):
+ ws.proxy.queue_up(torrent_id)
do_redirect()
class torrent_queue_down:
@check_session
- def POST(self, name):
- for torrent_id in reversed(sorted(name.split(','))):
- ws.proxy.queue_down(torrent_id)
+ def POST(self, torrent_id):
+ ws.proxy.queue_down(torrent_id)
do_redirect()
class pause_all:
diff --git a/plugins/WebUi/revno b/plugins/WebUi/revno
index fba7ed526..c75acbe2f 100644
--- a/plugins/WebUi/revno
+++ b/plugins/WebUi/revno
@@ -1 +1 @@
-143
+127
diff --git a/plugins/WebUi/static/simple_site_style.css b/plugins/WebUi/static/simple_site_style.css
index a3ba439d6..16d65480e 100755
--- a/plugins/WebUi/static/simple_site_style.css
+++ b/plugins/WebUi/static/simple_site_style.css
@@ -26,16 +26,11 @@ form.deluge_button {
}
button.deluge_button {
background-color: #37506f;
- border:1px solid #68a;
-
+ border:1px solid #23344b;
background: #99acc3;
color: #000;
- vertical-align:middle;
- -moz-border-radius:7px;
-}
-button.deluge_button:hover {
- background-color:#68a;
}
+
div.error {
background-color:#FFFFFF;
color:#AA0000;
@@ -47,28 +42,4 @@ div.error {
}
-/*tr.torrent_table:hover {
- background-color:#68a;
-}*/
-
-tr.torrent_table_selected {
- background-color:#900;
-}
-
-th.torrent_table:hover {
- background-color:#68a;
-}
-
-img.button {
- margin-bottom:0px;
- padding:0px;
- position:relative;
- top:2px;
-}
-
-body.inner {
- background:none;
-}
-
-
/* Hides from IE-mac \*/ * html .clearfix {height: 1%;} .clearfix {display: block;} /* End hide from IE-mac */ \ No newline at end of file
diff --git a/plugins/WebUi/templates/deluge/index.html b/plugins/WebUi/templates/deluge/index.html
index 1dad40b9b..b177c7b8c 100644
--- a/plugins/WebUi/templates/deluge/index.html
+++ b/plugins/WebUi/templates/deluge/index.html
@@ -1,6 +1,7 @@
$def with (torrent_list)
$:render.header(_('Torrent list'))
+<form action="/torrent/pause" method="POST">
<table class="torrent_list" border=1>
<tr>
$:(sort_head('calc_state_str', 'S'))
@@ -18,19 +19,14 @@ $:render.header(_('Torrent list'))
</tr>
$#4-space indentation is mandatory for for-loops in templetor!
$for torrent in torrent_list:
- <tr class="torrent_table" id="torrent_$torrent.id">
- <td>
- <form action="/torrent/$torrent.action/$torrent.id" method="POST">
- <input type="image"
- src="/static/images/$(torrent.calc_state_str)16.png"
- name="pauseresume" value="submit" />
- </form>
+ <tr>
+ <td><input type="image"
+ src="/static/images/$(torrent.calc_state_str)16.png"
+ name="$torrent.action" value="$torrent.id">
</td>
-
<td>$torrent.queue_pos</td>
<td style="width:100px; overflow:hidden;white-space: nowrap">
- <a href="/torrent/info/$torrent.id" >
- $(crop(torrent.name, 40))</a></td>
+ <a href="/torrent/info/$torrent.id">$(crop(torrent.name, 40))</a></td>
<td>$fsize(torrent.total_size)</td>
<td class="progress_bar">
<div class="progress_bar_outer">
@@ -49,7 +45,7 @@ $for torrent in torrent_list:
</tr>
</table>
-
+</form>
<div class="panel">
$:render.part_button('GET', '/torrent/add', _('Add torrent'), 'tango/list-add.png')
diff --git a/plugins/WebUi/templates/deluge/part_stats.html b/plugins/WebUi/templates/deluge/part_stats.html
index 342b8049f..55a2a74b5 100644
--- a/plugins/WebUi/templates/deluge/part_stats.html
+++ b/plugins/WebUi/templates/deluge/part_stats.html
@@ -14,7 +14,7 @@ $else:
$#end
</div>
-<div class="panel" id='stats_panel'>
+<div class="panel" id='refresh_panel'>
<!--<a href='/config'>-->
$_('Connections') : $stats.num_connections ($stats.max_num_connections)
@@ -26,9 +26,8 @@ $#end
<!--</a>-->
- <span id=#about>
- (<a href='/about'>$_('About')</a>)
- </span>
+
+ (<a href='/about'>$_('About')</a>)
</div>
diff --git a/plugins/WebUi/templates/deluge/sort_column_head.html b/plugins/WebUi/templates/deluge/sort_column_head.html
index c18a50004..1de008a79 100644
--- a/plugins/WebUi/templates/deluge/sort_column_head.html
+++ b/plugins/WebUi/templates/deluge/sort_column_head.html
@@ -1,5 +1,5 @@
$def with (column_id, column_name, order, active_up, active_down)
-<th class="torrent_table">
+<th>
<a href="/index?sort=$column_id&order=$order">
$column_name\
$if active_up:
diff --git a/plugins/WebUi/templates/deluge/tab_meta.html b/plugins/WebUi/templates/deluge/tab_meta.html
index 6a1de18de..e69de29bb 100644
--- a/plugins/WebUi/templates/deluge/tab_meta.html
+++ b/plugins/WebUi/templates/deluge/tab_meta.html
@@ -1,85 +0,0 @@
-$def with (torrent)
-<table width="100%"><tr>
-<td colspan=3 style="background-color:#999;-moz-border-radius:5px;">
-
- <div class="progress_bar" style="width:$torrent.progress%;
- text-align:center;font-weight:bold;">
-
- $torrent.progress %</div>
-</td>
-</tr><td width=30%%>
-<table>
-
-<tr><td class="info_label">$_('Downloaded'):</td>
-<td class="info_value">$torrent.calc_total_downloaded</td></tr>
-
-<tr><td class="info_label">$_('Uploaded'):</td>
-<td class="info_value">$torrent.calc_total_uploaded</td>
-</tr>
-
-<tr><td class="info_label">$_('Seeders'):</td>
-<td class="info_value">$torrent.num_seeds ($torrent.total_seeds )</td></tr>
-
-<tr><td class="info_label">$_('Share Ratio'):</td>
-<td class="info_value">$("%.3f" % torrent.ratio)</td></tr>
-
-<tr><td class="info_label">$_('Pieces'):</td>
-<td class="info_value">$torrent.num_pieces x $fsize(torrent.piece_length) </td>
-</tr>
-
-<tr><td class="info_label">&nbsp;</td>
-<td class="info_value">&nbsp; </td>
-
-
-</table>
-</td><td width=30%%>
-
-<table>
-<tr><td class="info_label">$_('Speed'):</td><td class="info_value">
-$fspeed(torrent.download_rate)</td></td></tr>
-
-<tr><td class="info_label">$_('Speed'):</td>
-<td class="info_value">$fspeed(torrent.upload_rate)</td></tr>
-
-<tr><td class="info_label">$_('Peers'):</td>
-<td class="info_value">$torrent.num_peers ($torrent.total_peers )</td></tr>
-
-<tr><td class="info_label">$_('ETA'):</td>
-<td class="info_value">$torrent.eta </td></tr>
-
-<tr><td class="info_label">$_('Availability'):</td>
-<td class="info_value">$("%.3f" % torrent.distributed_copies)</td></td></tr>
-
-<tr><td class="info_label">&nbsp;</td>
-<td class="info_value">&nbsp; </td>
-</tr>
-
-
-</table>
-
-</td><td width=30%%>
-
-<table>
-
-<tr><td class="info_label">$_('Total Size'):</td>
-<td class="info_value">$fspeed(torrent.total_size)</td></tr>
-
-<tr><td class="info_label">$_('# Of Files'):</td>
-<td class="info_value">$torrent.num_files</td></tr>
-
-<tr><td class="info_label">$_('Tracker'):</td>
-<td class="info_value">$(crop(torrent.tracker, 30))</td></tr>
-
-<tr><td class="info_label">$_('Tracker Status'):</td>
-<td class="info_value">$torrent.tracker_status </td></tr>
-
-<tr><td class="info_label">$_('Next Announce'):</td>
-<td class="info_value">$torrent.next_announce </td></tr>
-
-
-<tr><td class="info_label">$_('Queue Position'):</td>
-<td class="info_value">$torrent.queue_pos </td>
-</tr>
-</table>
-
-</table>
diff --git a/plugins/WebUi/templates/deluge/torrent_delete.html b/plugins/WebUi/templates/deluge/torrent_delete.html
index a9aceb551..77f32949a 100644
--- a/plugins/WebUi/templates/deluge/torrent_delete.html
+++ b/plugins/WebUi/templates/deluge/torrent_delete.html
@@ -1,15 +1,10 @@
-$def with (torrent_ids, torrent_list)
-$:render.header(_("Remove torrent"))
+$def with (torrent)
+$:render.header(_("Remove %s ") % torrent.name)
<div class="panel">
-<form method="POST" action='/torrent/delete/$torrent_ids'>
+<form method="POST" action='/torrent/delete/$torrent.id'>
<div id="del_torrent">
-<h2>$_("Remove torrent")</h2>
-<ul>
-$for torrent in torrent_list:
- <li>$torrent.name</li>
-</ul>
-
+$(_("Remove %s?") % torrent.name)
<div class="form_row2">
<span class="form_label2">
<input type="checkbox" name="torrent_also" class="form_input" checked
diff --git a/plugins/WebUi/templates/deluge/torrent_info.html b/plugins/WebUi/templates/deluge/torrent_info.html
index 04416a9f3..a9ba83b10 100644
--- a/plugins/WebUi/templates/deluge/torrent_info.html
+++ b/plugins/WebUi/templates/deluge/torrent_info.html
@@ -1,23 +1,88 @@
$def with (torrent)
-
$:(render.header(torrent.message + '/' + torrent.name))
<div class="panel">
<h3>$_('Details')</h3>
+<table width="100%"><tr>
+<td colspan=3 style="background-color:#999;-moz-border-radius:5px;">
+
+ <div class="progress_bar" style="width:$torrent.progress%;
+ text-align:center;font-weight:bold;">
+
+ $torrent.progress %</div>
+</td>
+</tr><td width=30%%>
+<table>
+
+<tr><td class="info_label">$_('Downloaded'):</td>
+<td class="info_value">$torrent.calc_total_downloaded</td></tr>
+
+<tr><td class="info_label">$_('Uploaded'):</td>
+<td class="info_value">$torrent.calc_total_uploaded</td>
+</tr>
+
+<tr><td class="info_label">$_('Seeders'):</td>
+<td class="info_value">$torrent.num_seeds ($torrent.total_seeds )</td></tr>
+
+<tr><td class="info_label">$_('Share Ratio'):</td>
+<td class="info_value">$("%.3f" % torrent.ratio)</td></tr>
+
+<tr><td class="info_label">$_('Pieces'):</td>
+<td class="info_value">$torrent.num_pieces x $fsize(torrent.piece_length) </td>
+</tr>
+
+</table>
+</td><td width=30%%>
+
+<table>
+<tr><td class="info_label">$_('Speed'):</td><td class="info_value">
+$fspeed(torrent.download_rate)</td></td></tr>
+
+<tr><td class="info_label">$_('Speed'):</td>
+<td class="info_value">$fspeed(torrent.upload_rate)</td></tr>
+
+<tr><td class="info_label">$_('Peers'):</td>
+<td class="info_value">$torrent.num_peers ($torrent.total_peers )</td></tr>
+
+<tr><td class="info_label">$_('ETA'):</td>
+<td class="info_value">$torrent.eta </td></tr>
-$:render.tab_meta(torrent)
+<tr><td class="info_label">$_('Availability'):</td>
+<td class="info_value">$("%.3f" % torrent.distributed_copies)</td></td></tr>
-$if (torrent.action == 'start'):
- $:render.part_button('POST', '/torrent/start/' + str(torrent.id), _('Resume'), 'tango/start.png')
-$else:
- $:render.part_button('POST', '/torrent/stop/' + str(torrent.id), _('Pause'), 'tango/pause.png')
+</table>
+</td><td width=30%%>
+
+<table>
+
+<tr><td class="info_label">$_('Total Size'):</td>
+<td class="info_value">$fspeed(torrent.total_size)</td></tr>
+
+<tr><td class="info_label">$_('# Of Files'):</td>
+<td class="info_value">$torrent.num_files</td></tr>
+
+<tr><td class="info_label">$_('Tracker'):</td>
+<td class="info_value">$(crop(torrent.tracker, 30))</td></tr>
+
+<tr><td class="info_label">$_('Tracker Status'):</td>
+<td class="info_value">$torrent.tracker_status </td></tr>
+
+<tr><td class="info_label">$_('Next Announce'):</td>
+<td class="info_value">$torrent.next_announce </td></tr>
+
+</table>
+
+</table>
+<form action="/torrent/pause?redir=/torrent/info/$torrent.id" method="POST"
+class="deluge_button">
+
+<input type="image" src="/static/images/$(torrent.calc_state_str)16.png"
+ name="$torrent.action" value="$torrent.id">
+</form>
$:render.part_button('GET', '/torrent/delete/' + str(torrent.id), _('Remove'), 'tango/user-trash.png')
$:render.part_button('POST', '/torrent/reannounce/' + str(torrent.id), _('Reannounce'), 'tango/view-refresh.png')
-$:render.part_button('POST', '/torrent/queue/up/' + str(torrent.id), _('Queue Up'), 'tango/queue-up.png')
-$:render.part_button('POST', '/torrent/queue/down/' + str(torrent.id), _('Queue Down'), 'tango/queue-down.png')
-
<br>
<!--
[<a onclick="javascript:toggle_dump()">$_('Debug:Data Dump')</a>]
@@ -44,6 +109,13 @@ function toggle_dump(){
+<div class='panel'>
+$_('Queue pos:') $torrent.queue_pos
+
+$:render.part_button('POST', '/torrent/queue/up/' + str(torrent.id), _('Queue Up'), 'tango/up.png')
+
+$:render.part_button('POST', '/torrent/queue/down/' + str(torrent.id), _('Queue Down'), 'tango/down.png')
+</div>
$:part_stats()
diff --git a/plugins/WebUi/templates/hacking-templates.txt b/plugins/WebUi/templates/hacking-templates.txt
index 600ba907e..f69e47c73 100644
--- a/plugins/WebUi/templates/hacking-templates.txt
+++ b/plugins/WebUi/templates/hacking-templates.txt
@@ -3,35 +3,28 @@ Just copy and rename an existing template.
-The settings panel will see all directory's in this folder ,and let you choose your new template.
-Clicking Ok in the settings panel will restart the webserver and reload your template.
-Limited "Subclassing":
-All templates are "subclassed" from the /deluge/ template.
-If a html file is not found in the template dir, the file from /deluge/ will be used.
-
-
Notes:
Please configure your editor to use 4-space indents instead of tabs.
Or use scite and my config: http://mvoncken.sohosted.com/deluge/SciTEUser.properties.txt
template language: http://webpy.org/templetor
-Exposed methods and variables (c&p from webserver_framework.py):
- template.Template.globals.update({
+Exposed methods and variables (c&p from deluge_webserver):
'sort_head': template_sort_head,
- 'part_stats':template_part_stats,
'crop': template_crop,
'_': _ , #gettext/translations
'str': str, #because % in templetor is broken.
'sorted': sorted,
- 'get_config': get_config,
- 'self_url': self_url,
+ 'get_config': proxy.get_webui_config,
+ 'self_url': web.changequery,
'fspeed': common.fspeed,
'fsize': common.fsize,
- 'render': ws.render, #for easy resuse of templates
- 'rev': 'rev.%s' % (REVNO, ),
- 'version': VERSION,
- 'getcookie':getcookie,
- 'get': lambda (var): getattr(web.input(**{var:None}), var) # unreadable :-(
-})
+ 'render': render, #for easy resuse of templates
+ 'button_style': (proxy.get_webui_config('button_style')),
+ 'rev': ('rev.' +
+ open(os.path.join(os.path.dirname(__file__),'revno')).read()),
+ 'version': (
+ open(os.path.join(os.path.dirname(__file__),'version')).read())
I will update this file if there is interest in making templates.
diff --git a/plugins/WebUi/tests/test_all.py b/plugins/WebUi/tests/test_all.py
index 44b1ea3ab..7bf7c4265 100644
--- a/plugins/WebUi/tests/test_all.py
+++ b/plugins/WebUi/tests/test_all.py
@@ -9,11 +9,7 @@ import cookielib, urllib2 , urllib
import WebUi.webserver_common as ws
import operator
-
ws.init_05()
-print 'test-env=',ws.ENV
-
-
#CONFIG:
BASE_URL = 'http://localhost:8112'
@@ -41,7 +37,6 @@ class TestWebUiBase(unittest.TestCase):
def open_url(self, page, post=None):
url = BASE_URL + page
-
if post == 1:
post = {'Force_a_post' : 'spam'}
if post:
@@ -97,10 +92,6 @@ class TestWebUiBase(unittest.TestCase):
else:
pass
- first_torrent_id = property(lambda self: ws.proxy.get_session_state()[0])
- first_torrent = property(lambda self: get_status(self.first_torrent_id))
-
-
class TestNoAuth(TestWebUiBase):
def test303(self):
self.assert_303('/','/login')
@@ -226,12 +217,8 @@ class TestIntegration(TestWebUiBase):
else:
#test correctness of existing-list
- #The setup makes 0.6 fail everything, added an else..
for url in self.urls:
- if ws.ENV.startswith('0.5'):
- self.assert_500('/torrent/add',{'url':url,'torrent':None})
- else:
- self.assert_303('/torrent/add','/index',{'url':url,'torrent':None})
+ self.assert_500('/torrent/add',{'url':url,'torrent':None})
def testPauseResume(self):
#pause all
@@ -250,12 +237,12 @@ class TestIntegration(TestWebUiBase):
#pause again.
self.assert_303('/pause_all','/index', post=1)
- torrent_id = self.first_torrent_id
+ torrent_id = ws.proxy.get_session_state()[0]
#single resume.
- self.assert_303('/torrent/start/%s' % torrent_id ,'/index', post=1)
+ self.assert_303('/torrent/pause','/index', post={'start':torrent_id})
self.assertEqual(get_status(torrent_id)["paused"] ,False)
#single pause
- self.assert_303('/torrent/stop/%s' % torrent_id,'/index', post=1)
+ self.assert_303('/torrent/pause','/index', post={'stop':torrent_id})
self.assertEqual(get_status(torrent_id)["paused"] , True)
def testQueue(self):
@@ -310,6 +297,8 @@ class TestIntegration(TestWebUiBase):
#add torrrent-file
#./test01.torrent
+ def testReannounce(self):
+ pass
def test_do_redirect(self):
self.assert_303('/home','/index')
@@ -325,16 +314,17 @@ class TestIntegration(TestWebUiBase):
assert self.cookies['order'] == 'up'
#redir after pause-POST? in /index.
self.assert_exists('/index?sort=name&order=down')
- torrent_id = self.first_torrent_id
- self.assert_303('/torrent/stop/%s' % torrent_id,
- '/index?sort=name&order=down', post=1)
+ torrent_id = ws.proxy.get_session_state()[0]
+ self.assert_303('/torrent/pause','/index?sort=name&order=down',
+ post={'stop':torrent_id})
#redir in details 1
- self.assert_303('/torrent/stop/%s?redir=/torrent/info/%s' %(torrent_id,torrent_id)
- ,'/torrent/info/' + torrent_id, post = 1)
+ self.assert_303('/torrent/pause?redir=/torrent/info/' + torrent_id
+ ,'/torrent/info/' + torrent_id, post = {'stop':torrent_id})
#redir in details 2
- self.assert_303('/torrent/stop/%s' % torrent_id
+ self.assert_303('/torrent/pause'
,'/torrent/info/' + torrent_id ,
- post={'redir': '/torrent/info/' + torrent_id})
+ post={'stop':torrent_id,
+ 'redir': '/torrent/info/' + torrent_id})
def testRemote(self):
pass
@@ -342,26 +332,6 @@ class TestIntegration(TestWebUiBase):
def test_redir_after_login(self):
pass
- def testReannounce(self):
- torrent_id = self.first_torrent_id
- self.assert_303(
- '/torrent/reannounce/%(id)s?redir=/torrent/info/%(id)s'
- % {'id':torrent_id}
- ,'/torrent/info/' + torrent_id, post = 1)
-
- def testRecheck(self):
- #add test before writing code..
- #RELEASE-->disable
- """
- torrent_id = self.first_torrent_id
- self.assert_303(
- '/torrent/recheck/%(id)s?redir=/torrent/info/%(id)s'
- % {'id':torrent_id}
- ,'/torrent/info/' + torrent_id, post = 1)
- """
-
-
-
#
if False:
diff --git a/plugins/WebUi/version b/plugins/WebUi/version
index 36b3caf3a..a7debb432 100644
--- a/plugins/WebUi/version
+++ b/plugins/WebUi/version
@@ -1,5 +1,5 @@
revision-id: mvoncken@gmail.com-20070930083408-sv8mo0mi1rbjnfvk
-date: 2007-11-21 15:10:08 +0200
-build-date: 2007-11-21 15:34:50 +0200
-revno: 143
+date: 2007-11-06 15:10:08 +0200
+build-date: 2007-11-06 15:34:50 +0200
+revno: 127
branch-nick: WebUi
diff --git a/plugins/WebUi/webserver_common.py b/plugins/WebUi/webserver_common.py
index d433908f2..1e209ea56 100644
--- a/plugins/WebUi/webserver_common.py
+++ b/plugins/WebUi/webserver_common.py
@@ -44,8 +44,6 @@ from webpy022 import template
random.seed()
path = os.path.dirname(__file__)
-ENV = 'UNKNOWN'
-
try:
_('translate something')
except:
@@ -92,7 +90,6 @@ def init_06():
init_process()
globals()['proxy'] = proxy
- globals()['ENV'] = '0.6'
def init_05():
import dbus
@@ -101,7 +98,6 @@ def init_05():
proxy = bus.get_object("org.deluge_torrent.dbusplugin"
, "/org/deluge_torrent/DelugeDbusPlugin")
globals()['proxy'] = proxy
- globals()['ENV'] = '0.5_process'
def init_gtk_05():
#appy possibly changed config-vars, only called in when runing inside gtk.
@@ -110,16 +106,12 @@ def init_gtk_05():
globals()['config'] = deluge.pref.Preferences(config_file, False)
globals()['render'] = subclassed_render(config.get('template'),
config.get('cache_templates'))
- globals()['ENV'] = '0.5_gtk'
-
#hacks to determine environment, TODO: clean up.
if 'env=0.5' in sys.argv:
init_05()
-elif 'env=0.6' in sys.argv:
- init_06()
-elif hasattr(deluge, 'ui'):
+elif not hasattr(deluge, 'common'):
init_06()
elif not hasattr(deluge,'pref'):
init_05()
@@ -136,7 +128,7 @@ TORRENT_KEYS = ['distributed_copies', 'download_payload_rate',
'total_payload_download', 'total_payload_upload', 'total_peers',
'total_seeds', 'total_size', 'total_upload', 'total_wanted',
'tracker_status', 'upload_payload_rate', 'upload_rate',
- 'uploaded_memory','tracker','state','queue_pos','user_paused']
+ 'uploaded_memory','tracker','state','queue_pos']
STATE_MESSAGES = (_("Queued"),
_("Checking"),
diff --git a/plugins/WebUi/webserver_framework.py b/plugins/WebUi/webserver_framework.py
index faea87b0f..6735802d1 100644
--- a/plugins/WebUi/webserver_framework.py
+++ b/plugins/WebUi/webserver_framework.py
@@ -224,10 +224,8 @@ def get_torrent_status(torrent_id):
else:
status.action = "stop"
- if status.user_paused:
+ if status.paused:
status.message = _("Paused %s%%") % status.progress
- elif status.paused:
- status.message = _("Queued %s%%") % status.progress
else:
status.message = "%s %i%%" % (ws.STATE_MESSAGES[status.state]
, status.progress)
@@ -295,7 +293,6 @@ template.Template.globals.update({
'rev': 'rev.%s' % (REVNO, ),
'version': VERSION,
'getcookie':getcookie,
- 'js_enabled': lambda : ws.config.get('use_javascript'),
'get': lambda (var): getattr(web.input(**{var:None}), var) # unreadable :-(
})
#/template-defs
@@ -307,12 +304,7 @@ def create_webserver(urls, methods):
func = webapi.wsgifunc(webpyfunc(urls, methods, False))
server_address=("0.0.0.0", int(ws.config.get('port')))
-
server = CherryPyWSGIServer(server_address, func, server_name="localhost")
- if ws.config.get('use_https'):
- server.ssl_certificate = ws.config.get('ssl_certificate')
- server.ssl_private_key = ws.config.get('ssl_private_key')
-
print "http://%s:%d/" % server_address
return server