diff --git a/dcommon.py b/dcommon.py
index 070add941..3121f70c9 100644
--- a/dcommon.py
+++ b/dcommon.py
@@ -23,7 +23,7 @@
import sys, os, webbrowser
PROGRAM_NAME = "Deluge"
-PROGRAM_VERSION = "0.5"
+PROGRAM_VERSION = "0.5.0"
DELUGE_DIR = os.path.abspath(os.path.dirname(sys.argv[0]))
GLADE_DIR = DELUGE_DIR + "/glade"
PIXMAP_DIR = DELUGE_DIR + "/pixmaps"
diff --git a/delugegtk.py b/delugegtk.py
index c71683e06..ef2a0c41f 100755
--- a/delugegtk.py
+++ b/delugegtk.py
@@ -97,6 +97,8 @@ class DelugeGTK:
self.filename_column.set_expand(True)
+ ## Should probably use rules-hint for other treevies as well
+
self.peer_view = self.wtree.get_widget("peer_view")
self.peer_store = gtk.ListStore(str, str, str, str, str)
self.peer_view.set_model(self.peer_store)
diff --git a/glade/delugegtk.glade b/glade/delugegtk.glade
index 4ea1b7722..0eb2d58f6 100644
--- a/glade/delugegtk.glade
+++ b/glade/delugegtk.glade
@@ -16,627 +16,162 @@
4
3
-
+
True
- True
+ GTK_TOOLBAR_BOTH_HORIZ
+ False
-
+
True
- GTK_POLICY_AUTOMATIC
- GTK_POLICY_AUTOMATIC
-
-
- True
- True
- True
- False
-
-
-
+ Add Torrent
+ Add Torrent
+ True
+ gtk-add
+
- False
+ False
-
+
True
- Torrents
+ Remove Torrent
+ Remove Torrent
+ True
+ gtk-remove
+
- tab
- False
- False
+ False
-
+
True
- True
- GTK_POLICY_AUTOMATIC
- GTK_POLICY_AUTOMATIC
-
-
- True
-
-
- True
- 10
- 12
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
-
-
- 3
- 4
- 10
- 11
-
-
-
-
- True
- 0
- <b>Estimated Time Remaining:</b>
- True
-
-
- 2
- 3
- 10
- 11
-
-
-
-
- True
-
-
- 3
- 4
- 4
- 5
-
-
-
-
- True
-
-
- 1
- 2
- 4
- 5
-
-
-
-
- True
- 0
- <b>Peers:</b>
- True
-
-
- 2
- 3
- 4
- 5
-
-
-
-
- True
- 0
- <b>Seeders:</b>
- True
-
-
- 4
- 5
-
-
-
-
- True
- 0
- True
-
-
- 1
- 4
-
-
-
-
- True
- 0
- <b>Total Size:</b>
- True
-
-
- 1
- 2
-
-
-
-
- True
- 0
- <b>Total Downloaded:</b>
- True
-
-
- 2
- 3
-
-
-
-
- True
- 0
- <b>Percentage Done:</b>
- True
-
-
- 5
- 6
-
-
-
-
- True
- 0
- <b>Downloaded this session:</b>
- True
-
-
- 6
- 7
-
-
-
-
- True
- 0
-
-
- 1
- 2
- 1
- 2
-
-
-
-
- True
- 0
-
-
- 1
- 2
- 2
- 3
-
-
-
-
- True
- 0
-
-
- 1
- 2
- 5
- 6
-
-
-
-
- True
- 0
-
-
- 1
- 2
- 6
- 7
-
-
-
-
- True
- 0
- <b>Tracker:</b>
- True
-
-
- 7
- 8
-
-
-
-
- True
- 0
- <b>Tracker Response:</b>
- True
-
-
- 8
- 9
-
-
-
-
- True
- 0
- <b>Tracker Status:</b>
- True
-
-
- 9
- 10
-
-
-
-
- True
- 0
-
-
- 1
- 2
- 9
- 10
-
-
-
-
- True
- 0
- <b>Next Announce:</b>
- True
-
-
- 2
- 3
- 9
- 10
-
-
-
-
- True
- 0
-
-
- 3
- 4
- 9
- 10
-
-
-
-
- True
- 0
- <b>Pieces:</b>
- True
-
-
- 2
- 3
- 1
- 2
-
-
-
-
- True
- 0
- <b>Total Uploaded:</b>
- True
-
-
- 2
- 3
- 2
- 3
-
-
-
-
- True
- 0
-
-
- 3
- 4
- 1
- 2
-
-
-
-
- True
- 0
-
-
- 3
- 4
- 2
- 3
-
-
-
-
- True
- 0
- <b>Share Ratio:</b>
- True
-
-
- 2
- 3
- 5
- 6
-
-
-
-
- True
- 0
- <b>Uploaded This Session:</b>
- True
-
-
- 2
- 3
- 6
- 7
-
-
-
-
- True
- 0
-
-
- 3
- 4
- 5
- 6
-
-
-
-
- True
- 0
-
-
- 3
- 4
- 6
- 7
-
-
-
-
- True
- 0
-
-
- 1
- 4
- 7
- 8
-
-
-
-
- True
- 0
-
-
- 1
- 4
- 8
- 9
-
-
-
-
- True
- 0
- <b>Name:</b>
- True
-
-
-
-
- True
- 0
- <b>Use compact storage allocation:</b>
- True
-
-
- 10
- 11
-
-
-
-
- True
- 0
-
-
- 1
- 2
- 10
- 11
-
-
-
-
- True
- 0
- <b>Download Rate:</b>
- True
-
-
- 3
- 4
-
-
-
-
- True
- 0
-
-
- 1
- 2
- 3
- 4
-
-
-
-
- True
- 0
- <b>Upload Rate:</b>
- True
-
-
- 2
- 3
- 3
- 4
-
-
-
-
- True
- 0
-
-
- 3
- 4
- 3
- 4
-
-
-
-
-
-
- 1
- False
+ False
+ False
-
+
True
- Details
+ Update Tracker
+ Update Tracker
+ True
+ gtk-refresh
+
- tab
- 1
- False
- False
+ False
-
+
True
- True
- GTK_POLICY_AUTOMATIC
- GTK_POLICY_AUTOMATIC
-
-
- True
-
-
+ Clear Finished Torrents
+ Clear Finished
+ True
+ gtk-clear
+
- 2
- False
+ False
-
+
True
- Files
- tab
- 2
- False
- False
+ False
+ False
-
+
True
- True
- GTK_POLICY_AUTOMATIC
- GTK_POLICY_AUTOMATIC
-
-
- True
- True
-
-
+ Force Pause/Resume Torrent
+ Force Pause/Resume Torrent
+ True
+ gtk-media-pause
+
- 3
- False
+ False
-
+
True
- Peers
- tab
- 3
- False
- False
+ False
+ False
+
+
+
+
+ True
+ Queue Torrent Up
+ Move Up
+ True
+ gtk-go-up
+
+
+
+ False
+
+
+
+
+ True
+ Queue Torrent Down
+ Move Down
+ True
+ gtk-go-down
+
+
+
+ False
- 3
- 2
- 3
+ 1
+ 2
+
+ GTK_FILL
-
+
True
+ GTK_TOOLBAR_BOTH_HORIZ
+ 1
+ 2
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+ True
+ GTK_TOOLBAR_BOTH_HORIZ
+ False
+
+
+ 2
3
- 3
- 4
-
+ 1
+ 2
+
+ GTK_FILL
@@ -774,6 +309,93 @@
@@ -827,162 +449,627 @@
-
+
True
- GTK_TOOLBAR_BOTH_HORIZ
- False
- 2
3
- 1
- 2
-
- GTK_FILL
+ 3
+ 4
+
-
+
True
- GTK_TOOLBAR_BOTH_HORIZ
-
-
- 1
- 2
- 1
- 2
- GTK_FILL
-
-
-
-
- True
- GTK_TOOLBAR_BOTH_HORIZ
- False
+ True
-
+
True
- Add Torrent
- Add Torrent
- True
- gtk-add
-
+ GTK_POLICY_AUTOMATIC
+ GTK_POLICY_AUTOMATIC
+
+
+ True
+ True
+ True
+ False
+
+
+
- False
+ False
-
+
True
- Remove Torrent
- Remove Torrent
- True
- gtk-remove
-
+ Torrents
- False
+ tab
+ False
+ False
-
+
True
+ True
+ GTK_POLICY_AUTOMATIC
+ GTK_POLICY_AUTOMATIC
+
+
+ True
+
+
+ True
+ 10
+ 12
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ 0
+
+
+ 3
+ 4
+ 3
+ 4
+
+
+
+
+ True
+ 0
+ <b>Upload Rate:</b>
+ True
+
+
+ 2
+ 3
+ 3
+ 4
+
+
+
+
+ True
+ 0
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+
+
+ True
+ 0
+ <b>Download Rate:</b>
+ True
+
+
+ 3
+ 4
+
+
+
+
+ True
+ 0
+
+
+ 1
+ 2
+ 10
+ 11
+
+
+
+
+ True
+ 0
+ <b>Use compact storage allocation:</b>
+ True
+
+
+ 10
+ 11
+
+
+
+
+ True
+ 0
+ <b>Name:</b>
+ True
+
+
+
+
+ True
+ 0
+
+
+ 1
+ 4
+ 8
+ 9
+
+
+
+
+ True
+ 0
+
+
+ 1
+ 4
+ 7
+ 8
+
+
+
+
+ True
+ 0
+
+
+ 3
+ 4
+ 6
+ 7
+
+
+
+
+ True
+ 0
+
+
+ 3
+ 4
+ 5
+ 6
+
+
+
+
+ True
+ 0
+ <b>Uploaded This Session:</b>
+ True
+
+
+ 2
+ 3
+ 6
+ 7
+
+
+
+
+ True
+ 0
+ <b>Share Ratio:</b>
+ True
+
+
+ 2
+ 3
+ 5
+ 6
+
+
+
+
+ True
+ 0
+
+
+ 3
+ 4
+ 2
+ 3
+
+
+
+
+ True
+ 0
+
+
+ 3
+ 4
+ 1
+ 2
+
+
+
+
+ True
+ 0
+ <b>Total Uploaded:</b>
+ True
+
+
+ 2
+ 3
+ 2
+ 3
+
+
+
+
+ True
+ 0
+ <b>Pieces:</b>
+ True
+
+
+ 2
+ 3
+ 1
+ 2
+
+
+
+
+ True
+ 0
+
+
+ 3
+ 4
+ 9
+ 10
+
+
+
+
+ True
+ 0
+ <b>Next Announce:</b>
+ True
+
+
+ 2
+ 3
+ 9
+ 10
+
+
+
+
+ True
+ 0
+
+
+ 1
+ 2
+ 9
+ 10
+
+
+
+
+ True
+ 0
+ <b>Tracker Status:</b>
+ True
+
+
+ 9
+ 10
+
+
+
+
+ True
+ 0
+ <b>Tracker Response:</b>
+ True
+
+
+ 8
+ 9
+
+
+
+
+ True
+ 0
+ <b>Tracker:</b>
+ True
+
+
+ 7
+ 8
+
+
+
+
+ True
+ 0
+
+
+ 1
+ 2
+ 6
+ 7
+
+
+
+
+ True
+ 0
+
+
+ 1
+ 2
+ 5
+ 6
+
+
+
+
+ True
+ 0
+
+
+ 1
+ 2
+ 2
+ 3
+
+
+
+
+ True
+ 0
+
+
+ 1
+ 2
+ 1
+ 2
+
+
+
+
+ True
+ 0
+ <b>Downloaded this session:</b>
+ True
+
+
+ 6
+ 7
+
+
+
+
+ True
+ 0
+ <b>Percentage Done:</b>
+ True
+
+
+ 5
+ 6
+
+
+
+
+ True
+ 0
+ <b>Total Downloaded:</b>
+ True
+
+
+ 2
+ 3
+
+
+
+
+ True
+ 0
+ <b>Total Size:</b>
+ True
+
+
+ 1
+ 2
+
+
+
+
+ True
+ 0
+ True
+
+
+ 1
+ 4
+
+
+
+
+ True
+ 0
+ <b>Seeders:</b>
+ True
+
+
+ 4
+ 5
+
+
+
+
+ True
+ 0
+ <b>Peers:</b>
+ True
+
+
+ 2
+ 3
+ 4
+ 5
+
+
+
+
+ True
+
+
+ 1
+ 2
+ 4
+ 5
+
+
+
+
+ True
+
+
+ 3
+ 4
+ 4
+ 5
+
+
+
+
+ True
+ 0
+ <b>Estimated Time Remaining:</b>
+ True
+
+
+ 2
+ 3
+ 10
+ 11
+
+
+
+
+ True
+
+
+ 3
+ 4
+ 10
+ 11
+
+
+
+
+
+
- False
- False
+ 1
+ False
-
+
True
- Update Tracker
- Update Tracker
- True
- gtk-refresh
-
+ Details
- False
+ tab
+ 1
+ False
+ False
-
+
True
- Clear Finished Torrents
- Clear Finished
- True
- gtk-clear
-
+ True
+ GTK_POLICY_AUTOMATIC
+ GTK_POLICY_AUTOMATIC
+
+
+ True
+
+
- False
+ 2
+ False
-
+
True
+ Files
- False
- False
+ tab
+ 2
+ False
+ False
-
+
True
- Force Pause/Resume Torrent
- Force Pause/Resume Torrent
- True
- gtk-media-pause
-
+ True
+ GTK_POLICY_AUTOMATIC
+ GTK_POLICY_AUTOMATIC
+
+
+ True
+ True
+
+
- False
+ 3
+ False
-
+
True
+ Peers
- False
- False
-
-
-
-
- True
- Queue Torrent Up
- Move Up
- True
- gtk-go-up
-
-
-
- False
-
-
-
-
- True
- Queue Torrent Down
- Move Down
- True
- gtk-go-down
-
-
-
- False
+ tab
+ 3
+ False
+ False
- 1
- 2
-
- GTK_FILL
+ 3
+ 2
+ 3
diff --git a/setup.py b/setup.py
index ea10d7875..905c18943 100644
--- a/setup.py
+++ b/setup.py
@@ -24,15 +24,57 @@ pythonVersion = platform.python_version()[0:3]
from distutils.core import setup, Extension
+flood_core = Extension('flood_core',
+ include_dirs = ['./include', './include/libtorrent',
+ '/usr/include/python' + pythonVersion],
+ libraries = ['boost_filesystem', 'boost_date_time',
+ 'boost_program_options', 'boost_regex',
+ 'boost_serialization', 'boost_thread', 'z', 'pthread'],
+ extra_compile_args = ["-Wno-missing-braces"],
+# extra_link_args = [""],
+ sources = ['cpp/alert.cpp',
+ 'cpp/allocate_resources.cpp',
+ 'cpp/bt_peer_connection.cpp',
+ 'cpp/entry.cpp',
+ 'cpp/escape_string.cpp',
+ 'cpp/file.cpp',
+ 'cpp/http_tracker_connection.cpp',
+ 'cpp/identify_client.cpp',
+ 'cpp/ip_filter.cpp',
+ 'cpp/peer_connection.cpp',
+ 'cpp/piece_picker.cpp',
+ 'cpp/policy.cpp',
+ 'cpp/flood_core.cpp',
+ 'cpp/session.cpp',
+ 'cpp/session_impl.cpp',
+ 'cpp/sha1.cpp',
+ 'cpp/stat.cpp',
+ 'cpp/storage.cpp',
+ 'cpp/torrent.cpp',
+ 'cpp/torrent_handle.cpp',
+ 'cpp/torrent_info.cpp',
+ 'cpp/tracker_manager.cpp',
+ 'cpp/udp_tracker_connection.cpp',
+ 'cpp/web_peer_connection.cpp',
+ 'cpp/kademlia/closest_nodes.cpp',
+ 'cpp/kademlia/dht_tracker.cpp',
+ 'cpp/kademlia/find_data.cpp',
+ 'cpp/kademlia/node.cpp',
+ 'cpp/kademlia/node_id.cpp',
+ 'cpp/kademlia/refresh.cpp',
+ 'cpp/kademlia/routing_table.cpp',
+ 'cpp/kademlia/rpc_manager.cpp',
+ 'cpp/kademlia/traversal_algorithm.cpp'])
+
setup(name="Deluge", fullname="Deluge Bittorrent Client", version="0.5.0",
- author="Zach Tibbitts",
+ author="Zach Tibbitts, Alon Zakai",
description="A bittorrent client written in PyGTK",
url="http://deluge-torrent.org",
license="GPLv2",
-
- scripts=["scripts/deluge-gtk", "scripts/deluge-tools"],
- py_modules=["dcommon", "deluge", "delugegtk", "dexml"],
+ scripts=["scripts/deluge"],
+ py_modules=["dcommon", "delugegtk", "flood","library/flood_stats"],
+ packages=["library"],
data_files=[("glade", ["glade/delugegtk.glade"])],
- ##ext_modules=[torrent]
+ ##ext_modules=[flood_core]
)