mirror of
https://github.com/lutris/lutris
synced 2024-09-15 22:09:55 +00:00
Show open source and free to play games directly in the client
This commit is contained in:
parent
7a53ac953a
commit
6c33d8c957
|
@ -151,15 +151,23 @@ def get_api_games(game_slugs=None, page="1", query_type="games"):
|
|||
|
||||
def search_games(query):
|
||||
query = query.lower().strip()[:32]
|
||||
url = settings.SITE_URL + "/api/games?%s" % urllib.parse.urlencode({"search": query})
|
||||
response = http.Request(url, headers={"Content-Type": "application/json"})
|
||||
if query == "open source games":
|
||||
url = "/api/bundles/open-source"
|
||||
elif query == "free to play games":
|
||||
url = "/api/bundles/free-to-play"
|
||||
else:
|
||||
url = "/api/games?%s" % urllib.parse.urlencode({"search": query})
|
||||
response = http.Request(settings.SITE_URL + url, headers={"Content-Type": "application/json"})
|
||||
try:
|
||||
response.get()
|
||||
except http.HTTPError as ex:
|
||||
logger.error("Unable to get games from API: %s", ex)
|
||||
return None
|
||||
response_data = response.json
|
||||
api_games = response_data.get("results", [])
|
||||
if "bundles" in url:
|
||||
api_games = response_data.get("games", [])
|
||||
else:
|
||||
api_games = response_data.get("results", [])
|
||||
for index, game in enumerate(api_games, 1):
|
||||
game["id"] = index * -1
|
||||
game["installed"] = 1
|
||||
|
|
|
@ -152,13 +152,14 @@ class GenericPanel(Gtk.Fixed):
|
|||
return user_box
|
||||
|
||||
def get_lutris_links(self):
|
||||
search_entry = Gtk.SearchEntry(visible=True)
|
||||
box = Gtk.VBox(spacing=6, visible=True)
|
||||
floss_button = get_link_button("Browse Open Source games")
|
||||
floss_button.connect("clicked", lambda *x: open_uri(LINKS["floss"]))
|
||||
floss_button.connect("clicked", lambda *x: search_entry.set_text("open source games"))
|
||||
box.add(floss_button)
|
||||
|
||||
f2p_button = get_link_button("Browse Free to Play games")
|
||||
f2p_button.connect("clicked", lambda *x: open_uri(LINKS["f2p"]))
|
||||
f2p_button.connect("clicked", lambda *x: search_entry.set_text("free to play games"))
|
||||
box.add(f2p_button)
|
||||
|
||||
donate_button = get_link_button("Support the project")
|
||||
|
|
Loading…
Reference in a new issue