Продолжаем упражняться

|
Тутбалин не так давно мизантропировал на предмет плагина Crossposter.

Потратил сегодня пару часов на разбирательства.

Что оказалось насчет левых <br>. Путем вдумчивого чтения сорцов ЖЖ было обнаружено следующее. Livejournal думает, что ему дают не настоящий html, а нечто, что ему нужно отформатировать самостоятельно. Вылечивается установкой флага convertLineBreaks в false. Логика, по которой это не есть установка по умолчанию, от меня ускользает. Как вылечить замену честного юникода на &#xNNNN-style порнуху, пока не ясно. Известно только, что на livejournal контент уходит в нормальном виде, а извращается уже на той стороне. До этого места в ЖЖ-шнух сорцах я еще не дочитал. Но это не сильно мешает.

Что оказалось насчет апдейтов кростпостнутых entries. Тут интересней.
Как положено, плагин Crossposter вытягивает entry к себе, меняет что нужно, и кладет обратно. Вот на этапе вытягивания возникает проблема: 401 Authentication Failed. Как же так? Что ж такое?

Причина вот в чем.
http://code.sixapart.com/trac/livejournal/browser/trunk/cgi-bin/Apache/LiveJournal/Interface/AtomAPI.pm#L576
# let's authenticate.
#
# if wsse information is supplied, use it.
# if not, fall back to digest.
my $wsse = $r->header_in('X-WSSE');
my $nonce_dup;
my $u = $wsse ? auth_wsse($wsse, \$nonce_dup) : LJ::auth_digest($r);
return respond( $r, 401, "Authentication failed for this AtomAPI request.")
    unless $u;

return respond( $r, 401, "Authentication failed for this AtomAPI request.")
    if $nonce_dup && $action && $action ne 'post';

Удивительные люди в этом ЖЖ. Почему post можно по WSSE, а остально нельзя? Загадка. Почему, если уж нельзя edit, не выдать нужные заголовки для digest auth? Еще загадочней.

Чего делать? Хакнуть XML::Atom::Client или засабмитить багу в суп?

А вот запрет на коменты к кростпостнутой entry, судя по всему, сделать не получится через atom. И ручками проставлять лень. Ну и фиг с ним, комментируйте меня где удобно.

0 TrackBacks

Listed below are links to blogs that reference this entry: Продолжаем упражняться.

TrackBack URL for this entry: http://net-geek.org/cgi-bin/mt/mt-tb.cgi/26

5 Comments

Basil Dolmatov Author Profile Page on December 10, 2007 12:53 AM said:

ну, поупражняемся что ли :)

blog.lexa.ru Author Profile Page on December 10, 2007 11:13 AM said:

Я продолжаю жить под MTLJPost

Несмотря на то, что настройка его под 4-м MT - это нечто удивительное.

Daniel Ginsburg Author Profile Page on December 10, 2007 11:19 AM said:

Я правильно понимаю, что MTLJPost использует XML-RPC, а не Atom? Как я понимаю, Atom сломан на стороне ЖЖ. Хотя я могу и ошибаться.

blog.lexa.ru Author Profile Page on December 13, 2007 7:59 PM said:

Еще веселее. MTLJPost использует LJ::Simple, а тот - flat interface.

Daniel Ginsburg Author Profile Page on December 13, 2007 8:08 PM said:

Ох. Будущее за мирным атомом :)

Я подточил кросспостер слегка, теперь типа работает: http://net-geek.org/dbg/2007/12/lj-is-fucked.html. В общем, на этом и остановлюсь пока. Все равно это все только на переходный период, пока читатели не перешли на чтение трансляции в ЖЖ или фида своими ридерами.

Leave a comment

 

Pages

Archives

Sign In