def get_smsc(self, cb, eb): """Get SMSC from preferences, networks DB or device, then callback""" # try to get from preferences if self.model.conf.get('preferences', 'use_alternate_smsc', False): alternate_smsc = self.model.conf.get('preferences', 'smsc_number', None) else: alternate_smsc = None # try to get from networks DB if self.model.imsi: provider = NetworkProvider() attrs = provider.get_network_by_id(self.model.imsi) if attrs: provider_smsc = attrs[0].smsc else: provider_smsc = None provider.close() else: provider_smsc = None # use the one from the best source if alternate_smsc is not None: logger.info("SMSC used from preferences") cb(alternate_smsc) elif provider_smsc is not None: logger.info("SMSC used from networks DB") cb(provider_smsc) else: logger.info("SMSC used from SIM") self.model.device.GetSmsc(dbus_interface=SMS_INTFACE, reply_handler=cb, error_handler=eb)
def __init__(self, model, imsi, callback): super(APNSelectionController, self).__init__(model) self.callback = callback netdb = NetworkProvider() self.apns = netdb.get_network_by_id(imsi) netdb.close()
def set_network_country_info(self, imsi): try: provider = NetworkProvider() nets = provider.get_network_by_id(imsi) if not len(nets): raise ValueError self.view.set_network_info(nets[0].name) self.view.set_country_info(nets[0].country) except (TypeError, ValueError): self.view.set_network_info(None) self.view.set_country_info(None) finally: provider.close()
def get_default_smsc(self, imsi): try: # create a NetworkProvider object to query our Network DB provider = NetworkProvider() # ask for our network attributes based on what our SIM is nets = provider.get_network_by_id(imsi) if not len(nets): raise ValueError return nets[0].smsc except (TypeError, ValueError): return None finally: provider.close()
def load_smsc(self, sim_data): print "preferences: smsc value in model", self.model.smsc_number if (self.model.smsc_number.capitalize() == _('Unknown') or not self.model.smsc_number): logger.warning("self.smsc_number is Unknown or None") #create a NetworProvider object to querry our NetworkProvider db sim_network = NetworkProvider() # ask for our network attributes based on what our sim value is networks_attributes = sim_network.get_network_by_id(sim_data) if networks_attributes: net_attrib = networks_attributes[0] print "model: preferences sms value:", net_attrib.smsc # tell the view to setup the smsc number. when the user clicks # save or changes him self it will be saved. self.view.setup_smsc_number(net_attrib.smsc)
def sim_imsi(imsi): logger.info("diagnostics sim_imsi - IMSI number is: " + str(imsi)) self.view.set_imsi_info(imsi) # let's look up what we think this SIM's network is. # so we want to display the country and network operator provider = NetworkProvider() networks_attributes = provider.get_network_by_id(imsi) if networks_attributes: net_attrib = networks_attributes[0] logger.info("diagnostics sim_imsi - country: " + str(net_attrib.country)) logger.info("diagnostics sim_imsi - network operator: " + str(net_attrib.name)) self.view.set_network_info(network=net_attrib.name, country=net_attrib.country) provider.close()