From ad46e1d8a313ec93c1b203aec231b5f0edaf7f63 Mon Sep 17 00:00:00 2001 From: kibergus Date: Fri, 26 Feb 2010 20:53:01 +0000 Subject: [PATCH] New version git-svn-id: file:///svnroot/ussd-widget/trunk@23 d197f4d6-dc93-42ad-8354-0da1f58e353f --- ussd-common/build_ussd-common.py | 4 +- ussd-common/src/usr/lib/python2.5/gsmdecode.py | 3 +- ussd-widget/build_ussd-widget.py | 8 +- ussd-widget/po/ru.po | 207 +++++++++++++------- .../src/usr/lib/hildon-desktop/ussd-widget.py | 39 +++- .../usr/share/locale/ru/LC_MESSAGES/ussd-widget.mo | Bin 9106 -> 10097 bytes 6 files changed, 178 insertions(+), 83 deletions(-) diff --git a/ussd-common/build_ussd-common.py b/ussd-common/build_ussd-common.py index 40d40ac..93301ab 100644 --- a/ussd-common/build_ussd-common.py +++ b/ussd-common/build_ussd-common.py @@ -38,9 +38,9 @@ if __name__ == "__main__": chmod +s /usr/bin/pnatd """ #Set here your post install script - version = "0.0.6" + version = "0.0.7" build = "0" - changeloginformation = "Correct encoding selection. Better locking." + changeloginformation = "Fixed decoding of german language." dir_name = "src" diff --git a/ussd-common/src/usr/lib/python2.5/gsmdecode.py b/ussd-common/src/usr/lib/python2.5/gsmdecode.py index 152bff0..b5510ee 100644 --- a/ussd-common/src/usr/lib/python2.5/gsmdecode.py +++ b/ussd-common/src/usr/lib/python2.5/gsmdecode.py @@ -4,8 +4,9 @@ ## it under the terms of the GNU General Public License as published ## by the Free Software Foundation; version 2 and higer. ## -## Martin Grimme (martin.grimme # gmail.com) 2010LANG_DE = 0x0 +## Martin Grimme (martin.grimme # gmail.com) 2010 +LANG_DE = 0x0 LANG_EN = 0x1 LANG_IT = 0x2 LANG_FR = 0x3 diff --git a/ussd-widget/build_ussd-widget.py b/ussd-widget/build_ussd-widget.py index 5e88637..5a95e81 100644 --- a/ussd-widget/build_ussd-widget.py +++ b/ussd-widget/build_ussd-widget.py @@ -23,20 +23,20 @@ if __name__ == "__main__": p.description="Widget, that executes USSD query and displays response text\nThe main purpose is viewing your balance. In Russia all operators provide balace information via USSD queries and most part of contracts are prepaid. Ability to see your balance on desktop can be useful in such case.\nAnyway, you can configure widget to any other USSD query." p.author="Alexey Guseynov" p.mail="kibergus@gmail.com" - p.depends = "python2.5, ussd-common (>=0.0.6), python-hildondesktop (>=0.1.0-1maemo2), hildon-desktop-python-loader (>=0.1.0-1maemo2), python-gtk2, python-gobject, python-hildon, python-cairo" + p.depends = "python2.5, ussd-common (>=0.0.7), python-hildondesktop (>=0.1.0-1maemo2), hildon-desktop-python-loader (>=0.1.0-1maemo2), python-gtk2, python-gobject, python-hildon, python-cairo" p.section="user/desktop" p.icon = "./ussd-widget.png" p.arch="all" #should be all for python, any for all arch p.urgency="low" #not used in maemo onl for deb os p.distribution="fremantle" p.repository="extras-devel" - p.xsbc_bugtracker="http://bugs.maemo.org" + p.xsbc_bugtracker="https://garage.maemo.org/tracker/?group_id=1219" # p.postinstall="""#!/bin/sh #""" #Set here your post install script - version = "0.1.2" + version = "0.1.3" build = "0" - changeloginformation = "Additional paramaters can be passed to ussdquery.py." + changeloginformation = "Multiline regexps, language selected moved to the bottom and a warning added." dir_name = "src" diff --git a/ussd-widget/po/ru.po b/ussd-widget/po/ru.po index c09f01c..bd1e80b 100644 --- a/ussd-widget/po/ru.po +++ b/ussd-widget/po/ru.po @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: 0.0.6\n" +"Project-Id-Version: 0.1.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-02-06 22:39+0300\n" +"POT-Creation-Date: 2010-02-26 23:38+0300\n" "PO-Revision-Date: 2010-01-29 17:51+0300\n" "Last-Translator: Alexey Guseunov \n" "Language-Team: Russian\n" @@ -14,191 +14,264 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: utf-8\n" -#: src/usr/lib/hildon-desktop/ussd-widget.py:35 -#: src/usr/lib/hildon-desktop/ussd-widget.py:293 +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "German" +msgstr "Немецкий" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "English" +msgstr "Английский" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Italian" +msgstr "Итальянский" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "French" +msgstr "Французский" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Spanish" +msgstr "Испанский" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Dutch" +msgstr "Голандский" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Swedish" +msgstr "Шведский" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Danish" +msgstr "Датский" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Portuguese" +msgstr "Португальский" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Finnish" +msgstr "Финский" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Norwegian" +msgstr "Норвежский" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Greek" +msgstr "Греческий" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Turkish" +msgstr "Турецкий" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Reserved1" +msgstr "Зарезервирован1" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Reserved2" +msgstr "Зарезервирован2" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:26 +msgid "Unspecified" +msgstr "Не указан" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:36 +#: src/usr/lib/hildon-desktop/ussd-widget.py:303 msgid "Click to update" msgstr "Обновить" -#: src/usr/lib/hildon-desktop/ussd-widget.py:59 +#: src/usr/lib/hildon-desktop/ussd-widget.py:60 msgid "Couldn't read previous config" msgstr "Не удается прочитать предыдущий конфигурационный файл" -#: src/usr/lib/hildon-desktop/ussd-widget.py:121 +#: src/usr/lib/hildon-desktop/ussd-widget.py:123 #, python-format msgid "Error reading config on line %(line)d. = or # expected." msgstr "" "Ошибка чтения конфигурационного файла на %(line)d строке. Ожидалось = или #." -#: src/usr/lib/hildon-desktop/ussd-widget.py:136 -#: src/usr/lib/hildon-desktop/ussd-widget.py:145 -#: src/usr/lib/hildon-desktop/ussd-widget.py:162 -#: src/usr/lib/hildon-desktop/ussd-widget.py:203 +#: src/usr/lib/hildon-desktop/ussd-widget.py:138 +#: src/usr/lib/hildon-desktop/ussd-widget.py:147 +#: src/usr/lib/hildon-desktop/ussd-widget.py:164 +#: src/usr/lib/hildon-desktop/ussd-widget.py:205 +#: src/usr/lib/hildon-desktop/ussd-widget.py:213 #, python-format msgid "Error reading config on line %(line)d. Integer expected." msgstr "" "Ошибка чтения конфигурационного файла на %(line)d строке. Ожидалось целое " "число." -#: src/usr/lib/hildon-desktop/ussd-widget.py:173 +#: src/usr/lib/hildon-desktop/ussd-widget.py:175 #, python-format msgid "Error reading config on line %(line)d. Pango font description expected." msgstr "" "Ошибка чтения конфигурационного файла на %(line)d строке. Ожидалось pango " "описание шрифта." -#: src/usr/lib/hildon-desktop/ussd-widget.py:180 -#: src/usr/lib/hildon-desktop/ussd-widget.py:186 +#: src/usr/lib/hildon-desktop/ussd-widget.py:182 +#: src/usr/lib/hildon-desktop/ussd-widget.py:188 #, python-format msgid "Error reading config on line %(line)d. Expected color definition." msgstr "" "Ошибка чтения конфигурационного файла на строке %(line)d. Ожидалось описание " "цвета." -#: src/usr/lib/hildon-desktop/ussd-widget.py:200 +#: src/usr/lib/hildon-desktop/ussd-widget.py:202 #, python-format msgid "Error reading config on line %(line)d. Unknown language code." msgstr "" "Ошибка чтения конфигурационного файла на %(line)d строке. Неизвестный код " "языка." -#: src/usr/lib/hildon-desktop/ussd-widget.py:208 +#: src/usr/lib/hildon-desktop/ussd-widget.py:217 #, python-format msgid "Error reading config on line %(line)d. Unexpected variable: " msgstr "" "Ошибка чтения конфигурационного файла на %(line)d строке. Неизвестная " "переменная: " -#: src/usr/lib/hildon-desktop/ussd-widget.py:215 -#: src/usr/lib/hildon-desktop/ussd-widget.py:220 +#: src/usr/lib/hildon-desktop/ussd-widget.py:224 +#: src/usr/lib/hildon-desktop/ussd-widget.py:229 msgid "Config error" msgstr "Ошибка конфигурации" -#: src/usr/lib/hildon-desktop/ussd-widget.py:221 +#: src/usr/lib/hildon-desktop/ussd-widget.py:230 msgid "IO error while reading config" msgstr "Ошибка ввода/вывода при чтении конфигурационного файла" -#: src/usr/lib/hildon-desktop/ussd-widget.py:311 +#: src/usr/lib/hildon-desktop/ussd-widget.py:321 msgid "serious problems in program logic" msgstr "серьезная проблема в логике программы" -#: src/usr/lib/hildon-desktop/ussd-widget.py:329 +#: src/usr/lib/hildon-desktop/ussd-widget.py:339 msgid "Processing" msgstr "Обрабатываю" -#: src/usr/lib/hildon-desktop/ussd-widget.py:334 +#: src/usr/lib/hildon-desktop/ussd-widget.py:344 msgid "No config" msgstr "Нет конфигурации" -#: src/usr/lib/hildon-desktop/ussd-widget.py:341 +#: src/usr/lib/hildon-desktop/ussd-widget.py:351 msgid "Error" msgstr "Ошибка" -#: src/usr/lib/hildon-desktop/ussd-widget.py:356 +#: src/usr/lib/hildon-desktop/ussd-widget.py:366 msgid "Regexp Error: " msgstr "Ошибка в регулярном выражении: " -#: src/usr/lib/hildon-desktop/ussd-widget.py:365 +#: src/usr/lib/hildon-desktop/ussd-widget.py:375 msgid "Couldn't exec banner parser:" msgstr "Не удалось запустить обработчик для баннера:" -#: src/usr/lib/hildon-desktop/ussd-widget.py:373 +#: src/usr/lib/hildon-desktop/ussd-widget.py:383 msgid "Couldn't exec widget parser:" msgstr "Не удалось запустить обработчик для виджета:" -#: src/usr/lib/hildon-desktop/ussd-widget.py:380 +#: src/usr/lib/hildon-desktop/ussd-widget.py:390 msgid "Couldn't exec chain:" msgstr "Не удалось запустить следующее звено:" -#: src/usr/lib/hildon-desktop/ussd-widget.py:410 +#: src/usr/lib/hildon-desktop/ussd-widget.py:420 msgid "OK" msgstr "OK" -#: src/usr/lib/hildon-desktop/ussd-widget.py:419 +#: src/usr/lib/hildon-desktop/ussd-widget.py:429 msgid "USSD widget" msgstr "USSD виджет" -#: src/usr/lib/hildon-desktop/ussd-widget.py:421 +#: src/usr/lib/hildon-desktop/ussd-widget.py:431 msgid "Save" msgstr "Сохранить" -#: src/usr/lib/hildon-desktop/ussd-widget.py:453 +#: src/usr/lib/hildon-desktop/ussd-widget.py:465 msgid "USSD reply language" msgstr "Язык USSD ответа" -#: src/usr/lib/hildon-desktop/ussd-widget.py:458 +#: src/usr/lib/hildon-desktop/ussd-widget.py:470 msgid "Enable banner. Parser:" msgstr "Включить баннер. Обработчик:" -#: src/usr/lib/hildon-desktop/ussd-widget.py:468 +#: src/usr/lib/hildon-desktop/ussd-widget.py:480 msgid "Execute query on start" msgstr "Выполнять запрос при старте" -#: src/usr/lib/hildon-desktop/ussd-widget.py:471 +#: src/usr/lib/hildon-desktop/ussd-widget.py:483 msgid "Font" msgstr "Шрифт" -#: src/usr/lib/hildon-desktop/ussd-widget.py:474 +#: src/usr/lib/hildon-desktop/ussd-widget.py:486 msgid "Background color" msgstr "Цвет фона" -#: src/usr/lib/hildon-desktop/ussd-widget.py:476 +#: src/usr/lib/hildon-desktop/ussd-widget.py:488 msgid "Text color" msgstr "Цвет шрифта" -#: src/usr/lib/hildon-desktop/ussd-widget.py:503 +#: src/usr/lib/hildon-desktop/ussd-widget.py:515 msgid "USSD number" msgstr "USSD номер" -#: src/usr/lib/hildon-desktop/ussd-widget.py:518 +#: src/usr/lib/hildon-desktop/ussd-widget.py:528 msgid "Name" msgstr "Имя" -#: src/usr/lib/hildon-desktop/ussd-widget.py:527 +#: src/usr/lib/hildon-desktop/ussd-widget.py:537 msgid "Parser for widget" msgstr "Обработчик для виджета" -#: src/usr/lib/hildon-desktop/ussd-widget.py:545 +#: src/usr/lib/hildon-desktop/ussd-widget.py:555 msgid "Chain" msgstr "Следующее звено" -#: src/usr/lib/hildon-desktop/ussd-widget.py:555 -msgid "RegExp" +#: src/usr/lib/hildon-desktop/ussd-widget.py:565 +msgid "Regular expression" msgstr "Регулярное выражение" -#: src/usr/lib/hildon-desktop/ussd-widget.py:565 +#: src/usr/lib/hildon-desktop/ussd-widget.py:568 +msgid "Group" +msgstr "Группа" + +#: src/usr/lib/hildon-desktop/ussd-widget.py:583 msgid "Max. width" msgstr "Макс. ширина" -#: src/usr/lib/hildon-desktop/ussd-widget.py:567 +#: src/usr/lib/hildon-desktop/ussd-widget.py:585 msgid "symbols" msgstr "символов" -#: src/usr/lib/hildon-desktop/ussd-widget.py:577 +#: src/usr/lib/hildon-desktop/ussd-widget.py:595 msgid "Update every" msgstr "Обновлять каждые" -#: src/usr/lib/hildon-desktop/ussd-widget.py:579 +#: src/usr/lib/hildon-desktop/ussd-widget.py:597 msgid "minutes" msgstr "минут" -#: src/usr/lib/hildon-desktop/ussd-widget.py:589 +#: src/usr/lib/hildon-desktop/ussd-widget.py:607 msgid "Retry pattern" msgstr "Шаблон повторных запросов" -#: src/usr/lib/hildon-desktop/ussd-widget.py:598 +#: src/usr/lib/hildon-desktop/ussd-widget.py:616 msgid "Additional ussdquery.py options" msgstr "Дополнительные опции для ussdquery.py" -#: src/usr/lib/hildon-desktop/ussd-widget.py:614 -#: src/usr/lib/hildon-desktop/ussd-widget.py:619 -#: src/usr/lib/hildon-desktop/ussd-widget.py:624 -#: src/usr/lib/hildon-desktop/ussd-widget.py:629 -#: src/usr/lib/hildon-desktop/ussd-widget.py:634 -#: src/usr/lib/hildon-desktop/ussd-widget.py:639 +#: src/usr/lib/hildon-desktop/ussd-widget.py:627 +msgid "DO NOT CHANGE. Unspecified is what you want." +msgstr "НЕ МЕНЯТЬ. \"Не указан\" - то, что надо." + +#: src/usr/lib/hildon-desktop/ussd-widget.py:635 +#: src/usr/lib/hildon-desktop/ussd-widget.py:640 +#: src/usr/lib/hildon-desktop/ussd-widget.py:645 +#: src/usr/lib/hildon-desktop/ussd-widget.py:650 +#: src/usr/lib/hildon-desktop/ussd-widget.py:655 +#: src/usr/lib/hildon-desktop/ussd-widget.py:660 msgid "Format help" msgstr "Справка по формату" -#: src/usr/lib/hildon-desktop/ussd-widget.py:614 +#: src/usr/lib/hildon-desktop/ussd-widget.py:635 msgid "" "Reply would be passed to specified utility, output of utility would be shown " "to you on widget.\n" @@ -219,7 +292,7 @@ msgstr "" " Подсказка: используйте echo \"Ваша строка %\" чтобы поместить вашу " "строку перед ответом." -#: src/usr/lib/hildon-desktop/ussd-widget.py:619 +#: src/usr/lib/hildon-desktop/ussd-widget.py:640 msgid "" "Reply would be passed to specified utility, output of utility would be shown " "to you on banner.\n" @@ -239,7 +312,7 @@ msgstr "" "пробелы разделяют аргументы командной строки утилиты Подсказка: " "используйте echo \"Ваша строка %\" чтобы поместить вашу строку перед ответом." -#: src/usr/lib/hildon-desktop/ussd-widget.py:624 +#: src/usr/lib/hildon-desktop/ussd-widget.py:645 msgid "" "Reply would be passed to specified utility after parser utility. May be used " "for logging, statistics etc.\n" @@ -257,7 +330,7 @@ msgstr "" "\" и ' работают как обычно\n" "пробелы разделяют аргументы командной строки утилиты" -#: src/usr/lib/hildon-desktop/ussd-widget.py:629 +#: src/usr/lib/hildon-desktop/ussd-widget.py:650 msgid "" "Standard python regexps. Use\n" " (.+?[\\d\\,\\.]+)\n" @@ -267,7 +340,7 @@ msgstr "" " (.+?[\\d\\,\\.]+)\n" " чтобы удалить все после первого числа." -#: src/usr/lib/hildon-desktop/ussd-widget.py:634 +#: src/usr/lib/hildon-desktop/ussd-widget.py:655 msgid "" "Pauses between attemps (in seconds), delimited by -. For example 15-15-300 " "means \"In case of failure wait 15 seconds, try again, on failure wait 15 " @@ -278,7 +351,7 @@ msgstr "" "ждать еще 15 секунд и снова пробовать, в случае ошибки сделать последнюю " "попытку еще через 5 минут\"" -#: src/usr/lib/hildon-desktop/ussd-widget.py:639 +#: src/usr/lib/hildon-desktop/ussd-widget.py:660 msgid "" "USSD number. To perform USSD menu navigation divide queries vith spacebars. " "For xample '*100# 1' means 1st entry in *100# menu." @@ -286,34 +359,34 @@ msgstr "" "USSD номер. Чтобы переходить по пунктам USSD меню разделяйте запросы " "пробелами. Например, '*100# 1' означает 1ый пункт в меню *100#." -#: src/usr/lib/hildon-desktop/ussd-widget.py:644 +#: src/usr/lib/hildon-desktop/ussd-widget.py:665 msgid "Regexp syntax error" msgstr "Синтаксическая ошибка в регулярном выражении" -#: src/usr/lib/hildon-desktop/ussd-widget.py:649 +#: src/usr/lib/hildon-desktop/ussd-widget.py:670 msgid "Incorrect USSD number" msgstr "Неправильный USSD номер" -#: src/usr/lib/hildon-desktop/ussd-widget.py:649 +#: src/usr/lib/hildon-desktop/ussd-widget.py:670 msgid "USSD number should contain only digits, +, * or #" msgstr "USSD номер должен состоять только из цифр, +, * и #" -#: src/usr/lib/hildon-desktop/ussd-widget.py:654 +#: src/usr/lib/hildon-desktop/ussd-widget.py:675 msgid "Incorrect retry pattern" msgstr "Неправильный шаблон повторных запросов" -#: src/usr/lib/hildon-desktop/ussd-widget.py:654 +#: src/usr/lib/hildon-desktop/ussd-widget.py:675 msgid "Retry pattern should contain only numbers, delimited by -" msgstr "Шаблон повторных запросов должен состоять из чисер, разделенных -" -#: src/usr/lib/hildon-desktop/ussd-widget.py:659 +#: src/usr/lib/hildon-desktop/ussd-widget.py:680 msgid "Choose background color" msgstr "Выберите цвет фона" -#: src/usr/lib/hildon-desktop/ussd-widget.py:666 +#: src/usr/lib/hildon-desktop/ussd-widget.py:687 msgid "Choose text color" msgstr "Выберите цвет текста" -#: src/usr/lib/hildon-desktop/ussd-widget.py:673 +#: src/usr/lib/hildon-desktop/ussd-widget.py:694 msgid "Choose a font" msgstr "Выберите шрифт" diff --git a/ussd-widget/src/usr/lib/hildon-desktop/ussd-widget.py b/ussd-widget/src/usr/lib/hildon-desktop/ussd-widget.py index 0256a0c..2b1ab82 100755 --- a/ussd-widget/src/usr/lib/hildon-desktop/ussd-widget.py +++ b/ussd-widget/src/usr/lib/hildon-desktop/ussd-widget.py @@ -23,6 +23,7 @@ except IOError: _ = retme ussd_languages = ["German", "English", "Italian", "French", "Spanish", "Dutch", "Swedish", "Danish", "Portuguese", "Finnish", "Norwegian", "Greek", "Turkish", "Reserved1", "Reserved2", "Unspecified"] +ussd_languages_localized = [_("German"), _("English"), _("Italian"), _("French"), _("Spanish"), _("Dutch"), _("Swedish"), _("Danish"), _("Portuguese"), _("Finnish"), _("Norwegian"), _("Greek"), _("Turkish"), _("Reserved1"), _("Reserved2"), _("Unspecified")] # TODO Cutt off too long messages and show them in separate dialog # how TODO widget vertical minimum size policy @@ -31,8 +32,8 @@ ussd_languages = ["German", "English", "Italian", "French", "Spanish", "Dutch", class USSD_Controller: def __init__( self, widget ) : self.widget = widget - # number, parser, chain, interval, regexp, width, execute_at_start, retry pattern, font, name, language, show_message_box, message_box_parser, additional arguments - self.default_config = ["", "", "", 0, "", 0, True, [], pango.FontDescription("Nokia Sans 18"), _("Click to update"), 15, False, "", ""] + # number, parser, chain, interval, regexp, width, execute_at_start, retry pattern, font, name, language, show_message_box, message_box_parser, additional arguments, regexp group + self.default_config = ["", "", "", 0, "", 0, True, [], pango.FontDescription("Nokia Sans 18"), _("Click to update"), 15, False, "", "", 1] self.config = self.default_config self.timeout_version = 0 self.retry_version = 0 @@ -86,6 +87,7 @@ class USSD_Controller: fconfig.writelines(["#Show banner\n", "show_box="+str(self.config[11]), "\n"]) fconfig.writelines(["#USSD reply language\n", "language="+str(self.config[10]), "\n"]) fconfig.writelines(["#Additional ussdquery.py arguments\n", "args="+self.config[13], "\n"]) + fconfig.writelines(["#Regexp matching group\n", "reggroup="+self.config[14], "\n"]) fconfig.close() fcntl.flock(lockf,fcntl.LOCK_UN) @@ -203,6 +205,13 @@ class USSD_Controller: print _("Error reading config on line %(line)d. Integer expected.")%{"line":i} elif line[0] == "args" : self.config[13] = line[1].strip() + elif line[0] == "reggroup" : + try: + self.config[14] = int(line[1].strip()) + except: + error = True + print _("Error reading config on line %(line)d. Integer expected.")%{"line":i} + continue else : error = True print _("Error reading config on line %(line)d. Unexpected variable: ")%{"line":i}+line[0] @@ -274,7 +283,8 @@ class USSD_Controller: dialog.language.get_active(), dialog.show_box.get_active(), dialog.b_parser.get_text(), - dialog.args.get_text() + dialog.args.get_text(), + dialog.reggroup.get_value() ] widget.set_bg_color(dialog.bg_color) @@ -350,7 +360,7 @@ class USSD_Controller: # Apply regexp if self.config[4] != "": try : - reply = re.match( self.config[4], reply ).group( 1 ) + reply = re.search( self.config[4], reply, re.MULTILINE | re.UNICODE ).group( self.config[14] ) except Exception, e: self.widget.error = 1 reply = _("Regexp Error: ") + str( e ) + "\n" + reply @@ -443,9 +453,11 @@ class UssdConfigDialog(gtk.Dialog): self.retryEdit = hildon.Entry(gtk.HILDON_SIZE_AUTO) self.args = hildon.Entry(gtk.HILDON_SIZE_AUTO) self.args.set_text(config[13]) + self.reggroup = hildon.NumberEditor(0, 255) + self.reggroup.set_value(config[14]) selector = hildon.TouchSelector(text=True) - for i in ussd_languages: + for i in ussd_languages_localized: selector.append_text(i) self.language = hildon.PickerButton(gtk.HILDON_SIZE_AUTO, hildon.BUTTON_ARRANGEMENT_HORIZONTAL) self.language.set_selector(selector) @@ -510,8 +522,6 @@ class UssdConfigDialog(gtk.Dialog): numberBox.add(self.ussdNumber) vbox.add(numberBox) - vbox.add(self.language) - vbox.add(self.query_at_start) nameBox = gtk.HBox() @@ -552,14 +562,22 @@ class UssdConfigDialog(gtk.Dialog): vbox.add(self.chain) regexpBox = gtk.HBox() - regexpLabel = gtk.Label(_("RegExp")) + regexpLabel = gtk.Label(_("Regular expression")) regexpLabel.set_alignment(0,0.6) regexpLabel.set_size_request(200, -1) + regexpGroupLabel = gtk.Label(_("Group")) + regexpGroupLabel.set_size_request(1, -1) reghelp.set_size_request(10, -1) regexpBox.add(regexpLabel) regexpBox.add(reghelp) + regexpBox.add(regexpGroupLabel) vbox.add(regexpBox) - vbox.add(self.regexp) + self.reggroup.set_size_request(1,-1); + self.regexp.set_size_request(250,-1); + regexpInputBox = gtk.HBox() + regexpInputBox.add(self.regexp) + regexpInputBox.add(self.reggroup) + vbox.add(regexpInputBox) widthBox = gtk.HBox() widthLabel = gtk.Label(_("Max. width")) @@ -605,6 +623,9 @@ class UssdConfigDialog(gtk.Dialog): viewBox.add(self.textColorButton) viewBox.add(self.colorButton) vbox.add(viewBox) + + vbox.add(gtk.Label(_("DO NOT CHANGE. Unspecified is what you want."))) + vbox.add(self.language) self.show_all() self.parent diff --git a/ussd-widget/src/usr/share/locale/ru/LC_MESSAGES/ussd-widget.mo b/ussd-widget/src/usr/share/locale/ru/LC_MESSAGES/ussd-widget.mo index 05e2ed619898394d8136dcfd11ec4fa8c2a3dcde..a5ff1eacb3920297abb140fdb3217f51b219234c 100644 GIT binary patch delta 2426 zcmaLXTToS17{KvGAfO0xS4eXUWr7v z9p#j$IZU^y0XmSRf%?)+*2CI0^pbY*p{a+m%QQ`mS^w``(CMKC-~O$=_Fnh3 VU z>e|0bkLy&VT4FM>`2nR|cqWbu$%t2KDo(>xT!~|FEhggzoQT^o4fo&#Jb~l!JW9Lo zVkTaX+<%QzlxkOZ$Q1A(H$f?~ss^QlI?Tof4xh``x$_`>+gu!x}6|RB9>u zahW_vY3DZbii#hrl*}y!ljvV%kdcn3Mx2f^fVmM%kddmzn1xTF%y=hCgU{nQJciQn zY2;sZMSKHURMm&FLj8CXKf-bJuezx%4fJqH!AqEdA7eV+#0fD<{fv*HtgHAq>rWf% zB`S&MQMTl5T#SP#1Ns$Zpnu?c{3mk1o_%VkO|^xLyx_(pdODO-8>B|ZvGAmip+;p0MkW3i`dDwu{u??xC&f+83 zgKKdFt8gZxk$VeGyoSqh1}BWksV0=e_AHkLcqDRv6=lF9*nzh)nVwC?WMhxvpZF>s z;>4W9d^TFj2e1SyCWSj_Ls_|lC<8x)8o2L1^$R&@iV!`rwW@8C>q%u#AJ9&INh z6~Bo1Bg$cn%ME{aNyuQ;9F#+}0%v0d4zjcs@~>v_jY&JJa4~Mg2DEVoevj99Kb3V~ zLqnfEq|_7Gp3jEKUIg;P+Bl#4KHP=3P-e2};jk7CaK8^_rlstUd=<4Q_gj$TqCB_` z+wn{M9A%(A?5~`G>tWl~4Kh*WY6Wq%gQVy zWChBJGD22u7Ewts`Oudj9ZOn96c7_b$6HDwNoLN(LMe}{%tTJSENLyl7(+iga%g2) ztB7bC6V2Qwzd5RykRL2bET(!ilnZ~dxtzby>}3gSh>XZXK@JMrq~;O{grp^eY}W!p zR*T~@npTkGe1*P%3Y1lpvm(hLWE*8gV~HX{(yUcnX#{>gpSeirSTRHC2Vila{a5Y;a zY0*TDNs*;$yr#K>t0!QuOQ?%q?RT}fUG}+z$z$t0-Zrzz?Xv7k3BPB0y#7E_!1S4F zjn~s?`h0Gy$-a^}J+&#&;_@2iu2!!UdMtZc(wt!O*gdgn4Cz^OTaj8zEy)$zhsW2) zw}$3nkBr}tyROaLCUa^qclnJ*Pm9N^8Uo%O6xpT8-;BGr9ClX9`q-kv65C2CNi1Gu z6ql5jlm*{PDUaRSr8^CMMtABi-J>t)cM6R>vIB;*UtiL_`XVuuXUsL64n168IEO?- z4^iB&hYOW{QTI9>&OTlq)E_8q>tTIa>gfJxq5W-IX~qdkf;{1+Xn8O@y*oC!o1&p; zkv*6-zq;GmD-AdY8N$Wr6D5PvAL;?;;AmI8H{cv1?)C2MrP3AtdhPGBZe*Qiw7vSW zbJTg^zD}-YFVCd8Vd}p}qwh!S2k&P85L0qa9x$c-j5l0&wE45TFEqBk(43D@yVp6c z^jUjP&O&>0&PMz0q}lfMDHXxLa*X)$mwCzvS;B!(PlH^CrH&pdQu=?M7Tc?hBI0=3 zX@4vF}Uc>(6C3>SLxTK!09lY!*ns|9FSQneZko;{YMup_}Vm2OzMBP)=tSk F@Gl)@JOBUy delta 1427 zcmX}rS!|3^6u|M*PPIDd3`!SMKDt<^D@83KIu#9#rJ6`2Qt~NH&B(N&4^4&%L85{i zk??{CUPRiCqLGM(L?jY3L?gu7qm+&G8)q?^M+yooFE3ogR4RFT!#j7zZxm+5`f_q}N%%q`V82G<}H$Yz{`t*8q< zhEBYQDa_3S=0r_umK0q$^7EwDP8d*EW>Kl>-$hA_?fuxWLDmh$;g@{AE)Eo#CRQ+G4W9XA5l^BI2NUDje9dOuf%EY_>VmQ+ zh=j2K4PL=cT*B(l<3l`!HU*&9e_;h4p2R*iw0$H0CbtG1caX)H~`#ER| zo}(7!8`PBj!8w>rf^QK4FLFtSvPEX%Flq`4b42QK8}{?u^&H~7o-gbpE*tOxaVq73 z9807fYmv>!J?zB+WNmVsxD!RWgqyGjUt;PEkz9O_1V@HZ7wXFYS3@OO!?+3wsvHb) z!b1KxeMy^!RogtehPr^RsY#|&XYt+Xhew+3QX@Iiw4OA?l!BDdby3>bczlCoAijZ6 zF(+C~q$u8|Ce(0N(k;4!u9d6*<1)Ioxpe(I&DH^p8jVLv3rr(KK*USeUFyF}o7Nhc zh^JP^3;tcA02vU7cn#={k*2vGMb9&Nsly(hzj1quZEbJ#`|V({wZ1XfY6q*t7Yqi1 zrYmh$?$xpFDHSR!^sSI@K3x$g@(-V19{tmw&>9 j3vOgyj`l=*V__?HG