CreateMaterialPassport

Создание паспорта материала с указанными именем, названием, авторством, лицензией и форматом.

Параметры

Параметры аналогичны используемым в макросе CreateMaterialPassport.

Параметр

Тип

Значение по умолчанию

Описание

Name

Имя страницы

отсутствует

Имя новой страницы паспорта материала

Title

строка

отсутствует

Название материала

OriginalTitle

строка

отсутствует

Оригинальное название материала

Base

Имя страницы

PspoMaterials

Базовая страница для паспорта

Author

строка

отсутствует

Автор материала

License

строка

отсутствует

Лицензия материала

LicenseBase

Имя страницы

../LicenseInfo

Страница с информацией о лицензиях

Format

строка

отсутствует

Формат материала

FormatBase

Имя страницы

../FormatInfo

Страница с информацией о форматах

URL

строка

отсутствует

Ссылка на источник

Template

Имя страницы

MaterialPassportTemplate

Шаблон для создания паспорта материала

Поведение

  • При выполнении макроса создаётся страница с именем Base/Name с использованием шаблона Template, после чего выполняется попытка заполнить шаблон переданными в качестве параметров значениями Title, OriginalTitle, Author, License, Format, URL

  • В случае, если страница уже существует, будет выдано предупреждение и осуществлён переход на реферрер
  • В случае, если задано пустое имя, будет выдано предупреждение и осуществлён переход на реферрер

Использование

Обычно используется не напрямую, а макросом CreateMaterialPassport.

?action=CreateMaterialPassport&Name=MaterialName

  • Создаёт страницу с указанным именем и незаполненным шаблоном по умолчанию (MaterialPassportTemplate).

?action=CreateMaterialPassport&Name=MaterialName&Title=Material%20Title&OriginalTitle=Original%20Material%20Title&Author=Author%20Name&License=Licenses,List&Format=Format,List&URL=http%27%3a%3aexample.org%3a

  • Создаёт страницу с указанными названием, заголовком, названием материала, автором, лицензией, форматом и источником.

MaterialFiles

Управление файлами материала. Обычно используется совместно с макросом MaterialFiles.

Формат вызова и поведение

Поведение action зависит в первую очередь от параметров subaction, который указывает действие, которое необходимо произвести, и path, который указывает путь к объекту (в формате ИмяМатериала/путь/к/файлу), над котором необходимо произвести действие. В зависимости от действия, могут требоваться дополнительные параметры, для задания которых генерируется соответствующая форма. Далее рассмотрены возможные параметры subaction, их семантика и используемые дополнительные параметры.

  • subaction=view --- просмотр файла

    • Дополнительные параметры: отсутствуют

    • Поведение: возвращает файл как он есть

  • subaction=move --- перемещение файла

    • Дополнительные параметры:

      • to=destination --- целевая директория
    • Поведение: В случае отсутствия параметра to выводится дерево каталогов материала, в котором находится объект. В случае, если параметр to указан, то происходит перемещение объекта в указанную директорию

  • subaction=delete --- удаление файла

    • Дополнительные параметры: отсутствуют

    • Поведение: удаление указанного файла или директории

  • subaction=upload --- закачивание файла

    • Дополнительные параметры:

      • file --- содержимое файла
    • Поведение: Если параметр file не передан, то будет отбражена форма выбора файла для загрузки. Если параметр file передан, то производится загрузка файла в директорию path

  • subaction=pack --- архивирование файла или директории

    • Дополнительные параметры: отсутствуют

    • Поведение: Архивирование указанного файла или директории командой tar cjf. В случае, если действие производится над материалом, то архивируются все файлы материала

  • subaction=unpack --- распаковка архивов tar.bz2

    • Дополнительные параметры: отсутствуют

    • Поведение: Выполняет команду tar xjf над указанным файлом

  • subaction=mkdir --- создание поддиректории

    • Дополнительные параметры:

      • name=dirname --- имя создаваемой поддиректории
    • Поведение: в случае, если параметр name не передан, отображается форма указания имени поддиректории. Если параметр name указан, то создаётся поддиректория с именем name в директории path

В случае, еслид действие выполнить не возможно по каким-либо причинам, выводится соответствующая диагностика. Возможные виды причин:

  • Путь не существует
  • Путь не является директорией
  • Произошла ошибка во время выполнения операции
  • Нет прав для выполнения операции

Права доступа

Для управления файлами используются права доступа read и write страницы паспорта материала. Право доступа read даёт возможность выполнять subaction=view. Право доступа write даёт возможность выполнять действия move, delete, upload, pack, unpack, mkdir. В случае, если права на запрашиваемое действие отсутствуют, выводится предупреждение и присходит переход на реферрер.

PassportGenerator

Action для массовой генерации паспортов материалов по дереву wiki-страниц.

Параметры

Параметр

Тип

Значение по умолчанию

Описание

Base

Имя страницы

PspoClasses

Базовая страница для дерева wiki-страниц, для кторых генерируется паспорт

MinDepth

число

2

Минимальная глубина вложения wiki-страниц (относительно базы), для которых необходимо генерировать паспорт

MaxDepth

число

2

Максимальная глубина вложения wiki-страниц (относительно базы), для которых необходимо генерировать паспорт

Overwrite

bool (True/False)

False

Перезаписывать ли имеющиеся страницы в процессе генерации новых

Поведение

  • Ищутся все подстраницы страницы, указанной в параметре Base
  • Для каждой из найденных страниц, прошедших тест глубины, создаётся паспорт
    • Имя страницы паспорта --- название wiki-страницы с заменёнными "/" на "_"
    • Название и оригинальное название страницы берутся из первого найденного в странице заголовка
    • Автор --- Георгий Курячий

    • Лицензия --- GFDL
    • Формат --- wiki (это включает мозг у action CreateMaterialPassport)

    • URL --- wiki-ссылка
    • Аннотация --- если в wiki-странице есть текст, ограниченный маркерами ##Begin abstract## и ##End abstract##, то ставится инклюд его (<<Include(%s,,from="##Begin abstract##",to="##End abstract##")>>), в противном случае пишется, что краткое писание не найдено

    • Если страница паспорта уже существует
  • Список страниц, для которых сгенерирован паспорт (и их глубина) выводятся как результат работы action

Использование

На данный момент данный action используется для следующих целей:

PageContentsReplace

Изменение содержимого дерева страниц.

Параметры

Параметр

Тип

Значение по умолчанию

Описание

Base

Имя страницы

PspoClasses

Корень модифицируемого дерева

MinDepth

число

1

Минимальная глубина модифицируемых страниц относительно корня

MaxDepth

число

1

Максимальная глубина модифицируемых страниц относительно корня

From

строка

отсутствует

Что заменять (python regex)

To

строка

отсутствует

На что заменять

Perform

флаг

False

Скрипт действительно применяется, только если данный флаг установлен в True

Поведение

  • Action находит страницы, соответствующие запросу 'title:regex:"^' + Base + r'(/.+)?$"', выбирает среди них те, которые находятся на нужной глубине и применяет к ним замену (re.sub(From, To, page_body))

  • Action не работает для пустого regex From
  • Action не работает, если MinDpeth > MaxDepth

eSyr/WikiHack/Actions (last edited 2009-04-03 16:19:28 by eSyr)