Plasma/Public Transport/CreateServiceProviders/ca: Difference between revisions

    From KDE UserBase Wiki
    (Created page with "{{Info/ca|1=Més endavant hi haurà plantilles per a un fitxer XML i script. Fins llavors, podeu fer una ullada als proveïdors de serveis existents.}}")
    (Importing a new version from external source)
     
    (10 intermediate revisions by the same user not shown)
    Line 8: Line 8:
    === El fitxer XML ===
    === El fitxer XML ===


    Els enllaços als fitxers XML per al fitxer script que s'ha d'utilitzar i contindrà un «url pur», en aquest es pot inserir el nom de parada i altra informació.  
    Els enllaços als fitxers XML per al fitxer script que s'ha d'utilitzar i contindrà un «url pur», en aquest es pot inserir el nom de la parada i altra informació.  




    Line 25: Line 25:
    Aquest és un objecte d'ajuda anomenat «helper», que pot ser utilitzat per l'script. Té les següents funcions:  
    Aquest és un objecte d'ajuda anomenat «helper», que pot ser utilitzat per l'script. Té les següents funcions:  


    *'''trim( string )''' (Removes ' ' from the beginning and the end of the given string)  
    *'''trim( string )''' (Elimina « » del principi i el final de la cadena donada).
    *'''stripTags( string )''' (Removes all tags from the given string, ie. removing <...> or </...>)  
    *'''stripTags( string )''' (Elimina totes les etiquetes de la cadena donada, és a dir, elimina <...> o </...>).
    *'''camelCase( string )''' (The first character of each word will be upper case, all others lower case)  
    *'''camelCase( string )''' (El primer caràcter de cada paraula serà en majúscula, totes les altres en minúscules).
    *'''extractBlock( string, beginString, endString )''' (Returns the string between the first occurrence of beginString and the first occurrence of endString, or an empty string if beginString or endString couldn't be found in string. For example ''extractBlock("<b>Bold Text</b>", "<b>", "</b>")'' returns ''"Bold Text"'')  
    *'''extractBlock( string, beginString, endString )''' (Retorna la cadena entre la primera aparició de beginString i la primera aparició de endString, o una cadena buida si beginString o endString no s'ha pogut trobar a la cadena. Per exemple, ''extractBlock("<b>Bold Text</b>", "<b>", "</b>")'' retorna ''"Bold Text"'').
    *'''matchTime( string, formatString )''' (Searches for a time string of the given format, eg. "hh:mm" and returns a list with two integers, the hour and the minute)  
    *'''matchTime( string, formatString )''' (Cerca una cadena d'hora en el format donat, per exemple, «hh:mm» retorna una llista amb dos nombres enters, l'hora i els minuts).
    *'''formatTime( hour, minute, formatString )''' (Formats the given time using the given formatString)  
    *'''formatTime( hour, minute, formatString )''' (Dóna format a l'hora donada amb el formatString determinat).
    *'''duration( sTime1, sTime2, formatString )''' (Returns the duration in minutes from sTime1 to sTime2, which are time strings in the given format)  
    *'''duration( sTime1, sTime2, formatString )''' (Torna la durada en minuts de sTime1 a sTime2, que són cadenes d'hora en el formatString determinat).
    *'''addMinsToTime( sTime, minsToAdd, formatString )''' (Parses the given time using the given formatString, adds minsToAdd minutes and format it again using formatString)  
    *'''addMinsToTime( sTime, minsToAdd, formatString )''' (Analitza l'hora amb el formatString determinat, afegeix minuts amb minsToAdd i especifica altra vegada el format utilitzant formatString).
    *'''splitSkipEmptyParts( string, separator )''' (Splits the given string using the given separator, while skipping empty parts)
    *'''splitSkipEmptyParts( string, separator )''' (Divideix la cadena donada utilitzant el separador indicat, mentre que omet les parts buides).




    Line 51: Line 51:
      result.addData( timetableData );}}
      result.addData( timetableData );}}


    Això afegeix un punt de sortida de la línia de tramvia «N6», sortint a les 01:30 amb la destinació «Hbf Bremen».  
    Això afegeix un punt de sortida de la línia de tramvia «N6», sortint a les 01:30 amb la destinació «Bremen Hbf».  




    Line 59: Line 59:
    Aquí teniu una llista de tots els tipus d'informació que es pot afegir a l'objecte timetableData per a sortida, arribada i viatge:  
    Aquí teniu una llista de tots els tipus d'informació que es pot afegir a l'objecte timetableData per a sortida, arribada i viatge:  


    *'''DepartureDate''' (The date of the departure)
    *'''DepartureDate''': La data de la sortida.
    *'''DepartureHour''' ('''Mandatory for departures/arrivals/journeys''', the hour of the departure)
    *'''DepartureHour''': '''Obligatori per a les sortides, arribades i viatges'''. L'hora de la sortida.
    *'''DepartureMinute''' ('''Mandatory for departures/arrivals/journeys''', the minute of the departure)
    *'''DepartureMinute''': '''Obligatori per a les sortides, arribades i viatges'''. El minut de la sortida.
    *'''TransportLine''' ('''Mandatory for departures/arrivals''', The name of the public transport line, e.g. "4", "6S", "S 5", "RB 24122")
    *'''TransportLine''': '''Obligatori per a les sortides i arribades'''. El nom de la línia de transport públic, per exemple, «4», «6S», «S 5», «RB 24122».
    *'''Target''' ('''Mandatory for departures/arrivals''', The target of a journey / of a public transport line)
    *'''Target''': '''Obligatori per a les sortides i arribades'''. La destinació d'un viatge / d'una línia de transport públic.
    *'''TypeOfVehicle''' (The type of vehicle)
    *'''TypeOfVehicle''': El tipus de vehicle.
    *'''FlightNumber''' (Same as TransportLine, used for flights)
    *'''FlightNumber''': Igual que TransportLine, utilitzat per a vols.
    *'''Platform''' (The platform at which the vehicle departs/arrives)
    *'''Platform''': La plataforma en la qual el vehicle surt/arriba.
    *'''Delay''' (The delay of a public transport vehicle)
    *'''Delay''': El retard d'un vehicle de transport públic.
    *'''DelayReason''' (The reason of a delay)
    *'''DelayReason''': El motiu d'un retard.
    *'''JourneyNews''' (Can contain delay / delay reason / other news)
    *'''JourneyNews''': Pot contenir retard / motiu del retard / altres notícies.
    *'''JourneyNewsOther''' (Other news (not delay / delay reason))  
    *'''JourneyNewsOther''': Altres notícies (sense retard / motiu del retard).
    *'''JourneyNewsLink''' (Contains a link to an html page with journey news. The url of the accessor is prepended, if a relative path has been matched (starting with "/"))  
    *'''JourneyNewsLink''': Conté un enllaç a una pàgina html amb notícies de viatge. L'url de l'accés s'anteposa, si coincideix un camí relatiu (començarà amb «/»).
    *'''DepartureHourPrognosis''' (The prognosis for the departure hour, which is the departure hour plus the delay)
    *'''DepartureHourPrognosis''': El pronòstic per a l'hora de sortida, la qual serà l'hora de sortida més el retard.
    *'''DepartureMinutePrognosis''' (The prognosis for the departure minute, which is the departure minute plus the delay)
    *'''DepartureMinutePrognosis''': El pronòstic per als minuts de l'hora de sortida, la qual serà l'hora de sortida més els minuts de retard.
    *'''Operator''' (The company that is responsible for the journey)
    *'''Operator''': L'empresa que s'encarrega del viatge.
    *'''DepartureAMorPM''' (Used to match the string "am" or "pm" for the departure time)
    *'''DepartureAMorPM''': S'utilitza per a la cadena «am» o «pm» per a l'hora de sortida.
    *'''DepartureAMorPMPrognosis''' (Used to match the string "am" or "pm" for the prognosis departure time)
    *'''DepartureAMorPMPrognosis''': S'utilitza per a la cadena «am» o «pm» per al pronòstic de l'hora de sortida.
    *'''ArrivalAMorPM''' (Used to match the string "am" or "pm" for the arrival time)
    *'''ArrivalAMorPM''': S'utilitza per a la cadena «am» o «pm» per a l'hora d'arribada.
    *'''Status''' (The current status of the departure/arrival. Currently only used for planes)
    *'''Status''': L'estat actual de la sortida/arribada. Actualment només s'utilitza per als avions.
    *'''DepartureYear''' (The year of the departure, to be used when the year is separated from the date)
    *'''DepartureYear''': L'any de la sortida, a utilitzar quan l'any se separa de la data.
    *'''RouteStops''' (A list of stops of the departure/arrival to its destination stop or a list of stops of the journey from its start to its destination stop. If RouteStops and RouteTimes are both set, they should contain the same number of elements. And elements with equal indices should be associated (the times at which the vehicle is at the stops). For journeys RouteTimesDeparture and RouteTimesArrival should be used instead of RouteTimes)
    *'''RouteStops''': Una llista de les parades de sortida/arribada fins a la vostra parada de destí o una llista de les parades del viatge des del seu inici fins a la parada de destí. Si RouteStops i RouteTimes estan establerts, hauran de contenir el mateix nombre d'elements. I els elements amb els índexs d'igualtat han d'estar associats (les hores en què el vehicle arriba a les parades). Per a viatges s'ha d'utilitzar RouteTimesDeparture i RouteTimesArrival en comptes de RouteTimes.
    *'''RouteTimes''' (A list of times of the departure/arrival to its destination stop. If RouteStops and RouteTimes are both set, they should contain the same number of elements. And elements with equal indices should be associated (the times at which the vehicle is at the stops))  
    *'''RouteTimes''': Una llista de l'horari de sortida/arribada a la parada de destí. Si RouteStops i RouteTimes estan establerts, hauran de contenir el mateix nombre d'elements. I els elements amb els índexs d'igualtat han d'estar associats (les hores en què el vehicle arriba a les parades).
    *'''RouteTimesDeparture''' (A list of departure times of the journey. If RouteStops and RouteTimesDeparture are both set, the latter should contain one elements less (because the last stop has no departure, only an arrival time). Elements with equal indices should be associated (the times at which the vehicle departs from the stops))  
    *'''RouteTimesDeparture''': Una llista de l'horari de sortida del viatge. Si RouteStops i RouteTimesDeparture estan establerts, hauran de contenir un elements menys (perquè l'última parada no té sortida, només una hora d'arribada). Els elements amb els índexs d'igualtat han d'estar associats (les hores en què el vehicle surt de les parades).
    *'''RouteTimesArrival''' (A list of arrival times of the journey. If RouteStops and RouteTimesArrival are both set, the latter should contain one elements less (because the first stop has no arrival, only a departure time). Elements with equal indices should be associated (the times at which the vehicle arrives at the stops))  
    *'''RouteTimesArrival''': Una llista de l'horari d'arribada del viatge. Si RouteStops i RouteTimesArrival estan establerts, hauran de contenir un elements menys (perquè la primera parada no té arribada, només una hora de sortida). Els elements amb els índexs d'igualtat han d'estar associats (les hores en què el vehicle arriba a les parades).
    *'''RouteExactStops''' (The number of exact route stops. The route stop list isn't complete from the last exact route stop)
    *'''RouteExactStops''': El nombre exacte de parades en una ruta. La llista de parades en la ruta no està completa fins a l'última parada de la ruta.
    *'''RouteTypesOfVehicles''' (The types of vehicles used for each "sub-journey" of a journey)
    *'''RouteTypesOfVehicles''': Els tipus de vehicles utilitzats per a cada «sub-viatge» d'un viatge.
    *'''RouteTransportLines''' (The transport lines used for each "sub-journey" of a journey)
    *'''RouteTransportLines''': Les línies de transport utilitzades per a cada «sub-viatge» d'un viatge.
    *'''RoutePlatformsDeparture''' (The platforms of departures used for each "sub-journey" of a journey)
    *'''RoutePlatformsDeparture''': Les plataformes de sortides per a cada «sub-viatge» d'un viatge.
    *'''RoutePlatformsArrival''' (The platforms of arrivals used for each "sub-journey" of a journey)
    *'''RoutePlatformsArrival''': Les plataformes d'arribades per a cada «sub-viatge» d'un viatge.
    *'''RouteTimesDepartureDelay''' (A list of delays in minutes for each departure time of a route (RouteTimesDeparture))
    *'''RouteTimesDepartureDelay''': Una llista dels retards en minuts per a cada hora de sortida d'una ruta (RouteTimesDeparture).
    *'''RouteTimesArrivalDelay''' (A list of delays in minutes for each arrival time of a route (RouteTimesArrival))
    *'''RouteTimesArrivalDelay''': Una llista dels retards en minuts per cada hora d'arribada d'una ruta (RouteTimesArrival).


    ''Aquests elements d'informació només s'apliquen als viatges:''
    ''Aquests elements d'informació només s'apliquen als viatges:''


    *'''Duration''' (The duration of a journey)  
    *'''Duration''' (La durada d'un viatge).
    *'''StartStopName''' (The name of the starting stop of a journey)  
    *'''StartStopName''' (El nom de la parada de sortida d'un viatge).
    *'''StartStopID''' (The ID of the starting stop of a journey)  
    *'''StartStopID''' (L'identificador de l'estació de sortida d'un viatge).
    *'''TargetStopName''' (The name of the target stop of a journey)  
    *'''TargetStopName''' (El nom de la parada de destí d'un viatge).
    *'''TargetStopID''' (The ID of the target stop of a journey)  
    *'''TargetStopID''' (L'identificador de la parada de destí d'un viatge).
    *'''ArrivalDate''' (The date of the arrival)  
    *'''ArrivalDate''' (La data de l'arribada).
    *'''ArrivalHour''' ('''Mandatory for journeys''', The hour of the arrival)  
    *'''ArrivalHour''' ('''Obligatòria per als viatges'''. L'hora d'arribada).
    *'''ArrivalMinute''' ('''Mandatory for journeys''', The minute of the arrival)  
    *'''ArrivalMinute''' ('''Obligatòria per als viatges'''. El minut de l'arribada).
    *'''Changes''' (The number of changes between different vehicles in a journey)  
    *'''Changes''' (El nombre de canvis entre diferents vehicles en un viatge).
    *'''TypesOfVehicleInJourney''' (A list of vehicle types used in a journey)  
    *'''TypesOfVehicleInJourney''' (Una llista dels tipus de vehicles utilitzats en un viatge).
    *'''Pricing''' (Information about the pricing of a journey)
    *'''Pricing''' (Informació sobre el preu d'un viatge).


    ''Aquests elements d'informació només s'apliquen a suggeriments de parades:''
    ''Aquests elements d'informació només s'apliquen a suggeriments de parades:''


    *'''StopName''' ('''Mandatory for stop suggestions''', The name of a stop / station)  
    *'''StopName''' ('''Obligatori per a suggeriments de parades'''. Serà el nom d'una parada/estació).
    *'''StopID''' (The ID of a stop / station)  
    *'''StopID''' (Serà l'identificador d'una parada/estació).
    *'''StopWeight''' (The weight of a stop suggestion)
    *'''StopWeight''' (Serà el pes en rellevància per a un suggeriment de parada).


    {{Info/ca|1=Més endavant hi haurà plantilles per a un fitxer XML i script. Fins llavors, podeu fer una ullada als proveïdors de serveis existents.}}
    {{Info/ca|1=Més endavant hi haurà plantilles per a un fitxer XML i script. Fins llavors, podeu fer una ullada als proveïdors de serveis existents.}}


    [[Category:Plasma]]
    [[Category:Plasma/ca]]
    [[Category:Widgets]]
    [[Category:Estris/ca]]
    [[Category:Home and Hobby]]
    [[Category:Llar i aficions/ca]]

    Latest revision as of 21:29, 7 December 2013

    Other languages:

    Crear un nou proveïdor de serveis

    Els noms dels fitxers comencen amb el codi del país seguit d'un guió baix i un nom curt (i l'extensió, és clar). El nom del fitxer comença amb el codi de país o «international» o «unknown» seguit de «_» i un nom curt del proveïdor de serveis, per exemple, «de_db», «ch_sbb», «sk_atlas», «international_flightstats». El fitxer XML acaba amb «. xml».


    El fitxer XML

    Els enllaços als fitxers XML per al fitxer script que s'ha d'utilitzar i contindrà un «url pur», en aquest es pot inserir el nom de la parada i altra informació.


    El fitxer script

    El fitxer script ha de contenir almenys una funció anomenada «parseTimetable», amb un argument. Tot el cos HTML anirà a l'script a través d'aquest argument. És llavors quan l'script analitza el document. Tot seguit us oferim una llista de funcions que criden al motor de dades PublicTransport per que s'analitzi un document:

    • parseTimetable( html ) (Usat per analitzar la sortida/arribada dels documents).
    • parseJourneys( html ) (Usat per analitzar els documents de viatge).
    • parsePossibleStops( html ) (Usat per analitzar els documents de suggeriment de parades).


    Funcions auxiliars

    Aquest és un objecte d'ajuda anomenat «helper», que pot ser utilitzat per l'script. Té les següents funcions:

    • trim( string ) (Elimina « » del principi i el final de la cadena donada).
    • stripTags( string ) (Elimina totes les etiquetes de la cadena donada, és a dir, elimina <...> o </...>).
    • camelCase( string ) (El primer caràcter de cada paraula serà en majúscula, totes les altres en minúscules).
    • extractBlock( string, beginString, endString ) (Retorna la cadena entre la primera aparició de beginString i la primera aparició de endString, o una cadena buida si beginString o endString no s'ha pogut trobar a la cadena. Per exemple, extractBlock("<b>Bold Text</b>", "<b>", "</b>") retorna "Bold Text").
    • matchTime( string, formatString ) (Cerca una cadena d'hora en el format donat, per exemple, «hh:mm» retorna una llista amb dos nombres enters, l'hora i els minuts).
    • formatTime( hour, minute, formatString ) (Dóna format a l'hora donada amb el formatString determinat).
    • duration( sTime1, sTime2, formatString ) (Torna la durada en minuts de sTime1 a sTime2, que són cadenes d'hora en el formatString determinat).
    • addMinsToTime( sTime, minsToAdd, formatString ) (Analitza l'hora amb el formatString determinat, afegeix minuts amb minsToAdd i especifica altra vegada el format utilitzant formatString).
    • splitSkipEmptyParts( string, separator ) (Divideix la cadena donada utilitzant el separador indicat, mentre que omet les parts buides).


    Afegir sortides analitzades per al conjunt de resultats

    Aquest és un objecte anomenat «timetableData» donat a l'script. Per afegir una sortida analitzada al conjunt de resultats feu alguna cosa com això:

    // Add departure
     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 );

    Això afegeix un punt de sortida de la línia de tramvia «N6», sortint a les 01:30 amb la destinació «Bremen Hbf».


    Tipus d'Informació

    Aquí teniu una llista de tots els tipus d'informació que es pot afegir a l'objecte timetableData per a sortida, arribada i viatge:

    • DepartureDate: La data de la sortida.
    • DepartureHour: Obligatori per a les sortides, arribades i viatges. L'hora de la sortida.
    • DepartureMinute: Obligatori per a les sortides, arribades i viatges. El minut de la sortida.
    • TransportLine: Obligatori per a les sortides i arribades. El nom de la línia de transport públic, per exemple, «4», «6S», «S 5», «RB 24122».
    • Target: Obligatori per a les sortides i arribades. La destinació d'un viatge / d'una línia de transport públic.
    • TypeOfVehicle: El tipus de vehicle.
    • FlightNumber: Igual que TransportLine, utilitzat per a vols.
    • Platform: La plataforma en la qual el vehicle surt/arriba.
    • Delay: El retard d'un vehicle de transport públic.
    • DelayReason: El motiu d'un retard.
    • JourneyNews: Pot contenir retard / motiu del retard / altres notícies.
    • JourneyNewsOther: Altres notícies (sense retard / motiu del retard).
    • JourneyNewsLink: Conté un enllaç a una pàgina html amb notícies de viatge. L'url de l'accés s'anteposa, si coincideix un camí relatiu (començarà amb «/»).
    • DepartureHourPrognosis: El pronòstic per a l'hora de sortida, la qual serà l'hora de sortida més el retard.
    • DepartureMinutePrognosis: El pronòstic per als minuts de l'hora de sortida, la qual serà l'hora de sortida més els minuts de retard.
    • Operator: L'empresa que s'encarrega del viatge.
    • DepartureAMorPM: S'utilitza per a la cadena «am» o «pm» per a l'hora de sortida.
    • DepartureAMorPMPrognosis: S'utilitza per a la cadena «am» o «pm» per al pronòstic de l'hora de sortida.
    • ArrivalAMorPM: S'utilitza per a la cadena «am» o «pm» per a l'hora d'arribada.
    • Status: L'estat actual de la sortida/arribada. Actualment només s'utilitza per als avions.
    • DepartureYear: L'any de la sortida, a utilitzar quan l'any se separa de la data.
    • RouteStops: Una llista de les parades de sortida/arribada fins a la vostra parada de destí o una llista de les parades del viatge des del seu inici fins a la parada de destí. Si RouteStops i RouteTimes estan establerts, hauran de contenir el mateix nombre d'elements. I els elements amb els índexs d'igualtat han d'estar associats (les hores en què el vehicle arriba a les parades). Per a viatges s'ha d'utilitzar RouteTimesDeparture i RouteTimesArrival en comptes de RouteTimes.
    • RouteTimes: Una llista de l'horari de sortida/arribada a la parada de destí. Si RouteStops i RouteTimes estan establerts, hauran de contenir el mateix nombre d'elements. I els elements amb els índexs d'igualtat han d'estar associats (les hores en què el vehicle arriba a les parades).
    • RouteTimesDeparture: Una llista de l'horari de sortida del viatge. Si RouteStops i RouteTimesDeparture estan establerts, hauran de contenir un elements menys (perquè l'última parada no té sortida, només una hora d'arribada). Els elements amb els índexs d'igualtat han d'estar associats (les hores en què el vehicle surt de les parades).
    • RouteTimesArrival: Una llista de l'horari d'arribada del viatge. Si RouteStops i RouteTimesArrival estan establerts, hauran de contenir un elements menys (perquè la primera parada no té arribada, només una hora de sortida). Els elements amb els índexs d'igualtat han d'estar associats (les hores en què el vehicle arriba a les parades).
    • RouteExactStops: El nombre exacte de parades en una ruta. La llista de parades en la ruta no està completa fins a l'última parada de la ruta.
    • RouteTypesOfVehicles: Els tipus de vehicles utilitzats per a cada «sub-viatge» d'un viatge.
    • RouteTransportLines: Les línies de transport utilitzades per a cada «sub-viatge» d'un viatge.
    • RoutePlatformsDeparture: Les plataformes de sortides per a cada «sub-viatge» d'un viatge.
    • RoutePlatformsArrival: Les plataformes d'arribades per a cada «sub-viatge» d'un viatge.
    • RouteTimesDepartureDelay: Una llista dels retards en minuts per a cada hora de sortida d'una ruta (RouteTimesDeparture).
    • RouteTimesArrivalDelay: Una llista dels retards en minuts per cada hora d'arribada d'una ruta (RouteTimesArrival).

    Aquests elements d'informació només s'apliquen als viatges:

    • Duration (La durada d'un viatge).
    • StartStopName (El nom de la parada de sortida d'un viatge).
    • StartStopID (L'identificador de l'estació de sortida d'un viatge).
    • TargetStopName (El nom de la parada de destí d'un viatge).
    • TargetStopID (L'identificador de la parada de destí d'un viatge).
    • ArrivalDate (La data de l'arribada).
    • ArrivalHour (Obligatòria per als viatges. L'hora d'arribada).
    • ArrivalMinute (Obligatòria per als viatges. El minut de l'arribada).
    • Changes (El nombre de canvis entre diferents vehicles en un viatge).
    • TypesOfVehicleInJourney (Una llista dels tipus de vehicles utilitzats en un viatge).
    • Pricing (Informació sobre el preu d'un viatge).

    Aquests elements d'informació només s'apliquen a suggeriments de parades:

    • StopName (Obligatori per a suggeriments de parades. Serà el nom d'una parada/estació).
    • StopID (Serà l'identificador d'una parada/estació).
    • StopWeight (Serà el pes en rellevància per a un suggeriment de parada).

    Informació

    Més endavant hi haurà plantilles per a un fitxer XML i script. Fins llavors, podeu fer una ullada als proveïdors de serveis existents.