Esempio n. 1
0
from infra.function import *
from infra.models import *
from restapi import api, client, api_info
from flask_restplus import Resource, abort, reqparse, fields
from flask import request
from .authentication import requires_auth
from ML.prediction import ESRB_predict, linear_predict
from ML.datavisualize import *
UserDB = client.USER
TokenCollection = UserDB.tokens
FavoriteCollection = UserDB.preference
predict = api.namespace('predict', description='Predict Services')


@predict.route('/linear', strict_slashes=False)
@api.doc(
    description=
    "The number predict model use linear regression to predict the possible new game number "
    "It can base on different background information to predict the new game number ,like in different genre, developers and platforms"
)
class LinearPrediction(Resource):
    @predict.response(200, 'Success')
    @predict.response(400, 'Invalid')
    @predict.expect(Format_Token, LinearP_parser)
    @requires_auth
    def get(self):
        args = TopSale_parser.parse_args()
        year = args.get('year')
        platform = args.get('platform')
        genre = args.get('genre')
        if year is None:
Esempio n. 2
0
from infra.function import *
from infra.models import *
from restapi import api, client, api_info
from flask_restplus import Resource, abort
from flask import request
from .authentication import requires_auth
from bson import ObjectId
import json
UserDB = client.USER
UserCollection = UserDB.data
TokenCollection = UserDB.tokens
FavoriteCollection = UserDB.preference
user_route = api.namespace('users', description='User information')


class JSONEncoder(json.JSONEncoder):
    def default(self, o):
        if isinstance(o, ObjectId):
            return str(o)
        return json.JSONEncoder.default(self, o)


@user_route.route('', strict_slashes=False)
class UsersList(Resource):
    @user_route.response(200, 'Success')
    @user_route.doc(description=''' List of Users with email ''')
    @api.expect(Format_Token)
    @requires_auth
    def get(self):

        ans = UserCollection.find({}, {'username': 1, 'email': 1, '_id': 0})
Esempio n. 3
0
from infra.function import *
from infra.models import *
import json
import numpy as np
from restapi import api, client, api_info, games_df
from flask_restplus import Resource, abort, reqparse
from flask import request
from .authentication import requires_auth
from ML.datavisualize import *

games = api.namespace('games', description='Record of Games')


class NpEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, np.integer):
            return int(obj)
        elif isinstance(obj, np.floating):
            return float(obj)
        elif isinstance(obj, np.ndarray):
            return obj.tolist()
        else:
            return super(NpEncoder, self).default(obj)


@games.route('/2019', strict_slashes=False)
class GamesList(Resource):
    @games.response(200, 'Success')
    @games.doc(description=''' get the list of games in 2019 ''')
    @games.expect(Format_Token)
    @requires_auth
Esempio n. 4
0
from infra.function import *
from infra.models import *
from restapi import api, client, api_info
from flask_restplus import Resource, abort, reqparse, fields
from flask import request
from ML.recommend import Recommend_Game
from .authentication import requires_auth
from bson import ObjectId
import json
from ML.datavisualize import Create_Popular30
UserDB = client.USER
UserCollection = UserDB.data
TokenCollection = UserDB.tokens
FavoriteCollection = UserDB.preference
recom_route = api.namespace('recommends', description='Recommendation Services')


class JSONEncoder(json.JSONEncoder):
    def default(self, o):
        if isinstance(o, ObjectId):
            return str(o)
        return json.JSONEncoder.default(self, o)

@recom_route.route('', strict_slashes=False)
class RecommendsList(Resource):
    @recom_route.response(200, 'Success')
    @recom_route.doc(description=''' get recommendation list of each users ''')
    @api.expect(Format_Token)
    @requires_auth
    def get(self):
        ans = FavoriteCollection.find({}, {'_id': 0})
Esempio n. 5
0
from infra.function import *
from infra.models import *
from restapi import api, client, api_info
from flask_restplus import Resource, abort
from flask import request
from .authentication import requires_auth
from bson import ObjectId
import json
UserDB = client.USER
UserCollection = UserDB.data
TokenCollection = UserDB.tokens
FavoriteCollection = UserDB.preference
apiusg_route = api.namespace('apiusages', description='Usage Record Services')


class JSONEncoder(json.JSONEncoder):
    def default(self, o):
        if isinstance(o, ObjectId):
            return str(o)
        return json.JSONEncoder.default(self, o)


@apiusg_route.route('', strict_slashes=False)
class UsageList(Resource):
    @apiusg_route.response(200, 'Success')
    @apiusg_route.doc(description=''' List of usage of each service ''')
    @api.expect(Format_Token)
    @requires_auth
    def get(self):
        return api_info