From ff7d8a906eee8629f1263f464faf471b28200784 Mon Sep 17 00:00:00 2001 From: Alex Root Junior Date: Sun, 21 May 2017 18:56:08 +0300 Subject: [PATCH] Define IETF Language Types and add .language property for User --- aiogram/types/user.py | 7 + aiogram/utils/user_language.py | 746 +++++++++++++++++++++++++++++++++ 2 files changed, 753 insertions(+) create mode 100644 aiogram/utils/user_language.py diff --git a/aiogram/types/user.py b/aiogram/types/user.py index a6ec9ecc..886fe0cb 100644 --- a/aiogram/types/user.py +++ b/aiogram/types/user.py @@ -1,4 +1,5 @@ from aiogram.types import Deserializable +from aiogram.utils.user_language import get_language class User(Deserializable): @@ -46,3 +47,9 @@ class User(Deserializable): if self.username: return '@' + self.username return self.full_name + + @property + def language(self): + if not self.language_code: + return None + return get_language(self.language_code) diff --git a/aiogram/utils/user_language.py b/aiogram/utils/user_language.py new file mode 100644 index 00000000..bef95cad --- /dev/null +++ b/aiogram/utils/user_language.py @@ -0,0 +1,746 @@ +class Language: + def __init__(self, language_code, territory=None, lang_type=None, title=None): + self.code = language_code + self.territory = territory + self.type = lang_type + self.title = title + + def __str__(self): + s = '