def get(self):
     """
     Get the network topology
     ---
     tags:
       - network topology
     produces:
       - application/json             
     parameters:
       - name: X-Auth-Token
         in: header
         description: Authentication token
         required: true
         type: string
                 
     responses:
       200:
         description: Topology correctly retrieved
       400:
         description: Bad request                
       401:
         description: Unauthorized
       404:
         description: Graph not found
       500:
         description: Internal Error
     """            
     try :
         UserAuthentication().authenticateUserFromRESTRequest(request)
         
         ng = NetManager()
         
         return jsonify(ng.getNetworkTopology()) #self._json_response(falcon.HTTP_200, "Network topology", topology=json.dumps(ng.getNetworkTopology()))
     
     # User auth request - raised by UserAuthentication().authenticateUserFromRESTRequest
     except wrongRequest as err:
         logging.exception(err)
         return ("Bad Request", 400)
             
     # User auth credentials - raised by UserAuthentication().authenticateUserFromRESTRequest
     except unauthorizedRequest as err:
         if request.headers.get("X-Auth-User") is not None:
             logging.debug("Unauthorized access attempt from user "+request.headers.get("X-Auth-User"))
         logging.debug(err.message)
         return ("Unauthorized", 401)
             
     # User auth credentials - raised by UserAuthentication().authenticateUserFromRESTRequest
     except UserTokenExpired as err:
         logging.exception(err)
         return (err.message, 401)
     
     # No Results
     except UserNotFound as err:
         logging.exception(err)
         return ("UserNotFound", 404)
     except TenantNotFound as err:
         logging.exception(err)
         return ("TenantNotFound", 404)
     except NoResultFound as err:
         logging.exception(err)
         return ("NoResultFound", 404)
     except sessionNotFound as err:
         logging.exception(err)
         return ("sessionNotFound", 404)
     
     # Other errors
     except requests.HTTPError as err:
         logging.exception(err)
         return (str(err), 500)            
     except Exception as err:
         logging.exception(err)
         return (str(err), 500)
# NetManager
from do_core.netmanager import NetManager

# Configuration
conf = Configuration()
conf.log_configuration()


# START NETWORK CONTROLLER DOMAIN ORCHESTRATOR
logging.debug("Printing the network topology watched by Network Controller Domain Orchestrator")
print("Network Controller Domain Orchestrator - Network Topology")


ng = NetManager()
nt = ng.getNetworkTopology()

print("\nNetwork Controller: "+ng.getControllerName()+"\n")

for node in nt:
    print("\n  Node:        "+node['node'])
    print("--------------------------------------------------")
    print("  neighbours:", end="")
    for nb in node['neighbours']:
        print("  "+nb)
        print("             ",end="")
    print("")