Plasma/Public Transport/CreateServiceProviders/uk: Difference between revisions
No edit summary |
(Created page with "*'''DepartureDate''' (дата відправлення)
*'''DepartureHour''' ('''обов’язковий параметр для відправлення, прибуття ...") |
||
Line 59: | Line 59: | ||
Нижче наведено список всіх типів даних, які можна додати до об’єкта timetableData для відправлення, прибуття або маршруту: | Нижче наведено список всіх типів даних, які можна додати до об’єкта timetableData для відправлення, прибуття або маршруту: | ||
*'''DepartureDate''' ( | *'''DepartureDate''' (дата відправлення) | ||
*'''DepartureHour''' (''' | *'''DepartureHour''' ('''обов’язковий параметр для відправлення, прибуття та маршрутів''', година відправлення) | ||
*'''DepartureMinute''' (''' | *'''DepartureMinute''' ('''обов’язковий параметр для відправлення, прибуття та маршрутів''', хвилина відправлення) | ||
*'''TransportLine''' (''' | *'''TransportLine''' ('''обов’язковий параметр для відправлення або прибуття''', назва маршруту громадського транспорту, наприклад, "4", "6S", "S 5", "RB 24122") | ||
*'''Target''' (''' | *'''Target''' ('''обов’язковий параметр для відправлення або прибуття''', кінцева зупинка маршруту або рейсу громадського транспорту) | ||
*'''TypeOfVehicle''' ( | *'''TypeOfVehicle''' (тип засобу пересування) | ||
*'''FlightNumber''' ( | *'''FlightNumber''' (те саме, що і TransportLine, використовується для авіатранспорту) | ||
*'''Platform''' ( | *'''Platform''' (платформа, з якої відправляється або до якої прибуває громадський транспорт) | ||
*'''Delay''' ( | *'''Delay''' (затримка громадського транспорту) | ||
*'''DelayReason''' ( | *'''DelayReason''' (причина затримки) | ||
*'''JourneyNews''' ( | *'''JourneyNews''' (може містити дані щодо затримки, причини затримки та інші повідомлення) | ||
*'''JourneyNewsOther''' ( | *'''JourneyNewsOther''' (інші новини) | ||
*'''JourneyNewsLink''' ( | *'''JourneyNewsLink''' (містить посилання на сторінку html з новинами маршрутів. Додаватиметься адреса батьківської сторінки, якщо буде встановлено, що шлях до сторінки є відносним (починається з "/")) | ||
*'''DepartureHourPrognosis''' ( | *'''DepartureHourPrognosis''' (ймовірна година відправлення, типова година відправлення плюс затримка) | ||
*'''DepartureMinutePrognosis''' ( | *'''DepartureMinutePrognosis''' (ймовірна хвилина відправлення, типова хвилина відправлення плюс затримка) | ||
*'''Operator''' ( | *'''Operator''' (компанія-власник засобу пересування) | ||
*'''DepartureAMorPM''' ( | *'''DepartureAMorPM''' (використовується для встановлення відповідності рядку "am" або "pm" для часу відправлення) | ||
*'''DepartureAMorPMPrognosis''' ( | *'''DepartureAMorPMPrognosis''' (використовується для встановлення відповідності рядку "am" або "pm" для ймовірного часу відправлення) | ||
*'''ArrivalAMorPM''' ( | *'''ArrivalAMorPM''' (використовується для встановлення відповідності рядку "am" або "pm" для часу прибуття) | ||
*'''Status''' ( | *'''Status''' (поточний стан відправлення-прибуття. Використовується для літаків) | ||
*'''DepartureYear''' ( | *'''DepartureYear''' (рік відправлення, буде використано, якщо у даті вказано рік) | ||
*'''RouteStops''' ( | *'''RouteStops''' (список зупинок прибуття-відправлення до зупинки призначення або список зупинок маршруту від початкової зупинки до кінцевої. Якщо встановлено обидва значення, RouteStops і RouteTimes, ці значення мають містити однакову кількість пунктів. Пункти з однаковими номерами має бути пов’язано між собою (час, протягом якого засіб пересування перебуває на зупинці). Для маршрутів слід використовувати RouteTimesDeparture і RouteTimesArrival, а не RouteTimes) | ||
*'''RouteTimes''' ( | *'''RouteTimes''' (Список часів прибуття-відправлення до зупинки призначення. Якщо встановлено обидва значення, RouteStops і RouteTimes, ці значення мають містити однакову кількість пунктів. Пункти з однаковими номерами має бути пов’язано між собою (час, протягом якого засіб пересування перебуває на зупинці)) | ||
*'''RouteTimesDeparture''' ( | *'''RouteTimesDeparture''' (Список часів відправлення для маршруту. Якщо встановлено обидва значення, RouteStops і RouteTimesDeparture, ці значення мають містити однакову кількість пунктів. Пункти з однаковими номерами має бути пов’язано між собою (час, протягом якого засіб пересування перебуває на зупинці).) | ||
*'''RouteTimesArrival''' ( | *'''RouteTimesArrival''' (Список часів прибуття для маршруту. Якщо встановлено обидва значення, RouteStops і RouteTimesArrival, останнє зі значень має містити на один пункт менше (оскільки у першої зупинки немає часу прибуття, лише час відправлення). Пункти з однаковими номерами має бути пов’язано між собою (час, протягом якого засіб пересування перебуває на зупинці).) | ||
*'''RouteExactStops''' ( | *'''RouteExactStops''' (кількість обов’язкових зупинок маршруту. Список зупинок маршруту не є повним від останньої обов’язкової зупинки маршруту) | ||
*'''RouteTypesOfVehicles''' ( | *'''RouteTypesOfVehicles''' (типи засобів пересування, які використовуються для кожного з підмаршрутів цілого маршруту) | ||
*'''RouteTransportLines''' ( | *'''RouteTransportLines''' (маршрути транспорту, використані для кожного з підмаршрутів цілого маршруту) | ||
*'''RoutePlatformsDeparture''' ( | *'''RoutePlatformsDeparture''' (платформи відправлення, використані для кожного з підмаршрутів цілого маршруту) | ||
*'''RoutePlatformsArrival''' ( | *'''RoutePlatformsArrival''' (платформи прибуття, використані для кожного з підмаршрутів цілого маршруту) | ||
*'''RouteTimesDepartureDelay''' ( | *'''RouteTimesDepartureDelay''' (список затримок у хвилинах для кожного часу відправлення маршруту (RouteTimesDeparture)) | ||
*'''RouteTimesArrivalDelay''' ( | *'''RouteTimesArrivalDelay''' (список затримок у хвилинах для кожного часу прибуття маршруту (RouteTimesArrival)) | ||
''Ці дані може бути застосовано лише до маршрутів:'' | ''Ці дані може бути застосовано лише до маршрутів:'' |
Revision as of 13:52, 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 (The duration of a journey)
- StartStopName (The name of the starting stop of a journey)
- StartStopID (The ID of the starting stop of a journey)
- TargetStopName (The name of the target stop of a journey)
- TargetStopID (The ID of the target stop of a journey)
- ArrivalDate (The date of the arrival)
- ArrivalHour (Mandatory for journeys, The hour of the arrival)
- ArrivalMinute (Mandatory for journeys, The minute of the arrival)
- Changes (The number of changes between different vehicles in a journey)
- TypesOfVehicleInJourney (A list of vehicle types used in a journey)
- Pricing (Information about the pricing of a journey)
Ці дані може бути застосовано лише до пропозицій щодо зупинок:
- StopName (Mandatory for stop suggestions, The name of a stop / station)
- StopID (The ID of a stop / station)
- StopWeight (The weight of a stop suggestion)