def gen(cmb, sql , first_item='') : #sql should be designed to return two items 'id' and 'title' try: origional_id = fetch.cmbID(cmb) except: origional_id=0 dataSet = fetch.getAllCol(sql) cmb.Freeze() # locks the combo so that other processes are not called cmb.Clear() try: if first_item: cmb.Append(first_item, 0) for row in dataSet: ##rint row cmb.Append(str(row[1]), row[0]) restored = restore(cmb, origional_id) cmb.Thaw() if restored: return origional_id else: return 0 except: #rint 'load cmb error' cmb.Thaw() return 0 cmb.Thaw()
def loadAddress(self, address_id): #rint'loadAddress' sql = "SELECT postcode \ FROM addresses \ WHERE id = %d" % address_id #rintsql postcode = fetch.getDig(sql) #if postcode: self.num_ctrl_postcode.SetValue(str(postcode)) sql = "SELECT id, itemName \ FROM addressItems \ WHERE itemType = 'kecamatan' \ AND postcode = %d " % postcode dataSet = fetch.getAllCol(sql) if len(dataSet)!=1: # as it should #rint' what to do ?' return kecamatanID = dataSet[0][0] loadCmb.restore(self.combo_kecamatan, kecamatanID) selectedKabupatenID = fetch.cmbID(self.combo_kabupaten) selectedProvinceID = fetch.cmbID(self.combo_province) # step 1: working down ------------------------------- #kecamatan = # do for kabupaten -------------------------------- kabupatenList = fetch.kabupatenForKecamatanID(kecamatanID) if selectedKabupatenID in self.idList(kabupatenList): return kabupatenID = self.setGen(selectedKabupatenID, kabupatenList, self.combo_kabupaten) provinceID = self.provincesForKabupaten(kabupatenID, selectedKabupatenID) self.countriesForProvince(provinceID, selectedProvinceID) return # step 2 - work up kelurahanList = fetch.kelurahanForKecamatanID(kecamatanID) #rint 'upFillKel kelurahanList', kelurahanList self.upFillKel(kelurahanList)
def genAdd(cmb, sql , first_item='') : #sql should be designed to return two items 'id' and 'title' origional_id = fetch.cmbID(cmb) dataSet = fetch.getAllCol(sql) cmb.Freeze() # locks the combo so that other processes are not called cmb.Clear() if first_item: cmb.Append(first_item, -1) cmb.Append('', 0) for row in dataSet: #rint 'x' cmb.Append(str(row[1]), row[0]) restored = restore(cmb, origional_id) cmb.Thaw() if restored: cmb.Thaw return origional_id else: cmb.SetSelection(1) origional_id = fetch.cmbID(cmb) cmb.Freeze() # locks the combo so that other processes are not called #rint 'dataSet:', dataSet cmb.Clear() if first_item: cmb.Append(first_item,0) for row in dataSet: txt, iid = str(row[1]), row[0] #rint txt, iid cmb.Append(txt , iid) restored = restore(cmb, origional_id) cmb.Thaw() if restored: return origional_id else: return 0