Example #1
0
def init():
    rpc = JsonRpc()
    rpc['hello'] = hello

    rpc['catalog.get'] = catalog.get
    rpc['catalog.append'] = catalog.append
    rpc['catalog.update'] = catalog.update
    rpc['catalog.remove'] = catalog.remove
    rpc['catalog.drop'] = catalog.drop
    return rpc
Example #2
0
def test_extra_vars():
    rpc = JsonRpc()
    rpc['add'] = lambda a, b: a + b
    args = {'a': 1}
    result = rpc(
        {
            'jsonrpc': '2.0',
            'method': 'add',
            'id': 'test-rpc',
            'params': args
        },
        b=3)
    assert result['result'] == 4
Example #3
0
from subprocess import Popen, PIPE
import subprocess
import json
import re
import unicodedata
from jsonrpc2 import JsonRpc

rpc = JsonRpc()


def broadcast():
    # Detectar si el proceso ya esta en uso
    # Subprocess no permite usar "|" por lo que tenemos que ejecutarlo en dos pasos
    command1 = Popen(["ps", "-e"], stdout=PIPE)
    command2 = Popen(["grep", "ping"], stdin=command1.stdout, stdout=PIPE)
    command1.stdout.close()
    result = (command2.communicate()[0])

    if len(result) is 0:
        # Si result es 0, no se ha ejecutado
        print({'jsonrpc': '2.0', 'result': 'In process', 'id': 'broadcast'})
        subprocess.Popen(
            ["ping", "10.0.0.255", "-b", "-I", "eth0", "-c", "5 >/dev/null"],
            stdout=subprocess.PIPE).communicate()[0]

        return "Done"
    else:
        # Si result es 1, el ping a broadcast ya se ha ejecutado
        return "In process"

Example #4
0
def rpc():
    rpc = JsonRpc()
    rpc['index'] = index
    rpc['update'] = update_file
    rpc['fetch'] = fetch_file
    return rpc
Example #5
0
from flask.ext.sqlalchemy import SQLAlchemy
from jsonrpc2 import JsonRpc

from application.libs.helper_functions import register_class_to_rpc
from application.rpc_server import RPCServer

from config import ActiveConfig

# initialize and configure the flask server
app = Flask(__name__)
app.config.from_object(ActiveConfig)

# set up logger level
if not app.debug:
    logging.getLogger('werkzeug').setLevel(logging.WARNING)

# open and intialize or read the database
db = SQLAlchemy(app)

# initialize rpc mapper
mapper = JsonRpc()
register_class_to_rpc(RPCServer, mapper)

from application import models, views
from application.initializers import init_db, init_admin, init_login, init_rest

init_db()
init_admin(app)
init_login(app)
init_rest(app)