Автоматизировать добавление записей в вики - PullRequest
3 голосов
/ 15 августа 2008

Как только у меня появятся переименованные файлы, мне нужно добавить их на мою вики-страницу проекта. Это довольно повторяющееся ручное задание, поэтому я думаю, что смогу написать его, но не знаю, с чего начать.

Процесс:

Got to appropriate page on the wiki

for each team member (DeveloperA, DeveloperB, DeveloperC)
{
    for each of two files ('*_current.jpg', '*_lastweek.jpg')
    {
        Select 'Attach' link on page
        Select the 'manage' link next to the file to be updated
        Click 'Browse' button
        Browse to the relevant file (which has the same name as the previous version)
        Click 'Upload file' button
    }
}

Не обязательно искать полное решение, так как я бы сам хотел попробовать.

С чего начать? На каком языке я могу это сделать и насколько это будет сложно?

Ответы [ 3 ]

2 голосов
/ 15 августа 2008

Проверьте, поддерживает ли вики, с которой вы хотите поговорить, XMLRPC , потому что если это так, то это должно быть просто. Я написал инструмент под названием WikiUp для решения аналогичной проблемы (обновление выделенного раздела на вики-странице).

1 голос
/ 15 августа 2008

Вы можете найти CoScripter полезным - это расширение Firefox, которое позволяет автоматизировать задачи, которые вы выполняете на веб-сайтах. Я не уверен, как бы вы интегрировали это со списком файлов, которые вы изменяете в локальной системе, но он, безусловно, может обработать загрузку файлов через веб-форму.

Лучше сделать ставку, вероятно, используя cURL или подобную библиотеку HTTP с вашим языком программирования. Если вы используете * nix, вы можете использовать программу командной строки cURL внутри своего сценария оболочки, чтобы сделать это довольно легко. (Как сказал @jsight, вам нужно проанализировать фактические формы, которые вы используете на веб-странице, используя Fiddler или просто просматривая элементы формы и заново создавая POST через cURL.)

1 голос
/ 15 августа 2008

Если вы пишете на C #, классы WebClient могут быть хорошим местом для начала. Могу поспорить, что люди могли бы дать более конкретный совет, если вы упомянули, какую платформу вики вы используете и требует ли она аутентификации.

Вероятно, я бы начал с загрузки fiddler и просмотра http-запросов, выполняя это вручную. Затем вы могли бы использовать несколько простых сценариев и регулярных выражений для построения ваших http-запросов для автоматизации процесса.

Конечно, если вам повезет, у вашей вики будет достаточно простой бэкэнд, чтобы вы могли просто подключить их к своей базе данных напрямую. :)

...