Commit graph

672 commits

Author SHA1 Message Date
Alex Liebowitz
7b1b7fbf13 Call conf.settings.get_dict() in jsonrpc_get_daemon_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
Job Evers-Meltzer
f39a21cf7b Provide better feedback on why a name is invalid 2016-12-01 11:02:37 -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
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-Meltzer
b88e771eb2 bug fix: use proper settings dictionary 2016-11-22 16:03:37 -06: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
e08d0eb8f9 _log_and_render_error 2016-11-22 15:11:25 -05:00
Kay Kurokawa
896a16c15d fix spelling mistake for auto connect 2016-11-19 19:29:58 -05: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 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
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
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
abc7b11e26 remove repeated code for reflector 2016-11-14 19:33:36 -06:00
Jack
5ae3485411 Merge branch 'master' into error-messages
# Conflicts:
#	lbrynet/dht/protocol.py
2016-11-14 14:11:02 -05:00
Jack
8f98469969 unused imports 2016-11-14 14:10:19 -05:00
Jack
908c9a3bfa feedback from job 2016-11-14 13:53:11 -05:00
Jack
f45a2cba32 fix insufficient funds and max key fee bug 2016-11-14 13:41:05 -05:00
Jack
472bb6af1b remove unused lighthouse search from daemon 2016-11-11 13:43:58 -05:00
Jack
7f96e35b0e clean up daemon imports and settings var name 2016-11-11 13:42:51 -05:00
Jack
ec4f9011b9 meaningful API error messages 2016-11-11 13:40:19 -05:00
Job Evers‐Meltzer
0736fa506b Merge pull request #266 from lbryio/startup-logging
more logging on startup
2016-11-11 11:11:02 -06:00
Job Evers‐Meltzer
edc89be794 Merge pull request #257 from lbryio/ensure-ui-loads
bug fix: ensure the bundled ui is loaded
2016-11-11 10:26:54 -06:00
Job Evers-Meltzer
3b34bddf0a more logging on startup 2016-11-11 10:14:41 -06:00
Jack Robison
0abc081edc Merge pull request #259 from lbryio/use-whole-message-in-auth
use whole message to make hmac
2016-11-10 17:07:39 -05:00
Alex Liebowitz
87cc487051 Fix deferred for loading user-specified UIs
In UIManager, pass self._load_ui into deferred as function object
instead of calling immediately
2016-11-10 03:47:32 -05:00
Jack Robison
5ea945ca0b Merge pull request #249 from lbryio/settings-bugs
fix --wallet argument bug, use .json conf file if not given a .yml file
2016-11-09 16:53:46 -05:00
Job Evers-Meltzer
09d248b3cc bug fix: ensure the bundled ui is loaded 2016-11-09 13:34:04 -06:00
Job Evers-Meltzer
61a354fa60 add bad-whitespace check to pylint 2016-11-09 11:27:07 -06:00
Job Evers-Meltzer
838508f342 Bundle the UI into non-tagged builds.
Updates the UIManager to check if a bundled UI was included
in the package and preferentially use that.
2016-11-09 09:29:39 -06:00
Job Evers‐Meltzer
66745b0820 Merge pull request #242 from lbryio/shutdown-issues
Shutdown issues
2016-11-09 08:17:13 -06:00
Job Evers-Meltzer
6a587d03cf refactor upload endpoint 2016-11-09 08:16:08 -06:00
Job Evers-Meltzer
affb7d837a better logging, cleanup whitespace 2016-11-09 08:16:08 -06:00
Jack
ab15074ae4 fix --wallet=lbrycrd argument 2016-11-05 14:10:26 -04:00
Job Evers-Meltzer
5bccfdb244 add logging to shutdown process 2016-11-03 14:42:45 -05:00
Job Evers-Meltzer
10cb20d08f fix whitespace and long-lines 2016-11-03 14:22:16 -05:00
Jack
7d04ae2237 use whole message to make hmac 2016-11-02 11:38:09 -04:00
Job Evers‐Meltzer
dcea8a8c78 Merge pull request #236 from lbryio/better-log-and-kill
More robustly stop the reactor
2016-11-02 07:36:21 -05:00
Job Evers-Meltzer
815696485f More robustly stop the reactor
Was getting a "cannot stop a reactor that isn't running error"
when playing around with error handling on startup.

Following the suggestion from http://stackoverflow.com/a/36738480
it seems to work better
2016-11-02 07:23:37 -05:00
Job Evers‐Meltzer
b316b56885 Merge pull request #234 from lbryio/unicode-settings
download directory and ui bug fixes for windows
2016-11-02 07:19:51 -05:00
Jack
96ef5089fc fix data_dir problem in UIManager 2016-11-01 16:40:50 -04:00
Job Evers-Meltzer
c0d96a5733 fix bug in jsonrpc_get_settings 2016-11-01 15:39:51 -05:00
Job Evers-Meltzer
30533a7986 Read config file in windows and osx
Also moves the config loading to BEFORE the log configuration
2016-11-01 11:14:04 -05:00
Job Evers-Meltzer
3b6006d759 Start listening before launching browser 2016-10-31 14:00:07 -05:00
Job Evers-Meltzer
f03a15d503 remove unneeded 'after_first_run' check 2016-10-30 14:46:16 -05:00
Job Evers-Meltzer
dee0917642 various fixes 2016-10-28 16:57:25 -05:00
Job Evers-Meltzer
395a68b261 For settings: On conversion failure, fallback to default values 2016-10-28 16:29:16 -05:00
Job Evers-Meltzer
353ede26b8 Log error when resolve name fails 2016-10-28 16:03:58 -05:00
Job Evers‐Meltzer
46cfa20f65 Merge pull request #204 from lbryio/cleanup-logging
Cleanup logging
2016-10-28 15:56:54 -05:00
Job Evers-Meltzer
779ba8e214 Fix missing conf imports 2016-10-28 15:43:04 -05:00
Job Evers-Meltzer
6f9ec2fa66 remove repeated log code 2016-10-28 15:43:04 -05:00
Job Evers-Meltzer
40437e4a82 log cleanup 2016-10-28 15:43:04 -05:00
Job Evers-Meltzer
2ee6fac014 redo logging configuration for lbrynet-daemon script 2016-10-28 15:43:04 -05:00
Job Evers-Meltzer
8fe5eb514a make app startup consistent across versions 2016-10-28 15:41:48 -05:00
Job Evers-Meltzer
862055a6de move settings into conf file 2016-10-27 14:31:27 -05:00
Job Evers-Meltzer
2cd6c644a0 Merge remote-tracking branch 'origin/master' into refactor-settings
Conflicts:
	lbrynet/lbrynet_daemon/Daemon.py
	lbrynet/lbrynet_daemon/DaemonControl.py
	lbrynet/lbrynet_daemon/DaemonServer.py
2016-10-27 10:34:48 -05:00
Job Evers-Meltzer
0edacbe4c8 Merge remote-tracking branch 'origin/master' into refactor-settings
Conflicts:
	lbrynet/conf.py
	lbrynet/lbrynet_daemon/Daemon.py
	lbrynet/lbrynet_daemon/DaemonCLI.py
	lbrynet/lbrynet_daemon/UIManager.py
	tests/functional/test_misc.py
2016-10-27 10:18:56 -05:00
Jack
127987f3ba upload log if lbry id is not yet set, clean up crash log 2016-10-26 17:39:47 -05:00
Job Evers-Meltzer
3c7eec9456 raise error if database is newer 2016-10-26 17:39:46 -05:00
Job Evers-Meltzer
5d45345398 shutdown if there are errors during setup 2016-10-26 17:39:43 -05:00
Jack
24320d6444 remove debug line 2016-10-26 03:22:45 -04:00
Jack
1951ea09cd updates from master, more refactoring
-lbrynet.lbrynet_daemon.auth.client.LBRYAPIClient.config will detect if
it needs to return the auth/non-auth version
2016-10-26 03:16:33 -04:00
Job Evers-Meltzer
4d391e7429 Use better json formatting
Apply json.dumps at the end of the formatting process instead of the
middle.  This allows for proper escaping of quotes and allows for
actual json to be emitted.
2016-10-25 17:49:35 -05:00
Job Evers‐Meltzer
fb88cdb445 Merge pull request #203 from lbryio/github-bug
catch exception if github is down
2016-10-24 11:02:12 -05:00
Job Evers-Meltzer
e62e2cc440 catch exception if github is down 2016-10-21 16:12:56 -07:00
Job Evers-Meltzer
a5797cdeb3 Better handling of lbry file search
- replace lbry file search strings with constants
- refactor repeated code for deciding what search type to use
2016-10-20 16:01:54 -07:00
Job Evers-Meltzer
0c2265a8da replace some strings 2016-10-20 11:30:38 -07:00
Job Evers-Meltzer
7f800ce5bb fix rebase error 2016-10-20 11:29:58 -07:00
Job Evers-Meltzer
7167d47631 bug fixes 2016-10-20 11:29:58 -07:00
Job Evers-Meltzer
8b1bb673c1 report available blobs 2016-10-20 11:29:58 -07:00
Job Evers-Meltzer
ddb88eb1c9 move LoopingCallManager to own module 2016-10-20 11:29:58 -07:00
Job Evers-Meltzer
4a07b56e8a refactor analytics manager to use dependency injection 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
f9f07c47e2 move analytics manager 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
f5213fb77a GetFileHelper bug fixes 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
48a61605de bug fix: looping calls 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
76fb7697ff misc 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
b71a3fee43 add tracked metrics reporting to analytics 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
9416376a34 refactor: add GetFileHelper
Move the code related to getting a lbry file into
its own class
2016-10-20 11:26:10 -07:00
Job Evers-Meltzer
d0a82c68df move analytics related calls into their own class 2016-10-20 11:25:17 -07:00
Job Evers-Meltzer
93e2b3e20a Extract some looping call code out of the daemon 2016-10-20 11:25:17 -07:00
Jack
3f5efb1fa3 fix problems in blobrequester
-also move is_generous_host into a conf setting
2016-10-20 01:35:18 -04:00
Jack Robison
d4aa109b73 Merge pull request #193 from lbryio/check-remote-conn
Use lbry.io instead of google to check for internet connection
2016-10-19 15:06:33 -04:00
Jack
293933163f move USE_AUTH_HTTP to adjustable settings 2016-10-19 14:59:10 -04:00
Jack
22fc26797d pylint fixes 2016-10-19 14:40:01 -04:00
Jack
06a88599df --http-auth flag to use authentication, refactor settings
settings will prefer, in order:
-defaults
-settings in config file
-settings given as environmental variables
-settings given as command line args
2016-10-19 00:12:44 -04:00
Jack
03877f7ebd remove str 2016-10-18 17:11:45 -04:00
Job Evers
6b7d575e95 use lbry.io to check for an internet connection 2016-10-17 20:11:08 -05:00
Job Evers
640db41555 only need lbrycrdd_path when using lbrycrdd 2016-10-17 19:58:04 -05:00
Jack
d860c2a2b4 make publish fail when given an invalid file
otherwise a less obvious error is returned in
lbrynet_daemon.Publisher.Publisher._show_publish_error
2016-10-17 14:25:36 -04:00
Jack
a8a581d35c Merge branch 'master' into auth-jsonrpc
# Conflicts:
#	lbrynet/conf.py
#	lbrynet/core/Error.py
#	lbrynet/lbrynet_daemon/Daemon.py
#	lbrynet/lbrynet_daemon/DaemonControl.py
#	lbrynet/lbrynet_daemon/ExchangeRateManager.py
2016-10-14 18:25:37 -04:00
Alex Liebowitz
988c9595c7 Add default MIME type during publication
Needed because the new JSON schema enforces that the content type is a
string (not null).
2016-10-14 10:37:19 -04:00
Alex Liebowitz
0dd9aa0d67 Update error that daemon catches for malformed metadata
Now jsonschema.ValidationError instead of AssertionError
2016-10-14 10:37:19 -04:00
Job Evers-Meltzer
e647663c34 Fix error when version is None
Logs were reporting:

Failure instance: Traceback: <type 'exceptions.AttributeError'>: StrictVersion instance has no attribute 'version'
/Volumes/LBRY/LBRY.app/Contents/Resources/lib/python2.7/lbrynet/lbrynet_daemon/DaemonServer.py:121:requestReceived
twisted/web/server.pyc:183:process
twisted/web/server.pyc:234:render
/Volumes/LBRY/LBRY.app/Contents/Resources/lib/python2.7/lbrynet/lbrynet_daemon/Daemon.py:450:render
--- <exception caught here> ---
twisted/internet/defer.pyc:150:maybeDeferred
/Volumes/LBRY/LBRY.app/Contents/Resources/lib/python2.7/lbrynet/lbrynet_daemon/Daemon.py:1561:jsonrpc_version
/Volumes/LBRY/LBRY.app/Contents/Resources/lib/python2.7/lbrynet/core/utils.py:39:version_is_greater_than
distutils/version.pyc:140:__cmp__
2016-10-14 10:35:17 -04:00
Jack Robison
32a973943f Merge pull request #173 from lbryio/blob-prices
Blob prices
2016-10-13 14:59:26 -04:00
Jack
19c2264429 clean up 2016-10-13 13:35:55 -04:00
Job Evers‐Meltzer
897c113db1 Merge pull request #180 from lbryio/configure-lbryum
Configure lbryum
2016-10-11 16:46:39 -05:00
Jack
50e5a59420 remove unused imports 2016-10-07 17:29:20 -04:00
Jack
5a0b5dc680 Merge branch 'master' into auth-jsonrpc
# Conflicts:
#	lbrynet/lbrynet_daemon/Daemon.py
#	lbrynet/lbrynet_daemon/DaemonControl.py
2016-10-07 17:11:43 -04:00
Jack
be1803d558 remove unused imports 2016-10-07 14:52:54 -04:00
Jack
84bbf2f76e move set_no_cache into own function 2016-10-07 14:28:38 -04:00
Jack
fe7ea7c679 refactor resources and file streamer into their own files, use NoCacheStaticFile instead of static.File 2016-10-07 14:01:59 -04:00
Jack
782e197e66 Merge branch 'master' into blob-prices 2016-10-05 23:25:39 -04:00
Jack
88be425ab2 fix pylint errors 2016-10-05 23:24:22 -04:00
Job Evers-Meltzer
a71e87a398 throw error when invalid wallet is specified 2016-10-04 13:59:04 -05:00
Job Evers-Meltzer
0ecfad0ae9 add configuration to LBRYumWallet 2016-10-04 13:58:44 -05:00
Job Evers-Meltzer
e909ae566b add TODO 2016-10-03 16:19:58 -05:00
Alex Liebowitz
04ced2e975 Fix import issues in DaemonServer.py 2016-10-02 02:50:17 -04:00
Alex Liebowitz
2253943eba Shorten time between sending chunks of video stream 2016-10-02 02:03:47 -04:00
Alex Liebowitz
a6fcd5d1f2 More refactoring in LBRYStreamProducer 2016-10-01 23:35:07 -04:00
Alex Liebowitz
f245822814 Refactor of LBRYStreamProducer 2016-10-01 23:35:07 -04:00
Alex Liebowitz
aa3aff91d0 Refactor LBRYStreamProducer and add Content-Length header
Also fixes producer pause/unpause behavior and adds slight delay
between sending chunks
2016-10-01 23:33:51 -04:00
Alex Liebowitz
5537dd878f Add basic support for streaming partially downloaded files 2016-10-01 23:29:08 -04:00
Jack
d741c705cd add some tests, don't use lighthouse for cost ests 2016-10-01 01:09:27 -04:00
Jack
640e000b9f fix timeouts in get_availability 2016-09-30 13:35:13 -04:00
Jack
8d961d6ce6 add get_availability 2016-09-30 13:28:01 -04:00
Jack
71b989b29b update from master
resolve merge conflicts:
lbrynet/core/client/BlobRequester.py
lbrynet/core/Peer.py
lbrynet/lbryfilemanager/EncryptedFileManager.py
lbrynet/lbrynet_daemon/Daemon.py
lbrynet/lbrynet_daemon/Publisher.py
2016-09-29 23:34:59 -04:00
Jack
4727ee0403 Merge branch 'master' into refactor-blob-requester 2016-09-29 12:48:34 -04:00
Jack
ff7829a078 Merge branch 'master' into rename-LBRY 2016-09-29 12:47:22 -04:00
Job Evers-Meltzer
6a72b3683e send Download Started event 2016-09-28 09:07:25 -07:00
Job Evers-Meltzer
b201fc331c simplify callback when downloading 2016-09-28 09:06:51 -07:00
Jack
b671a3c2ba Merge branch 'master' into blob-prices 2016-09-27 23:59:14 -04:00
Jack
1cc6b7658c get uploads working
-add error catching in exchange rate manager
-add free data on first request with default negotiation strategy
2016-09-27 23:56:08 -04:00
Job Evers-Meltzer
a099e2db6a fix errors 2016-09-27 11:18:52 -07:00
Job Evers-Meltzer
7dbeb1f2cf Remove LBRY prefix from class and module names
This is the result of running:
    grep -RlI LBRY . | xargs sed -i 's/LBRY\([A-Z]\)/\1/g'
2016-09-27 11:18:35 -07:00
Job Evers-Meltzer
550fd185a3 rename LBRYFile to EncryptedFile 2016-09-27 11:18:16 -07:00
Jack
1720cce3b0 negotiated downloads
-uploads are still underway
2016-09-27 13:52:44 -04:00
Job Evers-Meltzer
078b254d1d rename files to remove LBRY prefix 2016-09-25 18:11:23 -07:00
Job Evers-Meltzer
5ea7c4f016 fix typo in string format 2016-09-25 17:17:48 -07:00
Job Evers-Meltzer
4334cdace1 Refactor blob requester to better seperate out the three requests
Each blob requests has three parts
- A request to see what blobs are available
- A request to download and pay for one of those blobs
- A request to negotiate data costs

Before the refactoring all of the code to accomplish this was mixed into
one class.  They are now three seperate classes.

There is still a lot of room for improvement, but it is at least better than
it was.
2016-09-25 16:55:55 -07:00
Jack Robison
bbcecea28d Merge pull request #165 from lbryio/get-my-claim
add get_my_claim, remove is_mine from get_claim_info response
2016-09-24 01:01:51 -04:00
Jack
dbeb6bc3bc update uri handler 2016-09-21 21:55:10 -04:00
Jack
4d79a7828c more cleaning up 2016-09-21 21:36:06 -04:00
Jack
aecafbbebd clean up 2016-09-21 03:49:52 -04:00
Jack
130f9cfc4d api sessions
-user starts a httpauthsession with an api key and name
-user initializes jsonrpc hmac secret to sha256 of session id
-server sends new random hmac secret after each api call

-a user without an authenticated session will get a authorization error
2016-09-20 16:58:30 -04:00
Jack
7ad916f116 fix api being blocked for /? pages 2016-09-16 04:12:13 -04:00
Jack
7085b1e3c3 block api requests by referer 2016-09-16 03:40:06 -04:00