WikipediaFS
Последнее изменение этой страницы: 18:41, 20 июня 2017.
Features | |
---|---|
Дедупликация данных | (single_instance_storage) |
Другие | |
Операционная система | Mac OS X, Linux, FreeBSD |
Веб-сайт |
wikipediafs |
WikipediaFS - это виртуальная файловая система, которая позволяет пользователям просматривать и редактировать статьи любого сайта на основе MediaWiki, как если бы они были реальными файлы на локальном диске. Это позволяет пользователю редактировать статьи непосредственно с помощью любого текстового редактора. WikipediaFS разработана Матье Блонделом на SourceForge.net.
WikipediaFS реализован на Python и использует модуль FUSE. Файловая система работает лениво скачав и загрузив статьи sourcetexts - только отправка HTTP-запросы к выбранному участку при обращении к файлу. (Чтению файла соответствует запрос HTTP GET, записи - запрос POST HTTP.)
WikipediaFS позволяет просматривать и редактировать статьи Википедии, как если бы они были реальными файлами. mount.wikipediafs монтирует файловую систему WikipediaFS.
Работа над проектом с 2007 года приостановлена.
Содержание
Инсталляция и начальная настройка
Устанавливается из архива исходных текстов или как пакет, принятым в дистрибутиве способом:
%# apt-get install wikipediafs
Как зависимости также будут установлены пакеты:
- libfuse2
- fuse-utils
- python-fuse
После инсталляции можно выполнить первый запуск:
%$ mount.wikipediafs fuse: missing mountpoint filesystem initialization failed
Несмотря на то, что программа выдала сообщение об ошибке, был создан конфигурационный файл, который можно изменить, и указать параметры подключения к интересующему вас mediawiki-сайту:
igor@chub:~$ ls /home/igor/.wikipediafs/ config.xml wikipediafs.log
Например, для работы с bmstu.wiki конфигурационный файл будет выглядеть так:
<?xml version="1.0" encoding="UTF-8"?> <wfs-config> <general> <article-cache-time>30</article-cache-time> </general> <sites> <site> <dirname>xgu.ru</dirname> <host>ru.bmstu.wiki</host> <basename>/w/index.php</basename> <username>user</username> <password>password</password> </site> </sites> </wfs-config>
Вместо слов user и password вы должны указать имя и пароль своего пользователя для подключения.
Пример использования
Для того чтобы можно было выполнять монтирование от имени простого пользователя, его необходимо включить в группу fuse и перерегистрироваться.
%$ sudo useradd -a -G fuse user
После этого можно выполнять монтирование файловой системы:
$ mount.wikipediafs /mnt/wfs/ $ ls /mnt/wfs/ ru.bmstu.wiki $ cd /mnt/wfs/ru.bmstu.wiki
Пусто, потому что мы ни к одному файлу ещё не обращались.
Обратимся:
$ cat WikipediaFS.mw | less
И увидим код этой страницы.
Попробуем её поправить:
$ vi WikipediaFS.mw
Страница будет изменена.
Автоматизация работы
Если вики-проект не очень большой, то можно вытащить имена всех его страниц с помощью маленького скрипта:
SITE=ru.bmstu.wiki INDEX=/w/index.php wget -O - 'http://'$SITE$INDEX'?title=Special:Popularpages&limit=1000&offset=0' 2>/dev/null \ | grep 'li..a.href=..wiki' \ | perl -p -e 's@.*?/wiki/@@; s@".*@@' \ | perl -p -e 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg;'
Сделать так чтобы в каталоге появились первые из 100 страниц в этом списке можно так:
Очень медленно на медленном канале и просто медленно на быстром
wpfs-all-pages \ | head -100 \ | grep -v / \ | while read name do head -1 wfs/ru.bmstu.wiki/$name.mw > /dev/null echo $name done
#!/bin/sh set -x filename=$1 cat $filename >/tmp/wpfs-perl-i-$$ shift cat /tmp/wpfs-perl-i-$$ | perl -i "$@" > $filename rm /tmp/wpfs-perl-i-$$
for i in *.mw ; do wpfs-perl-i $i -p -e "s@Короткая ссылка: http://ru.bmstu.wiki/wiki/([^'< \n]*)@{{коротко|\$1}}@" ; done
Литература
- WikipediaFS // XGU сайт: URL: http://xgu.ru/wiki/WikipediaFS (дата обращения: 05.04.2017)
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.