Пример #1
0
 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)
Пример #2
0
    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)
Пример #3
0
 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)
Пример #4
0
 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")
Пример #5
0
 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)
Пример #6
0
 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())
Пример #7
0
 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")
Пример #8
0
 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)
Пример #9
0
 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")
Пример #10
0
 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)
Пример #11
0
 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)
Пример #12
0
 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)