Example #1
0
    def post(self):
        request_params = request.get_json()
        try:
            access_token = request_params['access_token']
            latitude = request_params['latitude']
            longitude = request_params['longitude']
        except KeyError:
            return {'status': 400, 'message': 'Bad Request'}, 400
        except TypeError:
            return {'status': 400, 'message': 'Bad Request'}, 400

        if access_token == None:
            return {'status': 400, 'message': 'Bad Request'}, 400
        elif access_token_validation(access_token) == False:
            return {'status': 401, 'message': 'Access Unauthorized'}, 401

        client = MongoClient()
        db = client[Config.DB_PMS]
        collection = db[Config.COLLECTION_USERS]

        email = emailFromAccessToken(access_token)
        if email == None:
            logger.error("PinMovies email not found for access_token='" +
                         access_token + "'")
            return {
                'status': 501,
                'message': 'Email not found for access token'
            }, 501

        user = collection.find_one({'email': email})

        mylist = []
        try:
            for pin in user['pins']:
                mylist.append(rt_movie_info(pin))
            mypins = get_detailed_movies(mylist, latitude, longitude)
            response = {}
            response['data'] = {}
            response['data']['movies'] = mypins
            response['data']['count'] = len(user['pins'])
        except KeyError:
            response = {}
            response['data'] = {}
            response['data']['movies'] = []
            response['data']['count'] = 0

        return response, 200
Example #2
0
    def post(self):
        request_params = request.get_json()
        try:
            access_token = request_params['access_token']
        except KeyError:
            return {'status': 400, 'message': 'Bad Request'}, 400
        except TypeError:
            return {'status': 400, 'message': 'Bad Request'}, 400

        if access_token == None:
            return {'status': 400, 'message': 'Bad Request'}, 400
        elif access_token_validation(access_token) == False:
            return {'status': 401, 'message': 'Access Unauthorized'}, 401

        client = MongoClient()
        db = client[Config.DB_PMS]
        collection = db[Config.COLLECTION_USERS]

        email = emailFromAccessToken(access_token)
        if email == None:
            logger.error("PinMovies email not found for access_token='" +
                         access_token + "'")
            return {
                'status': 501,
                'message': 'Email not found for access token'
            }, 501

        user = collection.find_one({'email': email})

        try:
            if request_params['rt_id']:
                for rt_id in request_params['rt_id']:
                    try:
                        user['pins'].remove(str(rt_id))
                    except ValueError:
                        pass
        except KeyError:
            return {'status': 400, 'message': 'Bad Request'}, 400
        except TypeError:
            return {'status': 400, 'message': 'Bad Request'}, 400

        create_id = collection.save(user)
        status = {'status': 200, 'message': 'Successfully UnPinned'}
        return status, 200
Example #3
0
    def post(self):
        request_params = request.get_json()
        try:
            access_token = request_params['access_token']
            latitude=request_params['latitude']
            longitude=request_params['longitude']
        except KeyError:
            return {'status': 400, 'message': 'Bad Request'}, 400
        except TypeError:
            return {'status': 400, 'message': 'Bad Request'}, 400


        if access_token == None:
            return {'status': 400, 'message': 'Bad Request'}, 400
        elif access_token_validation(access_token) == False:
            return {'status': 401, 'message': 'Access Unauthorized'}, 401

        client = MongoClient()
        db = client[Config.DB_PMS]
        collection = db[Config.COLLECTION_USERS]

        email=emailFromAccessToken(access_token)
        if email == None:
            logger.error("PinMovies email not found for access_token='"+access_token+"'")
            return {'status': 501, 'message': 'Email not found for access token'}, 501

        user = collection.find_one({'email': email})

        mylist = []
        try:
            for pin in user['pins']:
                mylist.append(rt_movie_info(pin))
            mypins = get_detailed_movies(mylist,latitude,longitude)
            response = {}
            response['data'] = {}
            response['data']['movies'] = mypins
            response['data']['count'] = len(user['pins'])
        except KeyError:
            response = {}
            response['data'] = {}
            response['data']['movies'] = []
            response['data']['count'] = 0

        return response, 200
Example #4
0
    def post(self):
        request_params = request.get_json()
        try:
            access_token = request_params['access_token']
        except KeyError:
            return {'status': 400, 'message': 'Bad Request'}, 400
        except TypeError:
            return {'status': 400, 'message': 'Bad Request'}, 400

        if access_token == None:
            return {'status': 400, 'message': 'Bad Request'}, 400
        elif access_token_validation(access_token) == False:
            return {'status': 401, 'message': 'Access Unauthorized'}, 401

        client = MongoClient()
        db = client[Config.DB_PMS]
        collection = db[Config.COLLECTION_USERS]

        email=emailFromAccessToken(access_token)
        if email == None:
            logger.error("PinMovies email not found for access_token='"+access_token+"'")
            return {'status': 501, 'message': 'Email not found for access token'}, 501

        user = collection.find_one({'email': email})

        try:
            if request_params['rt_id']:
                for rt_id in request_params['rt_id']:
                    try:
                        user['pins'].remove(str(rt_id))
                    except ValueError:
                        pass
        except KeyError:
            return {'status': 400, 'message': 'Bad Request'}, 400
        except TypeError:
            return {'status': 400, 'message': 'Bad Request'}, 400

        create_id = collection.save(user)
        status = {'status': 200, 'message': 'Successfully UnPinned'}
        return status, 200