Commit graph

1221 commits

Author SHA1 Message Date
Job Evers-Meltzer
0b53fde352 refactor connectionmanager to use inlineCallbacks 2016-12-30 13:28:34 -06:00
Job Evers-Meltzer
4eb10b56c1 small changes 2016-12-30 13:27:17 -06:00
Job Evers-Meltzer
227323b7a4 convert more to inlineCallbacks 2016-12-30 13:27:16 -06:00
Job Evers-Meltzer
1256beea96 remove blob_requester from DownloadManager 2016-12-30 13:27:16 -06:00
Job Evers-Meltzer
01cc4f28e0 Refactor jsonrpc_get
Convert some of the calls to inlineCallbacks, which
allowed the code to be cleaned up and made more clear
2016-12-30 13:27:12 -06:00
Job Evers-Meltzer
689ac431d3 bug fix in log.fail()
The value of the callback needs to be returned.  In particular,
this allows the error to be passed along.
2016-12-30 13:22:06 -06:00
Job Evers-Meltzer
ccfb1f3921 refactor: name private/public variables 2016-12-30 13:22:06 -06:00
Job Evers-Meltzer
5eecae8889 record server startup event as part of start_server 2016-12-30 13:05:19 -06:00
Job Evers-Meltzer
5aa10031bc Move log_support import earlier
Since log_support configures the logging class, it needs
to be early in the initialization process.
2016-12-30 13:05:19 -06:00
Job Evers-Meltzer
52010ade41 add docstring 2016-12-30 13:05:19 -06:00
Job Evers-Meltzer
101985ca11 Remove analytics setup code from daemon
Now that lbryid and session_id are available at startup
we don't need to reconfigure the analytics manager
inside the daemon
2016-12-30 13:05:19 -06:00
Job Evers-Meltzer
8f61fb3fc4 Initialize settings, along with lbryid and session_id on startup 2016-12-30 13:05:19 -06:00
Job Evers-Meltzer
39b2e44492 Replace settings with conf.settings
In the next commit I change conf.settings to be initialized
at runtime instead of load time and so any import of
`from lbrynet.conf import settings` will be and stay None if
it happens before the initialization.
2016-12-30 13:05:18 -06:00
Job Evers-Meltzer
26bc6d05a0 Consistently use lbryid over lbry_id variable name 2016-12-30 12:40:36 -06:00
Job Evers‐Meltzer
47f71fd363 Merge pull request #360 from lbryio/store-offer
Only store the offer explicitly when its sent
2016-12-30 12:15:06 -06:00
Job Evers‐Meltzer
4574e3317c Merge pull request #363 from lbryio/wallet-storage
Wallet storage
2016-12-30 11:41:38 -06:00
Job Evers‐Meltzer
b59c098d58 Merge pull request #364 from lbryio/fix_serverprotocol
Fix bug in server protocol
2016-12-30 11:28:08 -06:00
Alex Liebowitz
da0b4e9a1a Fix typo in set_settings API method 2016-12-30 05:00:28 -05:00
Kay Kurokawa
7d5dd1ff51 fix bug in ServerProtocol 2016-12-28 14:34:38 -05:00
Job Evers-Meltzer
2c7fc3fb46 switch startup sequence to use inlineCallbacks
This cleans up the process, makes it more readable,
and better surfaces errors.
2016-12-28 11:21:10 -06:00
Job Evers-Meltzer
fc24d9b5aa pull out metadata storage from the wallet 2016-12-28 11:18:55 -06:00
Kay Kurokawa
da366495b0 fixing get_value_for_name bug 2016-12-28 10:37:53 -05:00
Umpei Kay Kurokawa
552ed77882 Merge pull request #358 from lbryio/fix_wallet_init_3
Fix wallet initialization
2016-12-22 12:12:27 -05:00
Jack Robison
aa3353ae49 Merge pull request #345 from lbryio/better-dht-shutdown
Better dht shutdown.
2016-12-21 17:15:17 -05:00
Job Evers-Meltzer
f7864e8cb7 Only store the offer explicitly when its sent
Ran into a situation where I was recieving an offer response without
something in protocol_offers. I think this was because
get_and_set_rate doesn't always populate that dictionary.

Worried that there still might be issues if the connection is
unreliable: if a response comes in twice it will error or
if a second offer is made without a response to the first
there will be an error.
2016-12-20 10:37:42 -08:00
Kay Kurokawa
1690e71ad1 setup Commands class on run, instead of on initialization 2016-12-19 19:15:59 -05:00
Kay Kurokawa
7d02e7d370 changing wallet initialization order 2016-12-19 19:15:50 -05:00
Kay Kurokawa
10810226ff Fixing bug in publisher 2016-12-19 18:41:35 -05:00
Jack Robison
c0f22decd7 Merge pull request #347 from lbryio/log-error-on-lbry-files
Log failure when attempting to get_lbry_files
2016-12-19 16:22:37 -05:00
Jack
618d0ebd5b newline 2016-12-19 13:40:33 -05:00
Jack
f301741807 re-use lbryid 2016-12-19 13:27:45 -05:00
Jack
0044d6cf75 BlobAvailabilityTracker.sample bug, remove whitespace 2016-12-17 20:05:27 -05:00
Jack
5a76a03cb6 remove unqlite requirement
-conditionally import PTCWallet (needed for testing, requires unqlite)

-install unqlite on travis and appveyor
2016-12-17 20:03:35 -05:00
Jack
09846413bd remove Settings.py
remove old settings class, which was only used for the lbryid and
required unqlite.

this allows the daemon startup to be simplified, it previously relied
on Settings in a few places. lbryid had been stored in the old
settings, this initializes it at startup.
2016-12-17 20:01:06 -05:00
Job Evers-Meltzer
a8cb255d24 Bump version: 0.7.11rc0 → 0.7.12rc0 2016-12-16 21:45:02 -06:00
Job Evers-Meltzer
6172924021 Bump version: 0.7.8 → 0.7.11rc0 2016-12-16 20:58:24 -06:00
Job Evers-Meltzer
d5d0d0e31c change error log on resolve-name to info 2016-12-16 19:51:10 -06:00
Job Evers-Meltzer
53df361d23 Log failure when attempting to get_lbry_files
I had an old version of lbryum installed and so no
names were coming back. But the daemon was failing
silently. This at least logs the error.
2016-12-16 00:32:06 -06:00
Job Evers-Meltzer
8fe15f507b Better dht shutdown.
The old code relied on the timing of DelayedCalls
to see what had been called or not, but unfortunately
we don't have a real-time OS so the timing on DelayedCalls
can only be approximate. Changed to explicitly keep
track of which calls had been made.

This simplifies the shutdown logic drastically, and I believe
we can take out the reactor.iterate() now
2016-12-15 23:44:35 -06:00
Job Evers‐Meltzer
3dde7af576 Merge pull request #339 from lbryio/all-prs
All The PRs
2016-12-15 19:42:35 -06:00
Job Evers-Meltzer
7af6e9e0dd Improve BlobAvailabilityTracker performance
For daemons with a lot of blobs, getting mean availabity
will be slow. Samples the blobs in an attempt at getting
better performance.
2016-12-15 19:03:37 -06:00
Job Evers-Meltzer
56d394fb5f Add timing to hash announcements
This could potentially be a performance issue
on reflector or any daemon with a large number of blobs.
2016-12-15 18:58:16 -06:00
Job Evers-Meltzer
3585d861ff Add TRACE level logging 2016-12-15 18:58:16 -06:00
Job Evers-Meltzer
f181af8547 Cleanup code in BlobManager 2016-12-15 18:58:16 -06:00
Job Evers-Meltzer
84baa5e065 dht: refactor _msgTimeout 2016-12-15 18:58:16 -06:00
Job Evers-Meltzer
781b915717 remove unused check_consistency function 2016-12-15 18:58:16 -06:00
Job Evers-Meltzer
fa29c92760 Add setting to disable reuploading to reflector 2016-12-15 18:58:16 -06:00
Job Evers-Meltzer
fec917b9c1 rename platform to system_info 2016-12-15 18:58:16 -06:00
Job Evers-Meltzer
4f3b5cd802 Better logging on DHT errors
Timeout errors are common on the dht so log those
at debug, but other errors need to (potentially) recieve
more attention
2016-12-15 18:58:16 -06:00
Job Evers-Meltzer
250831a86a remove unused distance function from routingtable 2016-12-15 18:58:15 -06:00
Job Evers-Meltzer
323bccb0ae another distance optimization 2016-12-15 18:58:15 -06:00
Job Evers-Meltzer
0084d4684f Add distance optimization 2016-12-15 18:58:15 -06:00
Job Evers-Meltzer
740fad5cbe Refactor dht.node.iterativeFind
Move nested functions into a helper class.
Add new, smaller functions to increase readability
2016-12-15 18:58:15 -06:00
Job Evers-Meltzer
fa8190356a replace log_support.failure calls 2016-12-15 18:58:15 -06:00
Job Evers-Meltzer
4ca33505b5 logging: add kwargs to fail() call 2016-12-15 18:58:15 -06:00
Job Evers-Meltzer
20b6b22334 Add callback functionality to log.fail
This enables the common pattern of being able to log a failure and
then do something.
2016-12-15 18:58:15 -06:00
Job Evers-Meltzer
b8c91c61bb Make a new logger with a fail method that is useful for errbacks.
Extracting useful tracebacks and line numbers from failures
withing twisted's deferred can be a pain. Hopefully this is a step
in the right direction.
2016-12-15 18:58:15 -06:00
Job Evers-Meltzer
c30ea04959 Remove commented code
This is the result of running eradicate (https://github.com/myint/eradicate)
on the code and double-checking the changes.
2016-12-15 18:58:06 -06:00
Kay Kurokawa
23bf43f40c fixing bug where broadcast_transaction function would not return a deferred 2016-12-15 10:28:49 -05:00
Kay Kurokawa
6f60b8b827 work on resolving threading issues with lbryum in Wallet.py 2016-12-15 10:28:49 -05:00
Kay Kurokawa
965f8f1238 removing unused get_transaction function from daemon and wallet 2016-12-15 10:28:49 -05:00
Job Evers-Meltzer
7bce37a720 pylint: add check for missing-final-newline 2016-12-14 19:21:59 -06:00
Job Evers-Meltzer
14ac2bac39 pylint: fix trailing-whitespace 2016-12-14 19:21:59 -06:00
Jeremy Kauffman
32fa2460ff sort the help functions 2016-12-14 19:21:54 -06:00
Job Evers-Meltzer
f796f701f2 Immediately announce completed blobs
It doesn't seem necessary to wait up to 60 seconds for a new blob to
be announced to the dht. Immediately announce it and schedule the next
announce time as usual.
2016-12-14 19:05:24 -06:00
Kay Kurokawa
bce41ddab4 Do not return 'success' and 'reason' as outputs in claim commands
We throw an Exception instead
2016-12-14 19:05:05 -06:00
Jack
5bf20096b2 fix wallet_balance when checking fee amount 2016-12-12 14:32:33 -05:00
Job Evers-Meltzer
e8faadc324 fix more long lines 2016-12-07 10:10:46 -05:00
Job Evers-Meltzer
b64fa51567 fixup long lines 2016-12-07 09:38:34 -05:00
Job Evers-Meltzer
fe3e25982c don't lint unused files 2016-12-07 09:35:16 -05:00
Jack Robison
9ad55e93b9 Merge pull request #315 from kaykurokawa/fix_claim_bug
Fix bug to exclude support in get_my_claim
2016-12-07 09:25:44 -05:00
Jack Robison
9e7e168175 Merge pull request #319 from lbryio/reenable-startup-status-codes
Reenable startup status
2016-12-06 17:00:03 -05:00
Jack Robison
f84df50d7f Merge pull request #317 from lbryio/remove-lbrynet-console
Remove lbrynet-console
2016-12-06 16:59:52 -05:00
Jack
f0ed4e5513 move listen to DaemonServer startup 2016-12-06 16:34:50 -05:00
alexliebowitz
39005ffc14 Merge pull request #310 from lbryio/allow-cors-config
allow Access-Control-Allow-Origin to be configurable
2016-12-06 15:11:38 -05:00
Jack Robison
28e88d89a5 Merge pull request #313 from lbryio/config-bittrex
Add bittrex to conf
2016-12-06 12:41:45 -05:00
Jack
979f8efa79 remove unused lbrynet-console 2016-12-06 12:35:27 -05:00
Jack Robison
4c4bccfe73 Merge pull request #312 from lbryio/local-ui-conf
local_ui_path needs to be a str
2016-12-06 12:23:45 -05:00
Jack
8cb0f99e30 fix pylint errors 2016-12-06 12:22:43 -05:00
Umpei Kay Kurokawa
6076861cd0 Merge pull request #304 from kaykurokawa/remove_lbrycrd
Remove lbrycrdd
2016-12-06 12:06:09 -05:00
Job Evers‐Meltzer
8b427a92ac Merge pull request #311 from lbryio/fix-server-port
port needs to be an int
2016-12-06 09:48:08 -05:00
Kay Kurokawa
9c50cfdcdb fix bug in get_my_claim 2016-12-05 17:17:17 -05:00
Job Evers-Meltzer
8f80e8a3da add bittrex to conf 2016-12-05 17:14:25 -05:00
Job Evers-Meltzer
cd44ae02a3 __getattr__ should call __getattribute__ 2016-12-05 17:06:45 -05:00
Job Evers-Meltzer
848f1f025c local_ui_path needs to be a str 2016-12-05 16:29:18 -05:00
Job Evers-Meltzer
d2cc8355dc port needs to be an int 2016-12-05 16:20:16 -05:00
Job Evers
ee00d1984a allow Access-Control-Allow-Origin to be configurable 2016-12-05 15:34:48 -05:00
Jack
b9bb337a07 add tests for daemon.get_est_cost 2016-12-05 11:48:44 -05:00
Jack
d93f86030c clean up get_est_cost functions 2016-12-05 11:48:44 -05:00
Jack
d9e1e88c05 refactor get_est_cost
-add size parameter, if provided the sd blob won’t be downloaded (can
be used with size information from lighthouse)

-check if blob was already downloaded before trying to download it again
2016-12-05 11:48:43 -05:00
Job Evers-Meltzer
f579c8dbb8 Bump version: 0.7.7 → 0.7.8 2016-12-02 20:05:08 -06:00
Jack Robison
13d74d1f76 Merge pull request #297 from lbryio/better-name-error
Provide better feedback on why a name is invalid
2016-12-02 12:08:58 -05:00
Job Evers-Meltzer
ddf678af8a Bump version: 0.7.7rc0 → 0.7.7 2016-12-02 09:47:27 -06:00
Job Evers‐Meltzer
2c6d6d1602 Merge pull request #303 from lbryio/settings-api-fixes
Fixes to get_settings() and set_settings()
2016-12-02 09:41:22 -06:00
Alex Liebowitz
7d0e9f6ab9 Tweak logic in ApplicationSettings
Use self.environ instead of ENVIRONMENT to avoid global reference
2016-12-01 23:51:58 -05:00
Kay Kurokawa
200a22c93b Remove support for lbrycrdd wallet and related code 2016-12-01 16:45:48 -05:00
Alex Liebowitz
458561fe6f In AdjustableSettings, initialize all keys on init
Settings.update() method expects keys to already be present, so load
them all up front
2016-12-01 15:22:52 -05:00
Alex Liebowitz
157d6dca93 Save settings in conf.py 2016-12-01 15:22:52 -05:00
Alex Liebowitz
7b1b7fbf13 Call conf.settings.get_dict() in jsonrpc_get_daemon_settings() 2016-12-01 15:22:51 -05:00
Alex Liebowitz
876cdce51f Add Config.get_dict()
We don't want the version from DefaultSettings, so use super() to get
the standard functionality from conf.Settings.
2016-12-01 15:22:51 -05:00
Alex Liebowitz
205a10bc8e Refactor how adjustable settings are pulled out of config.settings
- Factor out this functionality into separate method
 - Change the set_settings() JSON-RPC method to use this (before, it was
   just returning all fields, which doesn't work anymore after the
   settings refactor)
2016-12-01 15:22:51 -05:00
Alex Liebowitz
ef8d1cfdc2 Rename var in Settings.update() 2016-12-01 15:22:51 -05:00
Alex Liebowitz
879c01ba00 Add separate list of excluded fields to AdjustableSettings
Adds "environ" field. Also renames __excluded to _excluded so it can
be overridden by child classes.
2016-12-01 15:22:44 -05:00
Alex Liebowitz
8bb7517f32 Merge pull request #300 from kaykurokawa/fix_claim_defer
Missing the return of a defer.fail when claim fails, changing to raise Exception
2016-12-01 13:49:29 -05:00
Job Evers-Meltzer
70d9b3ed74 Attempt to fix analytics badstatusline error
We've started seeing a lot of:
ConnectionError: ('Connection aborted.', BadStatusLine("''",))

Hopefully this fixes the problem. Its hard to test, so I'll
have to check the logs after releasing.
2016-12-01 12:13:12 -06:00
Job Evers-Meltzer
f39a21cf7b Provide better feedback on why a name is invalid 2016-12-01 11:02:37 -06:00
Umpei Kay Kurokawa
67b169c5a1 Merge pull request #300 from kaykurokawa/fix_claim_defer
Missing the return of a defer.fail when claim fails, changing to raise Exception
2016-11-30 23:08:48 -05:00
Kay Kurokawa
ff10546152 Missing the return of a defer.fail when claim fails, changing to raise Exception 2016-11-30 22:57:23 -05:00
Kay Kurokawa
360f4e50a0 converting some log.info to log.debug in Wallet 2016-11-30 16:37:28 -05:00
Job Evers‐Meltzer
f11f486f5a Merge pull request #292 from lbryio/allow-rc
allow for rc in version values
2016-11-30 14:16:17 -06:00
Jack Robison
fe53cc97d9 Merge pull request #285 from lbryio/more-flexible-origin-check
Allow 0.0.0.0 for api interface
2016-11-30 14:04:52 -05:00
Jack
051e63d76b don't allow 0 bid 2016-11-29 20:17:06 -05:00
Job Evers-Meltzer
8cdda7d845 Bump version: 0.7.6 → 0.7.7rc0 2016-11-28 23:33:57 -06:00
Job Evers-Meltzer
6a8789050c Allow 0.0.0.0 for api interface
For a host to be able to access the daemon running inside a docker
container the damon needs to be listening to 0.0.0.0

- move the API_INTERFACE setting to the adjustablesettings
- check the port matches as well as the interface
2016-11-28 19:19:05 -06:00
Job Evers‐Meltzer
9140c95a0c Merge pull request #291 from lbryio/fix-pylint
fix pylint errors
2016-11-28 15:32:16 -06:00
Job Evers-Meltzer
6f2e2e727e fix pylint errors 2016-11-28 13:33:34 -06:00
Jack Robison
48b137fe4c Merge pull request #287 from lbryio/version-add-lbry-id
get_lbry_session_info
2016-11-28 14:26:43 -05:00
Jack
a6326ee7a1 get_lbry_session_info 2016-11-28 14:16:21 -05:00
Jack
bfcd84a568 use nOut in addition with txid to identify claims 2016-11-25 16:59:23 -05:00
Alex Liebowitz
4cb2a8f2aa Include LBRY ID in version() API method result 2016-11-23 20:29:45 -05:00
Alex Liebowitz
9d272befcd Convert length of shortened plaintext LBRY ID to constant 2016-11-23 20:28:16 -05:00
Job Evers
91fb78b077 Update TODO with more useful info 2016-11-22 18:14:41 -06:00
Job Evers-Meltzer
464bd11c3a Improve parsing of environment variables
Switch adjustable settings to use the envparse library. This
provides more flexible and robust parsing.
2016-11-22 18:14:36 -06:00
Job Evers-Meltzer
b88e771eb2 bug fix: use proper settings dictionary 2016-11-22 16:03:37 -06:00
Job Evers-Meltzer
7a76763610 rename Setting to Settings 2016-11-22 16:03:37 -06:00
Job Evers-Meltzer
02d2bad03f allow json to be used to set settings 2016-11-22 16:03:37 -06:00
Jack Robison
f65a50a6a3 Merge pull request #260 from lbryio/error-messages
meaningful error messages, improve cli, remove unused search from daemon
2016-11-22 15:54:21 -05:00
Jack
0a9ef07787 Merge branch 'master' into error-messages
# Conflicts:
#	lbrynet/lbrynet_daemon/Daemon.py
#	lbrynet/lbrynet_daemon/auth/server.py
2016-11-22 15:44:47 -05:00
Jack Robison
0e9ad16a2e Merge pull request #278 from lbryio/fix-uncaught-analytics-exception
fix uncaught analytics exception
2016-11-22 15:25:07 -05:00
Jack
cd0a9ba9e8 feedback from job 2016-11-22 15:18:01 -05:00
Jack
e08d0eb8f9 _log_and_render_error 2016-11-22 15:11:25 -05:00
Jack Robison
82f9cc57fd Merge pull request #283 from lbryio/fail-blank-uri
fail verify_name_characters for blank uri
2016-11-22 13:55:12 -05:00
Jack
543f65fc24 fail verify_name_characters for blank name 2016-11-21 21:58:04 -05:00
Kay Kurokawa
896a16c15d fix spelling mistake for auto connect 2016-11-19 19:29:58 -05:00
Job Evers-Meltzer
3d7dee1208 allow for rc in version values 2016-11-19 16:58:40 -06:00
Alex Liebowitz
e03db79f79 Always return array from jsonrpc_get_lbry_files()
Before, would return false when there were no files in the DB.
2016-11-16 23:57:02 -05:00
Jack
0b0150ad73 fix uncaught analytics exception 2016-11-16 19:10:49 -05:00
Jack Robison
0490250da4 Merge pull request #272 from lbryio/setup-ui-defaults
Give priority to arguments over settings in UIManager.setup()
2016-11-16 18:53:26 -05:00
Job Evers-Meltzer
dd952ddbe3 Bug fix: pkg_resources doesn't like cx_freeze.
Getting the location of bundling resources doesn't work
with cx_freeze so putting in some temporary error handling
while we figure out a better way to bundle the UI.
2016-11-16 15:15:46 -06:00
Alex Liebowitz
776fe41e03 Switch back to "or" style for default params in UIManager.setup() 2016-11-16 16:09:42 -05:00
Alex Liebowitz
8b1ea0a6a7 Give priority to arguments over settings in UIManager.setup() 2016-11-16 15:58:11 -05:00
Jack
ba7f326e72 use log_support 2016-11-16 15:16:15 -05:00
Job Evers-Meltzer
b9caf2c4a9 Bump version: 0.7.6rc0 → 0.7.6 2016-11-16 11:06:53 -06:00
Alex Grintsvayg
7ecc8103d8 improve error analytics
- move analytics creation earlier in the startup process
- add several events to track startup, startup failure, other errors
- abstract platform detection into separate file
- add "build" type to platform so we can differentiate devs vs live users
2016-11-15 10:31:35 -05:00
Alex Grintsvayg
6b72b4de11 use constants for wallet types 2016-11-15 10:31:35 -05:00
Job Evers‐Meltzer
8e1ad0aa8b Merge pull request #270 from lbryio/survive-lbry-down
Bug fix: continue even if log fails to upload
2016-11-15 08:48:05 -06:00
Job Evers‐Meltzer
5b7f80487f Merge pull request #271 from lbryio/log-lbryum-on-verbose
enable lbryum info logging when verbose
2016-11-15 08:47:51 -06:00
Job Evers-Meltzer
9940327b9a enable lbryum info logging when verbose 2016-11-14 20:34:56 -06:00
Job Evers-Meltzer
b300afb504 Bug fix: continue even if log fails to upload
lbry.io being down caused lbrynet to die when uploading a log.
2016-11-14 20:16:34 -06:00
Job Evers-Meltzer
0941618048 move reflector blob client to its own module 2016-11-14 19:33:36 -06:00