Пример #1
0
def main():
    # Obtenemos gateway
    gateway = get_gateway()
    nodos = [gateway]  # Empezamos con el gateway
    visited_nodes = []
    connections = {}
    ip_to_hostname = {}
    t = time.time()
    while nodos:
        print("Nodo actual: ", nodos[0])
        router = Router(nodos[0], USERNAME, PASSWORD)
        # VALIDACION
        if not router.is_connected:
            print("Error al iniciar SSH en el nodo: ", nodos[0])
            nodos.pop(0)  # ES POSIBLEMENTE UNA PC
            continue
        # CREAMOS NUEVO USUARIO SSH
        router.create_user("pirata", "pirata")

        # OBTENEMOS A DONDE IR
        visited_nodes, nodos = router.get_jump_connections(
            visited_nodes, nodos)
        # IP A HOSTNAME
        ip_to_hostname.update(router.interfaces_ip)
        #CONEXIONES QUE TIENE EL ROUTER -> IP
        connections[router.hostname] = router.connections

    print("Tiempo de ejecución: ", time.time() - t)

    topologia = Graph("Mi topología")
    for nodo in connections:
        topologia.node(nodo)
        for ip in connections[nodo]:
            try:
                topologia.edge(nodo, ip_to_hostname[ip])
            except:
                pass
    topologia.render("topologia")
from aws_lambda_powertools import Logger
import logging
from utils import Invocation
from utils import Router
from aws_lambda_powertools.utilities.typing import LambdaContext

log: Logger = Logger()
Logger("botocore").setLevel(logging.INFO)
Logger("urllib3").setLevel(logging.INFO)

router: Router = Router()

# Handler
@log.inject_lambda_context()
def handler(event: dict, context: LambdaContext) -> dict:
    return Invocation(router, event).call()


#
# Query Actions
#

@router.direct("list_students") # Resolves for a direct invoke
@router.rest("GET", "/students") # Resolves for a ReST endpoint
@router.graphql("Query", "listStudents") # Resolves for graphQL endpoint
def list_students(args: dict) -> list:
    return list(students.values())


@router.direct("get_student") # Resolves for a direct invoke
@router.rest("GET", "/students/{studentId}") # Resolves for a ReST endpoint
Пример #3
0
#-*- coding: utf-8 -*-
import os
import sys
import json
from flask import Flask, request, jsonify, abort

from database import DataBase
from utils import Router

app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False
app.config["JSON_SORT_KEYS"] = False

db = DataBase()
TOKEN = os.environ["WEB_SERVER_TOKEN"]
router = Router()

# 最新情報の取得API
@app.route("/request/now", methods=["POST"])
def request_now():
    global router
    data = request.get_json()
    if type(data) != dict:
        data = json.loads(data)
    major = data["major"]
    try:
        res = router.now(major)
        return jsonify({
                        "status":"200",
                        "response":res
                        })