Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 def get_slug(self, name, slug=None):
     return get_auto_increment_slug(self.Meta.model,
                                    self.instance, name, slug)
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
 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)
Exemplo n.º 7
0
 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)
Exemplo n.º 8
0
 def get_slug(self, name, slug=None):
     return get_auto_increment_slug(self.Meta.model, self.instance, name,
                                    slug)