| 14 | |
| 15 | |
| 16 | class AstaCalendarWorkPattern: |
| 17 | def get_keys(self, s: str) -> list[str]: |
| 18 | regex = r"\<(\".+?\")\>(\w|\d|)+?" |
| 19 | |
| 20 | matches = re.finditer(regex, s) |
| 21 | matcs = [] |
| 22 | for matchNum, match in enumerate(matches, start=1): |
| 23 | matcs.append(match.group(1)) |
| 24 | return matcs |
| 25 | |
| 26 | def get_values(self, s: str) -> list[str]: |
| 27 | rx2 = r"<\"[^<>]+\">" # TODO: unused? |
| 28 | data = re.split("<[^<>]+>", s) |
| 29 | return data |
| 30 | |
| 31 | # Used the list of Blender supported languages as a reference. |
| 32 | # Method to generate names for other language: |
| 33 | # def get_day_names(lang): |
| 34 | # from babel.dates import get_day_names |
| 35 | # from babel import Locale |
| 36 | # locale = Locale(lang) |
| 37 | # return [i.capitalize() for i in get_day_names(locale=locale, width="wide").values()] |
| 38 | Days = { |
| 39 | "am": ("እሑድ", "ሰኞ", "ማክሰኞ", "ረቡዕ", "ሐሙስ", "ዓርብ", "ቅዳሜ"), |
| 40 | "ar": ("الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"), |
| 41 | "be": ("Нядзеля", "Панядзелак", "Аўторак", "Серада", "Чацвер", "Пятніца", "Субота"), |
| 42 | "bg": ("Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота"), |
| 43 | "ca": ("Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"), |
| 44 | "cs": ("Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"), |
| 45 | "da": ("Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"), |
| 46 | "de": ("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"), |
| 47 | "el": ("Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"), |
| 48 | "en": ("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"), |
| 49 | "eo": ("Dimanĉo", "Lundo", "Mardo", "Merkredo", "Ĵaŭdo", "Vendredo", "Sabato"), |
| 50 | "es": ("Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"), |
| 51 | "et": ("Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev"), |
| 52 | "eu": ("Igandea", "Astelehena", "Asteartea", "Asteazkena", "Osteguna", "Ostirala", "Larunbata"), |
| 53 | "fa": ("یکشنبه", "دوشنبه", "سه\u200cشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"), |
| 54 | "fi": ("Sunnuntaina", "Maanantaina", "Tiistaina", "Keskiviikkona", "Torstaina", "Perjantaina", "Lauantaina"), |
| 55 | "fr": ("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"), |
| 56 | "ha": ("Lahadi", "Litinin", "Talata", "Laraba", "Alhamis", "Jummaʼa", "Asabar"), |
| 57 | "he": ("יום ראשון", "יום שני", "יום שלישי", "יום רביעי", "יום חמישי", "יום שישי", "יום שבת"), |
| 58 | "hi": ("रविवार", "सोमवार", "मंगलवार", "बुधवार", "गुरुवार", "शुक्रवार", "शनिवार"), |
| 59 | "hr": ("Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"), |
| 60 | "hu": ("Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat"), |
| 61 | "id": ("Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"), |
| 62 | "it": ("Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"), |
| 63 | "ja": ("日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"), |
| 64 | "ka": ("კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი"), |
| 65 | "kk": ("Жексенбі", "Дүйсенбі", "Сейсенбі", "Сәрсенбі", "Бейсенбі", "Жұма", "Сенбі"), |
| 66 | "km": ("អាទិត្យ", "ច័ន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍"), |
| 67 | "ko": ("일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"), |
| 68 | "ky": ("Жекшемби", "Дүйшөмбү", "Шейшемби", "Шаршемби", "Бейшемби", "Жума", "Ишемби"), |
| 69 | "ne": ("आइतबार", "सोमबार", "मङ्गलबार", "बुधबार", "बिहिबार", "शुक्रबार", "शनिबार"), |
| 70 | "nl": ("Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"), |
| 71 | "pl": ("Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"), |
| 72 | "pt": ("Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"), |
| 73 | "ro": ("Duminică", "Luni", "Marți", "Miercuri", "Joi", "Vineri", "Sâmbătă"), |