X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=bin%2Fplc-kml.py;h=edcf035175d5de8f14412a6eac447f770ebd11fc;hb=b447876db614bf111b212aa8b45f69b8e41665de;hp=2a1ecf9ebd5fe6cd10a5852d236f64145e9a5543;hpb=6469aed9563248b2d3c78a1b48ad35f0b4d343a3;p=myplc.git
diff --git a/bin/plc-kml.py b/bin/plc-kml.py
index 2a1ecf9..edcf035 100755
--- a/bin/plc-kml.py
+++ b/bin/plc-kml.py
@@ -1,7 +1,5 @@
#!/usr/bin/env plcsh
#
-# $Id$
-
# this script generates a kml file, located under the default location below
# you should crontab this job from your myplc image
# you can then use the googlemap.js javascript for creating your applet
@@ -48,7 +46,7 @@ class KmlMap:
self.open()
self.write_header()
# cache peers
- peers = GetPeers({},['peer_id','peername'])
+ peers = GetPeers()
all_sites = GetSites({'enabled':True,'is_public':True})
all_sites.sort(KmlMap.site_compare)
for site in all_sites:
@@ -77,12 +75,13 @@ class KmlMap:
self.write("""
""")
- def peer_name (self,site, peers):
+ def peer_info (self,site, peers):
if not site['peer_id']:
- return "local"
+ return (api.config.PLC_NAME, "http://%s/"%api.config.PLC_API_HOST,)
for peer in peers:
if peer['peer_id'] == site['peer_id']:
- return peer['peername']
+ return (peer['peername'],peer['peer_url'].replace("PLCAPI/",""),)
+ return "Unknown peer_name"
def write_site (self, site, peers):
# discard sites with missing lat or lon
@@ -102,43 +101,9 @@ class KmlMap:
baseurl='http://%s'%api.config.PLC_WWW_HOST
peer_id=site['peer_id']
- # open description
- description='
'
- # Name and URL
- description += '- '
- description += ' Site page '%locals()
- if site['url']:
- site_url=site['url']
- description += ' -- %(site_url)s '%locals()
- description += '
'
- # NODES
- if nb_nodes:
- description += '- '
- description += '%(nb_nodes)d node(s)'%locals()
- description += ' (in Comon)'%locals()
- description += '
'
- else:
- description += '- No node
'
- #SLICES
- if nb_slices:
- description += '- %(nb_slices)d slice(s)
'%locals()
- else:
- description += '- No slice
'
- # PEER
- if peer_id:
- peername = self.peer_name(site,peers)
- description += '- '
- description += 'At peer %(peername)s'%locals()
- description += '
'
- # close description
- description +='
'
-
- if not self.options.labels:
- name=""
- description=""
-
# STYLE
- if self.options.use_google_icons:
+ # the size for google icons
+ if not self.options.use_custom_icons:
if not peer_id:
# local sites
iconfile=default_local_builtin
@@ -148,6 +113,7 @@ class KmlMap:
iconfile=default_foreign_builtin
xyspec="16003232"
iconurl="root://icons/%(iconfile)s"%locals()
+ # the size for our own brew of icons
else:
if not peer_id:
iconfile=self.options.local_icon
@@ -158,6 +124,64 @@ class KmlMap:
iconspec="%(iconurl)s%(xyspec)s"%locals()
+ # open description
+ description = "
"
+
+ # TESTBED
+ description += " | | |
"
+ description += ""
+ description += "Testbed"
+ description += " | "
+ (peername,peerurl) = self.peer_info (site,peers)
+ description += " %(peername)s "%locals()
+ #description += "[description]"%locals()
+ description += " | "
+ description += ""%locals()
+ description += " |
"
+
+ # URL
+ if site['url']:
+ site_url=site['url']
+ description += ""
+ description += "Website"
+ description += " | "
+ description += " %(site_url)s "%locals()
+ description += " | |
"
+
+ description += " | | |
"
+ description += "Usage details: | | |
"
+ description += " | | |
"
+
+ # NODES
+ description += ""
+ description += ""%locals()
+ description += " | "
+ if nb_nodes:
+ description += "%(nb_nodes)d node(s)"%locals()
+ #description += " (in Comon)"%locals()
+ else:
+ description += "No node"
+ description += " | |
"
+
+ #SLICES
+ description += ""
+ description += ""%locals()
+ description += " | "
+ if nb_slices:
+ description += "%(nb_slices)d slice(s)"%locals()
+ else:
+ description += "No slice"
+ description += " | |
"
+
+ description += " | | |
"
+
+ # close description
+ description += "
"
+
+ if not self.options.labels:
+ name=""
+ description=""
+
# set the camera 50km high
template="""
@@ -186,15 +210,16 @@ def main () :
parser.add_option("-n","--no-label",action="store_false",dest="labels",
default=True,
help="outputs only geographic positions, no labels")
- parser.add_option("-c","--custom",action="store_false",dest="use_google_icons",
- default=True,
- help="use locally customized icons rather than the google-provided defaults")
+ # default - for private depls. - is to use google-provided icons like palette-3
+ parser.add_option("-c","--custom",action="store_true",dest="use_custom_icons",
+ default=False,
+ help="use locally customized icons rather than the %s and %s defaults"%(default_local_builtin,default_foreign_builtin))
parser.add_option("-l","--local",action="store",dest="local_icon",
default=default_local_icon,
- help="set icon url to use for local sites marker -- default is %s"%default_local_icon)
+ help="set icon url to use for local sites marker -- requires -c -- default is %s"%default_local_icon)
parser.add_option("-f","--foreign",action="store",dest="foreign_icon",
default=default_foreign_icon,
- help="set icon url to use for foreign sites marker -- default is %s"%default_foreign_icon)
+ help="set icon url to use for foreign sites marker -- requires -c -- default is %s"%default_foreign_icon)
(options, args) = parser.parse_args()
if len(args) != 0: