Commit Graph

842 Commits

Author SHA1 Message Date
Steven Siloti e7e5805c56 support building python bindings for python 3 and 64 bit 2018-03-27 11:04:56 +02:00
arvidn 9df4d4b7f8 replace typedef with using. replace NULL with nullptr. cleanup page_aligned_allocator 2018-03-23 11:19:46 +01:00
arvidn 8a85e1c01a merged RC_1_1 into master 2018-03-21 12:17:11 +01:00
arvidn 137baa6c04 expose post_dht_stats() to python binding 2018-03-17 16:19:20 +01:00
arvidn 4b144ba451 merged RC_1_1 into master 2018-03-16 13:16:45 +01:00
Arvid Norberg 3721d8e710 expose missing file_storage::file_name() in the python bindings 2018-03-15 14:54:21 +01:00
arvidn 5c1b65e9b8 merged RC_1_1 into master 2018-03-12 02:32:12 +01:00
arvidn b841860643 improve python binding for torrent_handle::connect_peer 2018-03-09 23:44:15 +01:00
arvidn 4fef787212 merged RC_1_1 into master 2018-01-24 00:37:05 +01:00
arvidn abbbcf52c1 add missing session_stats_header_alert in python binding 2018-01-23 19:23:24 +01:00
arvidn a8cf790833 disable some session features to not run our of open files in python test 2018-01-23 19:23:24 +01:00
arvidn 1f2a2294cc run fewer osx jobs on travis 2018-01-23 19:23:24 +01:00
arvidn efd096d879 use unique peer_ids per connection 2018-01-23 16:40:16 +01:00
arvidn 7ff9f79af3 run fewer osx jobs on travis 2018-01-23 16:33:13 +01:00
arvidn c5569902a8 fix python bindings 2018-01-21 19:53:31 +01:00
arvidn 91104e27c9 fix python binding for queue_position_t 2018-01-13 17:33:01 -05:00
arvidn c8bf782bd0 bump version number to 1.1.6 2017-12-29 15:53:51 +01:00
arvidn a9753d3bdc merge RC_1_1 into master 2017-12-27 22:16:14 +01:00
arvidn 69ff30f50f deprecate save_encryption_settings (they are part of the normal settings) 2017-12-27 13:39:36 +01:00
arvidn 7ea5946305 remove some last lexical_cast residual 2017-12-27 12:44:36 +01:00
arvidn a54f76d5df deprecate status_code from tracker_error_alert (it's already part of the error_code), simplify code a bit 2017-12-19 00:55:51 +01:00
arvidn bb945f5cf4 introduce a proper type for pex flags to improve type-safety 2017-12-17 23:17:12 +01:00
arvidn 5ce798197c merged RC_1_1 into master 2017-12-02 11:39:23 +01:00
arvidn cfd50ae736 fix simple_client.py example, and reference it from the documentation 2017-11-23 22:01:54 +01:00
arvidn 7730eea401 restore backwards compatibility with the API before download_priority_t was introduced 2017-11-06 01:24:24 +01:00
arvidn 6785046c2f introduce a download_priority_t type, for uniform an type-safe piece- and file priorities 2017-11-02 08:20:21 +01:00
arvidn f57b90b500 introduce type for torrent queue_position 2017-11-01 10:52:45 +01:00
Alden Torres f040d6d860 added reopen_network_sockets method to allow manual reopen of listen/outgoing sockets (#2476) 2017-10-28 12:15:35 +02:00
arvidn ee9e0abb1a fix python binding for torrent_status::error_file 2017-10-20 11:43:11 +02:00
arvidn 244d18dcf8 merged RC_1_1 into master 2017-10-17 09:38:51 +02:00
Andrew Resch 9f6631bfbe Expose torrent_alert::torrent_name in python bindings (#2449) 2017-10-15 23:53:44 +02:00
arvidn a6c85496b5 make parse_magnet_uri return the add_torrent_params instead of of taking an in-out parameter 2017-10-15 04:29:53 +02:00
Arvid Norberg 60b74d2616 merged RC_1_1 into master 2017-10-10 14:25:12 +02:00
Arvid Norberg 830ef0bedd prevent dependency on openssl from leaking outside of libtorrent (libssl and libcrypto should not be a usage requirement). This cleans up most tests to build without having to also link against openssl 2017-10-09 17:15:35 +02:00
Alden Torres e47f73ee3b cleanup of field torrent_need_cert_alert::error (#2414)
deprecate field torrent_need_cert_alert::error
2017-10-06 10:54:33 +02:00
arvidn 15d11d29e7 fix master python binding 2017-10-04 15:30:37 +02:00
arvidn 69dc73914a merged RC_1_1 into master 2017-10-04 11:43:01 +02:00
arvidn 9cad0d8cf2 expose peer class API in python binding 2017-09-24 23:25:20 -07:00
Steven Siloti 0232dc35cd deprecate lock_files (#2344)
File locking interacts poorly with the path to replace a read only file handle
with a read/write one. For performance reasons the old handle is not closed
until the new one is put in place. With file locking this obviously cannot
work because the first handle is holding a lock on the file. As a result,
file_pool::open_file fails in this case. Even if we dropped the reference to
the read only file handle before attempting to re-open it, the open could still
fail if another thread is holding a reference to the read only handle.

There doesn't seem to be a good way around this. The simple solution would be
to always open files in read/write mode, but that has obvious safety downsides.
Any other solution would significantly complicate the file pool code.
Deprecating file locking seems to be the least bad option.
2017-09-17 10:43:27 +02:00
arvidn 686e3ed27b merged RC_1_1 2017-09-12 00:22:55 +02:00
arvidn ccbd6cbcfe remove rss_reader.py, since rss has been reprecated. fix python binding for torrent_handle, to be hashable. update client_test.py to not use deprecated APIs and follow best (libtorrent) practice 2017-09-11 22:28:57 +02:00
Steven Siloti fdd6a3862d python: return file index by value
Fixes TypeError: No Python class registered for C++ class
2017-09-11 07:23:05 +02:00
Steven Siloti 1cd40ee7e3 python: return torrent handles in alerts by value
This is needed to avoid a dangling reference if the client stores a
reference to the handle.
2017-09-10 08:55:02 +02:00
arvidn bb51dcdbb9 move dht_settings into its own header cpp file-pair and dht_settings into the dht namespace 2017-09-04 22:38:16 +02:00
arvidn 061732ddec bump version 2017-09-04 15:35:45 +02:00
arvidn 53ff169db1 use string_view in find_metric_idx 2017-09-04 07:50:13 +02:00
arvidn 9c7f87ed5d fix python binding of port_mapping_t 2017-09-04 07:49:36 +02:00
Arvid Norberg f734ad067b straighten out some type-safety in port mapping enums (#2285) 2017-08-30 20:47:49 +02:00
arvidn 41bfd41cea fix python binding with new boost version 2017-08-25 09:43:01 +02:00
Arvid Norberg d250ba5a17 wrap destination string in i2p_peer in string_ptr handler (#2268) 2017-08-25 09:42:46 +02:00
arvidn b03b7417dd build boost from scratch on linux (to get a newer version). upgrade travis to trusty and newer xcode. python binding fixes 2017-08-14 12:22:06 +02:00
arvidn 819a9b0943 remove configure.ac hack where supposed arguments are spliced out of CXX into CXXFLAGS 2017-08-08 08:50:13 +02:00
arvidn 5bf28e37b8 make create_torrent flags type-safe 2017-08-04 21:23:42 +02:00
arvidn a8a5986046 make file attributes (in file_storage) type safe 2017-08-04 07:38:57 +02:00
rllola 3464ddf1d5 read_piece_alert bindings for piece to int 2017-07-30 18:22:32 -07:00
arvidn 6fa181ece8 some cleanup of type-safe flags 2017-07-30 18:20:15 -07:00
arvidn 322007bb6a make save_state_flags a strong type 2017-07-30 09:06:41 -07:00
arvidn 69bd2986de convert a few more torrent_handle flags to type safe types 2017-07-27 13:16:23 -07:00
arvidn 24e4263bae make torrent status flags be type safe 2017-07-27 09:33:35 -07:00
arvidn 5222d92e9f make resume_data_flags type safe 2017-07-27 00:07:15 -07:00
arvidn b38efb6c65 make alert category flags be a strong type 2017-07-26 07:20:47 -07:00
arvidn 330904f460 convert picker_flags_t to type safe flags 2017-07-23 09:29:25 -07:00
arvidn 78bbd298a5 convert file_open_mode to type safe flags 2017-07-22 23:58:24 -07:00
arvidn c4eb4c8b5f use span in torrent_info constructors and deprecate the redundant flags argument 2017-07-22 00:00:44 -07:00
arvidn f9c45db942 make bandwidth state flags use type-safe flags 2017-07-17 19:03:42 -07:00
arvidn c4659bc345 convert peer_flags and peer_source_flags to type-safe flags 2017-07-17 10:22:32 -07:00
arvidn 4947602a2f make add_torrent_params::flags_t an enum class and move it out into its own header 2017-07-17 01:05:31 -07:00
AllSeeingEyeTolledEweSew 00655d562b Refactor several flags to torrent_handle::get_flags/set_flags. 2017-07-17 01:05:31 -07:00
arvidn 5188c190db bump version number 2017-07-02 15:03:46 -04:00
arvidn 5c37eb174f drop support for windows compilers without std::string and wchar_t (believed to be old cygwin) 2017-07-02 08:24:55 -04:00
arvidn 35491bc476 convert remaining alerts to use operation_t instead of string literal 2017-06-18 22:05:50 -04:00
arvidn ff454a92d4 unify some operation-enums and strings to use operation_t 2017-06-18 07:31:45 -04:00
arvidn 1fd350cf60 make operation_t an enum class, for type safety 2017-06-15 07:00:06 -04:00
Steven Siloti 2169d123ea fix import error in python bindings
TypeError: No to_python (by-value) converter found for C++ type:
libtorrent::deprecated_move_flags_t
2017-06-05 22:10:52 +02:00
arvidn 6967d17a42 make move constructors and move assignment operators noexcept 2017-06-01 23:42:15 +02:00
Arvid Norberg 5344761da4 make flags to move_storage a proper enum class (#2043) 2017-06-01 04:15:15 -04:00
Bernhard M. Wiedemann 7e106b2660 sort input files
when building packages (e.g. for openSUSE Linux)
(random) filesystem order of input files
influences ordering of functions in the output,
thus without the patch, builds (in disposable VMs) would differ.

See https://reproducible-builds.org/ for why this matters.

Cherry-Picked-From commit 72f8ad9756
2017-05-31 22:47:46 -04:00
Bernhard M. Wiedemann 72f8ad9756 sort input files
when building packages (e.g. for openSUSE Linux)
(random) filesystem order of input files
influences ordering of functions in the output,
thus without the patch, builds (in disposable VMs) would differ.

See https://reproducible-builds.org/ for why this matters.
2017-05-30 13:18:18 -04:00
Arvid Norberg 660cdaf2d1 deprecate direct access to array in session_stats_alert (#2033) 2017-05-27 20:33:31 -04:00
arvidn 680ca6ea2b merged RC_1_1 into master 2017-05-21 21:02:09 -04:00
arvidn 387f3ba0ea fix python3 portability issue in python binding 2017-05-21 16:58:23 -04:00
arvidn 76ef0babed remove deprecated file_base feature of file_storage 2017-05-04 12:03:31 -04:00
Steven Siloti fd50630020 announce to trackers for all listen interfaces 2017-04-30 08:11:56 -04:00
arvidn d138f02424 introduce lt namespace alias 2017-04-23 23:43:58 -04:00
arvidn 645d658214 merged RC_1_1 into master 2017-04-13 07:42:32 -07:00
arvidn 0445ae4917 remove use of deprecated peer_info queued state in client.py 2017-04-13 04:48:33 -07:00
arvidn 91838d8a65 clean up declaration for removed function 2017-04-12 21:00:41 -07:00
Arvid Norberg c35718d322 use unsigned integer for file and storage flags (#1895)
use unsigned integer for file and storage flags
2017-04-09 01:28:46 -04:00
Arvid Norberg 13b16a63a3 use unsigned type for file flags. make file_pool private to disk_io_thread (#1894)
use unsigned type for file flags. make file_pool private to disk_io_thread. move close_file_interval logic to the disk thread. don't expose file in public interface, and make pool_file_status properly public (not part of file_pool and renamed to open_file_status), this is exposed in public interface via torrent_handle::file_status()
2017-04-08 18:24:50 -04:00
arvidn b065536023 bump version number 2017-04-02 18:34:45 -04:00
Arvid Norberg 64ad4f5c96 enable warnings when building tests (#1880) 2017-04-02 14:22:17 -04:00
arvidn 0b6fe4d0bd merged RC_1_1 into master 2017-03-30 18:07:24 -04:00
Arvid Norberg b8e77444d5 use span for read_resume_data() (#1867)
use span for read_resume_data()
2017-03-29 16:10:32 -04:00
Arvid Norberg 8ebbad19d4 deprecate add_torrent_params::url field. use parse_magnet_uri instead (#1864)
deprecate add_torrent_params::url field. use parse_magnet_uri instead
2017-03-29 02:16:07 -04:00
arvidn 852fada772 restore announce_entry's timestamp fields to posix time in python binding 2017-03-28 22:21:01 -04:00
arvidn 412325ba46 fix python binding byte encoding of info_hash in parse_magnet_uri 2017-03-28 01:54:46 -04:00
Alden Torres ff038fb548 fix appveyor python build issue 2017-03-27 20:39:37 -04:00
arvidn 0bdb3484d7 fix python binding build 2017-03-27 01:57:50 -04:00
arvidn 86786770b7 merged RC_1_1 into master 2017-03-27 01:24:43 -04:00
arvidn 910ccc528f deprecate torrent_added_alert in favor of add_torrent_alert 2017-03-26 22:48:17 -04:00
Arvid Norberg 2e367ea53b fix python binding for parse_magnet_uri (#1838)
fix python binding for parse_magnet_uri
2017-03-23 08:31:10 -04:00
Arvid Norberg a34ce0278e add write_resume_data() function (#1776)
add write_resume_data() function. Make resume data alert use an add_torrent_params object
2017-03-05 09:31:28 -05:00
arvidn 081365fbcf merge RC_1_1 into master 2017-02-26 00:48:12 -05:00
Alden Torres 97c8d0486c fixing sign-conversion warnings, part 21, file_flags (#1750)
fixing sign-conversion warnings, part 21, file_flags
2017-02-25 19:06:31 -05:00
arvidn 2258b53d87 in python binding, make announce_entry::last_error a dict instead of error_code 2017-02-24 22:22:48 -05:00
arvidn 3b359abc14 add pickle support to error_code python binding 2017-02-22 07:50:08 -05:00
Calum Lind 0e500978cd Add a python bindings test for pickling trackers
* If ae.last_error (lt.error_code) is not converted in bindings to a dict
 then pickling the trackers with fail.
2017-02-22 07:50:08 -05:00
sledgehammer_999 9bb420b074 Move include into implementation instead(from #1703). 2017-02-21 20:19:53 -05:00
arvidn 6d40d3a167 bump version number 2017-02-20 12:43:34 -05:00
arvidn 2c51c59327 merge RC_1_1 into master 2017-02-18 13:29:12 -05:00
arvidn 799cd8163b fix python binding of create_torrent 2017-02-17 07:45:43 -05:00
arvidn 3ffa3f2a08 merged RC_1_1 into master 2017-02-17 00:35:49 -05:00
Arvid Norberg 116802fcdf update tuning documentation (#1717)
update tuning documentation and make the stats header be posted when logging is disabled (if stats_notifications are enabled)
2017-02-16 07:03:43 -05:00
arvidn cbd1c26a11 fix ABI compatibility issue introduced with preformatted entry type 2017-02-12 20:42:30 -05:00
arvidn 21c9a493f6 fix master build 2017-02-12 08:33:25 -05:00
arvidn 5971818969 merge RC_1_1 into master 2017-02-12 02:24:14 -05:00
arvidn db32618c39 system_clock fix 2017-02-11 08:07:43 -05:00
Calum Lind 4492cada4a Backport time_point to python convertor. Fix bindings returning invalid date from time_point convertor 2017-02-11 08:07:43 -05:00
Calum Lind de30f357b3 Add missing announce_entry properties to python bindings
Fix and refactor the announce_entry class
 - Removed verified from torrent_handle dict to announce_entry as it's read-only.
 - Changed source and send_stats to read_write properties.
 - Switched trivial type properties to using read_only or read_write.
2017-02-11 08:07:43 -05:00
arvidn cc9f40bff9 if brew fails on travis, retry automatically 2017-02-10 18:56:03 -05:00
Arvid Norberg 9e4045ed42 use 32 bit time points in torrent (#1662)
use 32 bit time points in torrent and add some slack to time point comparisons in python test
2017-02-05 19:18:06 -05:00
arvidn 381defab05 merged RC_1_1 into master 2017-02-05 12:51:48 -05:00
arvidn 7ff4f56ae2 add function to get default settings 2017-02-05 11:31:43 -05:00
Falcosc a9d6d54111 fix multible torrent status timer bugs related to move time (#1492)
fix last_upload and last_download overflow after 9 hours in past. change last_upload, last_download, finished_time,  resume, upload_mode_time to time_point and duration
2017-02-04 13:34:14 -05:00
arvidn 95c8c1de0f fix build 2017-01-28 21:26:46 -05:00
arvidn 6b91adab6a merged RC_1_1 into master 2017-01-28 14:36:23 -05:00
Arvid Norberg 7285813449 fix merge issue in python endpoint converter (#1625)
fix merge issue in python endpoint converter
2017-01-25 23:42:26 -05:00
Falcosc c979802ce9 add check and test for torrent parameter (#1541)
add test and fix for add_torrent_params python binding
2017-01-24 09:26:11 -05:00
Falcosc 32e0028e32 Fix python client (#1512)
extend python test to include examples. add piece index and block index python bindings
2017-01-24 08:50:36 -05:00
arvidn 62db98ca09 add missing min_memory_usage() and high_performance_seed() settings presets to python 2017-01-24 01:34:05 -05:00
arvidn 173951ec7f merged RC_1_1 into master 2017-01-21 02:28:29 -05:00
Calum Lind d32ed4b9de Fixup python code in bindings to pass PEP8 codestyle
* Passes Flake8 default settings.
 * Tabs replace spaces
 * Ensure print_function available for python2
2017-01-21 00:21:54 -05:00
arvidn 27001750a4 add python binding for generate_fingerprint 2017-01-16 14:27:02 -05:00
Calum Lind 748c6e0da0 Fix debug flags and add option to python build
* The '-g' flag are being passed in by CXXFLAGS and CFLAGS so ensure
   that debugging builds are actually off by adding '-g0' to DEBUG_FLAGS.
 * Add DEBUG_FLAGS to Python compiler options.
2017-01-16 13:41:37 -05:00
Calum Lind fc3eae8e9b [#1561] Silence deprecated warnings in Python bindings 2017-01-16 13:41:37 -05:00
arvidn 450a8fb170 fix add_torrent_params field in add_torrent_alert. include more fields in dict -> add_torrent_param converter for add_torrent/async_add_torrent 2017-01-16 11:37:17 -05:00
Arvid Norberg d4672f41ba fix python binding issue with string_view (#1560)
fix python binding issue with string_view
2017-01-15 14:42:22 -05:00
arvidn 934c58a816 merged RC_1_1 into master 2017-01-15 00:45:17 -05:00
Calum Lind de499310f5 [#1217] Fix RuntimeWarning registering pointer with Python
This fix checks for existing registered pointers for alert so that Boost
does not output the following warning when importing libtorrent in Python:

> RuntimeWarning: to-Python converter for boost::shared_ptrlibtorrent::alert already registered; second conversion method ignored.
2017-01-14 22:41:38 -05:00
Calum Lind 9b30d09099 [#1543] Fix missing C++11 flag for building python bindings
* Extract the flags from CXX and put into CXXFLAGS which is
   passed into setup.py extra_compile_args.
 * Remove now redundant os.environ test in setup.py
2017-01-14 19:30:25 -05:00
arvidn febcbbf17c fix make_torrent.py to not use deprecated functions 2017-01-14 16:04:01 -05:00
arvidn ea6e29d23f fix python binding time_point conversion 2016-12-31 12:33:50 -05:00
arvidn 8800cae585 fix msvc-warning in python binding 2016-12-31 02:01:29 -05:00
arvidn 4f89b397b1 fix python build 2016-12-29 15:06:56 -08:00
arvidn 59b322bc79 merged RC_1_1 into master 2016-12-29 08:54:28 -08:00
Arvid Norberg f1e34dfbd5 remove long-standing deprecated filter_pieces functions (#1457)
remove long-standing deprecated filter_pieces functions
2016-12-27 12:42:23 -08:00
arvidn eb5b0e9897 fix another c++98 issue 2016-12-24 11:27:58 -08:00
arvidn fa7846d1fd fix c++98 build 2016-12-24 08:40:49 -08:00
Arvid Norberg a6de426d1e add file_status to python binding (#1448)
add more missing functions to python bindings
2016-12-23 13:57:10 -08:00
arvidn 3f612d7e99 cleaning up of left-overs from torrent eviction functionality 2016-12-23 06:06:59 -05:00