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
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()
# 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)