Wiretap update

Ampos has created his own map-view utilitiy, BE View. This motivated me to finish a couple of queries I’d not quite closed up and exposed them via Wiretap.

beview.png

I finally got around to making the quasi-static metadata files only update when the contents changes — this allows you to use a HEAD query to tell if the data has changed and thus avoid uneccessary pulls or cache files locally if you’re writing a non-web based client.

– added a query to return the ownership and open statuses of the facilities for a given CP: http://web3.wwiionline.com/xmlquery/facilities.xml?cp=300
– added ‘cpdetail’ metadata files which provide counts of facilities and links within a cp: http://web3.wwiionline.com/js/cpdetail.js
– added ‘links’ metadata files to provide details of CP linkage: http://web3.wwiionline.com/xml/links.xml

The way we do links is a little strange-seeming at first, they’re uni-directional: i.e. there is a link from Antwerp to Schilde *and* a link from Schilde to Antwerp; if there is a firebase pair between the two towns, they are split between the two links – so the Antwerp-Schilde Firebase is on the link that connects Antwerp to Schilde. The opposite firebase is on the reverse link.

If you want to know the open/closed status of FBs, you have to query the facility statuses for the CP on the *left* side of the link. I.e. to find out the Kalmthout->Roosendaal FB status, get the facilities for Kalmthout.

Documentation in the usual place.

I really think I need to make CSV versions of the data because with the XML version I’m very conscious that spelling labels out fully adds bandwidth to every single row.

8 Comments

This war doesn’t seem to be going anywhere. Maybe the red dots and the blue dots should try to find a diplomatic solution, before any more dots are lost.

Dangit! No fair. I can’t for the life of me place that reference now! Is this payback for my “onestly” [sic] comment on the torture-of-language post? :)

I have been asked by mates to make another utility.

BEalarm

You select any city (and only one!) and BEalarm check it every minute. If the CP status changes (depot lost and/or FB changed) an audio alarm will play.

Any problem, KFS1?

Fetch cpstates.xml on startup and use the capture ticker to watch for events in the specified CP. If you can pull data less than once every 45s that would be nice :)

Or – if you get your head-based cache code worked out, you could just fetch cpstates.xml, pseudo code like this:


function updateFile(filename)
  response = fetch("GET", filename)
  setLastModifiedTime(filename, response.lastModified())
end function

function fetchOnModify(filename)
  if not fileExists(filename) then
    updateFile(filename)
    return
  end if

  response = fetch("HEAD", filename)

  localModificationTime = getLastModifiedTime(filename)
  remoteModificationTime = response.lastModified()

  if remoteModificationTime > localModificationTime then
    updateFile(filename)
  end if
end function

For the ones that would like to check BEview, you can get it also from my web page

hclocations.xml & hcstatus.xml

are not working (HTTP STATUS 500), and so BEview.

Leave a Reply

Name and email address are required. Your email address will not be published.

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

You may use these HTML tags and attributes:

<a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <pre> <q cite=""> <s> <strike> <strong> 

%d bloggers like this: