Commit graph

488 commits

Author SHA1 Message Date
Lex Berezhny
3686b1d970
changes from jacks review 2018-08-24 11:42:35 -04:00
hackrush
2590523fa1
Rename client and add test_cli to tox.ini 2018-08-24 11:42:08 -04:00
hackrush
08b4fd6942
stop listening port only if it is not None 2018-08-24 11:42:08 -04:00
hackrush
6a8963d807
Added Authenticated API Client Integration Test 2018-08-24 11:42:08 -04:00
hackrush
083bf4f61d
aiohttp based Async Authenticated API Client 2018-08-24 11:42:08 -04:00
Victor Shyba
3b88d2465d
fixes and refactors from review 2018-08-24 11:42:08 -04:00
Victor Shyba
0841c90e6c
fix encoding on download 2018-08-24 11:42:06 -04:00
Victor Shyba
a32a0c6401
fix peer_ping 2018-08-24 11:40:43 -04:00
Victor Shyba
95cb29d3c8
fix routing_table_get 2018-08-24 11:40:43 -04:00
Lex Berezhny
a204f0d3e6
- replaced old lbryum function with struct.pack, per @BrannonKing review
- make copy of keys so we can modify the dictionary
2018-08-24 11:40:43 -04:00
Lex Berezhny
892758be65
account.from_dict() takes wallet as second arg 2018-08-24 11:40:43 -04:00
Lex Berezhny
be248dc448
account command can now configure the default account 2018-08-24 11:40:43 -04:00
Lex Berezhny
f79a49bbf4
added account management command 2018-08-24 11:40:43 -04:00
Lex Berezhny
6a5d88a0d5
new fund command and automatic account creation 2018-08-24 11:40:43 -04:00
hackrush
4165881d5f
Authenticated CLI works again 2018-08-24 11:40:43 -04:00
Lex Berezhny
8dc4e3be43
integration tests working again and daemon starts normally 2018-08-24 11:40:43 -04:00
Lex Berezhny
0dd6193eaa
FakeComponent was missing __lt__ comparison operator and couldnt be put in set() 2018-08-24 11:40:43 -04:00
Lex Berezhny
da8e09846d
pylint fixed 2018-08-24 11:40:43 -04:00
Lex Berezhny
310fe4a42c
updated Headers component to use lbrynet.wallet 2018-08-24 11:40:43 -04:00
hackrush
a7ef8889dd
Unified CLI, python 3(WIP) (#1330)
* Added new custom cli class using aiohttp
* Proper error handling in CLI based on RPC error codes(PoC)
* Auth API working
* UnitTests
2018-08-24 11:40:43 -04:00
Lex Berezhny
f41229cb5b
tx.get_claim_id() -> txo.claim_id, claim update works now
channel_list encodes claim name and also added claim_id
fixed BlobManager foreign key error handling
2018-08-24 11:40:43 -04:00
Lex Berezhny
fcd46629c4
refactored how transactions are created, fixed list addresses command 2018-08-24 11:40:43 -04:00
Lex Berezhny
47bb634035
abandon claims and chris45 epic adventure 2018-08-24 11:40:43 -04:00
Lex Berezhny
10b34d6b33
unnecessary list() added during py3 port
instead of recursive bytes2unicode use a proper JSONEncoder to conver bytes->unicode for json.dumps()
removing excessive isinstance(data, bytes) checks
py3: / -> // and list() around .items() that gets modified in loop
moved lbrynet.undecorated to where its actually used and hopefully we can delete it eventually
removed build/upload_assets.py, travis can do all this now
2018-08-24 11:40:43 -04:00
Lex Berezhny
f061ca2b15
integration tests no longer mock Blob, BlobManager and Session 2018-08-24 11:40:43 -04:00
Lex Berezhny
91bf312e4d
fix for file open during publish 2018-08-24 11:40:43 -04:00
hackrush
1af6326b97
Fix account_balance's doc strings 2018-08-24 11:40:43 -04:00
Lex Berezhny
4da40e8d52
renamed build binary to lbrynet and other cleanup 2018-08-24 11:40:41 -04:00
Lex Berezhny
d54d989c40
change stop command from daemon_stop to just stop lbrynet 2018-08-24 11:38:20 -04:00
Lex Berezhny
84d97ab323
+ account_max_gap command 2018-08-24 11:37:53 -04:00
Lex Berezhny
aeaffd620e
simple cli implementation 2018-08-24 11:37:53 -04:00
hackrush
3f7091cbf2
Make curl work in py3 again 2018-08-24 11:37:53 -04:00
hackrush
a95f791215
Make daemon work in py3 again 2018-08-24 11:37:53 -04:00
Lex Berezhny
a937aff80f
pylint fixes 2018-08-24 11:37:53 -04:00
Lex Berezhny
5597d45aed
got integration tests to work again with rebased branch 2018-08-24 11:37:53 -04:00
hackrush
473d2eabfa
curl works with python3 now 2018-08-24 11:37:53 -04:00
Lex Berezhny
7335d012ef
replace miniupnpc with upnpclient
docker build with wine
2018-08-24 11:37:53 -04:00
Lex Berezhny
d35d340613
fixing unit tests
fixing integration tests
skip running functional tests on travis until they are fixed
2018-08-24 11:37:53 -04:00
Lex Berezhny
693a3346d2
pylint fixes 2018-08-24 11:37:53 -04:00
Lex Berezhny
4ece422f48
No longer inheriting from object and added proper use of super(). 2018-08-24 11:37:53 -04:00
Lex Berezhny
ba80c0e594
py2(iteritems, itervalues) -> py3(items, values) 2018-08-24 11:37:53 -04:00
Lex Berezhny
971252d5d1
undo simplejson commit 2018-08-24 11:37:53 -04:00
hackrush
c01716a6c0
Using simplejson and fixed some encodes and decodes 2018-08-24 11:37:53 -04:00
hackrush
4bd0806e58
Fix metaclass not registering objects 2018-08-24 11:37:53 -04:00
Victor Shyba
78c560a3be
general incomplete porting of daemon booting ~> py3 2018-08-24 11:37:53 -04:00
Lex Berezhny
a28c9d09c8
- fix and improvements related to the two balance command account_balance and wallet_balance
- working CommonWorkflowTests integration test
- pylint, unit and integration test fixes
- switch integration tests to use async/await
2018-08-24 11:37:53 -04:00
Victor Shyba
44bd0ae847
fix another forgotten claim id nbo conversion 2018-08-24 11:37:53 -04:00
Victor Shyba
5809ba093d
convert amount on channel_new 2018-08-24 11:37:53 -04:00
Lex Berezhny
17aee92dc9
wallet_balance --include-unconfirmed works now 2018-08-24 11:37:53 -04:00
Victor Shyba
75f57fc517
fix claim id handling during publish from the latest changes 2018-08-24 11:37:53 -04:00
Lex Berezhny
f589410496
tests 2018-08-24 11:37:53 -04:00
Lex Berezhny
adc92a2b52
fix for daemon.get_est_cost 2018-08-24 11:37:53 -04:00
Lex Berezhny
0442770c9d
pylint fixes 2018-08-24 11:37:53 -04:00
Lex Berezhny
076af7ef43
py3 compatibility updates 2018-08-24 11:37:53 -04:00
Lex Berezhny
43bef9447c
progress on publish command: py3 porting and integration tests 2018-08-24 11:37:53 -04:00
Lex Berezhny
e175e43082
.decode() string for sqlite 2018-08-24 11:37:53 -04:00
Lex Berezhny
cb9b320ed7
dropped make_claim in favor of wallet.claim_name 2018-08-24 11:37:53 -04:00
Lex Berezhny
1d906fb0c7
create_and_publish_stream fix 2018-08-24 11:37:53 -04:00
Lex Berezhny
c544e26206
publish integration test works 2018-08-24 11:37:53 -04:00
Lex Berezhny
1eaac35a3e
claim_name does not take change_address anymore 2018-08-24 11:37:53 -04:00
Lex Berezhny
cc7962fc2e
stringify address from sqlite 2018-08-24 11:37:53 -04:00
Lex Berezhny
688caf4453
+ save wallet after creating a channel 2018-08-24 11:37:53 -04:00
Lex Berezhny
eeb5b3c139
publishing 2018-08-24 11:37:53 -04:00
Victor Shyba
bdd271e78f
adds resolve 2018-08-24 11:37:53 -04:00
Lex Berezhny
70a7ca95fe
wip 2018-08-24 11:37:53 -04:00
Lex Berezhny
12ff7015cd
wallet tests and py3 compatibility 2018-08-24 11:37:53 -04:00
Lex Berezhny
f2f212edba
switch component wallet to use the new wallet 2018-08-24 11:37:53 -04:00
Lex Berezhny
69446491b8
pylint and unit test fixes 2018-08-24 11:37:50 -04:00
Lex Berezhny
d5beaa0937
jsonrpc_channel_new uses new wallet 2018-08-24 11:37:25 -04:00
Lex Berezhny
cc970c499b
daemon/auth py3 conversion, this breaks the client for now 2018-08-24 11:37:25 -04:00
Lex Berezhny
b3e9240aa8
wip, valuesforuris 2018-08-24 11:37:25 -04:00
Lex Berezhny
7d3daa9fe6
set the lbryschema BLOCKCHAIN_NAME global variable 2018-08-24 11:37:25 -04:00
Jack Robison
a9774a293f
docs 2018-08-13 16:18:31 -04:00
Jack Robison
ea481e6c5a
fix download_progress in blockchain_headers status
-use a 0-100 range for percentage regardless of how much we have to download (if we're resuming or starting fresh)
-prevent negative blocks or blocks_behind counts
2018-08-13 14:03:15 -04:00
Jack Robison
68f1dda7b0
initialize headers download progress 2018-08-12 22:05:07 -04:00
Jack Robison
153022a1a7
add is_locked to status 2018-08-12 22:04:48 -04:00
Lex Berezhny
1098ca0494 + convert float to decimal for wallet_send 2018-08-09 19:14:56 -04:00
Jack Robison
dca4af942f
also try/except around upnp.discover
-catches edge case where miniupnpc fallback is used and a device is found but selectigd fails
2018-08-09 11:28:07 -04:00
Jack Robison
8b53140581
set downloading_headers to False after the download finishes or fails 2018-08-09 09:24:04 -04:00
Jack Robison
0501f52805
fix upnp edge case
-fixes https://github.com/lbryio/lbry/issues/1352
2018-08-09 08:42:51 -04:00
Jack Robison
65a02190dc
Merge remote-tracking branch 'origin/fix_1344' 2018-08-07 19:26:15 -04:00
Jack Robison
26e32472d5
fix upnp and peer port setup
-bump txupnp requirement
2018-08-07 19:04:54 -04:00
Victor Shyba
382226ff9a tells that an address is wrong earlier on publishing 2018-08-07 13:52:01 -03:00
Jack Robison
9511040d5a
fix upnp and peer port setup 2018-08-05 13:12:39 -04:00
Jack Robison
15161dd429
fix docstring 2018-08-03 13:31:51 -04:00
Jack Robison
e50ac69358
tests and pylint 2018-08-03 12:35:10 -04:00
Jack Robison
aef561d78b
refactor status results 2018-08-03 12:33:31 -04:00
Jack Robison
a3de065c93
use txupnp instead of miniupnpc 2018-08-03 11:37:07 -04:00
Jack Robison
99207b7221
delete Session.py
split Session into Components
2018-07-30 18:00:33 -04:00
Jack Robison
e3c3fafa1e
split headers download into own component
-add component statuses
2018-07-30 18:00:33 -04:00
hackrush
9ab256df30 fixed improper error handling when data is not valid JSON (#1326) 2018-07-30 09:38:36 -04:00
Lex Berezhny
88b8ca8a49 Revert "negate wallet lock check in components"
This reverts commit 32507d7
2018-07-25 14:59:10 -04:00
Jack Robison
826d269e0e
Merge branch 'blobs_mirroring' 2018-07-25 12:24:37 -04:00
Victor Shyba
88c2051605 set download_mirror conf from components change 2018-07-25 12:23:15 -03:00
Lex Berezhny
32507d74f7 negate wallet lock check in components 2018-07-25 01:28:19 -04:00
Jack Robison
c1b05402ef
add address and port arguments to peer_ping
allows directly pinging the peer without first doing an iterative find
2018-07-24 21:30:54 -04:00
Jack Robison
5984ae7ce9
fix 2018-07-24 21:10:53 -04:00
Jack Robison
5d9a187659
refactor required conditions and @requires decorator 2018-07-24 20:01:38 -04:00
Jack Robison
a9c94ca22d
move setup and _shutdown to AuthJSONRPCServer 2018-07-24 20:01:38 -04:00
Jack Robison
13bf8125e3
status doc, better determination of is_first_run
-add skipped_components to status response
-re-add run_reflector_server to settings
2018-07-24 20:01:38 -04:00
Jack Robison
b06dcf0a0d
cancel starting components if the reactor is stopped before startup has finished
-don't block starting the dht component on having found enough peers, only on setting up the protocol
2018-07-24 20:01:38 -04:00
Jack Robison
a800f6ddf0
update status command 2018-07-24 20:01:38 -04:00
Jack Robison
a89306b6bf
reorganize daemon startup
-fix loggly not using the share usage setting

-delete more
2018-07-24 20:01:38 -04:00
Jack Robison
c3120e93cf
delete unneeded daemon attributes 2018-07-24 20:01:38 -04:00
Jack Robison
defe9506bb
set daemon attribute for each component as they start 2018-07-24 20:01:38 -04:00
Jack Robison
55d3bb0ec3
remove auto_renew 2018-07-24 20:01:38 -04:00
hackrush
005a8b3008
allow utf-8 characters in Daemon.py
-amit really wants the shrug emoji ¯\_(ツ)_/¯
2018-07-24 20:01:38 -04:00
hackrush
094d9c6497
update lbrynet-cli 2018-07-24 20:01:38 -04:00
hackrush
3dc5a9de7b
whitespace 2018-07-24 20:01:38 -04:00
hackrush
4e29041291
update status command 2018-07-24 20:01:38 -04:00
hackrush
6b6a29fdb7
update settings_set 2018-07-24 20:01:38 -04:00
hackrush
2d61ba629f
add requires decorator 2018-07-24 20:01:38 -04:00
hackrush
944200ca8c
add all the daemon components 2018-07-24 20:01:38 -04:00
hackrush
40d8e96811
remove functions and attributes in Session and Daemon that are now part of components
-rename attributes in daemon to use components
2018-07-24 20:01:38 -04:00
Jack Robison
7e8ca842a2
change ComponentManager to use instance methods rather than class methods
-add get_component method to ComponentManager

-add override_components kwargs to ComponentManager

-add skip_components to ComponentManager

-change component_manager attribute to exist on the AuthJSONRPCServer instance instead of the class
2018-07-24 20:01:38 -04:00
Jack Robison
b808d08eb3
support callbacks to component setups 2018-07-24 20:01:38 -04:00
Jack Robison
eb11da9b19
convert directory and SQLiteStorage setup to be a Component 2018-07-24 20:01:38 -04:00
Jack Robison
68b31a09b4
add daemon Component and ComponentManager classes 2018-07-24 20:01:38 -04:00
Lex Berezhny
cab8416596
api doc generator (#1290)
script to generate docs/api.json
2018-07-24 19:36:09 -04:00
Electron - Mark Firth
94f4e6714a A More Informative Error Message (#1309)
Additional information added to the balance error message when editing a claim.
2018-07-20 15:41:24 -04:00
Lex Berezhny
6952c2c07e
Revert "refactor lbrynet-daemon into modular components" (#1286)
* Revert "fix reflector test"

This reverts commit 6a15b51ac3.

* Revert "refactor lbrynet-daemon into modular components (#1164)"

This reverts commit 75a6ff269e.
2018-07-05 19:05:48 -04:00
Jack Robison
75a6ff269e refactor lbrynet-daemon into modular components (#1164)
* add daemon Component and ComponentManager classes

* convert directory and SQLiteStorage setup to be a Component

* support callbacks to component setups

* Fixed typo in ComponentManager

* convert wallet to be Component

* Use storage from session.

* Remove create_session internal function and PEP8

* Starting to convert session to its own component. Removed ref to `self.storage` from Daemon.py

* Making DHT component(broken)

* Refactored classes to reduce redundancy in getting config setting

* DHT is now it's own component

* Fixed `test_streamify` test

* Fixed regression caused by removing `peer_manager` from session

* refactor ComponentManager and Component to use instance instead of class methods

* Hash announcer, file manager, stream identifier components

* Query Handler and server components

* Reflector Component

* Fixed test_streamify(well Jack did, but ¯\_(ツ)_/¯)

* All tests now passing

* Pylint fixes

* Oops(That's all you're gonna get :-P)

* Making decorators(WIP, commit so that I don't lose work)

* Decorator made and decorating of functions done(some other changes)

* import fixes and removed temporary test function

* Fixed new broken tests from daemon refactor

* Sanitization of modules

* Reworded errors

* wallet unlock condition checks, fixed breaking changes

* Rebased on amster and other crazy stuff

* Started writing tests

* Tests for component manager

* Fix Daemon Tests

* Fixed passing mutable args in init

* Using constants instead of strings. Added CHANGELOG.md

* Now components can be skipped by setting relevant config in file.

* P-Y-L-I-N-T #angry_emoji
2018-07-05 15:21:52 -04:00
ocornoc
148cc96025 Changed "cliam" to "claim" and added accurate info for nsfw. (#1285)
* Changed "cliam" to "claim" and added accurate info for nsfw.
* Update CHANGELOG.md
2018-07-05 12:00:43 -04:00
Jack Robison
e0ceaba655
fix blob_list raising an error when blobs in a stream haven't yet been created 2018-06-25 16:47:23 -04:00
Jack Robison
140c45b01f
Revert "add download progress and is downloading flag to daemon status (#1266)"
This reverts commit 2fa2269
2018-06-22 18:54:22 -04:00
Akinwale Ariwodola
2fa2269cc7
add download progress and is downloading flag to daemon status (#1266) 2018-06-21 23:49:22 +01:00
Jack Robison
eb660e23b7
fix download being stopped if the sd blob downloaded and data did not start within the timeout
fixes https://github.com/lbryio/lbry/issues/1172
2018-06-19 13:38:25 -04:00
hackrush
371b27b116 Fix approximations in bid during publish 2018-06-18 10:40:33 -04:00
Jack Robison
c26816c92d
fix database error when updating a claim that we don't have a file for (https://github.com/lbryio/lbry/issues/1165) 2018-06-15 10:21:37 -04:00
Lex Berezhny
e11a2e6f85
publish accepts decimal string for the bid value 2018-06-13 16:52:35 -04:00
Jack Robison
adca5f5993
fix routing_table_get 2018-06-07 15:02:47 -04:00
Jack Robison
bdd6f948ca
add port to routing_table_get 2018-06-07 15:02:47 -04:00
Jack Robison
cc32d987b2
update peer_list 2018-06-07 15:02:47 -04:00
Jack Robison
a503a800ca
disable Cryptonator exchange rate feed 2018-06-07 15:02:47 -04:00
Lex Berezhny
23df1d0316
Merge branch 'master' into feature/file_list_sorting 2018-05-29 22:47:09 -04:00
Lex Berezhny
3d17c92bd3 moved import certifi to run only on windows 2018-05-29 22:36:37 -04:00
Akinwale Ariwodola
c4550ef5b6 remove unused import in lbrynet.daemon.Daemon 2018-05-29 22:36:37 -04:00
Akinwale Ariwodola
97547e904e add os and sys imports 2018-05-29 22:36:37 -04:00
Victor Shyba
03968f377e change fix position to before anything else starts 2018-05-29 22:36:37 -04:00
Akinwale Ariwodola
513f5d0568 added certifi package for Twisted SSL verification on Windows 2018-05-29 22:36:37 -04:00
Jack Robison
e3265714ee
Merge remote-tracking branch 'origin/1193' 2018-05-29 15:25:17 -04:00
Jack Robison
9b1e687b9b
pylint 2018-05-29 14:36:00 -04:00
Sergey Rozhnov
11b882879a predictable result sorting for claim_list and claim_list_mine 2018-05-29 13:07:11 -04:00
Jack Robison
187f920961
disable Daemon headers check for now 2018-05-28 10:57:48 -04:00
Jack Robison
6d4b678b96
Revert "WIP: feature/1098/sorted-claim-results" 2018-05-22 17:15:34 -04:00
kafene
76a7cc4e58 refactor file list sorting per request 2018-05-21 00:24:18 -04:00
kafene
1790393273 remove unused attrgetter import 2018-05-21 00:04:27 -04:00
kafene
5069351287 refactor file_list sort to allow sorting by any field 2018-05-21 00:04:27 -04:00
kafene
eec3734d2f some semantic variable renaing 2018-05-21 00:04:27 -04:00
kafene
e7b22521ee remove pprint import 2018-05-21 00:04:27 -04:00