Example #1
0
def app():

    app = flask.Flask("nandy-io-speech-api")

    app.mysql = mysql.MySQL()

    app.redis = redis.StrictRedis(host=os.environ['REDIS_HOST'], port=int(os.environ['REDIS_PORT']))
    app.channel = os.environ['REDIS_CHANNEL']

    if os.path.exists("/var/run/secrets/kubernetes.io/serviceaccount/token"):
        app.kube = pykube.HTTPClient(pykube.KubeConfig.from_service_account())
    else:
        app.kube = pykube.HTTPClient(pykube.KubeConfig.from_url("http://host.docker.internal:7580"))

    api = flask_restful.Api(app)

    api.add_resource(Health, '/health')
    api.add_resource(PersonCL, '/person')
    api.add_resource(PersonRUD, '/person/<int:id>')
    api.add_resource(TemplateCL, '/template')
    api.add_resource(TemplateRUD, '/template/<int:id>')
    api.add_resource(AreaCL, '/area')
    api.add_resource(AreaRUD, '/area/<int:id>')
    api.add_resource(AreaA, '/area/<int:id>/<action>')
    api.add_resource(ActCL, '/act')
    api.add_resource(ActRUD, '/act/<int:id>')
    api.add_resource(ActA, '/act/<int:id>/<action>')
    api.add_resource(ToDoCL, '/todo')
    api.add_resource(ToDoRUD, '/todo/<int:id>')
    api.add_resource(ToDoA, '/todo/<int:id>/<action>')
    api.add_resource(RoutineCL, '/routine')
    api.add_resource(RoutineRUD, '/routine/<int:id>')
    api.add_resource(RoutineA, '/routine/<int:id>/<action>')
    api.add_resource(TaskA, '/routine/<int:routine_id>/task/<int:task_id>/<action>')

    return app
Example #2
0
import requests
from flask import jsonify
import flask_restful
from project import app
from project.restfulapi import blueprints
from project.restfulapi.session.simple.flask_session import Login

api = flask_restful.Api(blueprints[__name__], prefix="/session/oauth/google")

@api.route('/login')
class OAuth_Google_Login(Login):

    def check_values(self, request_values):
        if 'id_token' in request_values:
            return True, ''
        else:
            message = 'You need to add an id_token as a parameter. For example, ?id_token=XYZ123'
            return False, message
            

    def validate(self, request_values):
        id_token = request_values.get('id_token')
        google_url = app.config.get('GOOGLE_URL')
        path = 'tokeninfo'
        url = '/'.join(s.strip('/') for s in [google_url, path])
        params = { 'id_token': id_token }
        r = requests.get(url=url, params=params).json()
        if 'error_description' in r:
            # Token not valid
            return False
        elif r['aud'] == app.config.get('GOOGLE_CLIENT_ID'):
Example #3
0
import flask
import flask_restful

import utils.predict
from routes import index, stat

app = flask.Flask(__name__)

api = flask_restful.Api(app, catch_all_404s=True)
api.add_resource(index.Index, '/')
api.add_resource(stat.StatAPI, '/stat/<string:symbol>')
if __name__ == '__main__':
    app.run()
Example #4
0
 def test_api_prefix(self):
     app = Mock()
     app.configure_mock(**{'record.side_effect': AttributeError})
     api = flask_restful.Api(app, prefix='/foo')
     self.assertEquals(api.prefix, '/foo')
import http
from datetime import datetime

import flask
import flask_restful
from flask_restful import Resource

from webresultserver.database import db
from webresultserver.models.item import TestItem, ItemState
from webresultserver.models.pytest_session import PytestSession

api_blueprint = flask.Blueprint('api', __name__)
api = flask_restful.Api(api_blueprint)


class AddPytestSession(flask_restful.Resource):
    @staticmethod
    def post():
        new_pytest_session = PytestSession(start_time=datetime.now())
        db.session.add(new_pytest_session)
        db.session.commit()
        return new_pytest_session.id


class AddTestItem(flask_restful.Resource):
    @classmethod
    def post(cls, session_id, nodeid):
        cls._ensure_item_not_exist(nodeid, session_id)
        new_test_item = TestItem(session_id=session_id,
                                 nodeid=nodeid,
                                 state=ItemState.DID_NOT_START)
Example #6
0
from flask import Blueprint
import flask_restful as restful

from . import authrntication, posts, users, comments, errors

api = restful.Api(prefix='/api/v1')
# api.add_resource(users.UserInfoResource, '/user')
api.add_resource(users.RegistResource, "/regist/")
api.add_resource(users.SessionResource, "/login/")
api.add_resource(posts.PostResource, "/post/")
api.add_resource(posts.CommentResource, "/comment/")
# api.add_resource(posts.ArticleResource, "/article/<pid>")
Example #7
0
import flask_marshmallow
import flask_restful
import importlib
import lime_endpoints
import lime_endpoints.endpoints
import logging
import pkgutil

URL_PREFIX = '/lime-mud'

logger = logging.getLogger(__name__)

bp = lime_endpoints.endpoints.create_blueprint('lime_mud',
                                               __name__,
                                               URL_PREFIX,
                                               static_folder='static')
api = flask_restful.Api(bp)
ma = flask_marshmallow.Marshmallow(bp)


def register_blueprint(app, config=None):
    for loader, module_name, is_pkg in pkgutil.walk_packages(__path__):
        if module_name.endswith('_test'):
            continue
        module_fullname = '{}.{}'.format(__name__, module_name)
        logger.info('Loading {}'.format(module_fullname))
        importlib.import_module(module_fullname)

    app.register_blueprint(bp)
    return bp
Example #8
0
import flask_restful
from project import blueprints

api = flask_restful.Api(blueprints[__name__], prefix="/blueprint")


@api.route('/helloworld')
class HelloWorld(flask_restful.Resource):
    def get(self):
        return {'hello': 'world'}
Example #9
0
"""a mock predictor service for the jiminy project"""
import flask
import flask_restful as flaskr
import jsonschema as js

app = flask.Flask(__name__)
api = flaskr.Api(app)

ratings_store = {}
rankings_store = {}


class ServerInfo(flaskr.Resource):
    def get(self):
        return {
            'application': {
                'name': 'jiminy-mock-predictor',
                'version': '0.0.0'
            }
        }


rating_request_schema = {
    "type": "object",
    "properties": {
        "user": {
            "type": "string"
        },
        "products": {
            "type": "array",
            "minItems": 1,
Example #10
0
"""The main driver and entrypoint for the Wayfare API."""

import argparse
import flask_restful
import flask_sqlalchemy

from flask import Flask

DB_URI = 'sqlite:///./main.db'

app = Flask(__name__)  # pylint: disable=C0103
app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI

db = flask_sqlalchemy.SQLAlchemy(app)  # pylint: disable=C0103
# These imports are here to prevent errors from missing circular imports
from wayfare.models import Location  # pylint: disable=C0413
from wayfare.models import Status  # pylint: disable=C0413
from wayfare.models import TimeRange  # pylint: disable=C0413
from wayfare.models import User  # pylint: disable=C0413
from wayfare.models import Ride  # pylint: disable=C0413
from wayfare.models import Passenger  # pylint: disable=C0413
# Necessary for sqlite
db.drop_all()
db.create_all()

api = flask_restful.Api(app, catch_all_404s=True)  # pylint: disable=C0103
Example #11
0
# Import flask dependencies
from flask import Flask, Blueprint, request

import flask_restful

API_VERSION_V1 = 1
API_VERSION = API_VERSION_V1

API_URL_PREFIX = '/api/cisco-automation'

# Define the blueprint
cisco_automation = Blueprint('cisco_automation', __name__)

# Define RESTful API for routing
api_cisco_automation = flask_restful.Api(app=cisco_automation,
                                         prefix=API_URL_PREFIX)


class BuildingList(flask_restful.Resource):
    def post(self):
        # No args - for now info will be from folder or hard coded in code, since info might be from
        # API or Database
        return {"test-3": "test-3"}


class FloorList(flask_restful.Resource):
    def post(self):
        # TODO: parse args - Building ID
        return {"test-2": "test-2"}

Example #12
0
import sklearn.linear_model as skl
# modules in the py folder:
import core.pgdb as pgdb
import core.sktkr as sktkr
import core.kerastkr as kerastkr

# I should connect to the DB
db_s = 'postgres://*****:*****@127.0.0.1/tkrapi'
conn = sql.create_engine(db_s).connect()

homeDir = os.environ['HOME']
input = homeDir + '\\data\\input\\'

# I should ready flask_restful:
application = fl.Flask(__name__)
api = fr.Api(application)

# I should fill lists which users want frequently:
with open(input + 'years.txt') as fh:
    years_l = fh.read().split()

with open(input + 'tkrlist.txt') as fh:
    tkrlist_l = fh.read().split()


class Demo11(fr.Resource):
    """
  This class should be a simple syntax demo.
  """
    def get(self):
        my_k_s = 'hello'
Example #13
0
import flask_restful

from flask import Blueprint
from .resource import customer

api_bp = Blueprint('service_c', __name__)
api = flask_restful.Api(api_bp)

SERVICE_C_VERSION = 1

api.add_resource(customer.CustomerListResource, '/customer')
api.add_resource(customer.CustomerResource, '/customer/<tax_id>')
 def setUp(self) -> None:
     self._app = Flask(__name__)
     self._api = flask_restful.Api(self._app)
Example #15
0
# -*- coding: utf-8 -*-

from flask import Flask, Blueprint
import flask_restful

API_VERSION_V1_0 = 1.0
API_VERSION = API_VERSION_V1_0

api_v1_0_bp = Blueprint('api_v1_0', __name__)
api_v1_0 = flask_restful.Api(api_v1_0_bp)


class HelloWorld(flask_restful.Resource):
    def get(self):
        return {
            'hello': 'world',
            'version': API_VERSION,
        }


api_v1_0.add_resource(HelloWorld, '/helloworld')
Example #16
0
from radio.common.utils import EncodeError
from radio.common.utils import allowed_file_extension
from radio.common.utils import encode_file
from radio.common.utils import filter_default_webargs
from radio.common.utils import get_metadata
from radio.common.utils import get_song_or_abort
from radio.common.utils import insert_song
from radio.common.utils import make_api_response
from radio.common.utils import parser
from radio.common.utils import request_status
from radio.database import Queue
from radio.database import Song
from radio.database import User

blueprint = Blueprint("songs", __name__)
api = rest.Api(blueprint)

# TODO: break this file up


@db_session
def query_songs(query: Optional[str], user: Optional[User] = None) -> Query:
    songs: Query
    src = user.favourites if user else Song
    if query:
        query = query.lower()
        songs = select(
            s for s in src
            if query in s.artist.lower() or query in s.title.lower())
    else:
        songs = src.select()
Example #17
0
from flask import Blueprint
import flask_restful
from flask import Blueprint, request, jsonify

from core.lib.foundation.base_controller import BaseController

from core.lib.foundation import custom_logger
LOG = custom_logger.getLogger(__name__)

thoughworks_blueprint = Blueprint('thoughtwork',
                                  __name__,
                                  url_prefix='/api/v1.0/thoughtwork')
application_api = flask_restful.Api(thoughworks_blueprint)


#Order Controller
class FoodieController(BaseController):
    def get(self):
        from services.thoughtworks.restuarant_manager import FoodieManager
        return FoodieManager().get_all_restuarants()


application_api.add_resource(FoodieController, '/foodie/')


class FoodieSearchController(BaseController):
    def get(self, rest_name):
        try:
            from services.thoughtworks.restuarant_manager import FoodieManager
            return FoodieManager().get_by_name(rest_name)
        except Exception as ex:
Example #18
0
from flask import Flask, Blueprint
import flask_restful

from marshmallow_jsonapi import Schema, fields
from marshmallow import validate

API_VERSION_V1 = 1
API_VERSION = API_VERSION_V1

example_api_v1_bp = Blueprint('api_v1', __name__)
example_api_v1 = flask_restful.Api(example_api_v1_bp)


class HelloWorldSchema(Schema):
    id = fields.Str(dump_only=True)
    hello = fields.String()
    version = fields.Integer()

    class Meta:
        type_ = 'hello_world'


class HelloWorld(flask_restful.Resource):
    def get(self):
        api_info = dict(hello='world', version=API_VERSION)
        schema = HelloWorldSchema()
        result = schema.dump(api_info)
        return result


example_api_v1.add_resource(HelloWorld, '/hello')
Example #19
0
from tweetapi.resources.Registration import Registration
from tweetapi.resources.Tweet import Tweet
from tweetapi.resources.Comment import Comment, CommentTable
from tweetapi.resources.Image import Image
from tweetapi.resources.RelationshipAPI import RelationshipAPI
from tweetapi.resources.UserApi import UserApi
app = Flask(__name__)
app.config.from_pyfile('config.py')
db.init_app(app)


with app.app_context():
    db.create_all()


api = restful.Api(app)
api.add_resource(Login, '/login')
api.add_resource(Logout, '/logout')
api.add_resource(Registration, '/registration')
api.add_resource(UserApi,
                 '/users/<int:user_id>')
api.add_resource(Tweet,
                 '/users/<int:user_id>/tweet', # POST, GET
                 '/users/<int:user_id>/tweet/<int:tweet_id>', # DELETE
                 '/users/<int:user_id>/friends/tweet', # GET
                 '/tweet/<int:tweet_id>', # GET
                 '/tweet') # GET
api.add_resource(Comment,
                 '/tweet/<int:tweet_id>/comment', # POST, GET
                 '/tweet/<int:tweet_id>/comment/<int:comment_id>', # DELETE
                 '/comment/<int:comment_id>',) # GET
Example #20
0
from flask import Flask
import flask_restful
from flask_cors import CORS

from ManagerSystem.apis.AManager import MSManager
from ManagerSystem.apis.AStocks import MSStocks
from ManagerSystem.apis.AProducts import MSProduct
from ManagerSystem.apis.AOrder import MSOrder
from ManagerSystem.apis.ACotegory import MSCategory
from ManagerSystem.apis.MSApproval import MSApproval
from ManagerSystem.apis.AOther import AOther
from ManagerSystem.apis.ACoupons import MSCoupons

sg = Flask(__name__)
CORS(sg, resources=r'/*')
api = flask_restful.Api(sg)
# r'/*' 是通配符,让本服务器所有的URL 都允许跨域请求

api.add_resource(MSManager, "/sharp/manager/user/<string:manager>")
api.add_resource(MSStocks, "/sharp/manager/stock/<string:stock>")
api.add_resource(MSProduct, "/sharp/manager/product/<string:product>")
api.add_resource(MSOrder, "/sharp/manager/order/<string:order>")
api.add_resource(MSCategory, "/sharp/manager/category/<string:category>")
api.add_resource(MSApproval, "/sharp/manager/approval/<string:approval>")
api.add_resource(AOther, "/sharp/manager/other/<string:other>")
api.add_resource(MSCoupons, "/sharp/manager/card/<string:card>")


'''
if __name__ == '__main__':
    sg.run('0.0.0.0', 443, debug=False, ssl_context=(
Example #21
0
    def __init__(self,name):
        super(ConferenceApplication,self).__init__(name)
        self.recognizer = DnnRecognizer.DnnRecognizer()
        #self.recognizer = DlibRecognizer.DlibRecognizer()

application = ConferenceApplication(__name__)

application.debug = True

class RegexConverter(werkzeug.routing.BaseConverter):
    def __init__(self, url_map, *items):
        super(RegexConverter, self).__init__(url_map)
        self.regex = items[0]
application.url_map.converters['regex'] = RegexConverter

api = rest.Api(application)

class FilesResource(rest.Resource):
    def get(self,path,extension):
        return flask.send_file("templates/" + path + "." + extension)


class ImageReceiver(rest.Resource):
    def readImage():
        if(flask.request.headers.get('content-type') == 'multipart/form-data'):
            return flask.request.files['file'].read()
        else:
            print(flask.request.headers)

            for key in flask.request.values.keys():
                if(key.startswith('data:')):
Example #22
0
########### BASE IMPORTS ###############################
from flask import Flask, Response
import base64
import flask_restful as restful
from flasgger import Swagger

######### ENVIRONMENT CONFIGS ###########################
from configs.readconfig import configp

app = Flask(__name__)

apy = restful.Api(app)

from controllers.single_message import WhatsAppSingleMessage
apy.add_resource(WhatsAppSingleMessage, '/api/v0.1/send_single_message')

from controllers.broadcast_message import WhatsAppBroadcastMessage
apy.add_resource(WhatsAppBroadcastMessage, '/api/v0.1/send_broadcast_message')

from controllers.listen_message import WhatsAppMessageListener
apy.add_resource(WhatsAppMessageListener, '/api/v0.1/listen_new_message')

from controllers.add_new_contact import WhatsAppNewContactListener
apy.add_resource(WhatsAppNewContactListener, '/api/v0.1/add_new_contact')

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True, port=5000, threaded=True)
#app.run(debug=True, threaded=True)
Example #23
0
import flask
from flask import Flask, jsonify, request
from flask_restful import reqparse
from datetime import datetime

import flask_restful
import mariadb
import json
import uuid

app = Flask(__name__)
# app.config["DEBUG"] = True
api = flask_restful.Api(app)

config = {
    'host': '127.0.0.1',
    'port': 3306,
    'user': '******',
    'password': '******',
    'database': 'mydb'
}


class Delivery(flask_restful.Resource):
    def __init__(self):
        self.conn = mariadb.connect(**config)
        self.cursor = self.conn.cursor()

    def get(self):
        sql = '''select delivery_id, order_json, status, created_at 
                 from delivery_status order by id desc'''
Example #24
0
 def test_api_base(self):
     app = Mock()
     api = flask_restful.Api(app)
     self.assertEquals(api.urls, {})
     self.assertEquals(api.prefix, '')
     self.assertEquals(api.default_mediatype, 'application/json')
Example #25
0
# -*- coding: utf-8 -*-
from __future__ import absolute_import

from flask import Blueprint
import flask_restful as restful

from .routes import routes
from .validators import security


@security.scopes_loader
def current_scopes():
    return []


bp = Blueprint('v5', __name__, static_folder='static')
api = restful.Api(bp, catch_all_404s=True)

for route in routes:
    api.add_resource(route.pop('resource'), *route.pop('urls'), **route)
Example #26
0
    def test_api_delayed_initialization(self):
        app = Flask(__name__)
        api = flask_restful.Api()
        api.init_app(app)

        api.add_resource(HelloWorld, '/', endpoint="hello")
Example #27
0
 def test_url_for(self):
     app = Flask(__name__)
     api = flask_restful.Api(app)
     api.add_resource(HelloWorld, '/ids/<int:id>')
     with app.test_request_context('/foo'):
         self.assertEqual(api.url_for(HelloWorld, id=123), '/ids/123')
Example #28
0
 def test_api_prefix(self):
     app = Mock()
     api = flask_restful.Api(app, prefix='/foo')
     self.assertEquals(api.prefix, '/foo')
Example #29
0
# encoding: utf-8
import requests
import flask_restful as restful

external_route = "http://httpbin.org/get"
api = restful.Api()


class Hello(restful.Resource):

    def get(self):
        response = requests.get(external_route)

        result = {
            "data": None,
            "success": False
        }
        status = response.status_code

        if status == 200:
            result["data"] = response.json()
            result["success"] = True

        return api.make_response(result, status)
Example #30
0
import flask
import bcrypt
import flask_restful as rest
from pymongo import MongoClient

app = flask.Flask(__name__)
api = rest.Api(app)

# connect to mongodb and create database and corresponding collections
client = MongoClient("mongodb://db:27017")

db = client.SentencesDatabase

users = db['Users']

def user_match(username, password, method):
    user = users.find({'Username': username})

    if method == 'register':
        if user.count() > 0:
            return 303
        else:
            return 200
    else:
        if user.count() > 0:
            if user[0]['Password'] == bcrypt.hashpw(password.encode('utf-8'), user[0]['Password']):
                return 200
            else:
                return 301
        else:
            return 302