Updated to v 0.3.0 dameon api

This commit is contained in:
Paul Kirby 2018-11-03 18:37:32 -05:00
parent 9051cb1781
commit 66ee5aedf6
4 changed files with 60 additions and 34 deletions

View file

@ -116,11 +116,14 @@ class LBRY_Admin
*/ */
public function wallet_callback() public function wallet_callback()
{ {
// Get first available address from Daemon
$address = LBRY()->daemon->address_list();
$address = is_array($address) && !empty($address) ? $address[0] : '';
printf( printf(
'<input type="text" id="%1$s" name="%2$s[%1$s]" value="%3$s" readonly />', '<input type="text" id="%1$s" name="%2$s[%1$s]" value="%3$s" readonly />',
LBRY_WALLET, LBRY_WALLET,
LBRY_SETTINGS, LBRY_SETTINGS,
isset($this->options[LBRY_WALLET]) ? esc_attr($this->options[LBRY_WALLET]) : '' $address
); );
} }
@ -145,7 +148,8 @@ class LBRY_Admin
// TODO: Maybe make this more elegant? // TODO: Maybe make this more elegant?
$options = ''; $options = '';
// Create options list, select current license // Create options list, select current license
foreach (LBRY_AVAILABLE_LICENSES as $value => $name) { //
foreach (LBRY()->licenses as $value => $name) {
$selected = $this->options[LBRY_LICENSE] === $value; $selected = $this->options[LBRY_LICENSE] === $value;
$options .= '<option value="' . $value . '"'; $options .= '<option value="' . $value . '"';

View file

@ -25,42 +25,60 @@ class LBRY_Daemon
} }
/** /**
* Returns an unused wallet address * Returns an unused address
* https://lbryio.github.io/lbry/#wallet_unused_address * https://lbry.tech/api/sdk#address_unused
* @return string Unused wallet address in base58 * @return string Unused wallet address in base58
*/ */
public function wallet_unused_address() public function wallet_unused_address()
{ {
try { try {
$result = $this->request('wallet_unused_address'); $result = $this->request('address_unused');
return $result->result; return $result->result;
} catch (LBRYDaemonException $e) { } catch (LBRYDaemonException $e) {
$this->logger->log('wallet_unused_address error', $e->getMessage() . ' | Code: ' . $e->getCode()); $this->logger->log('address_unused error', $e->getMessage() . ' | Code: ' . $e->getCode());
LBRY()->notice->set_notice('error', 'Issue getting unused wallet address.'); LBRY()->notice->set_notice('error', 'Issue getting unused address.');
return; return;
} }
} }
/** /**
* Returns the balance of a current LBRY wallet * Returns an array of Address lists
* https://lbryio.github.io/lbry/cli/#wallet_balance * https://lbry.tech/api/sdk#address_list
* @return array Array of address lists linked to this account
*/
public function address_list()
{
try {
$result = $this->request('address_list');
return $result->result;
} catch (LBRYDaemonException $e) {
$this->logger->log('address_list error', $e->getMessage() . ' | Code: ' . $e->getCode());
LBRY()->notice->set_notice('error', 'Issue getting address list.');
return;
}
}
/**
* Returns the balance of a current LBRY account
* https://lbry.tech/api/sdk#account_balance
* @param string $address Wallet Address * @param string $address Wallet Address
* @return float Wallet Balance * @return float Wallet Balance
*/ */
public function wallet_balance() public function wallet_balance()
{ {
try { try {
$result = $this->request('wallet_balance'); $result = $this->request('account_balance');
return $result->result; return $result->result;
} catch (LBRYDaemonException $e) { } catch (LBRYDaemonException $e) {
$this->logger->log('wallet_balance error', $e->getMessage() . ' | Code: ' . $e->getCode()); $this->logger->log('account_balance error', $e->getMessage() . ' | Code: ' . $e->getCode());
LBRY()->notice->set_notice('error', 'Issue getting wallet address.'); LBRY()->notice->set_notice('error', 'Issue getting account balance.');
return; return;
} }
} }
/** /**
* https://lbryio.github.io/lbry/#channel_list * Returns a list of channels for this account
* https://lbry.tech/api/sdk#channel_list
* @return array claim dictionary or null if empty * @return array claim dictionary or null if empty
*/ */
public function channel_list() public function channel_list()
@ -76,7 +94,8 @@ class LBRY_Daemon
} }
/** /**
* https://lbryio.github.io/lbry/#channel_new * Create a claim for a new channel
* https://lbry.tech/api/sdk#channel_new
* @return array dictionary containing result of the request * @return array dictionary containing result of the request
*/ */
public function channel_new($channel_name, $bid_amount) public function channel_new($channel_name, $bid_amount)
@ -100,7 +119,7 @@ class LBRY_Daemon
'channel_new', 'channel_new',
array( array(
'channel_name' => $channel_name, 'channel_name' => $channel_name,
'amount' => floatval($bid_amount) 'amount' => number_format(floatval($bid_amount), 2, '.', '')
) )
); );
return $result->result; return $result->result;
@ -113,6 +132,7 @@ class LBRY_Daemon
/** /**
* Publishes a post to the LBRY Network * Publishes a post to the LBRY Network
* https://lbry.tech/api/sdk#publish
* @param string $name The slug for the post * @param string $name The slug for the post
* @param float $bid The amount of LBC to bid * @param float $bid The amount of LBC to bid
* @param string $filepath The path of the temporary content file * @param string $filepath The path of the temporary content file
@ -121,7 +141,7 @@ class LBRY_Daemon
* @param string $language Two letter ISO Code of the language * @param string $language Two letter ISO Code of the language
* @return string $channel The Claim ID of the Channel * @return string $channel The Claim ID of the Channel
*/ */
public function publish($name, $bid, $filepath, $title, $description, $language, $channel, $thumbnail = false) public function publish($name, $bid, $filepath, $title, $description, $language, $license, $channel, $thumbnail = false)
{ {
$args = array( $args = array(
'name' => $name, 'name' => $name,
@ -130,6 +150,7 @@ class LBRY_Daemon
'title' => $title, 'title' => $title,
'description' => $description, 'description' => $description,
'language' => $language, 'language' => $language,
'license' => $license,
); );
// Make sure we aren't publishing to unattributed // Make sure we aren't publishing to unattributed

View file

@ -39,7 +39,7 @@ class LBRY_Network_Publisher
// If everything went well with the conversion, carry on // If everything went well with the conversion, carry on
if ($write_status) { if ($write_status) {
$name = $post->post_name; $name = $post->post_name;
$bid = floatval(get_option(LBRY_SETTINGS)[LBRY_LBC_PUBLISH]); $bid = number_format(floatval(get_option(LBRY_SETTINGS)[LBRY_LBC_PUBLISH]), 2, '.', '');
$title = $post->post_title; $title = $post->post_title;
$language = substr(get_locale(), 0, 2); $language = substr(get_locale(), 0, 2);
$license = get_option(LBRY_SETTINGS)[LBRY_LICENSE]; $license = get_option(LBRY_SETTINGS)[LBRY_LICENSE];
@ -60,7 +60,8 @@ class LBRY_Network_Publisher
} }
$description .= ' | Originally published at ' . get_permalink($post); $description .= ' | Originally published at ' . get_permalink($post);
LBRY()->daemon->publish($name, $bid, $filepath, $title, $description, $language, $channel, $thumbnail); //TODO: Switch this to an array of args. This is getting out of hand.
LBRY()->daemon->publish($name, $bid, $filepath, $title, $description, $language, $license, $channel, $thumbnail);
} }
} catch (Exception $e) { } catch (Exception $e) {
error_log('Issue publishing post ' . $post->ID . ' to LBRY: ' . $e->getMessage()); error_log('Issue publishing post ' . $post->ID . ' to LBRY: ' . $e->getMessage());

View file

@ -43,6 +43,20 @@ class LBRYPress
*/ */
public $network = null; public $network = null;
/**
* The Licenses Available
*/
public $licenses = array(
'Creative Commons Attribution 4.0 International' => 'Creative Commons Attribution 4.0 International',
'Creative Commons Attribution-ShareAlike 4.0 International' => 'Creative Commons Attribution-ShareAlike 4.0 International',
'Creative Commons Attribution-NoDerivatives 4.0 International' => 'Creative Commons Attribution-NoDerivatives 4.0 International',
'Creative Commons Attribution-NonCommercial 4.0 International' => 'Creative Commons Attribution-NonCommercial 4.0 International',
'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International' => 'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International',
'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International' => 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International',
'Copyrighted' => 'Copyrighted',
'Public Domain' => 'Public Domain'
);
/** /**
* Main LBRYPress Instance. * Main LBRYPress Instance.
* *
@ -103,16 +117,6 @@ class LBRYPress
$this->define('LBRY_LBC_PUBLISH', 'lbry_lbc_publish'); // amount of lbc to use per publish $this->define('LBRY_LBC_PUBLISH', 'lbry_lbc_publish'); // amount of lbc to use per publish
$this->define('LBRY_WILL_PUBLISH', 'lbry_will_publish'); // The meta key for if to publish to LBRY Network or not $this->define('LBRY_WILL_PUBLISH', 'lbry_will_publish'); // The meta key for if to publish to LBRY Network or not
$this->define('LBRY_POST_CHANNEL', 'lbry_channel'); // The meta key for which channel to publish $this->define('LBRY_POST_CHANNEL', 'lbry_channel'); // The meta key for which channel to publish
$this->define('LBRY_AVAILABLE_LICENSES', array(
'Creative Commons Attribution 4.0 International' => 'Creative Commons Attribution 4.0 International',
'Creative Commons Attribution-ShareAlike 4.0 International' => 'Creative Commons Attribution-ShareAlike 4.0 International',
'Creative Commons Attribution-NoDerivatives 4.0 International' => 'Creative Commons Attribution-NoDerivatives 4.0 International',
'Creative Commons Attribution-NonCommercial 4.0 International' => 'Creative Commons Attribution-NonCommercial 4.0 International',
'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International' => 'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International',
'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International' => 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International',
'Copyrighted' => 'Copyrighted',
'Public Domain' => 'Public Domain'
));
} }
/** /**
@ -166,15 +170,11 @@ class LBRYPress
// Add options to the options table we need // Add options to the options table we need
if (! get_option(LBRY_SETTINGS)) { if (! get_option(LBRY_SETTINGS)) {
// Get a wallet address
// TODO: May have to rethink this based on how wallet address are linked to daemon
$wallet_address = $this->daemon->wallet_unused_address();
// Default options // Default options
$option_defaults = array( $option_defaults = array(
LBRY_WALLET => $wallet_address,
LBRY_SPEECH => null, LBRY_SPEECH => null,
LBRY_LICENSE => 'mit', LBRY_LICENSE => $this->licenses[0],
LBRY_LBC_PUBLISH => 1 LBRY_LBC_PUBLISH => 1
); );
@ -199,7 +199,7 @@ class LBRYPress
public function deactivate() public function deactivate()
{ {
// TODO: Stop the daemon // TODO: Stop the daemon
error_log('Deactivated'); error_log('Deactivated LBRYPress');
} }
public function published_on_lbry_banner($content) public function published_on_lbry_banner($content)