From 082dea9b807967e92673812ca00c78210bd98c84 Mon Sep 17 00:00:00 2001 From: Andrew Resch Date: Sat, 24 Jan 2009 05:31:45 +0000 Subject: [PATCH] Update python bindings from libtorrent svn --- libtorrent/bindings/python/src/module.cpp | 2 ++ libtorrent/bindings/python/src/session.cpp | 1 + .../bindings/python/src/torrent_handle.cpp | 2 +- .../bindings/python/src/torrent_info.cpp | 21 +++++++++++++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/libtorrent/bindings/python/src/module.cpp b/libtorrent/bindings/python/src/module.cpp index 3d0925f47..c512e346a 100755 --- a/libtorrent/bindings/python/src/module.cpp +++ b/libtorrent/bindings/python/src/module.cpp @@ -44,7 +44,9 @@ BOOST_PYTHON_MODULE(libtorrent) bind_alert(); bind_datetime(); bind_extensions(); +#ifndef TORRENT_NO_PYTHON_PLUGINS bind_peer_plugin(); +#endif bind_torrent(); bind_peer_info(); bind_ip_filter(); diff --git a/libtorrent/bindings/python/src/session.cpp b/libtorrent/bindings/python/src/session.cpp index 5d9e9fddf..bcb96eb9a 100755 --- a/libtorrent/bindings/python/src/session.cpp +++ b/libtorrent/bindings/python/src/session.cpp @@ -389,6 +389,7 @@ void bind_session() .def("pause", allow_threads(&session::pause)) .def("resume", allow_threads(&session::resume)) .def("is_paused", allow_threads(&session::is_paused)) + .def("id", allow_threads(&session::id)) ; register_ptr_to_python >(); diff --git a/libtorrent/bindings/python/src/torrent_handle.cpp b/libtorrent/bindings/python/src/torrent_handle.cpp index 588173cee..639fcf86d 100755 --- a/libtorrent/bindings/python/src/torrent_handle.cpp +++ b/libtorrent/bindings/python/src/torrent_handle.cpp @@ -304,7 +304,7 @@ void bind_torrent_handle() .def("piece_priority", _(piece_priority0)) .def("piece_priority", _(piece_priority1)) .def("prioritize_pieces", prioritize_pieces) - .def("piece_prioritize", piece_priorities) + .def("piece_priorities", piece_priorities) .def("prioritize_files", prioritize_files) .def("file_priorities", file_priorities) .def("use_interface", &torrent_handle::use_interface) diff --git a/libtorrent/bindings/python/src/torrent_info.cpp b/libtorrent/bindings/python/src/torrent_info.cpp index a373b091c..bbe64fcd9 100755 --- a/libtorrent/bindings/python/src/torrent_info.cpp +++ b/libtorrent/bindings/python/src/torrent_info.cpp @@ -71,12 +71,30 @@ namespace torrent_info construct0(std::string path) { return torrent_info(fs::path(path)); } + + list map_block(torrent_info& ti, int piece, size_type offset, int size) + { + std::vector p = ti.map_block(piece, offset, size); + list result; + + for (std::vector::iterator i(p.begin()), e(p.end()); i != e; ++i) + result.append(*i); + + return result; + } + } // namespace unnamed void bind_torrent_info() { return_value_policy copy; + class_("file_slice") + .def_readwrite("file_index", &file_slice::file_index) + .def_readwrite("offset", &file_slice::offset) + .def_readwrite("size", &file_slice::size) + ; + class_ >("torrent_info", no_init) #ifndef TORRENT_NO_DEPRECATE .def(init()) @@ -102,6 +120,7 @@ void bind_torrent_info() .def("num_files", &torrent_info::num_files, (arg("storage")=false)) .def("file_at", &torrent_info::file_at, return_internal_reference<>()) + .def("file_at_offset", &torrent_info::file_at_offset) .def("files", &files, (arg("storage")=false)) .def("priv", &torrent_info::priv) @@ -113,6 +132,8 @@ void bind_torrent_info() .def("nodes", &nodes) .def("metadata", &metadata) .def("metadata_size", &torrent_info::metadata_size) + .def("map_block", map_block) + .def("map_file", &torrent_info::map_file) ; class_("file_entry")