예제 #1
0
def create_app():
    """Initialize the app factory based on the official Flask documentation"""
    bar_app = Flask(__name__)
    CORS(bar_app)

    # Load configuration
    if os.environ.get("CI"):
        # Travis
        print("We are now loading configuration.")
        bar_app.config.from_pyfile(os.getcwd() + "/config/BAR_API.cfg", silent=True)
        if bar_app.config.get("ADMIN_ENCRYPT_KEY"):
            os.environ["ADMIN_ENCRYPT_KEY"] = bar_app.config.get("ADMIN_ENCRYPT_KEY")
        if bar_app.config.get("ADMIN_PASSWORD_FILE"):
            os.environ["ADMIN_PASSWORD_FILE"] = bar_app.config.get(
                "ADMIN_PASSWORD_FILE"
            )
    elif os.environ.get("BAR"):
        # The BAR
        bar_app.config.from_pyfile(os.environ.get("BAR_API_PATH"), silent=True)
    else:
        # The localhost
        bar_app.config.from_pyfile(
            os.path.expanduser("~") + "/.config/BAR_API.cfg", silent=True
        )

        # Load environment variables
        if bar_app.config.get("ADMIN_ENCRYPT_KEY"):
            os.environ["ADMIN_ENCRYPT_KEY"] = bar_app.config.get("ADMIN_ENCRYPT_KEY")
        if bar_app.config.get("ADMIN_PASSWORD_FILE"):
            os.environ["ADMIN_PASSWORD_FILE"] = bar_app.config.get(
                "ADMIN_PASSWORD_FILE"
            )
        if bar_app.config.get("PHENIX"):
            os.environ["PHENIX"] = bar_app.config.get("PHENIX")
        if bar_app.config.get("PHENIX_VERSION"):
            os.environ["PHENIX_VERSION"] = bar_app.config.get("PHENIX_VERSION")
        if bar_app.config.get("PATH"):
            os.environ["PATH"] = (
                bar_app.config.get("PATH") + ":/usr/local/phenix-1.18.2-3874/build/bin"
            )

    # Initialize the databases
    annotations_lookup_db.init_app(bar_app)
    eplant2_db.init_app(bar_app)
    eplant_poplar_db.init_app(bar_app)
    eplant_tomato_db.init_app(bar_app)
    poplar_nssnp_db.init_app(bar_app)
    tomato_nssnp_db.init_app(bar_app)
    tomato_seq_db.init_app(bar_app)
    single_cell_db.init_app(bar_app)
    summarization_db.init_app(bar_app)

    # Initialize the cache
    cache.init_app(bar_app)

    # Initialize rate limiter
    limiter.init_app(bar_app)

    # Configure the Swagger UI
    bar_api = Api(
        title="BAR API",
        version="0.0.1",
        description="API for the Bio-Analytic Resource",
    )

    # Now add routes
    from api.resources.gene_information import gene_information
    from api.resources.rnaseq_gene_expression import rnaseq_gene_expression
    from api.resources.summarization_gene_expression import (
        summarization_gene_expression,
    )
    from api.resources.api_manager import api_manager
    from api.resources.proxy import bar_proxy
    from api.resources.thalemine import thalemine
    from api.resources.snps import snps
    from api.resources.sequence import sequence

    bar_api.add_namespace(gene_information)
    bar_api.add_namespace(rnaseq_gene_expression)
    bar_api.add_namespace(summarization_gene_expression)
    bar_api.add_namespace(api_manager)
    bar_api.add_namespace(bar_proxy)
    bar_api.add_namespace(thalemine)
    bar_api.add_namespace(snps)
    bar_api.add_namespace(sequence)
    bar_api.init_app(bar_app)
    return bar_app
예제 #2
0
from flask import Flask
from config import Config
from flask_restx import Api
from flask_mongoengine import MongoEngine

api = Api()

app = Flask(__name__)
app.config.from_object(Config)

db = MongoEngine()
db.init_app(app)
api.init_app(app)

from application import routes
예제 #3
0
authorizations = {
    'apikey': {
        'type': 'apiKey',
        'in': 'header',
        'name': 'Authorization'
    }
}

api_call = Api(title="MINI UNSPLASH API DOC",
               doc="/doc",
               description="This was written by Ewanfo Lucky Peter",
               authorizations=authorizations,
               security='apikey')

api_call.init_app(api_resources)

#########################################
#USERS API NAMESPACE#####
#########################################

users_api_call = api_call.namespace("Users Endpoints", path="/users")

from app.views import users_api_resources

#########################################
#IMAGES API NAMESPACE#####
#########################################

images_api_call = api_call.namespace("Images Endpoints", path="/images")
예제 #4
0
from flask import (Flask)
from flask_restx import (Api, Namespace)
# import api namespace and all endpoints
from utils.api import api

app = Flask(__name__)

flaskApp = Api(
    title='Zomentum Assessment - Ticket booking system',
    description=
    'Made by Kartikay Bhutani\nRoll Number: 9917102214\n\n ### Use the following swagger to test the **API\'s**.\n- Click on the namespace (api).\n- Choose any endpoint you like and click on **Try it out**.\n- You can also see the serializers and Request models in **models**',
    version='1.0')
flaskApp.add_namespace(api)
flaskApp.init_app(app)

if __name__ == "__main__":
    app.run(debug=True, use_reloader=True)
예제 #5
0
def create_app():
    """Initialize the app factory based on the official Flask documentation"""
    bar_app = Flask(__name__)
    CORS(bar_app)

    # Load configuration
    if os.environ.get('CI'):
        # Travis
        print('We are now loading configuration.')
        bar_app.config.from_pyfile(os.getcwd() + '/config/BAR_API.cfg',
                                   silent=True)
    elif os.environ.get('BAR'):
        # The BAR
        bar_app.config.from_pyfile(os.environ.get('BAR_API_PATH'), silent=True)
    else:
        # The localhost
        bar_app.config.from_pyfile(os.path.expanduser('~') +
                                   '/.config/BAR_API.cfg',
                                   silent=True)

        # Load environment variables
        if bar_app.config.get('API_MANAGER_KEY'):
            os.environ['API_MANAGER_KEY'] = bar_app.config.get(
                'API_MANAGER_KEY')
        if bar_app.config.get('PHENIX'):
            os.environ['PHENIX'] = bar_app.config.get('PHENIX')
        if bar_app.config.get('PHENIX_VERSION'):
            os.environ['PHENIX_VERSION'] = bar_app.config.get('PHENIX_VERSION')
        if bar_app.config.get('PATH'):
            os.environ['PATH'] = bar_app.config.get(
                'PATH') + + ':/usr/local/phenix-1.18.2-3874/build/bin'

    # Initialize the database
    db.init_app(bar_app)

    # Initialize the cache
    cache.init_app(bar_app)

    # Rate limiter
    limiter.init_app(bar_app)

    # Configure the Swagger UI
    bar_api = Api(title='BAR API',
                  version='0.0.1',
                  description='API for the Bio-Analytic Resource')

    # Now add routes
    from api.resources.gene_information import gene_information
    from api.resources.rnaseq_gene_expression import rnaseq_gene_expression
    from api.resources.summarization_gene_expression import summarization_gene_expression
    from api.resources.api_manager import api_manager
    from api.resources.proxy import bar_proxy
    from api.resources.thalemine import thalemine
    from api.resources.snps import snps

    bar_api.add_namespace(gene_information)
    bar_api.add_namespace(rnaseq_gene_expression)
    bar_api.add_namespace(summarization_gene_expression)
    bar_api.add_namespace(api_manager)
    bar_api.add_namespace(bar_proxy)
    bar_api.add_namespace(thalemine)
    bar_api.add_namespace(snps)
    bar_api.init_app(bar_app)
    return bar_app
예제 #6
0
    def demo(self):
        pilha_ent = self.statements[0]
        vetores = self.TF_IDF(pilha_ent)
        self.mostrar_Vetores(vetores)
        self.dist_cosseno(False)

datastore_client = datastore.Client()

#Trecho de código para definição estrutural da API

app = Flask(__name__)
CORS(app, resources={r"/*": {"origins": "*"}})

api = Api()
api.init_app(app, version='0.1', title='NinoAPI', description='This is the API of the Nino Project. It gives access to some of the functionalities of our solution to predict cybercrimes involving children.'
                                                             '\n\nPlease refer to the documentation below for more information about what our solution can do.')

sentence = api.model('Suspicious_Sentence', {
    'phrases': fields.List(fields.String, description='phrases', required=True)
})

@api.route('/prediction', doc={"description": "Returns the probability for each of the phrases in the input set to be from a pedophile."})
@api.doc(responses={200: """Success\n\nReturn model: ["95.66", "23.39", "17.91", ...]""", 400: """Set of phrases to be analised was not sent"""})
class prediction(Resource):
    @api.doc(body=sentence)
    def post(self):
        A = TextSimilarity(init=2)
        req_data = request.get_json()

        if 'phrases' in req_data:
            return [A.phrasePrediction(phrase) for phrase in req_data['phrases']]
from app import App, APPNAME
from flask_restx import Api

from .namespace_root import api as rootNS
# import other namespaces

api = Api(
    title=APPNAME,
    version=App.config['VERSION'],
    description=App.config['DESCR'],
)

BASEPATH = '/{}'.format(App.config['VERSION'])

# add all namespaces
api.add_namespace(rootNS, path=BASEPATH)
# api.add_namespace(otherNS, path=BASEPATH + '/otherNS')

api.init_app(App)