Пример #1
0
def send_welcome(message):
    """
	/start and /help commands messages.
	"""
    welcome_message = "Salam! matn be finglish vared konid."
    welcome_message += '\n{}'.format(f2p(welcome_message))
    bot.send_message(chat_id=message.chat.id, text=welcome_message)
Пример #2
0
def root_post():
    finglish = request.form['finglish']
    print('request:', finglish)

    persian = f2p(finglish)
    params = {
        'persian': persian,
    }
    return render_template('root.html', **params)
Пример #3
0
 def __str__(self):
     jdatetime.set_locale("fa_IR")
     date = jdatetime.datetime.fromgregorian(second=self.date_time.second,
                                             minute=self.date_time.minute,
                                             hour=self.date_time.hour,
                                             day=self.date_time.day,
                                             month=self.date_time.month,
                                             year=self.date_time.year)
     output = self.user.get_full_name() + " - " + f2p(
         date.strftime("%d %B %y"))
     return output
Пример #4
0
def f2f(text):
    std_text = ''
    for char in text:
        if (not char.isalpha()):
            std_text += ' %c ' % char
        else:
            std_text += char

    farsi_text = ''
    for word in std_text.split():
        farsi_text += ' ' + f2p(word)

    return farsi_text
Пример #5
0
def main():
    print('Loading test cases...')

    with open('test.txt', encoding="utf-8") as f:
        pairs = [l.strip().split(' ', 1) for l in f if l.strip()]

    print('{} test cases loaded.'.format(len(pairs)))

    failures = 0
    for finglish, expected_persian in pairs:
        persian = f2p(finglish)
        if len(persian) == 0 or persian != expected_persian:
            print('Test case for "{}" failed: Expected "{}" but got "{}".'.
                  format(finglish, expected_persian, persian))
            failures += 1

    print('{} test case(s) passed successfully. {} failures.'.format(
        len(pairs) - failures, failures))
Пример #6
0
def translate(message):
    """
	Function to translate finglish to persian.

	NOTE: #1 These messages are not processed by BOT:
			1. Messages that are not english characters.
			2. Messages that start with emojies.

	TODO: remove emojis from the beginning of a message and then process the rest of it.

	Args:
		message object

	Returns:
		translated message (str)
		------------------------------
			name (@username):

				<translated_message>
		------------------------------

		NOTE:
			- name is formatted BOLD
			- if user has no username, output will only include name and <translated message>
	"""

    # removing emojies
    msg_text = message.text
    raw_text = emoji.demojize(msg_text)
    output_message = None

    # 1
    if isEnglish(raw_text) and not emoji.demojize(raw_text).startswith(':'):

        # Result
        # processing multiple line message
        translated_msg = []
        splitted_msg = msg_text.split('\n')
        for msg in splitted_msg:
            translated_msg.append(f2p(msg))

        output_message = '\n'.join(translated_msg)

    return output_message
Пример #7
0
def addUser(request):
    if request.method == "POST":
        first_name = request.POST.get('first_name')
        last_name = request.POST.get('last_name')
        email = request.POST.get('email')
        user_type = request.POST.get('type')
        phone_number = request.POST.get('phone_number')
        if User.objects.filter(email=email).exists():
            return JsonResponse({"error": "Duplicate user"})
        alphabet = string.ascii_letters + string.digits
        password = ''.join(secrets.choice(alphabet) for i in range(20))
        username = f2p("reza")
        return JsonResponse({"success": username})
        user = User.objects.create_user(username, email, password)
        user.first_name = first_name
        user.last_name = last_name
        user.save()
        if user_type == "دانش آموز":
            student = Student(user=user)
            student.save()
            return JsonResponse({"success": "stu"})
        return JsonResponse({"success": user_type})
    else:
        return JsonResponse({"error": "Invalid Request!"})
def fin2per(bot, update):
    """convert user message from fingilish to persian."""
    recived = update.message.text
    update.message.reply_text(f2p(recived))
Пример #9
0
 def __str__(self):
     jdatetime.set_locale(locale='fa_IR')
     date = jdatetime.date.fromgregorian(day=self.initial_date.day,
                                         month=self.initial_date.month,
                                         year=self.initial_date.year)
     return f2p(date.strftime('%d %B %y'))