def _userInputRequested(self, svcpath): Log.i(svcpath) dialog_values = self._nm.getUserInputRequestFields() for key, value in dialog_values.iteritems(): Log.i("%s => %s" % (key, value)) windowTitle = _("Network") svc = self._nm.getService(svcpath) if svc: windowTitle = svc.name() prev = dialog_values.get("PreviousPassphrase", None) if prev: del dialog_values["PreviousPassphrase"] #filter WPS until it's fixed wps = dialog_values.get("WPS", None) if wps: del dialog_values["WPS"] input_config = [] if len(dialog_values) > 0: for key, value in dialog_values.iteritems(): input_config.append(self._createInputConfig(key, value, prev)), self._userInputScreen = self.session.openWithCallback( self._onUserMultiInput, MultiInputBox, title=_("Input required"), windowTitle=windowTitle, config=input_config) else: self._nm.sendUserReply(StringMap()) #Cancel
def save(self): #c-ify vector = StringMapVector() pos = 1 for item in self._list: item = item[2] stringMap = StringMap() for k, v in item.iteritems(): stringMap[k] = str(v) stringMap[eMediaDatabase.FIELD_POS] = str(pos) pos += 1 vector.append(stringMap) db = eMediaDatabase.getInstance() res = db.savePlaylist(self._id, self._name, self._type, vector) error = res.error() if error: Log.w("Error saving playlist %s\n%s\n%s" % (self._id, res.errorDatabaseText(), res.errorDriverText())) return not error #if self._id <= 0: data = res.data() self._id = -1 if data and len(data) > 0: self._id = int(res.data()[0].get(eMediaDatabase.FIELD_ID, -1)) if self._id == -1: error = True self._valid = not error if not error: Log.i("Playlist '%s (%s)' saved" %(self._name, self._id)) else: Log.w("Error saving playlist!") return not error
def _onUserMultiInput(self, values): self._userInputScreen = None if values: self._nm.sendUserReply(StringMap(values)) else: self._nm.sendUserReply(StringMap())
def shutdown(self): Log.i("cancelling any pending request") if self._userInputScreen: self._nm.sendUserReply(StringMap()) #cancel request