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:
self.write("""</Document></kml>
""")
- 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
baseurl='http://%s'%api.config.PLC_WWW_HOST
peer_id=site['peer_id']
+ # STYLE
+ # the size for google icons
+ if not self.options.use_custom_icons:
+ if not peer_id:
+ # local sites
+ iconfile=default_local_builtin
+ xyspec="<x>128</x><y>0</y><w>32</w><h>32</h>"
+ else:
+ # remote
+ iconfile=default_foreign_builtin
+ xyspec="<x>160</x><y>0</y><w>32</w><h>32</h>"
+ iconurl="root://icons/%(iconfile)s"%locals()
+ # the size for our own brew of icons
+ else:
+ if not peer_id:
+ iconfile=self.options.local_icon
+ else:
+ iconfile=self.options.foreign_icon
+ iconurl="%(baseurl)s/%(iconfile)s"%locals()
+ xyspec=""
+
+ iconspec="<href>%(iconurl)s</href>%(xyspec)s"%locals()
+
# open description
description = "<br/><table style='border: 1px solid black; padding: 5px;' width='500px'>"
description += "<tr><td align='center'>"
description += "<b>Testbed</b>"
description += "</td><td>"
- if peer_id:
- peername = 'PlanetLab Central'
- peerurl = 'http://www.planet-lab.org'
- #self.peer_name(site,peers)
- else:
- peername = 'PlanetLab Europe'
- peerurl = 'http://www.planet-lab.eu'
+ (peername,peerurl) = self.peer_info (site,peers)
description += "<a style='text-decoration: none;' href='%(peerurl)s'> %(peername)s </a>"%locals()
#description += "<a style='text-decoration: none;' href='%(apiurl)s/db/peers/index.php?id=%(peer_id)d'>[description]</a>"%locals()
description += "</td><td>"
- if peer_id:
- description += "<img src='%(apiurl)s/sites/plc24-32.png'/>"%locals()
- else:
- description += "<img src='%(apiurl)s/sites/ple24-32.png'/>"%locals()
+ description += "<img src='%(iconurl)s'/>"%locals()
description += "</td></tr>"
# URL
# NODES
description += "<tr><td align='center'>"
- description += "<img src='%(apiurl)s/sites/node.png'/>"%locals()
+ description += "<img src='%(apiurl)s/googlemap/node.png'/>"%locals()
description += "</td><td>"
if nb_nodes:
description += "<a style='text-decoration: none;' href='%(apiurl)s/db/nodes/index.php?site_id=%(site_id)d'>%(nb_nodes)d node(s)</a>"%locals()
#SLICES
description += "<tr><td align='center'>"
- description += "<img src='%(apiurl)s/sites/slice.png'/>"%locals()
+ description += "<img src='%(apiurl)s/googlemap/slice.png'/>"%locals()
description += "</td><td>"
if nb_slices:
description += "<a style='text-decoration: none;' href='%(apiurl)s/db/slices/index.php?site_id=%(site_id)d'>%(nb_slices)d slice(s)</a>"%locals()
name=""
description=""
- # STYLE
- if self.options.use_google_icons:
- if not peer_id:
- # local sites
- iconfile=default_local_builtin
- xyspec="<x>128</x><y>0</y><w>32</w><h>32</h>"
- else:
- # remote
- iconfile=default_foreign_builtin
- xyspec="<x>160</x><y>0</y><w>32</w><h>32</h>"
- iconurl="root://icons/%(iconfile)s"%locals()
- else:
- if not peer_id:
- iconfile=self.options.local_icon
- else:
- iconfile=self.options.foreign_icon
- iconurl="%(baseurl)s/%(iconfile)s"%locals()
- xyspec=""
-
- iconspec="<href>%(iconurl)s</href>%(xyspec)s"%locals()
-
# set the camera 50km high
template="""<Placemark>
<Style><IconStyle><Icon>%(iconspec)s</Icon></IconStyle></Style>
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: