12345678910111213141516171819202122232425262728293031323334353637 |
- from __future__ import print_function
- import logging
- from flask import current_app, Blueprint, Flask
- rpc = Blueprint('rpc', __name__, url_prefix='/api')
- def send_to_parent(kind, *args):
- '''similar to the behaviour of a ParentedLet'''
- if not hasattr(current_app, 'queue'):
- logging.debug('no parent queue; aborting send')
- return
- msg = {
- 'emitter': current_app._get_current_object(),
- 'class': current_app._get_current_object().__class__.__name__,
- 'kind': kind,
- 'args': args
- }
- current_app.queue.put(msg)
- @rpc.route('/')
- def rpc_index():
- return 'So, what command would you like to give?'
- @rpc.route('/refresh')
- def rpc_refresh():
- send_to_parent('rpc')
- return 'ok, put'
- def create_app(queue):
- app = Flask(__name__)
- app.register_blueprint(rpc)
- app.queue = queue
- return app
|