Ejemplo n.º 1
0
def build_models():
    """
    Build Intent classification and NER Models
    :return:
    """
    train_models()
    return build_response.sent_ok()
Ejemplo n.º 2
0
def build_models():
    """
    Build Intent classification and NER Models
    :return:
    """
    train_models()
    return build_response.sent_ok()
Ejemplo n.º 3
0
def delete_entity(id):
    """
    Delete a intent
    :param id:
    :return:
    """
    Entity.objects.get(id=ObjectId(id)).delete()

    return build_response.sent_ok()
Ejemplo n.º 4
0
def delete_entity(id):
    """
    Delete a intent
    :param id:
    :return:
    """
    Entity.objects.get(id=ObjectId(id)).delete()

    return build_response.sent_ok()
def save_training_data(story_id):
    """
    Save training data for given story
    :param story_id:
    :return:
    """
    story = Intent.objects.get(id=ObjectId(story_id))
    story.trainingData = request.json
    story.save()
    return build_response.sent_ok()
Ejemplo n.º 6
0
def save_training_data(story_id):
    """
    Save training data for given story
    :param story_id:
    :return:
    """
    story = Intent.objects.get(id=ObjectId(story_id))
    story.trainingData = request.json
    story.save()
    return build_response.sent_ok()
Ejemplo n.º 7
0
def update_entity(id):
    """
    Update a story from the provided json
    :param id:
    :return:
    """
    json_data = loads(request.get_data())
    entity = Entity.objects.get(id=ObjectId(id))
    entity = update_document(entity, json_data)
    entity.save()
    return build_response.sent_ok()
Ejemplo n.º 8
0
def set_config(bot_name):
    """
    Read bot config
    :param bot_name:
    :return:
    """

    content = request.get_json(silent=True)
    bot = Bot.objects.get(name=bot_name)
    bot.config = content
    bot.save()
    return build_response.sent_ok()
Ejemplo n.º 9
0
def set_config(bot_name):
    """
    Read bot config
    :param bot_name:
    :return:
    """

    content = request.get_json(silent=True)
    bot = Bot.objects.get(name=bot_name)
    bot.config = content
    bot.save()
    return build_response.sent_ok()
Ejemplo n.º 10
0
def delete_country(id):
    """
    Delete a country
    :param id:
    :return:
    """
    try:
        country = Country.objects.get(id=ObjectId(id))
    except Exception as e:
        return build_response.build_json({"error": str(e)})

    country.delete()
    return build_response.sent_ok()
Ejemplo n.º 11
0
def delete_voucher(id):
    """
    Delete a voucher
    :param id:
    :return:
    """
    try:
        voucher = Voucher.objects.get(id=ObjectId(id))
    except Exception as e:
        return build_response.build_json({"error": str(e)})

    voucher.delete()
    return build_response.sent_ok()
Ejemplo n.º 12
0
def set_map():
    content = request.get_json(silent=True)
    print(type(content), content.keys())
    #print(content)
    print("--Seats set_map post hit")

    seat_map_new = Seats()
    seat_map_new.all_seats = content.get(u"seat_map")
    seat_map_new._id = content.get(u"id")

    try:
        ret_id = seat_map_new.save()
    except Exception as e:
        return build_response.build_json("error " + str(e))
    print("--Success")
    return build_response.sent_ok()
Ejemplo n.º 13
0
def delete_intent(id):
    """
    Delete a intent
    :param id:
    :return:
    """
    Intent.objects.get(id=ObjectId(id)).delete()

    try:
        train_models()
    except BaseException:
        pass

    # remove NER model for the deleted stoy
    try:
        os.remove("{}/{}.model".format(app.config["MODELS_DIR"], id))
    except OSError:
        pass
    return build_response.sent_ok()
Ejemplo n.º 14
0
def delete_category(id):
    """
    Delete a category
    :param id:
    :return:
    """
    try:
        category = Category.objects.get(id=ObjectId(id))
    except Exception as e:
        return build_response.build_json({"error": str(e)})

    # remove Image for the deleted category
    try:
        if category.imagefile:
            imageDirectory = os.path.join(app.config.get('APP_ROOT'), 'static',
                                          'uploads', 'categories')
            os.remove(os.path.join(imageDirectory, category.imagefile))

    except OSError:
        pass

    category.delete()
    return build_response.sent_ok()
Ejemplo n.º 15
0
def delete_emoji(id):
    """
    Delete a emoji
    :param id:
    :return:
    """
    try:
        emoji = Emoji.objects.get(id=ObjectId(id))
    except Exception as e:
        return build_response.build_json({"error": str(e)})

    # remove Image for the deleted emoji
    try:
        if emoji.imagefile:
            imageDirectory = os.path.join(app.config.get('APP_ROOT'), 'static',
                                          'uploads', 'emojis')
            os.remove(os.path.join(imageDirectory, emoji.imagefile))

    except OSError:
        pass

    emoji.delete()
    return build_response.sent_ok()
Ejemplo n.º 16
0
def webhook_action():
    request_json = request.get_json(silent=True)
    data = request_json
    print(data)
    for entry in data['entry']:
        messaging = entry['messaging']
        for message in messaging:
            if message.get('message'):

                user_id = message['sender']['id']
                user_details_url = "https://graph.facebook.com/v2.6/%s" % user_id
                user_details_params = {
                    'fields': 'first_name,last_name,profile_pic',
                    'access_token': access_token
                }

                try:
                    user_details = call_api(user_details_url, "GET", '',
                                            user_details_params, True)
                    user_name = user_details['first_name']
                    userid = int(user_id)
                except Exception as e:
                    app.logger.warn("API call failed", e)

                if message['message'].get('text'):
                    msg = message['message']['text']

                    if message['message'].get('quick_reply'):
                        isCorrect = message['message']['quick_reply'][
                            'payload']
                        print(isCorrect, type(isCorrect))

                    if 'Play Game' in msg:
                        r.set(user_id + '_playing', 1)

                    if 'exit' in msg:
                        r.set(user_id + '_playing', 0)
                        r.set(user_id + '_count', 0)

                    if r.get(user_id + '_playing') == '1':
                        response = {
                            "access_token": access_token,
                            'recipient': {
                                'id': user_id
                            },
                            'message': {
                                'text': '',
                            }
                        }
                        r.incr(user_id + '_count')
                        count = int(r.get(user_id + '_count')) - 1
                        questions = read_questions().get_json()

                        if len(questions) > count:
                            response['message']['text'] = questions[count][
                                'question']
                            answers = []
                            for ans in questions[count]['Answers']:
                                a = {
                                    'content_type': 'text',
                                    'title': '',
                                    'payload': ''
                                }
                                a['title'] = ans['ans']
                                a['payload'] = str(ans['isCorrect'])
                                answers.append(a)

                            if answers:
                                response['message']['quick_replies'] = answers

                            msg = 'Play Game'
                        else:
                            r.set(user_id + '_playing', 0)
                            r.set(user_id + '_count', 0)
                            response['message'][
                                'text'] = 'Thanks for playing...'

                        print('/n', response)
                    else:
                        response = {
                            "access_token": access_token,
                            'recipient': {
                                'id': user_id
                            },
                            'message': {
                                'text': '',
                                'quick_replies': quick_replies_game
                            }
                        }
                        try:
                            global face_json
                            face_json['input'] = msg
                            headers = {"Content-Type": "application/json"}
                            face_json = call_api(
                                url='http://localhost:5000/api/v1',
                                type="POST",
                                headers=headers,
                                parameters=face_json,
                                is_json=True)

                            for speechResponse in face_json['speechResponse']:
                                response['message'][
                                    'text'] += speechResponse + '\n'
                        except Exception as e:
                            app.logger.warn("API call failed", e)

                    if 'Play Game' in msg:
                        r.set(user_id + '_playing', 1)
                    else:
                        r.set(user_id + '_playing', 0)

                elif message['message'].get('attachments'):
                    attachment_link = message["message"]["attachments"][0][
                        "payload"]["url"]

                    response = {
                        "access_token": access_token,
                        'recipient': {
                            'id': user_id
                        },
                        'message': {}
                    }
                    response['message']['text'] = "couldn't catch that..."

                else:
                    response = {
                        "access_token": access_token,
                        'recipient': {
                            'id': user_id
                        },
                        'message': {}
                    }
                    response['message']['text'] = "couldn't catch that..."

                headers = {"Content-Type": "application/json"}
                #r = requests.post('https://graph.facebook.com/v2.6/me/messages', params=params, headers=headers, json=response)
                try:
                    result = call_api(
                        'https://graph.facebook.com/v2.6/me/messages', "POST",
                        headers, response, True)
                except Exception as e:
                    app.logger.warn("API call failed", e)

    return build_response.sent_ok()