Plasma/Public Transport/CreateServiceProviders/uk: Difference between revisions
(Created page with "*'''StopName''' ('''обов’язковий параметр для пропозицій щодо зупинок''', назва зупинки або станції)
*'''Stop...") |
No edit summary |
(One intermediate revision by one other user not shown) | |
(No difference)
|
Latest revision as of 15:23, 31 December 2010
Створення нового запису джерела даних
Назви файлів мають починатися з коду країни, потім слід використати символ підкреслювання і вказати скорочену назву джерела (звичайно ж, не слід забувати про суфікс назви). Початком назви файла може бути код країни, "international" або "unknown", потім має бути "_" і скорочена назва джерела даних. Приклади: "de_db", "ch_sbb", "sk_atlas", "international_flightstats". Назва файла XML має завершуватися суфіксом ".xml".
Файл XML
Файл XML має посилатися на файл скрипту, який слід використати і у якому має міститися «шаблон адреси», до якого програма додаватиме назву зупинки та інші вказівки щодо надання даних.
Файл скрипту
У файлі скрипту має бути принаймні одна функція, що називається "parseTimetable" і приймає один аргумент. Через цей аргумент функції має передаватися код HTML повністю. Обробку коду виконує сам скрипт. Нижче наведено список функцій, які використовують рушій даних PublicTransport для обробки документа скриптом:
- parseTimetable( html ) (використовується для обробки документів щодо відправлення-прибуття)
- parseJourneys( html ) (використовується для обробки документів маршрутів)
- parsePossibleStops( html ) (використовується для обробки документів пропозицій щодо зупинок)
Допоміжні функції
Передбачено допоміжний об’єкт з назвою "helper", який можна використовувати у скрипті. Частиною об’єкта є такі функції:
- trim( рядок ) (вилучає « » з початку та кінця вказаного рядка)
- stripTags( рядок ) (вилучає всі теґи з вказаного рядка, тобто вилучає <...> або </...>)
- camelCase( рядок ) (змінює регістр літер так, щоб перший символ кожного зі слід був великою літерою, а решта символів – малими літерами)
- extractBlock( рядок, рядок_початку, рядок_кінця ) (повертає рядок між першим входженням рядок_початку і першим входженням рядок_кінця або порожній рядок, якщо у рядку не вдасться знайти підрядків рядок_початку і рядок_кінця. Наприклад, extractBlock("<b>Текст жирним</b>", "<b>", "</b>") поверне "Текст жирним")
- matchTime( рядок, форматування ) (пошук рядка часу у вказаному форматі, наприклад, "hh:mm" повертає список з двох цілих чисел: значень годин і хвилин)
- formatTime( година, хвилина, форматування ) (створює рядок часу у вказаному форматуванні)
- duration( sTime1, sTime2, форматування ) (повертає тривалість періоду часу між sTime1 і sTime2, рядками часу у вказаному форматуванні)
- addMinsToTime( sTime, кількість_доданих_хвилин, форматування ) (обробляє вказаний рядок часу відповідно до вказаного форматування, додає кількість_доданих_хвилин і повертає дані відповідно до форматування)
- splitSkipEmptyParts( рядок, роздільник ) (поділяє вказаний рядок за роздільником, порожні частини буде пропущено)
Додавання оброблених даних щодо відправлення до набору результатів
Скрипту передається об’єкт з назвою "timetableData". Щоб додати оброблені дані щодо відправлення до результату, допишіть щось подібне до наведеного нижче:
// Додавання відправлення timetableData.clear(); timetableData.set( 'TransportLine', 'N6' ); timetableData.set( 'TypeOfVehicle', 'STR' ); timetableData.set( 'Target', 'Bremen Hbf' ); timetableData.set( 'DepartureHour', 1 ); timetableData.set( 'DepartureMinute', 30 ); result.addData( timetableData );
Вказана команда додасть дані щодо відправлення трамвая маршруту "N6", що відправляється о 1:30 до кінцевої зупинки "Bremen Hbf".
Типи даних
Нижче наведено список всіх типів даних, які можна додати до об’єкта timetableData для відправлення, прибуття або маршруту:
- DepartureDate (дата відправлення)
- DepartureHour (обов’язковий параметр для відправлення, прибуття та маршрутів, година відправлення)
- DepartureMinute (обов’язковий параметр для відправлення, прибуття та маршрутів, хвилина відправлення)
- TransportLine (обов’язковий параметр для відправлення або прибуття, назва маршруту громадського транспорту, наприклад, "4", "6S", "S 5", "RB 24122")
- Target (обов’язковий параметр для відправлення або прибуття, кінцева зупинка маршруту або рейсу громадського транспорту)
- TypeOfVehicle (тип засобу пересування)
- FlightNumber (те саме, що і TransportLine, використовується для авіатранспорту)
- Platform (платформа, з якої відправляється або до якої прибуває громадський транспорт)
- Delay (затримка громадського транспорту)
- DelayReason (причина затримки)
- JourneyNews (може містити дані щодо затримки, причини затримки та інші повідомлення)
- JourneyNewsOther (інші новини)
- JourneyNewsLink (містить посилання на сторінку html з новинами маршрутів. Додаватиметься адреса батьківської сторінки, якщо буде встановлено, що шлях до сторінки є відносним (починається з "/"))
- DepartureHourPrognosis (ймовірна година відправлення, типова година відправлення плюс затримка)
- DepartureMinutePrognosis (ймовірна хвилина відправлення, типова хвилина відправлення плюс затримка)
- Operator (компанія-власник засобу пересування)
- DepartureAMorPM (використовується для встановлення відповідності рядку "am" або "pm" для часу відправлення)
- DepartureAMorPMPrognosis (використовується для встановлення відповідності рядку "am" або "pm" для ймовірного часу відправлення)
- ArrivalAMorPM (використовується для встановлення відповідності рядку "am" або "pm" для часу прибуття)
- Status (поточний стан відправлення-прибуття. Використовується для літаків)
- DepartureYear (рік відправлення, буде використано, якщо у даті вказано рік)
- RouteStops (список зупинок прибуття-відправлення до зупинки призначення або список зупинок маршруту від початкової зупинки до кінцевої. Якщо встановлено обидва значення, RouteStops і RouteTimes, ці значення мають містити однакову кількість пунктів. Пункти з однаковими номерами має бути пов’язано між собою (час, протягом якого засіб пересування перебуває на зупинці). Для маршрутів слід використовувати RouteTimesDeparture і RouteTimesArrival, а не RouteTimes)
- RouteTimes (Список часів прибуття-відправлення до зупинки призначення. Якщо встановлено обидва значення, RouteStops і RouteTimes, ці значення мають містити однакову кількість пунктів. Пункти з однаковими номерами має бути пов’язано між собою (час, протягом якого засіб пересування перебуває на зупинці))
- RouteTimesDeparture (Список часів відправлення для маршруту. Якщо встановлено обидва значення, RouteStops і RouteTimesDeparture, ці значення мають містити однакову кількість пунктів. Пункти з однаковими номерами має бути пов’язано між собою (час, протягом якого засіб пересування перебуває на зупинці).)
- RouteTimesArrival (Список часів прибуття для маршруту. Якщо встановлено обидва значення, RouteStops і RouteTimesArrival, останнє зі значень має містити на один пункт менше (оскільки у першої зупинки немає часу прибуття, лише час відправлення). Пункти з однаковими номерами має бути пов’язано між собою (час, протягом якого засіб пересування перебуває на зупинці).)
- RouteExactStops (кількість обов’язкових зупинок маршруту. Список зупинок маршруту не є повним від останньої обов’язкової зупинки маршруту)
- RouteTypesOfVehicles (типи засобів пересування, які використовуються для кожного з підмаршрутів цілого маршруту)
- RouteTransportLines (маршрути транспорту, використані для кожного з підмаршрутів цілого маршруту)
- RoutePlatformsDeparture (платформи відправлення, використані для кожного з підмаршрутів цілого маршруту)
- RoutePlatformsArrival (платформи прибуття, використані для кожного з підмаршрутів цілого маршруту)
- RouteTimesDepartureDelay (список затримок у хвилинах для кожного часу відправлення маршруту (RouteTimesDeparture))
- RouteTimesArrivalDelay (список затримок у хвилинах для кожного часу прибуття маршруту (RouteTimesArrival))
Ці дані може бути застосовано лише до маршрутів:
- Duration (тривалість маршруту)
- StartStopName (назва початкової зупинки маршруту)
- StartStopID (ідентифікатор початкової зупинки маршруту)
- TargetStopName (назва зупинки-призначення маршруту)
- TargetStopID (ідентифікатор зупинки-призначення маршруту)
- ArrivalDate (дата прибуття)
- ArrivalHour (обов’язковий параметри для маршрутів, година прибуття)
- ArrivalMinute (обов’язковий параметри для маршрутів, хвилина прибуття)
- Changes (кількість пересадок протягом маршруту)
- TypesOfVehicleInJourney (список типів засобів пересування, використаних під час побудови маршруту)
- Pricing (дані щодо вартості пересування маршрутом)
Ці дані може бути застосовано лише до пропозицій щодо зупинок:
- StopName (обов’язковий параметр для пропозицій щодо зупинок, назва зупинки або станції)
- StopID (ідентифікатор зупинки або станції)
- StopWeight (рівень відповідності пропозиції щодо назви зупинки)