<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>dump -0f - /dev/mind</title>
  <link>https://dastapov.dreamwidth.org/</link>
  <description>dump -0f - /dev/mind - Dreamwidth Studios</description>
  <lastBuildDate>Wed, 12 Jul 2017 21:24:18 GMT</lastBuildDate>
  <generator>LiveJournal / Dreamwidth Studios</generator>
  <lj:journal>dastapov</lj:journal>
  <lj:journaltype>personal</lj:journaltype>
  <image>
    <url>https://v2.dreamwidth.org/14096042/2599974</url>
    <title>dump -0f - /dev/mind</title>
    <link>https://dastapov.dreamwidth.org/</link>
    <width>67</width>
    <height>100</height>
  </image>

<item>
  <guid isPermaLink='true'>https://dastapov.dreamwidth.org/129372.html</guid>
  <pubDate>Wed, 12 Jul 2017 21:24:18 GMT</pubDate>
  <title>Как я переезжаю в dreamwidth, часть вторая: фиксим ссылки</title>
  <link>https://dastapov.dreamwidth.org/129372.html</link>
  <description>У меня в ЖЖ было куча ссылок между постами, и я хотел в DW поправить их так, чтобы они вели на соответствующие посты в DW.&lt;br /&gt;&lt;br /&gt;Оказалось, что все велосипеды уже придуманы до нас :) &lt;a href=&quot;http://bluedrag.dreamwidth.org/296158.html?view=628446&quot;&gt;Вот тут&lt;/a&gt; человек наколхозил скрипт, который пробегает по архиву, сделанному ljdump, собирает соответствия между URL-ами в ЖЖ и DW, правит посты и обновляет их в DW.&lt;br /&gt;&lt;br /&gt;Из коробки скрипт у меня не заработал, пришлось его чуть поправить, чтобы он умел работать с ЖЖ-никами, в которых есть подчеркивания (как это было у меня). Результат на github-е (&lt;a href=&quot;https://github.com/adept/ljdump/blob/master/fix_links.py&quot;&gt;https://github.com/adept/ljdump/blob/master/fix_links.py&lt;/a&gt;), запускать из директории с результатами ljdump. &lt;br /&gt;&lt;br /&gt;Оно будет показывать diff для всех поправленных постов и после подтверждения обновлять их. Можно выбрать альтернативную программу для сравнения через переменную окружения DIFF.&lt;br /&gt;&lt;br /&gt;Я запускал так:  DIFF=patdiff ~/path/to/fix_links.py&lt;br /&gt;&lt;br /&gt;Вроде бы как все переехало нормально, ссылки поправлены, ничего не поломалось.&lt;br /&gt;&lt;br /&gt;UPD: Заодно, вписав в скрипт пару строк вида url[&apos;вот это&apos;]=&apos;заменить на это&apos;, пофиксил все картинки, которые поломались после того, как dropbox закрыл public фолдеры. Красота!&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=dastapov&amp;ditemid=129372&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://dastapov.dreamwidth.org/129372.html</comments>
  <category>исход_из_жж</category>
  <category>linux</category>
  <lj:security>public</lj:security>
  <lj:reply-count>5</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://dastapov.dreamwidth.org/129182.html</guid>
  <pubDate>Thu, 06 Apr 2017 22:46:34 GMT</pubDate>
  <title>Как я переезжаю в dreamwidth</title>
  <link>https://dastapov.dreamwidth.org/129182.html</link>
  <description>Сказал сделать импорт всего, importer отругался, что &quot;Unable to load FOAF data&quot;, но вроде все из профиля втянул. Что ему не нравиться - неясно, в ЖЖ по ссылке /data/foaf все отлично отдается.&lt;br /&gt;&lt;br /&gt;Взял ljdump.py &lt;a href=&quot;https://github.com/ghewgill/ljdump&quot;&gt;отсюда&lt;/a&gt;, добавил два патчика &lt;a href=&quot;http://ljdump.livejournal.com/13677.html&quot;&gt;отсюда&lt;/a&gt; и выкачал им все из ЖЖ и из dreamwidth.&lt;br /&gt;&lt;br /&gt;С помощью bash и patdiff сравнил выкачанное, наколхозив вот такой скрипт:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;
#!/bin/bash
lj=&quot;$1&quot;
dw=&quot;$2&quot;
for l in ${lj}/L-* ; do
    l_url=$(xmlstarlet sel -t -v &quot;event/url&quot; -n $l | grep -o &apos;[0-9]*&apos;)
    d=$(ag -l &quot;/${l_url}&amp;lt;/import_source&quot; ${dw})
    d_url=$(xmlstarlet sel -t -v &quot;event/url&quot; -n $d | grep -o &apos;[0-9]*&apos;)    
    echo &quot;$l (${l_url}.html) vs ${d} (${d_url}.html)&quot;
    [ -z &quot;$d&quot; ] &amp;amp;&amp;amp; { echo &quot;cant find dw post for $l&quot;; exit 1; }
    patdiff -ascii &amp;lt;(xmlstarlet sel -t -v &quot;event/event&quot; -n $l | \
              sed -re &apos;s#lj (user|comm)=&quot;?([^ &amp;amp;&quot;]*)&quot;?[^&amp;amp;]*&amp;amp;gt#user site=&quot;livejournal.com&quot; \1=&quot;\2&quot;\&amp;amp;gt#g&apos;) \
            &amp;lt;(xmlstarlet sel -t -v &quot;event/event&quot; -n $d)
done
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Страшный sed из-за того, что в ссылки на пользователей ЖЖ dreamwidth добавляет site=&quot;livejournal.com&quot; и обязательные кавычки вокруг имени пользователя.&lt;br /&gt;&lt;br /&gt;Похоже, не переехало только embedded video, а все остальное - пучком. Настроил кросспост в ЖЖ. Что еще я пропустил? &lt;br /&gt;&lt;br /&gt;Что DW делает с френдами, которые тоже переехали сюда? Как-то их вычисляет/добавляет, или нет?&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=dastapov&amp;ditemid=129182&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://dastapov.dreamwidth.org/129182.html</comments>
  <category>linux</category>
  <category>исход_из_жж</category>
  <lj:security>public</lj:security>
  <lj:reply-count>10</lj:reply-count>
</item>
</channel>
</rss>
