def test_review_stats_caching(self):
     self._stats_ready = False
     self._review_stats = []
     review_loader = ReviewLoader(self.cache, self.db)
     review_loader.refresh_review_stats(self._review_stats_ready_callback)
     while not self._stats_ready:
         self._p()
     self.assertTrue(len(self._review_stats) > 0)
     self.assertTrue(os.path.exists(review_loader.REVIEW_STATS_CACHE_FILE))
     self.assertTrue(os.path.exists(review_loader.REVIEW_STATS_BSDDB_FILE))
     # once its there, get_top_rated
     top_rated = review_loader.get_top_rated_apps(quantity=10)
     self.assertEqual(len(top_rated), 10)
     # and per-cat
     top_cat = review_loader.get_top_rated_apps(
         quantity=8, category="Internet")
     self.assertEqual(len(top_cat), 8)
 def test_review_stats_caching(self):
     self._stats_ready = False
     self._review_stats = []
     review_loader = ReviewLoader(self.cache, self.db)
     review_loader.refresh_review_stats(self._review_stats_ready_callback)
     while not self._stats_ready:
         self._p()
     self.assertTrue(len(self._review_stats) > 0)
     self.assertTrue(os.path.exists(review_loader.REVIEW_STATS_CACHE_FILE))
     self.assertTrue(os.path.exists(review_loader.REVIEW_STATS_BSDDB_FILE))
     # once its there, get_top_rated
     top_rated = review_loader.get_top_rated_apps(quantity=10)
     self.assertEqual(len(top_rated), 10)
     # and per-cat
     top_cat = review_loader.get_top_rated_apps(quantity=8,
                                                category="Internet")
     self.assertEqual(len(top_cat), 8)
def get_review_loader(cache, db=None):
    """
    factory that returns a reviews loader singelton
    """
    global review_loader
    if not review_loader:
        if "SOFTWARE_CENTER_IPSUM_REVIEWS" in os.environ:
            review_loader = ReviewLoaderIpsum(cache, db)
        elif "SOFTWARE_CENTER_FORTUNE_REVIEWS" in os.environ:
            review_loader = ReviewLoaderFortune(cache, db)
        elif "SOFTWARE_CENTER_TECHSPEAK_REVIEWS" in os.environ:
            review_loader = ReviewLoaderTechspeak(cache, db)
        else:
            try:
                from softwarecenter.backend.reviews.rnr import (
                    ReviewLoaderSpawningRNRClient)
                # no service_root will raise ValueError
                review_loader = ReviewLoaderSpawningRNRClient(cache, db)
            except (ImportError, ValueError):
                review_loader = ReviewLoaderNull(cache, db)
    return review_loader
Exemple #4
0
        print stats

    # cache
    from softwarecenter.db.pkginfo import get_pkg_info
    cache = get_pkg_info()
    cache.open()

    db = StoreDatabase(XAPIAN_BASE_PATH+"/xapian", cache)
    db.open()

    # rnrclient loader
    app = Application("ACE", "unace")
    #app = Application("", "2vcard")

    from softwarecenter.backend.reviews.rnr import ReviewLoaderSpawningRNRClient
    loader = ReviewLoaderSpawningRNRClient(cache, db)
    print loader.refresh_review_stats(stats_callback)
    print loader.get_reviews(app, callback)

    print "\n\n"
    print "default loader, press ctrl-c for next loader"
    context = GObject.main_context_default()
    main = GObject.MainLoop(context)
    main.run()

    # default loader
    app = Application("","2vcard")
    loader = get_review_loader(cache, db)
    loader.refresh_review_stats(stats_callback)
    loader.get_reviews(app, callback)
    main.run()
    # cache
    from softwarecenter.db.pkginfo import get_pkg_info
    cache = get_pkg_info()
    cache.open()

    db = StoreDatabase(XAPIAN_BASE_PATH + "/xapian", cache)
    db.open()

    # rnrclient loader
    app = Application("ACE", "unace")
    #app = Application("", "2vcard")

    from softwarecenter.backend.reviews.rnr import (
        ReviewLoaderSpawningRNRClient
    )
    loader = ReviewLoaderSpawningRNRClient(cache, db)
    print loader.refresh_review_stats(stats_callback)
    print loader.get_reviews(app, callback)

    print "\n\n"
    print "default loader, press ctrl-c for next loader"
    context = GObject.main_context_default()
    main = GObject.MainLoop(context)
    main.run()

    # default loader
    app = Application("", "2vcard")
    loader = get_review_loader(cache, db)
    loader.refresh_review_stats(stats_callback)
    loader.get_reviews(app, callback)
    main.run()
Exemple #6
0
    # cache
    from softwarecenter.db.pkginfo import get_pkg_info
    cache = get_pkg_info()
    cache.open()

    db = StoreDatabase(XAPIAN_BASE_PATH + "/xapian", cache)
    db.open()

    # rnrclient loader
    app = Application("ACE", "unace")
    #app = Application("", "2vcard")

    from softwarecenter.backend.reviews.rnr import (
        ReviewLoaderSpawningRNRClient
    )
    loader = ReviewLoaderSpawningRNRClient(cache, db)
    loader.connect("refresh-review-stats-finished", stats_callback)
    loader.connect("get-reviews-finished", callback)
    loader.refresh_review_stats()
    print loader.get_reviews(app)

    print "\n\n"
    print "default loader, press ctrl-c for next loader"
    context = GLib.main_context_default()
    main = GLib.MainLoop(context)
    main.run()

    # default loader
    app = Application("", "2vcard")
    loader = get_review_loader(cache, db)
    loader.refresh_review_stats(stats_callback)