favesからdeliciousに戻る

オンラインのブックマークには昔bluedot.usという名前だったfaves.comというのを使っていて、これが稀に止まったりしてこのままサービスがなくなるのではないかと心配しつつ使っていました。

del.icio.usに戻そうとしたら、del.icio.usのほうがコメントの文字数制限がきつくてデータが失われてしまうため戻るに戻れない状況になっていたけれどv2になってdeliciousもコメントが最大1000バイトになったので戻ってきました。

誰も必要としなそうなその移行スクリプト。

favesはサポートの人がフレンドリーだったりしてよかった。

require_once('HTTP/Request.php');
$user = 'ku0522';
$pass = '********';
$xml = simplexml_load_file( 'faves.tidy.xml' );
foreach ( $xml->post as $post ) {
  $a = $post->attributes();
  print_r($a);
  $u = "https://api.del.icio.us/v1/posts/add?";
  $q = "";
  foreach (array(
    'url' => 'href',
    'description' => 'description',
    'extended' => 'extended',
    'tags' => 'tag',
    'shared' => 'shared',
    'dt' => 'time',
  ) as $k => $n  ) {
    $v = $a->{$n};
    if ( $k === 'shared' and $v == '' ) {
      continue;
    }
    $q .= $k . "=" . urlencode($v) . "&";
  }
  $u .= $q;
  print "$u\n";
  $req = new HTTP_Request( $u );
  $req->setMethod(HTTP_REQUEST_METHOD_GET);
  $req->setBasicAuth($user,$pass);
  $req->sendRequest();
  print $req->getResponseBody();
  sleep(5);
}

About this entry