forked from LBRYCommunity/lbry-sdk
Merge branch 'master' into no-more-upload-allowed
This commit is contained in:
commit
80dd02483e
7 changed files with 40 additions and 27 deletions
|
@ -1,5 +1,5 @@
|
||||||
[bumpversion]
|
[bumpversion]
|
||||||
current_version = 0.8.3rc3
|
current_version = 0.8.3
|
||||||
commit = True
|
commit = True
|
||||||
tag = True
|
tag = True
|
||||||
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)((?P<release>[a-z]+)(?P<candidate>\d+))?
|
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)((?P<release>[a-z]+)(?P<candidate>\d+))?
|
||||||
|
|
|
@ -11,9 +11,10 @@ at anytime.
|
||||||
### Changed
|
### Changed
|
||||||
* Remove unused upload_allowed option
|
* Remove unused upload_allowed option
|
||||||
|
|
||||||
|
## [0.8.3] - 2017-02-15
|
||||||
### Fixed
|
### Fixed
|
||||||
* Add better logging to help track down [#478](https://github.com/lbryio/lbry/issues/478)
|
* Add better logging to help track down [#478](https://github.com/lbryio/lbry/issues/478)
|
||||||
|
* Catch UnknownNameErrors when resolving a name. [#479](https://github.com/lbryio/lbry/issues/479)
|
||||||
|
|
||||||
## [0.8.3rc3] - 2017-02-14
|
## [0.8.3rc3] - 2017-02-14
|
||||||
|
|
||||||
|
@ -28,6 +29,7 @@ at anytime.
|
||||||
* mark peers as down if it fails download protocol
|
* mark peers as down if it fails download protocol
|
||||||
* Made hash reannounce time to be adjustable to fix [#432](https://github.com/lbryio/lbry/issues/432)
|
* Made hash reannounce time to be adjustable to fix [#432](https://github.com/lbryio/lbry/issues/432)
|
||||||
|
|
||||||
|
|
||||||
## [0.8.3rc0] - 2017-02-10
|
## [0.8.3rc0] - 2017-02-10
|
||||||
### Changed
|
### Changed
|
||||||
* Convert EncryptedFileDownloader to inlineCallbacks
|
* Convert EncryptedFileDownloader to inlineCallbacks
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
__version__ = "0.8.3rc3"
|
__version__ = "0.8.3"
|
||||||
version = tuple(__version__.split('.'))
|
version = tuple(__version__.split('.'))
|
||||||
|
|
||||||
logging.getLogger(__name__).addHandler(logging.NullHandler())
|
logging.getLogger(__name__).addHandler(logging.NullHandler())
|
||||||
|
|
|
@ -45,7 +45,7 @@ from lbrynet.core.Wallet import LBRYumWallet, SqliteStorage
|
||||||
from lbrynet.core.looping_call_manager import LoopingCallManager
|
from lbrynet.core.looping_call_manager import LoopingCallManager
|
||||||
from lbrynet.core.server.BlobRequestHandler import BlobRequestHandlerFactory
|
from lbrynet.core.server.BlobRequestHandler import BlobRequestHandlerFactory
|
||||||
from lbrynet.core.server.ServerProtocol import ServerProtocolFactory
|
from lbrynet.core.server.ServerProtocol import ServerProtocolFactory
|
||||||
from lbrynet.core.Error import InsufficientFundsError
|
from lbrynet.core.Error import InsufficientFundsError, UnknownNameError
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -938,14 +938,14 @@ class Daemon(AuthJSONRPCServer):
|
||||||
fee_amount = 0.0 if fee is None else fee.amount
|
fee_amount = 0.0 if fee is None else fee.amount
|
||||||
return data_cost + fee_amount
|
return data_cost + fee_amount
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
def get_est_cost_from_name(self, name):
|
def get_est_cost_from_name(self, name):
|
||||||
"""
|
"""
|
||||||
Resolve a name and return the estimated stream cost
|
Resolve a name and return the estimated stream cost
|
||||||
"""
|
"""
|
||||||
|
metadata = yield self._resolve_name(name)
|
||||||
d = self._resolve_name(name)
|
cost = yield self._get_est_cost_from_metadata(metadata, name)
|
||||||
d.addCallback(self._get_est_cost_from_metadata, name)
|
defer.returnValue(cost)
|
||||||
return d
|
|
||||||
|
|
||||||
def get_est_cost(self, name, size=None):
|
def get_est_cost(self, name, size=None):
|
||||||
"""Get a cost estimate for a lbry stream, if size is not provided the
|
"""Get a cost estimate for a lbry stream, if size is not provided the
|
||||||
|
@ -1402,6 +1402,7 @@ class Daemon(AuthJSONRPCServer):
|
||||||
else:
|
else:
|
||||||
return self._get_lbry_file(searchtype, value)
|
return self._get_lbry_file(searchtype, value)
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
def jsonrpc_resolve_name(self, name, force=False):
|
def jsonrpc_resolve_name(self, name, force=False):
|
||||||
"""
|
"""
|
||||||
Resolve stream info from a LBRY uri
|
Resolve stream info from a LBRY uri
|
||||||
|
@ -1409,15 +1410,20 @@ class Daemon(AuthJSONRPCServer):
|
||||||
Args:
|
Args:
|
||||||
'name': name to look up, string, do not include lbry:// prefix
|
'name': name to look up, string, do not include lbry:// prefix
|
||||||
Returns:
|
Returns:
|
||||||
metadata from name claim
|
metadata from name claim or None if the name is not known
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if not name:
|
if not name:
|
||||||
return self._render_response(None)
|
# TODO: seems like we should raise an error here
|
||||||
|
defer.returnValue(None)
|
||||||
|
|
||||||
d = self._resolve_name(name, force_refresh=force)
|
try:
|
||||||
d.addCallback(self._render_response)
|
metadata = yield self._resolve_name(name, force_refresh=force)
|
||||||
return d
|
except UnknownNameError:
|
||||||
|
log.info('Name %s is not known', name)
|
||||||
|
defer.returnValue(None)
|
||||||
|
else:
|
||||||
|
defer.returnValue(metadata)
|
||||||
|
|
||||||
def jsonrpc_get_claim_info(self, **kwargs):
|
def jsonrpc_get_claim_info(self, **kwargs):
|
||||||
"""
|
"""
|
||||||
|
@ -1617,6 +1623,7 @@ class Daemon(AuthJSONRPCServer):
|
||||||
"""
|
"""
|
||||||
return self.jsonrpc_stream_cost_estimate(**kwargs)
|
return self.jsonrpc_stream_cost_estimate(**kwargs)
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
def jsonrpc_stream_cost_estimate(self, name, size=None):
|
def jsonrpc_stream_cost_estimate(self, name, size=None):
|
||||||
"""
|
"""
|
||||||
Get estimated cost for a lbry stream
|
Get estimated cost for a lbry stream
|
||||||
|
@ -1627,10 +1634,8 @@ class Daemon(AuthJSONRPCServer):
|
||||||
Returns:
|
Returns:
|
||||||
estimated cost
|
estimated cost
|
||||||
"""
|
"""
|
||||||
|
cost = yield self.get_est_cost(name, size)
|
||||||
d = self.get_est_cost(name, size)
|
defer.returnValue(cost)
|
||||||
d.addCallback(lambda r: self._render_response(r))
|
|
||||||
return d
|
|
||||||
|
|
||||||
@AuthJSONRPCServer.auth_required
|
@AuthJSONRPCServer.auth_required
|
||||||
def jsonrpc_publish(self, name, bid, metadata, file_path=None, fee=None):
|
def jsonrpc_publish(self, name, bid, metadata, file_path=None, fee=None):
|
||||||
|
|
|
@ -92,7 +92,7 @@ def update_settings_from_args(args):
|
||||||
|
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def start_server_and_listen(launchui, use_auth, analytics_manager):
|
def start_server_and_listen(launchui, use_auth, analytics_manager, max_tries=5):
|
||||||
"""The primary entry point for launching the daemon.
|
"""The primary entry point for launching the daemon.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
@ -102,13 +102,19 @@ def start_server_and_listen(launchui, use_auth, analytics_manager):
|
||||||
"""
|
"""
|
||||||
analytics_manager.send_server_startup()
|
analytics_manager.send_server_startup()
|
||||||
log_support.configure_analytics_handler(analytics_manager)
|
log_support.configure_analytics_handler(analytics_manager)
|
||||||
try:
|
tries = 1
|
||||||
daemon_server = DaemonServer(analytics_manager)
|
while tries < max_tries:
|
||||||
yield daemon_server.start(use_auth, launchui)
|
log.info('Making attempt %s / %s to startup', tries, max_tries)
|
||||||
analytics_manager.send_server_startup_success()
|
try:
|
||||||
except Exception as e:
|
daemon_server = DaemonServer(analytics_manager)
|
||||||
log.exception('Failed to startup')
|
yield daemon_server.start(use_auth, launchui)
|
||||||
analytics_manager.send_server_startup_error(str(e))
|
analytics_manager.send_server_startup_success()
|
||||||
|
break
|
||||||
|
except Exception as e:
|
||||||
|
log.exception('Failed to startup')
|
||||||
|
analytics_manager.send_server_startup_error(str(e))
|
||||||
|
tries += 1
|
||||||
|
else:
|
||||||
reactor.callFromThread(reactor.stop)
|
reactor.callFromThread(reactor.stop)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Version=0.8.3rc3
|
Version=0.8.3
|
||||||
Name=LBRY
|
Name=LBRY
|
||||||
Comment=The world's first user-owned content marketplace
|
Comment=The world's first user-owned content marketplace
|
||||||
Icon=lbry
|
Icon=lbry
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -43,7 +43,7 @@ requires = [
|
||||||
'jsonrpc==1.2',
|
'jsonrpc==1.2',
|
||||||
'jsonrpclib==0.1.7',
|
'jsonrpclib==0.1.7',
|
||||||
'jsonschema==2.5.1',
|
'jsonschema==2.5.1',
|
||||||
'lbryum>=2.7.4',
|
'lbryum>=2.7.5',
|
||||||
'loggly-python-handler==1.0.0',
|
'loggly-python-handler==1.0.0',
|
||||||
'miniupnpc==1.9',
|
'miniupnpc==1.9',
|
||||||
'pbkdf2==1.3',
|
'pbkdf2==1.3',
|
||||||
|
|
Loading…
Reference in a new issue