diff --git a/.appveyor.yml b/.appveyor.yml index f64a1ce12..cd066014f 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -135,7 +135,7 @@ test_script: C:\Python27\Scripts\pip.exe install pylint - C:\Python27\python.exe C:\Python27\Scripts\trial.py C:\projects\lbry\tests + C:\Python27\python.exe C:\Python27\Scripts\trial.py C:\projects\lbry\tests\unit artifacts: - path: dist/*.msi diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 1587beae7..c1a23b1f5 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.4.9 +current_version = 0.5.0 commit = True tag = True diff --git a/lbrynet/__init__.py b/lbrynet/__init__.py index 0c3cfbb39..9b671552b 100644 --- a/lbrynet/__init__.py +++ b/lbrynet/__init__.py @@ -1,6 +1,6 @@ import logging -__version__ = "0.4.9" +__version__ = "0.5.0" version = tuple(__version__.split('.')) logging.getLogger(__name__).addHandler(logging.NullHandler()) \ No newline at end of file diff --git a/lbrynet/core/LBRYWallet.py b/lbrynet/core/LBRYWallet.py index da1915674..6535e6e35 100644 --- a/lbrynet/core/LBRYWallet.py +++ b/lbrynet/core/LBRYWallet.py @@ -368,6 +368,31 @@ class LBRYWallet(object): d.addCallback(_get_id_for_return) return d + def get_my_claim(self, name): + def _convert_units(claim): + amount = Decimal(claim['nEffectiveAmount'] / COIN) + claim['nEffectiveAmount'] = amount + return claim + + def _get_claim_for_return(claim): + if not claim: + return False + d = self.get_claim(name, claim['claim_id']) + d.addCallback(_convert_units) + d.addCallback(lambda clm: self._format_claim_for_return(name, clm, claim['txid'])) + return d + + def _get_my_unspent_claim(claims): + for claim in claims: + if claim['name'] == name and not claim['is spent']: + return claim + return False + + d = self.get_name_claims() + d.addCallback(_get_my_unspent_claim) + d.addCallback(_get_claim_for_return) + return d + def get_claim_info(self, name, txid=None): if not txid: d = self._get_value_for_name(name) @@ -377,9 +402,20 @@ class LBRYWallet(object): d.addErrback(lambda _: False) return d + def _format_claim_for_return(self, name, claim, txid, metadata=None, meta_version=None): + result = {} + result['claim_id'] = claim['claimId'] + result['amount'] = claim['nEffectiveAmount'] + result['height'] = claim['nHeight'] + result['name'] = name + result['txid'] = txid + result['value'] = metadata if metadata else json.loads(claim['value']) + result['supports'] = [{'txid': support['txid'], 'n': support['n']} for support in claim['supports']] + result['meta_version'] = meta_version if meta_version else result['value'].get('ver', '0.0.1') + return result + def _get_claim_info(self, name, txid): def _build_response(claim): - result = {} try: metadata = Metadata(json.loads(claim['value'])) meta_ver = metadata.version @@ -390,27 +426,12 @@ class LBRYWallet(object): meta_ver = "Non-compliant" d = defer.succeed(None) - claim_id = claim['claimId'] - result['claim_id'] = claim_id - result['amount'] = claim['nEffectiveAmount'] - result['height'] = claim['nHeight'] - result['name'] = name - result['txid'] = txid - result['value'] = metadata - result['supports'] = [{'txid': support['txid'], 'n': support['n']} for support in claim['supports']] - result['meta_version'] = meta_ver + d.addCallback(lambda _: self._format_claim_for_return(name, claim, txid, + metadata=metadata, meta_version=meta_ver)) + log.info("get claim info lbry://%s metadata: %s, claimid: %s", name, meta_ver, claim['claimId']) - log.info("get claim info lbry://%s metadata: %s, claimid: %s", name, meta_ver, claim_id) - - d.addCallback(lambda _: self.get_name_claims()) - d.addCallback(lambda r: [c['txid'] for c in r]) - d.addCallback(lambda my_claims: _add_is_mine(result, my_claims)) return d - def _add_is_mine(response, my_txs): - response['is_mine'] = response['txid'] in my_txs - return response - d = self.get_claimid(name, txid) d.addCallback(lambda claim_id: self.get_claim(name, claim_id)) d.addCallback(_build_response) diff --git a/lbrynet/lbrynet_daemon/LBRYDaemon.py b/lbrynet/lbrynet_daemon/LBRYDaemon.py index 24967b5c6..a66b7e5de 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemon.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemon.py @@ -1733,6 +1733,21 @@ class LBRYDaemon(jsonrpc.JSONRPC): d.addCallbacks(lambda info: self._render_response(info, OK_CODE), lambda _: server.failure) return d + def jsonrpc_get_my_claim(self, p): + """ + Return existing claim for a given name + + Args: + 'name': name to look up + Returns: + claim info, False if no such claim exists + """ + + name = p['name'] + d = self.session.wallet.get_my_claim(name) + d.addCallback(lambda r: self._render_response(r, OK_CODE)) + return d + def jsonrpc_get_claim_info(self, p): """ Resolve claim info from a LBRY uri diff --git a/packaging/ubuntu/lbry.desktop b/packaging/ubuntu/lbry.desktop index c90aa6133..53b98e543 100644 --- a/packaging/ubuntu/lbry.desktop +++ b/packaging/ubuntu/lbry.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=0.4.9 +Version=0.5.0 Name=LBRY Comment=The world's first user-owned content marketplace Icon=lbry diff --git a/packaging/ubuntu/ubuntu_package_setup.sh b/packaging/ubuntu/ubuntu_package_setup.sh index 111c27834..b831114ff 100755 --- a/packaging/ubuntu/ubuntu_package_setup.sh +++ b/packaging/ubuntu/ubuntu_package_setup.sh @@ -152,6 +152,15 @@ function addfile() { echo "$(md5sum "data/$TARGET" | cut -d' ' -f1) $TARGET" >> control/md5sums } +function addlink() { + SRC="$1" + TARGET="$2" + TMP="$PACKAGING_DIR/lbry-temp-symlink" + ln -s "$SRC" "$TMP" + addfile "$TMP" "$TARGET" + rm "$TMP" +} + # add icons addfile "$PACKAGING_DIR/icons/lbry32.png" usr/share/icons/hicolor/32x32/apps/lbry.png addfile "$PACKAGING_DIR/icons/lbry48.png" usr/share/icons/hicolor/48x48/apps/lbry.png @@ -164,9 +173,10 @@ addfile "$PACKAGING_DIR/lbry.desktop" usr/share/applications/lbry.desktop BINPATH=usr/share/python/lbrynet/bin addfile "$PACKAGING_DIR/lbry" "$BINPATH/lbry" -# symlink script into /usr/bin -ln -s "/$BINPATH/lbry" "$PACKAGING_DIR/lbry-temp-symlink" -addfile "$PACKAGING_DIR/lbry-temp-symlink" usr/bin/lbry +# symlink scripts into /usr/bin +for script in "lbry" "lbrynet-daemon" "lbrynet-cli" "stop-lbrynet-daemon"; do + addlink "/$BINPATH/$script" "usr/bin/$script" +done # add lbrycrdd and lbrycrd-cli mkdir -p "$PACKAGING_DIR/bins"