def _query_available(self, series_name, arch_tag, for_qa): if not series_name: series_name = self.distro.get_codename() if not arch_tag: arch_tag = get_current_arch() # build the command spawner = SpawnHelper() spawner.parent_xid = self.xid spawner.ignore_cache = self.ignore_cache spawner.connect("data-available", self._on_query_available_data) spawner.connect("error", lambda spawner, err: self.emit("error", err)) if for_qa: spawner.needs_auth = True spawner.run_generic_piston_helper( "SoftwareCenterAgentAPI", "available_apps_qa", lang=get_language(), series=series_name, arch=arch_tag) else: spawner.run_generic_piston_helper( "SoftwareCenterAgentAPI", "available_apps", lang=get_language(), series=series_name, arch=arch_tag)
def post_submit_profile(self, db): """ This will post the users profile to the recommender server and also generate the UUID for the user if that is not there yet """ recommender_uuid = self.recommender_uuid if not recommender_uuid: # generate a new uuid, but do not save it yet, this will # be done later in _on_submit_profile_data recommender_uuid = get_uuid() installed_pkglist = [app.pkgname for app in get_installed_apps_list(db)] profile = self._generate_submit_profile_data(recommender_uuid, installed_pkglist) # compare profiles to see if there has been a change, and if there # has, do the profile update current_recommender_profile_id = self._calc_profile_id(profile) if current_recommender_profile_id != self.recommender_profile_id: LOG.info("Submitting recommendations profile to the server") self._set_recommender_profile_id(current_recommender_profile_id) # build the command and upload the profile spawner = SpawnHelper() spawner.parent_xid = self.xid spawner.needs_auth = True spawner.connect("data-available", self._on_submit_profile_data, recommender_uuid) spawner.connect( "error", lambda spawner, err: self.emit("error", err)) spawner.run_generic_piston_helper( "SoftwareCenterRecommenderAPI", "submit_profile", data=profile)
def query_available_for_me(self, oauth_token, openid_identifier): cmd = self.HELPER_CMD[:] cmd.append("subscriptions_for_me") spawner = SpawnHelper() spawner.connect("data-available", self._on_query_available_for_me_data) spawner.connect("error", lambda spawner, err: self.emit("error", err)) spawner.run(cmd)
def query_recommend_top(self): # build the command spawner = SpawnHelper() spawner.parent_xid = self.xid spawner.connect("data-available", self._on_recommend_top_data) spawner.connect("error", lambda spawner, err: self.emit("error", err)) spawner.run_generic_piston_helper( "SoftwareCenterRecommenderAPI", "recommend_top")
def query_exhibits(self): cmd = self.HELPER_CMD[:] cmd.append("exhibits") cmd.append(get_language()) spawner = SpawnHelper() spawner.connect("data-available", self._on_exhibits_data_available) spawner.connect("error", lambda spawner, err: self.emit("error", err)) spawner.run(cmd)
def query_exhibits(self): spawner = SpawnHelper() spawner.parent_xid = self.xid spawner.ignore_cache = self.ignore_cache spawner.connect("data-available", self._on_exhibits_data_available) spawner.connect("error", lambda spawner, err: self.emit("error", err)) spawner.run_generic_piston_helper( "SoftwareCenterAgentAPI", "exhibits", lang=get_language(), series=self.distro.get_codename())
def query_server_status(self): # build the command spawner = SpawnHelper() spawner.parent_xid = self.xid spawner.needs_auth = True spawner.connect("data-available", self._on_server_status_data) spawner.connect("error", lambda spawner, err: self.emit("error", err)) spawner.run_generic_piston_helper( "SoftwareCenterRecommenderAPI", "server_status")
def query_available_for_me(self): spawner = SpawnHelper() spawner.parent_xid = self.xid spawner.ignore_cache = self.ignore_cache spawner.connect("data-available", self._on_query_available_for_me_data) spawner.connect("error", lambda spawner, err: self.emit("error", err)) spawner.needs_auth = True spawner.run_generic_piston_helper("SoftwareCenterAgentAPI", "subscriptions_for_me", complete_only=True)
def whoami(self): """ trigger request for the getting account information, this will also verify if the current token is valid and if not trigger a cleanup/re-authenticate """ LOG.debug("whoami called") spawner = SpawnHelper() spawner.connect("data-available", self._on_whoami_data) spawner.connect("error", lambda spawner, err: self.emit("error", err)) spawner.needs_auth = True spawner.run_generic_piston_helper("UbuntuSsoAPI", "whoami")
def query_profile(self, pkgnames): # build the command spawner = SpawnHelper() spawner.parent_xid = self.xid spawner.needs_auth = True spawner.connect("data-available", self._on_profile_data) spawner.connect("error", lambda spawner, err: self.emit("error", err)) spawner.run_generic_piston_helper( "SoftwareCenterRecommenderAPI", "profile", pkgnames=pkgnames)
def post_submit_anon_profile(self, uuid, installed_packages, extra): # build the command spawner = SpawnHelper() spawner.parent_xid = self.xid spawner.needs_auth = True spawner.connect("data-available", self._on_submit_anon_profile_data) spawner.connect("error", lambda spawner, err: self.emit("error", err)) spawner.run_generic_piston_helper( "SoftwareCenterRecommenderAPI", "submit_anon_profile", uuid=uuid, installed_packages=installed_packages, extra=extra)
def _query_available(self, series_name, arch_tag, for_qa): language = get_language() if not series_name: series_name = self.distro.get_codename() if not arch_tag: arch_tag = get_current_arch() # build the command cmd = self.HELPER_CMD[:] if for_qa: cmd.append("available_apps_qa") else: cmd.append("available_apps") cmd += [language, series_name, arch_tag, ] spawner = SpawnHelper() spawner.connect("data-available", self._on_query_available_data) spawner.connect("error", lambda spawner, err: self.emit("error", err)) spawner.run(cmd)