def get_games_from_filters(self): service_name = self.filters.get("service") self.tabs_box.hide() if service_name in services.get_services(): if service_name == "lutris": self.tabs_box.show( ) # Only the lutris service has the ability to search through all games. if self.website_button.props.active: return self.get_api_games() if self.service.online and not self.service.is_authenticated(): self.show_label( _("Connect your %s account to access your games") % self.service.name) return [] return self.get_service_games(service_name) dynamic_categories = { "recent": self.get_recent_games, "running": self.get_running_games, } if self.filters.get("dynamic_category") in dynamic_categories: return dynamic_categories[self.filters["dynamic_category"]]() if self.filters.get("category") and self.filters["category"] != "all": game_ids = categories_db.get_game_ids_for_category( self.filters["category"]) return games_db.get_games_by_ids(game_ids) searches, filters, excludes = self.get_sql_filters() return games_db.get_games(searches=searches, filters=filters, excludes=excludes, sorts=self.sort_params)
def get_games_from_filters(self): service_name = self.filters.get("service") if service_name in services.get_services(): self.set_service(service_name) service_games = ServiceGameCollection.get_for_service(service_name) if service_games: return [ game for game in sorted(service_games, key=lambda game: game.get( self.view_sorting) or game["name"], reverse=not self.view_sorting_ascending) if self.game_matches(game) ] if self.service.online and not self.service.is_connected(): self.show_label( _("Connect your %s account to access your games") % self.service.name) return self.unset_service() dynamic_categories = { "running": self.get_running_games, "installed": self.get_installed_games } if self.filters.get("dynamic_category") in dynamic_categories: return dynamic_categories[self.filters["dynamic_category"]]() if self.filters.get("category"): game_ids = categories_db.get_game_ids_for_category( self.filters["category"]) return games_db.get_games_by_ids(game_ids) searches, filters, excludes = self.get_sql_filters() return games_db.get_games(searches=searches, filters=filters, excludes=excludes, sorts=self.sort_params)
def get_games_from_filters(self): if self.filters.get("service"): service_name = self.filters["service"] if service_name in services.get_services(): self.service = services.get_services()[service_name]() if self.service.online: self.service.connect("service-login", self.on_service_games_updated) self.service.connect("service-logout", self.on_service_logout) self.service.connect("service-games-loaded", self.on_service_games_updated) service_games = ServiceGameCollection.get_for_service( service_name) if service_games: return [ game for game in sorted( service_games, key=lambda game: game.get(self.view_sorting) or game["name"], reverse=not self.view_sorting_ascending, ) if self.game_matches(game) ] if not self.service.online or self.service.is_connected(): AsyncCall(self.service.load, None) spinner = Gtk.Spinner(visible=True) spinner.start() self.blank_overlay.add(spinner) else: self.blank_overlay.add( Gtk.Label( _("Connect your %s account to access your games") % self.service.name, visible=True, )) self.blank_overlay.props.visible = True return self.unset_service() dynamic_categories = { "running": self.get_running_games, "installed": self.get_installed_games, } if self.filters.get("dynamic_category") in dynamic_categories: return dynamic_categories[self.filters["dynamic_category"]]() self.unset_service() if self.filters.get("category"): game_ids = categories_db.get_game_ids_for_category( self.filters["category"]) return games_db.get_games_by_ids(game_ids) searches, filters, excludes = self.get_sql_filters() return games_db.get_games( searches=searches, filters=filters, excludes=excludes, sorts=self.sort_params, )
def get_games_from_filters(self): service_name = self.filters.get("service") if service_name in services.get_services(): return self.switch_to_service(service_name) self.unset_service() dynamic_categories = { "recent": self.get_recent_games, "running": self.get_running_games, } if self.filters.get("dynamic_category") in dynamic_categories: return dynamic_categories[self.filters["dynamic_category"]]() if self.filters.get("category") and self.filters["category"] != "all": game_ids = categories_db.get_game_ids_for_category( self.filters["category"]) return games_db.get_games_by_ids(game_ids) searches, filters, excludes = self.get_sql_filters() return games_db.get_games(searches=searches, filters=filters, excludes=excludes, sorts=self.sort_params)
def get_running_games(self): """Return a list of currently running games""" return games_db.get_games_by_ids( [game.id for game in self.application.running_games])