Конвертація списків

Матеріал з Вікімедіа Україна
Перейти до навігації Перейти до пошуку

На жаль через недоліки тулсервера і його програмістів, ми вимушені формувати списки у досить специфічному шаблонному форматі. Відтак звичайні, прості вікі-списки доводиться конвертувати у шаблонні. Нижче описується, як це робиться.

Теорія[ред.]

Постановка задачі[ред.]

Власне поки не зрозуміло, чи дадуть мені іноземні генії обіцяний інструмент, але маю передчуття що вони блефували, натомість наші можуть краще. Отже. Потрібна трансформація такого роду:

Виглядає:

|-
| a1 || b1 || c1 || d1
|-
| a2 || b2 || c2 || d2

Має виглядати:

{{WLM-рядок| parameter name1 = a1 | parameter name2 = b1 | parameter name3 = c1 | parameter name4 = d1}}
{{WLM-рядок| parameter name1 = a2 | parameter name2 = b2 | parameter name3 = c2 | parameter name4 = d2}}

Список, де ідея реалізована у 2-х рядках вручну - Вікіпедія:Вікі любить пам'ятки/Вінницька область/Жмеринка. Робилося руками, отак.

Розв'язання[ред.]

Практика[ред.]

Крок 1. Конвертація в шаблонний вигляд[ред.]

Для конвертації списків використовується підстановочний шаблон {{WLM-row}} та програма, здатна робити автохзаміни. Для тих, хто користується AWB нижче приводяться посилання на файли AWB розроблені для автозамін.

Отже, для конвертації форматів слід зробити такі кроки:

1. Обрати список для конвертації. Використовуватиме в якості прикладу Перелік об'єктів культурної спадщини Голосіївського району міста Києва.

2. Модифікуємо шаблон Шаблон:WLM-row або створюємо подібний так, щоб номери стовпчиків вихідного списку були поставлені навпроти відповідного параметру в шаблоні. Наприклад у Голосіївському списку параметри такі:

  1. Номер
  2. Назва
  3. Дати
  4. Адреса
  5. Охоронний номер
  6. Документ про взяття на облік

Отже в нашому випадку має бути

{{WLM-рядок
| ID = {{{1}}} (номер)
| назва = {{{2}}} (назва)
| рік = {{{3}}} (дати)
| нас_пункт =[[Київ]] (бо список київський)
| адреса = {{{4}}} (адреса)
| координати = (порожньо, бо відсутній такий параметр)
| охоронний номер = {{{5}}} (охоронний номер)
| тип = (порожньо, бо відсутній такий параметр) 
| фото = (порожньо, бо відсутній такий параметр) 
|галерея = (порожньо, бо відсутній такий параметр) 
}}

Зберігаємо зміни в шаблоні.

3. Копіюємо вихідний список на сторінку проекту. В нашому випадку це буде сторінка Вікіпедія:Вікі любить пам'ятки/Київ/Голосіївський. Для інших міст чи районів бажано, об ця сторінка була підсторінкою відповідної області проекту Вікіпедія:Проект:Вікі любить пам'ятки.

4. Змінюємо усі входження:

файл_AWB

|-
|

на

}}
{{subst:WLM-row|

а також всі

||

на

|
  1. Зберігаємо сторінку.
  2. Додаємо координати та світлини по можливості.

Або можна піти іншим шляхом: скопіювати з Word в Excel, зробити необхідні заміни, вилучити зайві колонки, з решти колонок (ID, назва, н/п, адреса, ох. номер, рік, тип) за допомогою конкатенації отримати необхідні рядки з шаблоном ВЛП-рядок, потім скопівати їх у список.

Крок 2. Географічні координати[ред.]

  1. Як визначити географічні координати читаємо тут: Довідка:Географічні координати
  2. Координати підставляються у параметр "координати" в довільному форматі - {{coord|широта|довгота}} або {{coord|гг|мм|сс|N|гг|мм|сс|E|}}
  3. Не забувайте змінити знаки градусів хвилин і мінут на |. Можна це зробити вручну або за допомогою AWB (файл).

Крок 3. Переформатування координат для остаточного вигляду[ред.]

На жаль недоліки тулсервера і його програмістів не дозволяють працювати зі стандартними форматами координат {{coord|широта|довгота}} або {{coord|гг|мм|сс|N|гг|мм|сс|E|}} , а вимагають записувати значення широти і довготи окремо. Тому остаточний Шаблон:ВЛП-рядок має такий вигляд:

{{WLM-рядок
| ID =
| назва = 
| рік = 
| нас_пункт =
| адреса = 
| широта = 
| довгота =
| охоронний номер =
| тип = 
| фото = <br />
| галерея =
}}

Для того щоб трансформувати код, отриманий після кроку 2 у належний формат, слід зробити такі дії.

  1. Визначити, в якому форматі записані координати. Можливі три варіанти.
  2. Зробити перетворення
    • Якщо усі координати записані у форматі {{coord|широта|довгота}}, міняємо:
файл_AWB
| координати = {{coord|

на

| широта = {{subst:широта-н|

Визначаємо на якій довготі знаходяться об'єкти, після чого міняємо:

|дд. 

на

}}
|довгота = {{subst:довгота-н|дд.

Якщо район охоплює 2 довготи, відповідно міняємо двічі. Наприклад, якщо район охоплює 29-ту і 30-ту довготу міняємо:

|29. 

на

}}
|довгота = {{subst:довгота-н|29.

і

|30. 

на

}}
|довгота = {{subst:довгота-н|30.
    • Якщо усі координати записані у форматі {{coord|гг|мм|сс|N|гг|мм|сс|E|}} , міняємо:
| координати = {{coord|

на

| широта = {{subst:широта-н|

і

N|

на

}}
|довгота = {{subst:довгота-н|
    • Якщо в перемішку виконуємо послідовно усі заміни, перелічені вище.

Крок 4. Останній крок[ред.]

  1. Зберігаємо список
  2. Не лякакємося жаху який побачимо, а міняємо всі входження {{# на {{subst:#
  3. Ще раз зберігаємо і
    1. Якщо вийшло кльово, втішаємося досягненнями
    2. Якщо не вийшло скаржимося користувачу A1

Альтернативний Крок 2.[ред.]

Можна одразу WLM-рядок конвертувати у ВЛП-рядок і координати одразу вводити у форматі - широту окремо і довготу окремо. Для цього робимо такі зміни:

файл_AWB
{{WLM-рядок

на

{{ВЛП-рядок

і

|координати =

на

|широта =
|довгота =

Недоліки з читанням шаблонів[ред.]

Звертаємо увагу на те, що тулсервер не спроможний читати шаблони. Тому в конкурсних списках слід уникати шаблонів скорочень, шаблонів прихованих або спливаючих текстів (як напр. {{comment}}), а також шаблонів координат - і широта і довгота задаються просто числом.