-
-
Save mutsuda/109315 to your computer and use it in GitHub Desktop.
TMB iBus for Ubiquity
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CmdUtils.CreateCommand({ | |
name: "tmb", | |
takes: {"codi_parada num_bus": noun_arb_text}, | |
homepage: "http://www.mutsuda.com", | |
author: { name: "Masumi Mutsuda"}, | |
license: "MPL", | |
description: "T'informa de quan arribaran els propers busos a les parades", | |
preview: function( pblock, parada) | |
{ | |
var msg = 'Parada Bus"${paradaText}" el Bus ${busText}.'; | |
var subs = {paradaText: parada.text}; | |
var codiparada = parada.text.substring(0, 4); | |
var codibus = parada.text.substring(5); | |
var URL = "http://www.tmb.cat/ca_ES/tmbmulticanal/ibus/ibusweb/cercapercodi.jsp?parada="+codiparada+"&linia="+ codibus; | |
if (parada.text.length == 4) | |
{ | |
var msg = obtenirContent(URL); | |
if (msg.indexOf("No existeix el codi de parada") > 0) pblock.innerHTML = "No existeix el codi parada"; | |
else | |
{ | |
var start = msg.indexOf("<td width=\"100%\" class=\"txtgrisosc_gral\" align=\"center\">"); | |
var end = msg.indexOf("</table>", start); | |
var show = msg.substring(start, end); | |
pblock.innerHTML = show+"</td></tr>"; | |
} | |
} | |
}, | |
execute: function( parada) | |
{ | |
var codiparada = parada.text.substring(0, 4); | |
var codibus = parada.text.substring(5); | |
var URL = "http://www.tmb.cat/ca_ES/tmbmulticanal/ibus/ibusweb/cercapercodi.jsp?parada="+codiparada+"&linia="+ codibus; | |
var msg = obtenirContent(URL); | |
if (msg.indexOf("Línia i parada no coincidents") > 0) displayMessage("Línia i parada no coincidents"); | |
else if (msg.indexOf("Temporalment sense previsions") > 0) displayMessage("Temporalment sense previsions"); | |
else if (msg.indexOf("Consulteu les línies disponibles") > 0) displayMessage("Línia sense servei TMBiBus"); | |
else if (codiparada.length < 4) displayMessage("El codi de parada té un format invàlid"); | |
else if (codibus.length == 0) displayMessage("Has d'especificar una línia de bus"); | |
else | |
{ | |
var start = msg.indexOf("<tr align=\"center\">"); | |
var end = msg.indexOf("</table>", start); | |
start = msg.indexOf("Temps*"); | |
var firststart= msg.indexOf("<td align=\"center\">", start) + 19; | |
var firstend = msg.indexOf("</td>", firststart); | |
var proper1 = msg.substring(firststart, firstend); | |
var secondstart = msg.indexOf("<td align=\"center\">", firstend) + 19; | |
var secondend = msg.indexOf("</td>", secondstart); | |
var proper2 = msg.substring(secondstart, secondend); | |
if (proper2.indexOf(" Temps")>=0) proper2=""; | |
displayMessage(proper1 + "\n" + proper2); | |
} | |
} | |
}); | |
function obtenirContent(URL) | |
{ | |
var error=0; | |
var req = new XMLHttpRequest(); | |
req.open("GET", URL, false); | |
req.onreadystatechange=function() | |
{ | |
if (req.readyState==4) | |
{ | |
if (req.status!=200) | |
{ | |
error=1; | |
} | |
} | |
} | |
req.send(null); | |
var txt=req.responseText; | |
return txt; | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment