Commit graph

1323 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
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
Job Evers-Meltzer
abc7b11e26 remove repeated code for reflector 2016-11-14 19:33:36 -06:00
Job Evers-Meltzer
85dee27c92 whitespace 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
e1cdbdc91d fix coveralls error 2016-11-14 14:02: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 Robison
763fefb33f Merge pull request #256 from kaykurokawa/fix_get_my_claim
Update right after making claim will fail due to get_my_claim()
2016-11-14 13:37:54 -05:00
Job Evers-Meltzer
cd65b6fd13 Normalize python version
setuptools will force a version to be 'normalized'
which means that it removes the dash.

This will probably cause some weirdness on the version
numbers in the windows build; might have to re-work
my patches on cx_freeze: https://bitbucket.org/jobevers/cx_freeze/commits/all
2016-11-11 14:34:01 -06: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
f9fef3d586 reactor.iterate() in dht shutdown
-fixes enigmatic  `’Port' object has no attribute 'socket’` error
2016-11-11 13:41:36 -05:00
Jack
ec4f9011b9 meaningful API error messages 2016-11-11 13:40:19 -05:00
Job Evers-Meltzer
d634c009d3 Bump version: 0.7.5 → 0.7.6-rc0 2016-11-11 12:04:21 -06:00
Job Evers‐Meltzer
a7589914d0 Merge pull request #267 from lbryio/fix-dht-ports
Restore reactor.iterate in dht shutdown
2016-11-11 11:42:43 -06: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
d41881596d Restore reactor.iterate in dht shutdown
This reverts the change made in 693fef1964

Not sure why this is needed, but taking this out sometimes causes
`exceptions.AttributeError: 'Port' object has no attribute 'socket'`
to happen on shutdown.
2016-11-11 10:21:50 -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
Kay Kurokawa
11b36ff4c8 fixing to remove supports from get_my_claim 2016-11-10 12:52:35 -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
Kay Kurokawa
1f06339d5a fix get_my_claim command 2016-11-09 15:19:58 -05:00
Job Evers-Meltzer
09d248b3cc bug fix: ensure the bundled ui is loaded 2016-11-09 13:34:04 -06:00
Umpei Kay Kurokawa
28bf5215e4 Merge pull request #251 from kaykurokawa/fix_unknonwname_exc
fixing UnknownNameError exception initialization
2016-11-09 12:37:03 -05: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
Alex Grin
9d82be6664 that server's not up anymore 2016-11-09 10:13:36 -05: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
f845729adb Merge pull request #246 from lbryio/refactor-upload
Refactor upload
2016-11-09 08:16:34 -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
Kay Kurokawa
4ad6405f35 fixing UnknownNameError exception initialization 2016-11-08 14:28:17 -05:00
Jack
297865902b use json conf file if not given yml 2016-11-05 14:23:48 -04:00
Jack
ab15074ae4 fix --wallet=lbrycrd argument 2016-11-05 14:10:26 -04:00
Job Evers-Meltzer
b68a1838f2 eliminate unused return value 2016-11-04 11:44:50 -05:00
Job Evers-Meltzer
43b2cd1433 cleanup whitespace and long-lines 2016-11-04 11:44:50 -05:00
Job Evers-Meltzer
0036685ece use more readable KB, MB 2016-11-04 11:44:50 -05:00
Job Evers-Meltzer
d06c670a12 Allow publishing with unicode filenames
encodes unicode into a string before hashing.  Also adds tests
to verify that the fix works and that normal files
can be made into EncryptedFiles
2016-11-04 11:44:50 -05:00
Job Evers-Meltzer
59c4593bf4 whitespace 2016-11-03 14:42:57 -05: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
Job Evers-Meltzer
693fef1964 remove reactor.iterate from dht shutdown 2016-11-03 10:43:24 -05:00
Job Evers-Meltzer
fe7700d726 Bump version: 0.7.4 → 0.7.5 2016-11-02 10:50:42 -05:00
Jack
7d04ae2237 use whole message to make hmac 2016-11-02 11:38:09 -04:00
Jack
c748572bf6 feedback from job 2016-11-02 11:32:46 -04:00
Jack
660bf74d42 fix missing conf file on first run 2016-11-02 10:41:47 -04:00
Job Evers-Meltzer
4db3be345b Bump version: 0.7.3 → 0.7.4 2016-11-02 07:43:11 -05: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
Job Evers‐Meltzer
269dc47b69 Merge pull request #230 from kaykurokawa/better_stream_info_error
Better error detection in Wallet for invalid streams
2016-11-02 07:13:48 -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
kkurokawa
7dd5e7ceeb spacing after comma fix, use Exception init in InvalidStreamInfoError 2016-11-01 16:35:44 -04:00
Jack
9de7354ea0 drop connection on failed read blob 2016-11-01 16:32:34 -04:00
Jack
cfbdda411a whoops 2016-11-01 13:23:02 -04:00
Jack
96c4837cb8 clean up errback 2016-11-01 13:19:13 -04:00
Jack
2294e6bf36 Merge branch 'master' into unicode-settings 2016-11-01 13:06:20 -04:00
Jack
4cffc32328 catch availability check error 2016-11-01 13:05:19 -04:00
Jack
d1b23e25d9 allow unicode settings 2016-11-01 12:53:04 -04:00
Job Evers-Meltzer
e5ba70c3ba Bump version: 0.7.2 → 0.7.3 2016-11-01 11:38:45 -05:00
Job Evers‐Meltzer
c88e4aecf5 Merge pull request #232 from lbryio/read-config
Read config
2016-11-01 11:33:17 -05:00
Job Evers‐Meltzer
469df84990 Merge pull request #229 from kaykurokawa/fix_updates
Fix updates in name_claim function
2016-11-01 11:16:03 -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
kkurokawa
39b47bc569 better error detection in _get_stream_info_from_value 2016-11-01 10:34:08 -04:00
Job Evers‐Meltzer
96104e65ed Merge pull request #226 from lbryio/start-tcp-earlier
Start listening before launching browser
2016-11-01 07:33:33 -05:00
kkurokawa
e9bab33e2a fixing claim updates 2016-10-31 19:17:37 -04:00
Job Evers-Meltzer
3b6006d759 Start listening before launching browser 2016-10-31 14:00:07 -05:00
Job Evers-Meltzer
9ca80a7cf7 set lbryum to log at warning level
lbryum is very chatty at the info level. As a rough estimate a bit
over half of our logs in loggly are a result of lbrum.

The better, long-term, solution would be to modify lbryum to move more
logs to the debug level.
2016-10-30 16:47:37 -05:00
Job Evers-Meltzer
9baf261cb3 Bump version: 0.7.1 → 0.7.2 2016-10-30 14:47:21 -05:00
Job Evers-Meltzer
f03a15d503 remove unneeded 'after_first_run' check 2016-10-30 14:46:16 -05:00
Job Evers-Meltzer
1a70a20c8b Bump version: 0.7.0 → 0.7.1 2016-10-30 10:57:41 -05:00
Job Evers-Meltzer
359cb83fab change windows log file location 2016-10-30 10:46:58 -05:00
Job Evers-Meltzer
0893858385 Bump version: 0.6.10 → 0.7.0 2016-10-28 18:03:40 -05:00
Job Evers-Meltzer
864e963dea Merge remote-tracking branch 'origin/master' into reflect-my-unavailable-streams
Conflicts:
	lbrynet/core/log_support.py
2016-10-28 17:16:39 -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
Jack
da601818a3 return from restore_status properly 2016-10-28 16:47:45 -04:00
Job Evers-Meltzer
6fa624ec8a switch LogUploader to use an already encoded lbryid 2016-10-28 15:44:24 -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
Jack
c4312cc387 Merge branch 'master' into reflect-my-unavailable-streams 2016-10-28 16:05:16 -04:00
Jack
110a9b1e0f whoops 2016-10-28 15:56:22 -04:00
Jack
035a1cf758 feedback from job 2016-10-28 15:48:51 -04:00
Jack
d4785849e1 remove unused imports 2016-10-28 14:22:37 -04:00
Job Evers-Meltzer
b41756e38a Bump version: 0.6.9 → 0.6.10 2016-10-28 12:29:15 -05:00
Job Evers-Meltzer
862055a6de move settings into conf file 2016-10-27 14:31:27 -05:00
Job Evers-Meltzer
7076c0c870 Require env settings are in LBRY namespace 2016-10-27 11:05:21 -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
369cd516c0 move availability check and fix from ManagedEncryptedFileDownloader to ReflectorAvailabilityHelper 2016-10-26 16:17:01 -04: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
Jack
3dd99fdc92 upload unavailable streams to reflector on startup 2016-10-20 15:40:35 -04:00
Job Evers-Meltzer
0c2265a8da replace some strings 2016-10-20 11:30:38 -07:00
Job Evers-Meltzer
01811621a6 shorten is_valid_blobhash logic 2016-10-20 11:29:58 -07:00
Job Evers-Meltzer
229ed0d7dc rename summarize to summarize_and_reset 2016-10-20 11:29:58 -07:00
Job Evers-Meltzer
7f800ce5bb fix rebase error 2016-10-20 11:29:58 -07:00
Job Evers-Meltzer
aa291ca79a fix pylint 2016-10-20 11:29:58 -07:00
Job Evers-Meltzer
fbf7928412 rename events to be seperate for each metric 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
417a8f719f Add looping call manager to analytics manager 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
d5f0001950 small cleanups 2016-10-20 11:29:15 -07:00
Job Evers-Meltzer
4a07b56e8a refactor analytics manager to use dependency injection 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
9da1b3c5b7 analytics manager bug fix 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
3a91896d8a track the amount of data uploaded 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
36ae0d5f20 remove utils file - function moved to core 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
3f727d892c refactor events; add tests 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
c104ed3f8b better time handling in tests 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
66e139c566 set development version based on environment variable 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
Job Evers-Meltzer
2e59e5e3b8 extract individual functions 2016-10-20 11:16:36 -07:00
Jack
727ea12dbd Bump version: 0.6.8 → 0.6.9 2016-10-20 12:41:49 -04:00
Jack
ea21821558 fix issues with is_generous
-stop requesting blobs if price limit is reached and the offer still
has not been accepted

-drop max rate to old flat rate (0.005lbc/mb)
2016-10-20 12:29:55 -04:00
Jack
a9ae1a1016 fix bug where support claim is returned when it shouldn't be 2016-10-20 11:15:35 -04:00
Jack
3f5efb1fa3 fix problems in blobrequester
-also move is_generous_host into a conf setting
2016-10-20 01:35:18 -04:00
Job Evers-Meltzer
9ba38c84cc Bump version: 0.6.7 → 0.6.8 2016-10-19 15:56:58 -07: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
8a95c8b7af whoops 2016-10-19 14:26:19 -04:00
Jack
33674f8cc3 remove logging in conf, rearrange platform 2016-10-19 00:39:19 -04:00
Jack
6799de645b Merge branch 'master' into refactor-settings
# Conflicts:
#	packaging/osx/lbry-osx-app/lbrygui/LBRYApp.py
#	packaging/windows/lbry-win32-app/LBRYWin32App.py
2016-10-19 00:19:45 -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
733bb3bccf Bump version: 0.6.6 → 0.6.7 2016-10-16 02:55:19 -04:00
Jack
830f5ff6e3 Bump version: 0.6.5 → 0.6.6 2016-10-15 23:35:17 -04:00
Jack
ea1f260ed9 Bump version: 0.6.4 → 0.6.5 2016-10-14 23:06:03 -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
Job Evers-Meltzer
5f129faf32 Bump version: 0.6.3 → 0.6.4 2016-10-14 16:06:12 -05:00
Alex Liebowitz
b5a3929bb5 Fix imports 2016-10-14 16:41:02 -04:00
Alex Liebowitz
b67b4b2ef6 Refactor metadata upgrade version range calculation to use generator 2016-10-14 15:58:18 -04:00
Alex Liebowitz
bed3f551fd Light refactor of Metadata class 2016-10-14 15:58:04 -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
92700808eb Add back current_version attribute to Metadata 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
Alex Liebowitz
d8d462f43c Convert Metadata and Fee validators to use new JSON Schema-based system 2016-10-14 10:37:18 -04:00
Alex Liebowitz
3f22f39ce1 Refactor Validator to new StructuredDict class that uses JSON Schema
- Uses JSON schema for all validation (so far no custom code needed)
 - Can migrate up and down with any versioning scheme
 - Does migrations with regular dictionary operations instead of a DSL
2016-10-14 10:35:17 -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
Jack
1ee9b3c7a6 add reply_to_offer to livepaymentratemanager 2016-10-05 23:03:16 -04:00
Jack
4f60a98eb2 fix functional tests, add a few unit tests,
-add ‘generous’ parameter for NegotiatedPaymentRateManager to turn free
hosting on/off, by default set to true.
2016-10-05 22:58:34 -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
Jack
dc2f0adb3e update LiveStreamPaymentRateManager 2016-10-03 16:54:46 -04:00
Jack
180d981ed8 fix more functional tests 2016-10-03 16:37:27 -04:00
Jack
fd9bc6214a fix functional tests 2016-10-03 15:40:27 -04:00
Jack
967700dc28 BlobRequestHandler and Strategy tests 2016-10-03 02:44:58 -04:00
Jack
3ad4ad50ec Bump version: 0.6.2 → 0.6.3 2016-10-02 03:33:12 -04: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
5e4e619708 squelch loud log 2016-10-01 15:20:19 -04:00
Jack
d741c705cd add some tests, don't use lighthouse for cost ests 2016-10-01 01:09:27 -04:00
Jack
d83abd81f8 job's comments 2016-09-30 14:26:13 -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
0a612ba36c Merge branch 'master' into blob-prices 2016-09-30 12:36:10 -04:00
Jack
eb7cc8463b Bump version: 0.6.1 → 0.6.2 2016-09-30 11:26:55 -04:00
Jack
6e5ea935f6 Bump version: 0.6.0 → 0.6.1 2016-09-30 11:18:07 -04:00
Jack
f79b651b05 Bump version: 0.5.0 → 0.6.0 2016-09-30 02:16:06 -04:00
Jack
c130879ef7 frontload bug
divide availability adjusted price by frontload factor, which will be
close to 1 while index is low and close to 2 when index is high - the
reduction approaches 50% as index goes up.
2016-09-30 00:36:23 -04:00
Jack
5c391f4bb4 remove unnecessary class 2016-09-30 00:12:17 -04:00
Jack
b853656aa6 Merge branch 'master' into blob-prices
# Conflicts:
#	lbrynet/core/server/BlobRequestHandler.py
2016-09-30 00:11:53 -04:00
Jack Robison
8222f940b4 Merge pull request #177 from lbryio/blob-request-handler-refactor
refactor BlobRequestHandler
2016-09-29 23:52:14 -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
d05bbea131 refactor BlobRequestHandler 2016-09-28 17:00:34 -07: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
eb783b6b6f rename File to EncryptedFile 2016-09-27 11:26:01 -07:00
Job Evers-Meltzer
d1b06c3688 more fixes 2016-09-27 11:18:52 -07:00
Job Evers-Meltzer
d16b3429cd more work to fix tests 2016-09-27 11:18:52 -07: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
6057dc0804 whitespace 2016-09-25 17:18:29 -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
c49b0fdd49 Bump version: 0.4.9 → 0.5.0 2016-09-24 01:50:14 -04: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
a936782ddc fix amount formatting between get_claim_info and get_my_claim 2016-09-24 00:58:54 -04:00
Jack
7ac0fc5a24 convert amount 2016-09-24 00:49:03 -04:00
Jack
e115158f86 docstring 2016-09-23 03:04:59 -04:00
Jack
bf34fa39b4 unused import 2016-09-23 03:03:15 -04:00
Jack
5dd29da84f blob upload/download history and BlobPriceAndAvailabilityTracker 2016-09-23 03:02:17 -04:00
Jack
492fc510fa move _get_my_unspent_claim to function 2016-09-21 22:10:19 -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
Job Evers-Meltzer
98d02b3fce [ci skip] add newlines 2016-09-19 12:07:47 -07:00
Jack
4d52a33ee5 Bump version: 0.4.8 → 0.4.9 2016-09-16 04:12:55 -04:00
Jack
7ad916f116 fix api being blocked for /? pages 2016-09-16 04:12:13 -04:00
Jack
05b47a9180 Bump version: 0.4.7 → 0.4.8 2016-09-16 03:56:14 -04:00
Jack
7085b1e3c3 block api requests by referer 2016-09-16 03:40:06 -04:00
Jack
3ae0664fa9 use prettier file format for daemon conf file 2016-09-16 00:14:25 -04:00
Jack
98b9f2cf73 Bump version: 0.4.6 → 0.4.7 2016-09-15 23:06:56 -04:00
Jack
add163a092 move get_params to own function, add some tests 2016-09-15 22:20:00 -04:00
Jack
fcfed3f441 add get_my_claim and get rid of is_mine in get_claim_info 2016-09-15 20:15:20 -04:00
Jack
7b84d9b10a handle no params 2016-09-15 15:04:42 -04:00
Jack
e9a1dbca4b fix windows cli
make cli easier to use on windows by converting keyword args to json

cli now accepts commands like:

lbrynet-cli resolve_name name=one

as well as:

lbrynet-cli resolve_name ‘{“name”: “one”}’
2016-09-15 14:47:32 -04:00
Jack
145a2654d2 Bump version: 0.4.5 → 0.4.6 2016-09-15 12:36:37 -04:00
Jack
5cefa2e995 set default logger in __init__ 2016-09-15 12:19:49 -04:00
Jack
13cbe0fd42 fix appveyor error 2016-09-14 23:03:18 -04:00
Jack
4cc941fbec make abandon_claim compatible with old function name 2016-09-14 22:36:18 -04:00
Jack
b010192f8e improve logging 2016-09-14 22:28:59 -04:00
Jack
2b1af8eea2 delete lbry file with an abandoned claim 2016-09-14 22:27:57 -04:00
Jack
6ea1f6f78c block api calls from bad origins 2016-09-14 17:39:19 -04:00
Jack
3c9c178bdc fix conf update 2016-09-12 15:44:56 -04:00
Jack
cc64547920 Bump version: 0.4.4 → 0.4.5 2016-09-12 15:42:48 -04:00
Jack
a23f2ca956 allow more download attempts after having timed out
-also lower the name cache time
2016-09-12 15:39:19 -04:00
Jack
ccaeecfd46 bug fix 2016-09-12 13:17:21 -04:00
Jack
3e45449e8c return unconfirmed balance 2016-09-12 13:16:56 -04:00
Jack
f352a3c597 rename abandon_name to abandon_claim 2016-09-12 13:16:03 -04:00
Jack
8cdbc847d1 add get_search_servers to allowed_during_startup 2016-09-09 05:11:51 -04:00
Jack
177d384126 Bump version: 0.4.3 → 0.4.4 2016-09-09 04:12:42 -04:00
Jack
eea5cbbafc add get_search_servers 2016-09-09 04:04:35 -04:00
Jack Robison
e4c61a4a13 Merge pull request #155 from lbryio/get-block-by-height
add 'height' parameter to get_block
2016-09-09 00:57:51 -04:00
Jack
0f0afadc94 add 'height' parameter to get_block 2016-09-09 00:48:54 -04:00
Alex Grintsvayg
659563f27a fix indent 2016-09-08 13:41:11 -04:00
Alex Grintsvayg
cbd8a68d0f print actual json 2016-09-08 13:40:43 -04:00
Alex Liebowitz
900eeb177a Add address_is_mine() API method 2016-09-02 01:27:30 -04:00
Jack
9471748f4c Bump version: 0.4.2 → 0.4.3 2016-09-01 01:35:44 -04:00
Jack Robison
920b1868bb Merge pull request #148 from lbryio/windows-setup
sign msi on appveyor, add command line to msi, remove leveldb requirement
2016-09-01 01:25:02 -04:00
Jack Robison
eed7c54aaf Merge pull request #146 from kaykurokawa/fix_lbryum_getbalance
Use new exclude_claimtrietx option in lbryum getbalance command, fix maturity use
2016-09-01 01:24:08 -04:00
Jack
f0aa31f9e8 unused import 2016-08-31 20:45:49 -04:00
Jack
aaf59218da comment out migrate0to1 import 2016-08-31 20:41:29 -04:00
Jack
0203ef66ea build windows in setup.py, drop leveldb requirement 2016-08-31 20:20:07 -04:00
Jack Robison
9c66108dc5 Merge pull request #142 from lbryio/skip-dust
skip dust transactions
2016-08-30 20:29:56 -04:00
kkurokawa
558da0a027 Using new exclude_claimtrietx option in lbryum's getbalance command. Fixing incorrect use of maturity. 2016-08-29 22:33:10 -04:00
Jack
1d39ec0317 Bump version: 0.4.1 → 0.4.2 2016-08-29 16:41:48 -04:00
Jack Robison
9ba6da1f4d set development version to false 2016-08-29 16:28:49 -04:00
Jack
1671034330 fix json bug 2016-08-29 14:33:56 -04:00
Jack
c15af0a63a Bump version: 0.4.0 → 0.4.1 2016-08-29 13:44:46 -04:00
Jack
56e2d77039 fix _send_name_claim json 2016-08-29 13:44:18 -04:00
Jack
a6619a628e flag to use development lighthouse servers 2016-08-28 05:25:48 -04:00
Jack
456572f87c Bump version: 0.3.22 → 0.4.0 2016-08-28 05:01:49 -04:00
Jack
f024b96934 allow int fee amount 2016-08-28 03:09:36 -04:00
Jack Robison
25c71bcd98 Merge pull request #140 from lbryio/reflect-blobs
reflect_all_blobs daemon command
2016-08-28 01:33:13 -04:00
Jack Robison
319e7ecc61 Merge pull request #131 from lbryio/content_type
change content-type to content_type, refactor metadata validation
2016-08-28 01:29:51 -04:00
Jack
63f81d1033 prevent a lbry files opened through the ui from making api calls 2016-08-27 23:16:48 -04:00
Jack
8895d21abf skip dust transactions 2016-08-27 02:42:20 -04:00
Jack
aa66af7ba6 fix tests 2016-08-26 20:22:11 -04:00
Jack
be3633622c whoops 2016-08-26 20:13:10 -04:00
Jack
b235f6fc6b send all blobs to reflector 2016-08-26 19:58:53 -04:00
Jack Robison
76b297b173 Merge pull request #139 from lbryio/get_all_verified_blobs
Get all verified blobs
2016-08-26 19:45:49 -04:00
Jack Robison
4e2296d5f6 Merge pull request #115 from lbryio/get-stream-timeout
raise Exception on GetStream timeout
2016-08-26 16:07:42 -04:00
Jack
80ed8d9869 Bump version: 0.3.21 → 0.3.22 2016-08-26 00:56:06 -04:00
Jack
2a2658d440 fix Access-Control-Allow-Origin problem 2016-08-26 00:50:31 -04:00
Jack
710e549c03 add get_all_verified_blobs 2016-08-26 00:32:33 -04:00
Jack
47fae977dd fix Access-Control-Allow-Origin problem 2016-08-25 23:39:05 -04:00
Jack
80837cb040 Merge branch 'master' into content_type
fix conflicts:
	lbrynet/lbrynet_daemon/LBRYPublisher.py
2016-08-25 17:59:20 -04:00
Jack
46153a8991 second shot at pylint error 2016-08-23 02:25:32 -04:00