예제 #1
0
def packages_add_all(ctx):
    """Add all WHDLoad Packages from every category on the WHDLoad website.
    """
    data = Packages(ctx)
    data.load()
    try:
        data.cli_packages_add_all()
    except KeyboardInterrupt:
        click.echo("\nInterrupted.")
    finally:
        data.save()
예제 #2
0
def packages_list(ctx, package_id):
    """Remove a single WHDLoad Package from the iGameLister WHDLoad Package data file (packages.dat) that has an
    ID matching PACKAGE_ID.
    """
    data = Packages(ctx)
    data.load()
    try:
        data.cli_packages_remove(package_id)
    except KeyboardInterrupt:
        click.echo("\nInterrupted.")
    finally:
        data.save()
예제 #3
0
def packages_add_all(ctx, category_type):
    """Add all WHDLoad Packages from CATEGORY_TYPE on the WHDLoad website.

    Valid category types are: apps, cracktros, demos, games, magazines.
    """
    data = Packages(ctx)
    data.load()
    try:
        data.cli_packages_add_category(category_type)
    except KeyboardInterrupt:
        click.echo("\nInterrupted.")
    finally:
        data.save()
예제 #4
0
class Igame:

    PACKAGES_DATA_FILE = "packages.dat"
    SLAVES_DATA_FILE = "slaves.dat"

    def __init__(self, config):
        self.packages_data = Packages(config)
        self.slaves_data = Slaves(config)

    def load(self):
        try:
            self.packages_data.load(readonly=True)
        except ValueError:
            raise

        try:
            self.slaves_data.load(readonly=True)
        except ValueError:
            raise

    #
    # Click command methods
    #

    def cli_igame_gameslist(self):
        if len(self.packages_data.data) == 0 or len(
                self.slaves_data.data) == 0:
            sys.exit(1)

        click.echo("todo!")

    def cli_igame_genres(self):
        if len(self.packages_data.data) == 0 or len(
                self.slaves_data.data) == 0:
            sys.exit(1)

        click.echo("todo!")
예제 #5
0
def packages_details(ctx, package_id):
    """Show the details for a single WHDLoad Package with an ID matching PACKAGE_ID.
    """
    data = Packages(ctx)
    data.load()
    try:
        data.cli_packages_details(package_id)
    except KeyboardInterrupt:
        click.echo("\nInterrupted.")
예제 #6
0
def packages_add_package(ctx, page_url):
    """Add information from a WHDLoad Package at PAGE_URL to the iGameLister WHDLoad Package data file (packages.dat).

    \b
    Example
    -------

    The PAGE_URL argument must be a valid URL for a WHDLoad Package info page on the WHDLoad website
    (http://www.whdload.de/).

    \b
    igamelister packages add package http://www.whdload.de/games/AwesomeGame.html
    """
    data = Packages(ctx)
    data.load()
    try:
        data.cli_packages_add_package(page_url)
    except KeyboardInterrupt:
        click.echo("\nInterrupted.")
    finally:
        data.save()
예제 #7
0
def packages_list(ctx, sort_by):
    """Display a list of all WHDLoad Packages in the iGameLister WHDLoad Package data file (packages.dat).

    The list of WHDLoad Packages can be sorted by the following criteria:

    \b
      id: The ID number of the WHDLoad Packages. (default)
    date: The release date of the WHDLoad Packages.
    name: The internal name of the WHDLoad Slaves.
    """
    data = Packages(ctx)
    data.load()
    try:
        data.cli_packages_list(sort_by)
    except KeyboardInterrupt:
        click.echo("\nInterrupted.")
예제 #8
0
 def __init__(self, config):
     self.packages_data = Packages(config)
     self.slaves_data = Slaves(config)