Updating branch refs/heads/aria2-xml-rpc
         to e9fce19b4ca73c4ab61ee7031368da55e94eb0f7 (commit)
       from c1807f97649db92ba7dbd0739e5ef58bfc3dbad9 (commit)

commit e9fce19b4ca73c4ab61ee7031368da55e94eb0f7
Author: Mike Massonnet <[email protected]>
Date:   Sun Jan 24 20:04:13 2010 +0100

    Use aria2.remove for pause instead of the lowest-speed-limit hack
    
    When a download is removed, the manager will leave it in the treeview,
    e.g. it will only be removed from the treeview if the remove action was
    done manually by pressing the remove button. Now the pause action calls
    aria2.remove() and resume will start it again. This removes the hack
    done with the lowest-speed-limit option.

 src/eataria2.rb   |    2 +-
 src/eatmanager.rb |   30 ++++++++++--------------------
 2 files changed, 11 insertions(+), 21 deletions(-)

diff --git a/src/eataria2.rb b/src/eataria2.rb
index 477d025..a20a055 100644
--- a/src/eataria2.rb
+++ b/src/eataria2.rb
@@ -106,7 +106,7 @@ class Eat::Aria2 < GLib::Object
                                # Launch aria2c process
                                command = "aria2c --disable-ipv6=true 
--enable-xml-rpc --xml-rpc-listen-port...@port} " \
                                        "--conf-path...@confdir}/aria2.conf 
--log...@confdir}/aria2.log --log-level=notice " \
-                                       "--dht-file-path...@confdir}/dht.dat 
--lowest-speed-limit=1K"
+                                       "--dht-file-path...@confdir}/dht.dat"
                                debug("start server", command)
                                @@pid = Process.spawn(command, :pgroup=>true, 
:chdir=>ENV['HOME'],
                                                STDOUT=>"/dev/null", 
STDIN=>"/dev/null")
diff --git a/src/eatmanager.rb b/src/eatmanager.rb
index 94469f3..bdca1ad 100644
--- a/src/eatmanager.rb
+++ b/src/eatmanager.rb
@@ -149,7 +149,7 @@ class Eat::Manager
                                @liststore.set_value(row_iter, 9, 
File.basename(result[0]["path"]))
                        end
                when "removed" then
-                       @liststore.remove(row_iter)
+                       # TODO mark as stopped/inactive
                when "error" then
                        @liststore.set_value(row_iter, 8, -1)
                end
@@ -257,18 +257,9 @@ class Eat::Manager
        end
 
        def action_pause()
-               # TODO stop the download and on resume start it again at 
position 0 to put
-               # it in the front of the queue => drop the lowest-speed-limit 
hack
-
-               # This is sorta a hack around aria2, the download speed limit
-               # is drown under the lowest-speed-limit option and will thus be
-               # stopped. After a short while it will render an error code 5
-               # and will need to be restarted, cf. action_resume().
                @treeview.selection.selected_each do |model, path, iter|
                        gid = iter.get_value(0)
-                       @aria2.change_options(gid.to_s,
-                                       "max-download-limit" => "500",
-                                       "max-upload-limit" => "500")
+                       @aria2.remove(gid.to_s)
                end
        end
 
@@ -277,15 +268,14 @@ class Eat::Manager
                        gid = iter.get_value(0).to_s
                        status = @aria2.tell_status(gid)
                        case status["status"]
-                       when "active"
-                               @aria2.change_options(gid,
-                                               "max-download-limit" => "0",
-                                               "max-upload-limit" => "0")
-                       when "error"
-                               next if status["errorCode"] != "5"
-                               # Restart the download and delete current row 
as new gid will be created
-                               @aria2.add_uri(iter.get_value(10))
-                               @liststore.remove(iter)
+                       when "removed"
+                               # Restart the download queued at position 0 and 
delete current row
+                               # as new gid will be created
+                               uri = iter.get_value(10)
+                               if !uri.empty?
+                                       @aria2.add_uri(uri, nil, 0)
+                                       @liststore.remove(iter)
+                               end
                        end
                end
        end
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to