mirror of
https://git.deluge-torrent.org/deluge
synced 2025-08-06 08:28:39 +00:00
Fix up edit trackers
This commit is contained in:
parent
367f5823d2
commit
b22a0111ca
2 changed files with 28 additions and 35 deletions
|
@ -1354,7 +1354,7 @@ static PyObject *torrent_get_trackers(PyObject *self, PyObject *args)
|
||||||
for (std::vector<announce_entry>::const_iterator i = h.trackers().begin();
|
for (std::vector<announce_entry>::const_iterator i = h.trackers().begin();
|
||||||
i != h.trackers().end(); ++i)
|
i != h.trackers().end(); ++i)
|
||||||
{
|
{
|
||||||
trackerslist = trackerslist + i->url +"\r\n";
|
trackerslist = trackerslist + i->url +"\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Py_BuildValue("s",trackerslist.c_str());
|
return Py_BuildValue("s",trackerslist.c_str());
|
||||||
|
@ -1362,25 +1362,28 @@ static PyObject *torrent_get_trackers(PyObject *self, PyObject *args)
|
||||||
|
|
||||||
static PyObject *torrent_replace_trackers(PyObject *self, PyObject *args)
|
static PyObject *torrent_replace_trackers(PyObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
python_long unique_ID;
|
python_long unique_ID;
|
||||||
const char* tracker;
|
const char* tracker;
|
||||||
if (!PyArg_ParseTuple(args, "iz", &unique_ID, &tracker))
|
if (!PyArg_ParseTuple(args, "iz", &unique_ID, &tracker))
|
||||||
return NULL;
|
return NULL;
|
||||||
long index = get_index_from_unique_ID(unique_ID);
|
long index = get_index_from_unique_ID(unique_ID);
|
||||||
if (PyErr_Occurred())
|
if (PyErr_Occurred())
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
torrent_handle& h = M_torrents->at(index).handle;
|
torrent_handle& h = M_torrents->at(index).handle;
|
||||||
|
|
||||||
std::vector<libtorrent::announce_entry> trackerlist;
|
std::vector<libtorrent::announce_entry> trackerlist;
|
||||||
std::istringstream file(tracker);
|
|
||||||
std::string line;
|
std::istringstream trackers(tracker);
|
||||||
while(std::getline(file, line)){
|
std::string line;
|
||||||
trackerlist.push_back(line);
|
|
||||||
}
|
while (std::getline(trackers, line)) {
|
||||||
h.replace_trackers(trackerlist);
|
libtorrent::announce_entry a_entry(line);
|
||||||
h.force_reannounce();
|
trackerlist.push_back(a_entry);
|
||||||
return Py_None;
|
}
|
||||||
|
h.replace_trackers(trackerlist);
|
||||||
|
h.force_reannounce();
|
||||||
|
return Py_None;
|
||||||
}
|
}
|
||||||
//====================
|
//====================
|
||||||
// Python Module data
|
// Python Module data
|
||||||
|
|
|
@ -322,36 +322,26 @@ class DelugeGTK:
|
||||||
|
|
||||||
def accept_edit_window(self,arg=None):
|
def accept_edit_window(self,arg=None):
|
||||||
torrent = self.get_selected_torrent()
|
torrent = self.get_selected_torrent()
|
||||||
self.newlist = self.edit_list.get_buffer()
|
self.textlist = self.textbuffer.get_text(self.textbuffer.get_start_iter(), self.textbuffer.get_end_iter(), include_hidden_chars=False).strip()
|
||||||
self.start = self.textbuffer.get_start_iter()
|
|
||||||
self.end = self.textbuffer.get_end_iter()
|
|
||||||
self.contents = self.textbuffer.get_text(self.start,self.end,include_hidden_chars=False)
|
|
||||||
self.new_contents = []
|
|
||||||
for line in self.contents:
|
|
||||||
if not line.strip():
|
|
||||||
continue
|
|
||||||
else:
|
|
||||||
self.new_contents.append(line)
|
|
||||||
self.textlist = "".join(self.new_contents)
|
|
||||||
self.manager.replace_trackers(torrent, self.textlist)
|
self.manager.replace_trackers(torrent, self.textlist)
|
||||||
self.edit_window.destroy()
|
self.edit_window.destroy()
|
||||||
|
|
||||||
def show_edit_tracker_dialog(self,list):
|
def show_edit_tracker_dialog(self,list):
|
||||||
self.textbuffer = gtk.TextBuffer(table=None)
|
self.textbuffer = gtk.TextBuffer(table=None)
|
||||||
self.textbuffer.set_text(list)
|
self.textbuffer.set_text(list)
|
||||||
self.edit_glade = gtk.glade.XML(common.get_glade_file("edit_trackers.glade"))
|
self.edit_glade = gtk.glade.XML(common.get_glade_file("edit_trackers.glade"))
|
||||||
self.edit_list = self.edit_glade.get_widget("txt_tracker_list")
|
self.edit_list = self.edit_glade.get_widget("txt_tracker_list")
|
||||||
self.edit_list.set_buffer(self.textbuffer)
|
self.edit_list.set_buffer(self.textbuffer)
|
||||||
self.edit_window = self.edit_glade.get_widget("edittrackers")
|
self.edit_window = self.edit_glade.get_widget("edittrackers")
|
||||||
self.edit_window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
|
self.edit_window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
|
||||||
self.edit_window.set_size_request(400, 200)
|
self.edit_window.set_size_request(400, 200)
|
||||||
self.edit_glade.signal_autoconnect({"cancel_button_clicked": self.cancel_edit_window,
|
self.edit_glade.signal_autoconnect({"cancel_button_clicked": self.cancel_edit_window,
|
||||||
"ok_button_clicked": self.accept_edit_window
|
"ok_button_clicked": self.accept_edit_window
|
||||||
})
|
})
|
||||||
|
|
||||||
self.edit_window.show_all()
|
self.edit_window.show_all()
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def tray_clicked(self, status_icon):
|
def tray_clicked(self, status_icon):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue