SourceIterator is actually just SourceIterable

This commit is contained in:
GeoffreyCoulaud
2023-07-20 10:32:43 +02:00
parent 30152cd10a
commit 7f576d1bd3
8 changed files with 25 additions and 25 deletions

View File

@@ -26,10 +26,10 @@ import yaml
from src import shared
from src.game import Game
from src.importer.sources.location import Location
from src.importer.sources.source import SourceIterator, URLExecutableSource
from src.importer.sources.source import SourceIterable, URLExecutableSource
class BottlesSourceIterator(SourceIterator):
class BottlesSourceIterable(SourceIterable):
source: "BottlesSource"
def __iter__(self):
@@ -80,7 +80,7 @@ class BottlesSource(URLExecutableSource):
"""Generic Bottles source"""
name = _("Bottles")
iterator_class = BottlesSourceIterator
iterator_class = BottlesSourceIterable
url_format = 'bottles:run/"{bottle_name}"/"{game_name}"'
available_on = {"linux"}

View File

@@ -25,10 +25,10 @@ from gi.repository import GLib, Gtk
from src import shared
from src.game import Game
from src.importer.sources.location import Location
from src.importer.sources.source import Source, SourceIterator
from src.importer.sources.source import Source, SourceIterable
class FlatpakSourceIterator(SourceIterator):
class FlatpakSourceIterable(SourceIterable):
source: "FlatpakSource"
def __iter__(self):
@@ -115,7 +115,7 @@ class FlatpakSource(Source):
"""Generic Flatpak source"""
name = _("Flatpak")
iterator_class = FlatpakSourceIterator
iterator_class = FlatpakSourceIterable
executable_format = "flatpak run {flatpak_id}"
available_on = {"linux"}

View File

@@ -32,7 +32,7 @@ from src.game import Game
from src.importer.sources.location import Location
from src.importer.sources.source import (
SourceIterationResult,
SourceIterator,
SourceIterable,
URLExecutableSource,
)
@@ -73,7 +73,7 @@ class SubSource(Iterable):
"""Class representing a Heroic sub-source"""
source: "HeroicSource"
source_iterator: "HeroicSourceIterator"
source_iterator: "HeroicSourceIterable"
name: str
service: str
image_uri_params: str = ""
@@ -284,7 +284,7 @@ class NileIterable(StoreSubSource):
) from error
class HeroicSourceIterator(SourceIterator):
class HeroicSourceIterable(SourceIterable):
source: "HeroicSource"
hidden_app_names: set[str] = set()
@@ -334,7 +334,7 @@ class HeroicSource(URLExecutableSource):
"""Generic Heroic Games Launcher source"""
name = _("Heroic")
iterator_class = HeroicSourceIterator
iterator_class = HeroicSourceIterable
url_format = "heroic://launch/{app_name}"
available_on = {"linux", "win32"}

View File

@@ -25,11 +25,11 @@ from time import time
from src import shared
from src.game import Game
from src.importer.sources.location import Location
from src.importer.sources.source import SourceIterator, URLExecutableSource
from src.importer.sources.source import SourceIterable, URLExecutableSource
from src.utils.sqlite import copy_db
class ItchSourceIterator(SourceIterator):
class ItchSourceIterable(SourceIterable):
source: "ItchSource"
def __iter__(self):
@@ -76,7 +76,7 @@ class ItchSourceIterator(SourceIterator):
class ItchSource(URLExecutableSource):
name = _("itch")
iterator_class = ItchSourceIterator
iterator_class = ItchSourceIterable
url_format = "itch://caves/{cave_id}/launch"
available_on = {"linux", "win32"}

View File

@@ -25,10 +25,10 @@ from time import time
from src import shared
from src.game import Game
from src.importer.sources.location import Location
from src.importer.sources.source import Source, SourceIterationResult, SourceIterator
from src.importer.sources.source import Source, SourceIterationResult, SourceIterable
class LegendarySourceIterator(SourceIterator):
class LegendarySourceIterable(SourceIterable):
source: "LegendarySource"
def game_from_library_entry(
@@ -93,7 +93,7 @@ class LegendarySource(Source):
executable_format = "legendary launch {app_name}"
available_on = {"linux"}
iterator_class = LegendarySourceIterator
iterator_class = LegendarySourceIterable
config_location: Location = Location(
schema_key="legendary-location",
candidates=(

View File

@@ -24,11 +24,11 @@ from time import time
from src import shared
from src.game import Game
from src.importer.sources.location import Location
from src.importer.sources.source import SourceIterator, URLExecutableSource
from src.importer.sources.source import SourceIterable, URLExecutableSource
from src.utils.sqlite import copy_db
class LutrisSourceIterator(SourceIterator):
class LutrisSourceIterable(SourceIterable):
source: "LutrisSource"
def __iter__(self):
@@ -87,7 +87,7 @@ class LutrisSource(URLExecutableSource):
"""Generic Lutris source"""
name = _("Lutris")
iterator_class = LutrisSourceIterator
iterator_class = LutrisSourceIterable
url_format = "lutris:rungameid/{game_id}"
available_on = {"linux"}

View File

@@ -29,7 +29,7 @@ from src.importer.sources.location import Location
SourceIterationResult = None | Game | tuple[Game, tuple[Any]]
class SourceIterator:
class SourceIterable(Iterable):
"""Data producer for a source of games"""
source: "Source" = None
@@ -57,7 +57,7 @@ class Source(Iterable):
data_location: Optional[Location] = None
cache_location: Optional[Location] = None
config_location: Optional[Location] = None
iterator_class: type[SourceIterator]
iterator_class: type[SourceIterable]
@property
def full_name(self) -> str:
@@ -89,7 +89,7 @@ class Source(Iterable):
def executable_format(self) -> str:
"""The executable format used to construct game executables"""
def __iter__(self) -> SourceIterator:
def __iter__(self) -> Generator[SourceIterationResult, None, None]:
"""
Get an iterator for the source
:raises UnresolvableLocationError: Not iterable if any of the locations are unresolvable

View File

@@ -27,11 +27,11 @@ from typing import Iterable
from src import shared
from src.game import Game
from src.importer.sources.location import Location
from src.importer.sources.source import SourceIterator, URLExecutableSource
from src.importer.sources.source import SourceIterable, URLExecutableSource
from src.utils.steam import SteamFileHelper, SteamInvalidManifestError
class SteamSourceIterator(SourceIterator):
class SteamSourceIterable(SourceIterable):
source: "SteamSource"
def get_manifest_dirs(self) -> Iterable[Path]:
@@ -112,7 +112,7 @@ class SteamSourceIterator(SourceIterator):
class SteamSource(URLExecutableSource):
name = _("Steam")
available_on = {"linux", "win32"}
iterator_class = SteamSourceIterator
iterator_class = SteamSourceIterable
url_format = "steam://rungameid/{game_id}"
data_location = Location(