Adding ONOS Segment Routing CLI files to new repo
diff --git a/sdncon/ui/scripts/showhost.py b/sdncon/ui/scripts/showhost.py
new file mode 100755
index 0000000..9c72fb5
--- /dev/null
+++ b/sdncon/ui/scripts/showhost.py
@@ -0,0 +1,106 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2013 Big Switch Networks, Inc.
+#
+# Licensed under the Eclipse Public License, Version 1.0 (the
+# "License"); you may not use this file except in compliance with the
+# License. You may obtain a copy of the License at
+#
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+#
+# Python script for querying API and displaying connected hosts in a table
+#
+#
+
+#Importing modules
+import re
+import sys
+import time
+import datetime
+import json
+import urllib2
+import switchalias
+from sdncon.rest.views import do_switches, do_model_list, do_instance, do_device
+
+def show_host_data(request):
+
+ # Query JSON from API and load into dictionary
+ switches = json.loads(do_switches(request).content)
+ switchdevices = json.loads(do_device(request).content)
+
+ # Dictionaries
+ sorteddict = []
+ aliasDict = switchalias.aliasDict(request)
+ unsortdict = []
+
+ # Step through master 'device' list, extract entry for each dictionary.
+ for index_devices,value1_devices in enumerate(switchdevices):
+ tempdict = {}
+ tempswitchdict = {}
+
+ # get needed entries in 'devices'
+ tempdict['mac'] = value1_devices.get('mac','')
+ tempdict['entityClass'] = value1_devices.get('entityClass','')
+ tempdict['vlan'] = value1_devices.get('vlan','')
+ tempdict['ipv4'] = value1_devices.get('ipv4','Unknown')
+ tempdict['switch'] = value1_devices.get('attachmentPoint','')
+ tempdict['lastSeen'] = value1_devices.get('lastSeen','')
+
+ # append to final sorted output.
+ unsortdict.append(tempdict)
+
+
+ sorteddict = sorted(unsortdict, key=lambda elem: "%s" % (elem['mac']))
+
+ #print sorteddict
+ #print time.strftime('%Y-%m-%d %H:%M:%S %Z', time.gmtime(sorteddict[0]['connectedSince'] / float(1000)))
+
+ result = ''
+ # Print table output
+ result += '<table id="showdeviceoutput" >'
+ result += '<tbody style="border-top: 0px;">'
+ result += '<tr><td>ID</td><td>MAC Address</td><td>Address Space</td><td>VLAN</td><td>IP</td><td>Switch</td><td>Last Seen</td></tr>'
+ for index_output,value_output in enumerate(sorteddict):
+ result += '<tr>'
+ result += ' <td>' + str(index_output + 1) + '</td>'
+ result += ' <td>'
+ for tmp_index,tmp_value in enumerate(value_output['mac']):
+ if tmp_index > 0:
+ result += ', ',
+ result += str(tmp_value)
+ result += '</td>'
+ result += ' <td>' + value_output.get('entityClass','') + '</td>'
+ result += ' <td>'
+ for tmp_index,tmp_value in enumerate(value_output['vlan']):
+ if tmp_index > 0:
+ result += ', ',
+ result += str(tmp_value)
+ result += '</td>'
+ result += ' <td>'
+ for tmp_index,tmp_value in enumerate(value_output['ipv4']):
+ if tmp_index > 0:
+ result += ', ',
+ result += str(tmp_value)
+ result += '</td>'
+ result += ' <td>'
+ for tmp_index,tmp_value in enumerate(value_output['switch']):
+ if tmp_index > 0:
+ result += ', ',
+ result += aliasDict.get(tmp_value.get('switchDPID', 'UNKNOWN'), tmp_value.get('switchDPID', 'UNKNOWN')) + ' Port ' + str(tmp_value.get('port', 'UNKNOWN'))
+ result += '</td>'
+ delta = round(time.time(),0) - (round(value_output.get('lastSeen',time.time()) / int(1000)))
+ if delta <= 0:
+ result += ' <td> Now </td>'
+ else:
+ result += ' <td>' + str(datetime.timedelta(seconds=delta)) + '</td>'
+ result += '</tr>'
+ result += '</tbody>'
+ result += '</table>'
+ return result