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
- 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
+ self.default_config = ["", "", "", 0, "", 0, True, [], pango.FontDescription("Nokia Sans 18"), _("Click to update"), 15, False, "", ""]
self.config = self.default_config
self.timeout_version = 0
self.retry_version = 0
fconfig.writelines(["#Widget name\n", "name="+self.config[9], "\n"])
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.close()
fcntl.flock(lockf,fcntl.LOCK_UN)
except:
error = True
print _("Error reading config on line %(line)d. Integer expected.")%{"line":i}
+ elif line[0] == "args" :
+ self.config[13] = line[1].strip()
else :
error = True
print _("Error reading config on line %(line)d. Unexpected variable: ")%{"line":i}+line[0]
dialog.wname.get_text(),
dialog.language.get_active(),
dialog.show_box.get_active(),
- dialog.b_parser.get_text()
+ dialog.b_parser.get_text(),
+ dialog.args.get_text()
]
widget.set_bg_color(dialog.bg_color)
def call_external_script( self, ussd_code, language ):
self.cb_ready = 0
self.cb_reply = "";
- p = Popen(['/usr/bin/ussdquery.py', ussd_code, "-l", ussd_languages[language]], stdout=PIPE)
+ p = Popen(['/usr/bin/ussdquery.py', ussd_code, "-l", ussd_languages[language]] + smart_split_string(self.config[13],"%"), stdout=PIPE)
gobject.io_add_watch( p.stdout, gobject.IO_IN | gobject.IO_PRI | gobject.IO_HUP | gobject.IO_ERR , self.callback_ussd_data )
def ussd_renew(self, widget, event):
self.widthEdit = hildon.NumberEditor(0, 1000)
self.widthEdit.set_value(config[5])
self.retryEdit = hildon.Entry(gtk.HILDON_SIZE_AUTO)
-
+ self.args = hildon.Entry(gtk.HILDON_SIZE_AUTO)
+ self.args.set_text(config[13])
selector = hildon.TouchSelector(text=True)
for i in ussd_languages:
numberBox = gtk.HBox()
numberLabel = gtk.Label(_("USSD number"))
- numberLabel.set_alignment(0,0)
+ numberLabel.set_alignment(0,0.6)
numberLabel.set_size_request(100, -1)
numberhelp.set_size_request(1, -1)
self.ussdNumber.set_size_request(200, -1)
nameBox = gtk.HBox()
nameLabel = gtk.Label(_("Name"))
- nameLabel.set_alignment(0,0)
+ nameLabel.set_alignment(0,0.6)
nameLabel.set_size_request(100, -1)
self.wname.set_size_request(200, -1)
nameBox.add(nameLabel)
parserBox = gtk.HBox()
parserLabel = gtk.Label(_("Parser for widget"))
- parserLabel.set_alignment(0,0)
+ parserLabel.set_alignment(0,0.6)
parserLabel.set_size_request(200, -1)
phelp.set_size_request(10, -1)
parserBox.add(parserLabel)
chainBox = gtk.HBox()
chainLabel = gtk.Label(_("Chain"))
- chainLabel.set_alignment(0,0)
+ chainLabel.set_alignment(0,0.6)
chainLabel.set_size_request(200, -1)
chelp.set_size_request(10, -1)
chainBox.add(chainLabel)
regexpBox = gtk.HBox()
regexpLabel = gtk.Label(_("RegExp"))
- regexpLabel.set_alignment(0,0)
+ regexpLabel.set_alignment(0,0.6)
regexpLabel.set_size_request(200, -1)
reghelp.set_size_request(10, -1)
regexpBox.add(regexpLabel)
widthBox = gtk.HBox()
widthLabel = gtk.Label(_("Max. width"))
- widthLabel.set_alignment(0,0)
+ widthLabel.set_alignment(0,0.6)
symbolsLabel = gtk.Label(_("symbols"))
widthLabel.set_size_request(140, -1)
self.widthEdit.set_size_request(50, -1)
updateBox = gtk.HBox()
updateLabel = gtk.Label(_("Update every"))
- updateLabel.set_alignment(0,0)
+ updateLabel.set_alignment(0,0.6)
minutesLabel = gtk.Label(_("minutes"))
updateLabel.set_size_request(140, -1)
self.update_interval.set_size_request(50, -1)
retryBox = gtk.HBox()
retryLabel = gtk.Label(_("Retry pattern"))
- retryLabel.set_alignment(0,0)
+ retryLabel.set_alignment(0,0.6)
retryLabel.set_size_request(200, -1)
retryhelp.set_size_request(10, -1)
retryBox.add(retryLabel)
vbox.add(retryBox)
vbox.add(self.retryEdit)
+ argsLabel = gtk.Label(_("Additional ussdquery.py options"))
+ argsLabel.set_alignment(0,0.6)
+ vbox.add(argsLabel)
+ vbox.add(self.args)
+
viewBox = gtk.HBox()
viewBox.add(self.fontButton)
viewBox.add(self.textColorButton)