예제 #1
0
def test_fails_with_incorrect_word():
    # How to test for errors!!
    # with pytest.raises(Exception):
    #     definition("aaasdf")
    solution = definition("aaasdf")

    assert solution == "That word doesn't exist. Please double check your spelling."
예제 #2
0
def handle(msg):
    content_type, chat_type, chat_id = telepot.glance(msg)
    print(content_type, chat_type, chat_id)
    print(msg)
    block = requester(msg['text'])

    query_data = definition(block) + '\n' + origin_data(
        block) + '\n' + example_sentences(block) + '\n' + related_forms(
            block) + '\n' + synonym_forms(block)
    if content_type == 'text':
        bot.sendMessage(chat_id, query_data)
예제 #3
0
def sms():
    msg = request.form.get('Body').lower()
    res = MessagingResponse()

    if msg[0:5] == 'about':
        res.message(about)
        return res

    if msg[0:4] == 'note':
        number = request.form.get('From')
        text = msg.split('note ')[1]
        user = User(user_no=number, note=text)
        db.session.add(user)
        db.session.commit()
        res.message('*Done Your Note Has Been Added Successfully*')
        return str(res)

    if msg[0:9] == 'get_notes':
        number = request.form.get('From')
        note = User.query.filter_by(user_no=number).all()
        for item in note:
            messag = f'*Note ID = {str(item.id)}* \n```{item.note}```'
            res.message(messag)
        return str(res)

    if msg[0:8] == 'get_note':
        number = request.form.get('From')
        try:
            note_id = msg.split('get_note ')[1]
            note = User.query.filter_by(id=note_id).first()
            if note.user_no == number:
                messag = f'*Note ID = {str(note.id)}* \n```{note.note}```'
                res.message(messag)
            else:
                res.message('*You Are Not Authorised To View Others NOTES*')
        except Exception:
            error = '*Please Provide Note ID*'
            res.message(error)
        return str(res)

    if msg[0:8] == 'del_note':
        number = request.form.get('From')
        try:
            note_id = msg.split('del_note ')[1]
            note = User.query.filter_by(id=note_id).first()
            if note.user_no == number:
                db.session.delete(note)
                db.session.commit()
                res.message(f'*Note With Note ID = {str(note.id)} Deleted Successfully*')
            else:
                res.message('*You Are Not Authorised To Delete Others NOTES*')
        except Exception:
            error = '*Please Provide Note ID*'
            res.message(error)
        return str(res)

    if msg[0:9] == 'translate':
        trans_msg = msg.split('translate ')[1]
        translated = ts.google(trans_msg, 'auto', 'en')
        translated_msg = f'{trans_msg}\n\n*ENGLISH*\n\t```{str(translated)}```'
        res.message(str(translated_msg))
        return str(res)

    if msg[0:6] == 'define':
        key = msg.split('define ')[1]
        meaning = dictionary.definition(key)
        res.message(f'*{key.upper()} Meaning*')
        j=0
        for i in meaning:
            j=j+1
            res.message(f'*{j}* ```{i["definition"].capitalize()}```')
        return str(res)

    if msg == 'tasks':
        all_tasks = Tasks.query.all()
        for task in all_tasks:
            dat = task.assigned_date.strftime('%d-%m-%Y')
            res.message(f'*Task No:{task.id}*\n*Date: *```{dat}```\n*Task: *{task.tasks}\nAssigned by: {task.assigned_by}')
        return str(res)