diff --git a/CMakeLists.txt b/CMakeLists.txt index 1cebb85c6..d8fa9ffd2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -154,6 +154,7 @@ if(NOT MSVC) endif() if (shared) + add_definitions(-DTORRENT_BUILDING_SHARED) add_library(torrent-rasterbar SHARED ${sources2}) else (shared) add_library(torrent-rasterbar STATIC ${sources2}) @@ -172,7 +173,7 @@ target_link_libraries(torrent-rasterbar ${Boost_LIBRARIES}) # this works around a bug in asio in boost-1.39 add_definitions(-DBOOST_ASIO_HASH_MAP_BUCKETS=1021 -DBOOST_ASIO_DYN_LINK -D__USE_W32_SOCKETS -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0500) -add_definitions(-DBOOST_DATE_TIME_DYN_LINK -DBOOST_THREAD_DYN_LINK -DBOOST_SYSTEM_DYN_LINK) +add_definitions(-DBOOST_DATE_TIME_DYN_LINK -DBOOST_THREAD_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_CHRONO_DYN_LINK) if (WIN32) target_link_libraries(torrent-rasterbar wsock32 ws2_32) diff --git a/ChangeLog b/ChangeLog index c5e53c4db..66f1049cc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,10 @@ * fix uTP edge case where udp socket buffer fills up * fix nagle implementation in uTP + * added missing add_torrent_alert to python binding + +0.16.5 release + * udp socket refcounter fix * added missing async_add_torrent to python bindings * raised the limit for bottled http downloads to 2 MiB diff --git a/bindings/python/src/alert.cpp b/bindings/python/src/alert.cpp index f5621dfe7..31b7d433a 100644 --- a/bindings/python/src/alert.cpp +++ b/bindings/python/src/alert.cpp @@ -62,6 +62,31 @@ list get_status_from_update_alert(state_update_alert const& alert) return result; } +dict get_params(add_torrent_alert const& alert) +{ + add_torrent_params const& p = alert.params; + dict ret; + ret["ti"] = p.ti; + ret["info_hash"] = p.info_hash; + ret["name"] = p.name; + ret["save_path"] = p.save_path; + ret["storage_mode"] = p.storage_mode; + list trackers; + for (std::vector::const_iterator i = p.trackers.begin(); + i != p.trackers.end(); ++i) + { + trackers.append(*i); + } + ret["trackers"] = trackers; + // TODO: dht_nodes + ret["flags"] = p.flags; + ret["trackerid"] = p.trackerid; + ret["url"] = p.url; + ret["source_feed_url"] = p.source_feed_url; + ret["uuid"] = p.uuid; + return ret; +} + void bind_alert() { @@ -479,4 +504,10 @@ void bind_alert() "torrent_need_cert_alert", no_init) .def_readonly("error", &torrent_need_cert_alert::error) ; + + class_, noncopyable>( + "add_torrent_alert", no_init) + .def_readonly("error", &add_torrent_alert::error) + .add_property("params", &get_params) + ; }