def __init__(self, credentials, encryption=False, env=None, top_layers=None): """ :param credentials: number and registed password :param bool encryptionEnabled: E2E encryption enabled/ disabled :param string env: yowsup environment string :params top_layers: tuple of layer between :class:`yowsup_gateway.layer.CeleryLayer` and Yowsup Core Layers """ if env and isinstance(env, str): YowsupEnv.setEnv(env) top_layers = top_layers + (CeleryLayer, ) if top_layers else ( CeleryLayer, ) layers = stacks.YowStackBuilder.getDefaultLayers( axolotl=encryption) + top_layers try: super(YowsupStack, self).__init__(layers, reversed=False) except ValueError as e: raise exceptions.ConfigurationError(e.args[0]) self.setCredentials(credentials) self.detached_queue = Queue.Queue() self.facade = self.getLayerInterface(CeleryLayer) self.listening = False
def process(self): super(RegistrationArgParser, self).process() config = self.getConfig( self.args["config"]) if self.args["config"] else {} if self.args["env"]: YowsupEnv.setEnv(self.args["env"]) if self.args["mcc"]: config["mcc"] = self.args["mcc"] if self.args["mnc"]: config["mnc"] = self.args["mnc"] if self.args["phone"]: config["phone"] = self.args["phone"] if self.args["cc"]: config["cc"] = self.args["cc"] if not "mcc" in config: config["mcc"] = "000" if not "mnc" in config: config["mnc"] = "000" if not "sim_mcc" in config: config["sim_mcc"] = "000" if not "sim_mnc" in config: config["sim_mnc"] = "000" try: assert self.args["requestcode"] or self.args[ "register"], "Must specify one of the modes -r/-R" assert "cc" in config, "Must specify cc (country code)" assert "phone" in config, "Must specify phone number" except AssertionError as e: self.tryPrint(e) self.tryPrint("\n") return False if not config["phone"].startswith(config["cc"]): self.tryPrint( "Error, phone number does not start with the specified country code\n" ) return False config["phone"] = config["phone"][len(config["cc"]):] if self.args["requestcode"]: self.handleRequestCode(self.args["requestcode"], config) elif self.args["register"]: self.handleRegister(self.args["register"], config) else: return False return True
def __init__(self): YowsupEnv.setEnv('android') super(YowsupWebLayer, self).__init__() YowInterfaceLayer.__init__(self) self.connected = False self.username = None self.sendReceipts = False self.sendRead = False self.credentials = None self.jidAliases = { # "NAME": "*****@*****.**" }
def process(self): super(DemosArgParser, self).process() if self.args["env"]: YowsupEnv.setEnv(self.args["env"]) if self.args["yowsup"]: self.startCmdline() elif self.args["echo"]: self.startEcho() elif self.args["send"]: self.startSendClient() elif self.args["sync"]: self.startSyncContacts() else: return False return True
def process(self): super(RegistrationArgParser, self).process() config = self.getConfig(self.args["config"]) if self.args["config"] else {} if self.args["env"]: YowsupEnv.setEnv(self.args["env"]) if self.args["mcc"] : config["mcc"] = self.args["mcc"] if self.args["mnc"] : config["mnc"] = self.args["mnc"] if self.args["phone"] : config["phone"] = self.args["phone"] if self.args["cc" ] : config["cc"] = self.args["cc"] #if self.args["sim_mnc"] : config["sim_mnc"] = self.args["sim_mnc"] #if self.args["sim_mcc"] : config["sim_mcc"] = self.args["sim_mcc"] if not "mcc" in config: config["mcc"] = "000" if not "mnc" in config: config["mnc"] = "000" if not "sim_mcc" in config: config["sim_mcc"] = "000" if not "sim_mnc" in config: config["sim_mnc"] = "000" try: assert self.args["requestcode"] or self.args["register"], "Must specify one of the modes -r/-R" assert "cc" in config, "Must specify cc (country code)" assert "phone" in config, "Must specify phone number" except AssertionError as e: print(e) print("\n") return False if not config["phone"].startswith(config["cc"]): print("Error, phone number does not start with the specified country code\n") return False config["phone"] = config["phone"][len(config["cc"]):] if self.args["requestcode"]: self.handleRequestCode(self.args["requestcode"], config) elif self.args["register"]: self.handleRegister(self.args["register"], config) else: return False return True
def process(self): self.args = vars(self.parse_args()) if self.args["debug"]: logger.setLevel(logging.DEBUG) yowlogger.setLevel(level=logging.DEBUG) else: logger.setLevel(logging.INFO) yowlogger.setLevel(level=logging.INFO) YowsupEnv.setEnv("android") config_manager = ConfigManager() profile_name = None config_loaded_from_profile = True if self.args["config"]: config = config_manager.load(self.args["config"]) if not os.path.isfile(self.args["config"]): profile_name = self.args["config"] elif not self.args["config"].startswith( StorageTools.getStorageForProfile(config.phone)): config_loaded_from_profile = False else: raise ValueError("Must specify --config") if config is None: config = Config() if not config_loaded_from_profile: # config file was explicitly specified and is not that of profile, # load profile config and override values internal_config = config_manager.load(config.phone, profile_only=True) if internal_config is not None: for property in config.keys(): if property != "version" and config[property] is not None: internal_config[property] = config[property] config = internal_config if self._profile is None or self._profile.config is None: self._profile = YowProfile(profile_name or config.phone, config) if self._profile.config.phone is None: print("Invalid config") sys.exit(1)
def process(self): super(DemosArgParser, self).process() if self.args["env"]: YowsupEnv.setEnv(self.args["env"]) if self.args["news"]: self.startNews() else: return False return True