В последнее время у меня нет времени на ЖЖ. Совсем.
Поэтому передо мной стала задача — отслеживание, кто чего написал.
Google Reader любезно согласился мне помочь, но переносить больше сотни пользователей в RSS Reader — кощунство, когда это можно автоматизировать.
Посмотрел я на свой список друзей (при копипасте из профиля это список пользователей, разделенный запятыми) и подумал, что автоматизировать это дело можно легко и быстро.
Задача: превратить файл со списком пользователей «ааа, bbb, ccc», при условии что удалённые журналы мы удаляем руками, а закрытые мы увидим по обычно верхнему открытому посту, или вообще без записей (что, в итоге, получилось), в opml файл для скармливания его rss-читалке.
—
####
# This script make an a OPML file from list of ljusernames, which separated by commas.
# "ljusername1, ljusername2"
####
# Тут мы жестко прописываем файл.
$Filename="ljusers.txt"
# Выходной файл
$Outfile="lj.opml"
# Получаем в переменную содержимое нашего файла
$UserList = Get-Content $Filename
# Прописываем заголовок
add-content -Encoding UTF8 -path $Outfile -Value "`<`?xml version=`"1.0`" encoding=`"UTF-8`"?`>"
add-content -Encoding UTF8 -path $Outfile -Value " <opml version=`"1.0`">"
add-content -Encoding UTF8 -path $Outfile -Value " <head>"
# Папка в rss-reader'е, Google Reader её прекрасно определил, как и теги.
add-content -Encoding UTF8 -path $Outfile -Value " <title>Подписки в ЖЖ</title>"
add-content -Encoding UTF8 -path $Outfile -Value " </head>"
add-content -Encoding UTF8 -path $Outfile -Value " <body>"
add-content -Encoding UTF8 -path $Outfile -Value " <outline title=`"Друзья в ЖЖ`" text=`"Друзья в ЖЖ`">"
# Рисуем сами подписки (в цикле, но названия ЖЖ будет равняться имени пользователя, чтобы не
# перепутать если оно меняется, пробелами выставляется форматирование полученной XML)
foreach ($ljusername in $UserList -Split ", ")
{ " <outline text=`"http://$ljusername.livejournal.com/data/rss`"",
" title=`"$ljusername`"",
" xmlUrl=`"http://$ljusername.livejournal.com/data/rss`"",
" htmlUrl=`"http://$ljusername.livejournal.com/`"`/`>`n" | out-file -Append -FilePath $Outfile -Encoding UTF8
}
# footer - закрываем лоткрытые теги.
add-content -Encoding UTF8 -path $Outfile -Value " </outline>"
add-content -Encoding UTF8 -path $Outfile -Value " </body>"
add-content -Encoding UTF8 -path $Outfile -Value "</opml>"
# Конец скрипта.
— Приветствуются усовершенствования и критика.
Автор: foxmuldercp