예제 #1
0
파일: sources.py 프로젝트: gatl/lutris
def write_sources(sources):
    db_sources = read_sources()
    for uri in db_sources:
        if uri not in sources:
            sql.db_delete(settings.PGA_DB, "sources", "uri", uri)
    for uri in sources:
        if uri not in db_sources:
            sql.db_insert(settings.PGA_DB, "sources", {"uri": uri})
예제 #2
0
 def test_can_create_table(self):
     fields = [
         {'name': 'id', 'type': 'INTEGER', 'indexed': True},
         {'name': 'name', 'type': 'TEXT'}
     ]
     schema.create_table('testing', fields)
     sql.db_insert(settings.PGA_DB, 'testing', {'name': "testok"})
     results = sql.db_select(settings.PGA_DB, 'testing',
                             fields=['id', 'name'])
     self.assertEqual(results[0]['name'], "testok")
예제 #3
0
 def save(self):
     """Save this game to database"""
     game_data = {
         "service": self.service,
         "appid": self.appid,
         "name": self.name,
         "slug": self.slug,
         "lutris_slug": self.lutris_slug,
         "icon": self.icon,
         "logo": self.logo,
         "details": str(self.details),
     }
     sql.db_insert(PGA_DB, "service_games", game_data)
예제 #4
0
파일: games.py 프로젝트: hartmark/lutris
def add_game(name, **game_data):
    """Add a game to the PGA database."""
    game_data["name"] = name
    game_data["installed_at"] = int(time.time())
    if "slug" not in game_data:
        game_data["slug"] = slugify(name)
    return sql.db_insert(PGA_DB, "games", game_data)
예제 #5
0
 def save(self):
     """Save this game to database"""
     game_data = {
         "service": self.service,
         "appid": self.appid,
         "name": self.name,
         "slug": self.slug,
         "lutris_slug": self.lutris_slug,
         "icon": self.icon,
         "logo": self.logo,
         "details": str(self.details),
     }
     existing_game = ServiceGameCollection.get_game(self.service,
                                                    self.appid)
     if existing_game:
         sql.db_update(PGA_DB, "service_games", game_data,
                       {"id": existing_game["id"]})
     else:
         sql.db_insert(PGA_DB, "service_games", game_data)
예제 #6
0
파일: games.py 프로젝트: hartmark/lutris
def add_games_bulk(games):
    """
        Add a list of games to the PGA database.
        The dicts must have an identical set of keys.

        Args:
            games (list): list of games in dict format
        Returns:
            list: List of inserted game ids
    """
    return [sql.db_insert(PGA_DB, "games", game) for game in games]
예제 #7
0
파일: sources.py 프로젝트: gatl/lutris
def add_source(uri):
    sql.db_insert(settings.PGA_DB, "sources", {"uri": uri})
예제 #8
0
def add_game_to_category(game_id, category_id):
    """Add a category to a game"""
    return sql.db_insert(settings.PGA_DB, "games_categories", {
        "game_id": game_id,
        "category_id": category_id
    })
예제 #9
0
def add_category(category_name):
    """Add a category to the database"""
    return sql.db_insert(settings.PGA_DB, "categories",
                         {"name": category_name})