New version
authorkibergus <kibergus@gmail.com>
Fri, 26 Feb 2010 20:53:01 +0000 (20:53 +0000)
committerkibergus <kibergus@gmail.com>
Fri, 26 Feb 2010 20:53:01 +0000 (20:53 +0000)
git-svn-id: file:///svnroot/ussd-widget/trunk@23 d197f4d6-dc93-42ad-8354-0da1f58e353f

ussd-common/build_ussd-common.py
ussd-common/src/usr/lib/python2.5/gsmdecode.py
ussd-widget/build_ussd-widget.py
ussd-widget/po/ru.po
ussd-widget/src/usr/lib/hildon-desktop/ussd-widget.py
ussd-widget/src/usr/share/locale/ru/LC_MESSAGES/ussd-widget.mo

index 40d40ac..93301ab 100644 (file)
@@ -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"     
 
index 152bff0..b5510ee 100644 (file)
@@ -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
index 5e88637..5a95e81 100644 (file)
@@ -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"   
 
index c09f01c..bd1e80b 100644 (file)
@@ -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 <kibergusBarkBarkgmail.com>\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 "Выберите шрифт"
index 0256a0c..2b1ab82 100755 (executable)
@@ -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
index 05e2ed6..a5ff1ea 100644 (file)
Binary files a/ussd-widget/src/usr/share/locale/ru/LC_MESSAGES/ussd-widget.mo and b/ussd-widget/src/usr/share/locale/ru/LC_MESSAGES/ussd-widget.mo differ