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:
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})
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
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})
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