def handle(self, *args, **options): arcade_platform = Platform.objects.get(slug="arcade") for game in models.ProviderGame.objects.filter(provider__name="MAME"): match = self.find_matches(game) if not match and options.get("create_missing"): mame_year = int( game.metadata["year"]) if game.metadata["year"] else None publisher_slug = slugify(game.metadata.get("publisher", "")) if publisher_slug: publisher, created = Company.objects.get_or_create( slug=publisher_slug) if created: publisher.name = game.metadata["publisher"] publisher.save() else: publisher = None lutris_game = Game.objects.create(name=game.name, slug=get_auto_increment_slug( Game, None, game.name), year=mame_year, publisher=publisher, is_public=True) lutris_game.platforms.add(arcade_platform) lutris_game.provider_games.add(game) print("Created %s" % lutris_game)
def handle(self, *args, **options): platform_slugs = ['linux', 'windows'] platforms = { slug: Platform.objects.get(slug=slug) for slug in platform_slugs } for game in models.ProviderGame.objects.filter( provider__name="humblebundle"): matches = self.find_matches(game) if not matches and options.get("create_missing"): lutris_game = Game.objects.create(name=game.name, slug=get_auto_increment_slug( Game, None, game.name), is_public=True, humblestoreid=game.slug) supported_systems = game.metadata.get("platforms", []) for system in supported_systems: try: lutris_game.platforms.add(platforms[system]) except KeyError: pass lutris_game.provider_games.add(game) print("Created %s" % lutris_game) elif not matches: print("No match found for %s" % game.name) else: print("Matched: %s" % matches)
def handle(self, *args, **options): platform_slugs = ['linux', 'windows'] platforms = { slug: Platform.objects.get(slug=slug) for slug in platform_slugs } for game in models.ProviderGame.objects.filter(provider__name="GOGDB"): product_type = game.metadata.get("product_type") if product_type != "Game": print("Skipping content type %s for %s" % (product_type, game)) continue match = self.find_match(game) if not match and options.get("create_missing"): gog_year = self.get_year(game) publisher_slug = slugify(game.metadata.get("publisher", "")) if publisher_slug: publisher, created = Company.objects.get_or_create( slug=publisher_slug) if created: publisher.name = game.metadata["publisher"] publisher.save() else: publisher = None supported_systems = game.metadata.get("supported_systems", "").split(",") lutris_game = Game.objects.create(name=game.name, slug=get_auto_increment_slug( Game, None, game.name), year=gog_year, publisher=publisher, is_public=True, gogid=game.slug) for system in supported_systems: try: lutris_game.platforms.add(platforms[system]) except KeyError: pass lutris_game.provider_games.add(game) print("Created %s" % lutris_game) elif not match: print("No match found for %s" % game.metadata)
def get_slug(self, name, slug=None): return get_auto_increment_slug(self.Meta.model, self.instance, name, slug)
def build_slug(self, version): """Generate a slug that will prevent clashes with other installers""" slug = "%s-%s" % (slugify(self.game.name)[:29], slugify(version)[:20]) return get_auto_increment_slug(self.__class__, self, slug)
def build_slug(self, version): slug = "%s-%s" % (slugify(self.game.name)[:29], slugify(version)[:20]) return get_auto_increment_slug(self.__class__, self, slug)
def build_slug(self, version): slug = "%s-%s" % (slugify(self.game.name)[:29], slugify(version)[:20]) return get_auto_increment_slug(self.__class__, self, slug)
def get_slug(self, name, slug=None): return get_auto_increment_slug(self.Meta.model, self.instance, name, slug)