예제 #1
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)
예제 #2
0
파일: utils.py 프로젝트: sti-lyneos/shop
def make_recommender_profile_upload_data():
    recommender_uuid = get_uuid()
    profile_upload_data = [{
        'uuid':
        recommender_uuid,
        'package_list': [
            u'clementine', u'hedgewars', u'mangler', u'nexuiz', u'fgo',
            u'musique', u'pybik', u'radiotray', u'cherrytree', u'phlipple',
            u'psi', u'midori'
        ]
    }]
    return profile_upload_data
예제 #3
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
     """
     # if we have not already set a recommender UUID, now is the time
     # to do it
     if not self.recommender_uuid:
         self.recommender_uuid = get_uuid()
     installed_pkglist = [app.pkgname for app in get_installed_apps_list(db)]
     data = self._generate_submit_profile_data(self.recommender_uuid, installed_pkglist)
     # build the command
     spawner = SpawnHelper()
     spawner.parent_xid = self.xid
     spawner.needs_auth = True
     spawner.connect("data-available", self._on_submit_profile_data)
     spawner.connect("error", lambda spawner, err: self.emit("error", err))
     spawner.run_generic_piston_helper("SoftwareCenterRecommenderAPI", "submit_profile", data=data)
예제 #4
0
파일: utils.py 프로젝트: pombredanne/shop
def make_recommender_profile_upload_data():
    recommender_uuid = get_uuid()
    profile_upload_data = [
        {
            'uuid': recommender_uuid,
            'package_list': [
                u'clementine',
                u'hedgewars',
                u'mangler',
                u'nexuiz',
                u'fgo',
                u'musique',
                u'pybik',
                u'radiotray',
                u'cherrytree',
                u'phlipple',
                u'psi',
                u'midori'
            ]
        }
    ]
    return profile_upload_data
예제 #5
0
def make_recommender_profile_upload_data():
    from softwarecenter.utils import get_uuid

    recommender_uuid = get_uuid()
    profile_upload_data = [
        {
            "uuid": recommender_uuid,
            "package_list": [
                u"clementine",
                u"hedgewars",
                u"mangler",
                u"nexuiz",
                u"fgo",
                u"musique",
                u"pybik",
                u"radiotray",
                u"cherrytree",
                u"phlipple",
                u"psi",
                u"midori",
            ],
        }
    ]
    return profile_upload_data
예제 #6
0
 def test_get_uuid(self):
     from softwarecenter.utils import get_uuid
     uuid = get_uuid()
     self.assertTrue(uuid and len(uuid) > 0)
예제 #7
0
 def test_get_uuid(self):
     from softwarecenter.utils import get_uuid
     uuid = get_uuid()
     self.assertTrue(uuid and len(uuid) > 0)
예제 #8
0
 def test_get_uuid(self):
     uuid = get_uuid()
     self.assertTrue(uuid and len(uuid) > 0)
예제 #9
0
 def test_get_uuid(self):
     uuid = get_uuid()
     self.assertTrue(uuid and len(uuid) > 0)