OStatus update profile data script fixes

This commit is contained in:
Mikael Nordfeldth 2016-03-28 15:42:41 +02:00
parent 2e327dfcd7
commit a93c69d150

View File

@ -44,30 +44,19 @@ function showProfileInfo(Ostatus_profile $oprofile) {
echo "group\n"; echo "group\n";
} else { } else {
$profile = $oprofile->localProfile(); $profile = $oprofile->localProfile();
try {
foreach (array('nickname', 'fullname', 'bio', 'homepage', 'location') as $field) { foreach (array('nickname', 'fullname', 'bio', 'homepage', 'location') as $field) {
print " $field: {$profile->$field}\n"; print " $field: {$profile->$field}\n";
} }
} catch (NoProfileException $e) {
print "local profile not found";
}
} }
echo "\n"; echo "\n";
} }
function fixProfile($uri) { function fixProfile(Ostatus_profile $oprofile) {
$oprofile = Ostatus_profile::getKV('uri', $uri);
if (!$oprofile) {
print "No OStatus remote profile known for URI $uri\n";
return false;
}
echo "Before:\n"; echo "Before:\n";
showProfileInfo($oprofile); showProfileInfo($oprofile);
$feedurl = $oprofile->feeduri; $feedurl = $oprofile->feeduri;
$client = new HttpClient(); $client = new HTTPClient();
$response = $client->get($feedurl); $response = $client->get($feedurl);
if ($response->isOk()) { if ($response->isOk()) {
echo "Updating profile from feed: $feedurl\n"; echo "Updating profile from feed: $feedurl\n";
@ -106,7 +95,7 @@ if (have_option('all')) {
echo "Found $oprofile->N profiles:\n\n"; echo "Found $oprofile->N profiles:\n\n";
while ($oprofile->fetch()) { while ($oprofile->fetch()) {
try { try {
$ok = fixProfile($oprofile->uri) && $ok; $ok = fixProfile($oprofile) && $ok;
} catch (Exception $e) { } catch (Exception $e) {
$ok = false; $ok = false;
echo "Failed on URI=="._ve($oprofile->uri).": {$e->getMessage()}\n"; echo "Failed on URI=="._ve($oprofile->uri).": {$e->getMessage()}\n";
@ -120,7 +109,7 @@ if (have_option('all')) {
echo "Found $oprofile->N matching profiles:\n\n"; echo "Found $oprofile->N matching profiles:\n\n";
while ($oprofile->fetch()) { while ($oprofile->fetch()) {
try { try {
$ok = fixProfile($oprofile->uri) && $ok; $ok = fixProfile($oprofile) && $ok;
} catch (Exception $e) { } catch (Exception $e) {
$ok = false; $ok = false;
echo "Failed on URI=="._ve($oprofile->uri).": {$e->getMessage()}\n"; echo "Failed on URI=="._ve($oprofile->uri).": {$e->getMessage()}\n";
@ -128,8 +117,15 @@ if (have_option('all')) {
} }
} else if (!empty($args[0]) && $validate->uri($args[0])) { } else if (!empty($args[0]) && $validate->uri($args[0])) {
$uri = $args[0]; $uri = $args[0];
$oprofile = Ostatus_profile::getKV('uri', $uri);
if (!$oprofile instanceof Ostatus_profile) {
print "No OStatus remote profile known for URI $uri\n";
return false;
}
try { try {
$ok = fixProfile($oprofile->uri) && $ok; $ok = fixProfile($oprofile) && $ok;
} catch (Exception $e) { } catch (Exception $e) {
$ok = false; $ok = false;
echo "Failed on URI=="._ve($oprofile->uri).": {$e->getMessage()}\n"; echo "Failed on URI=="._ve($oprofile->uri).": {$e->getMessage()}\n";