Repository: lutris/lutris

Issue:
Autodownloading GOG installers fails on some games
**Describe the bug**
When installing a game from GOG, the interpreter code doesn't always autodownload a GOG installer if GOG sells a game with multiple editions included. In this case, the game will have a shared GOG Store ID and Slug, but the installers themselves will have their own IDs and Slugs that point to the installer downloads.

**Expected behavior**
The Lutris install process autodownloads installers for any GOG game.

**Current behavior**
If the GOG ID and Slug stored in Lutris to generate the Store Page don't match the download ID/Slug, then it doesn't autodownload

**Steps to reproduce**

- Open Lutris or go to lutris.net.
- Search for a game with this kind of issue, good examples are X-Wing or TIE Fighter
- Install the game as you would normally
- The install UI asks for the installer rather than downloading it from GOG

**Lutris debugging output**

```
INFO     2020-01-11 13:04:07,727 [application.do_command_line:225]:Running Lutris 0.5.4
INFO     2020-01-11 13:04:07,727 [startup.check_driver:55]:Using NVIDIA drivers 440.44 for x86_64
INFO     2020-01-11 13:04:07,727 [startup.check_driver:60]:GPU: GeForce RTX 2060
INFO     2020-01-11 13:04:07,727 [startup.check_driver:79]:GPU: 10DE:1F11 1558:95E1 using nvidia drivers
INFO     2020-01-11 13:04:07,727 [startup.check_driver:79]:GPU: 8086:3E9B 1558:95E6 using i915 drivers
INFO     2020-01-11 13:04:07,787 [startup.check_vulkan:132]:Vulkan is supported
ERROR    2020-01-11 13:04:07,788 [startup.fill_missing_platforms:162]:Providing missing platorm for game the-legend-of-zelda-skyward-sword
WARNING  2020-01-11 13:04:07,788 [game.set_platform_from_runner:226]:Can't get platform for runner Dolphin
INFO     2020-01-11 13:04:07,789 [dxvk.get_dxvk_versions:21]:Updating DXVK versions
DEBUG    2020-01-11 13:04:07,973 [http.get:65]:GET https://lutris.net/api/runtime
INFO     2020-01-11 13:04:07,974 [lutriswindow.toggle_connection:590]:Connected to lutris.net as eagledelta1
DEBUG    2020-01-11 13:04:07,975 [gog.get_library:176]:Returning cached GOG library
DEBUG    2020-01-11 13:04:07,975 [http.get:65]:GET https://lutris.net/api/games/library/eagledelta1
DEBUG    2020-01-11 13:04:07,984 [http.get:65]:GET https://lutris.net/api/games
DEBUG    2020-01-11 13:04:08,065 [store.get_missing_media:194]:Requesting missing icons from API for 80 games
DEBUG    2020-01-11 13:04:08,066 [http.get:65]:GET https://lutris.net/api/games
INFO     2020-01-11 13:04:08,247 [dxvk.get_dxvk_versions:21]:Updating D9VK versions
DEBUG    2020-01-11 13:04:09,046 [api.get_game_api_page:132]:Loaded 56 games from page 1
DEBUG    2020-01-11 13:04:09,248 [api.get_game_api_page:132]:Loaded 122 games from page 1
DEBUG    2020-01-11 13:04:10,223 [pga_game.platform:68]:Game The Legend of Zelda: Skyward Sword has no platform
WARNING  2020-01-11 13:04:10,223 [game.set_platform_from_runner:226]:Can't get platform for runner Dolphin
DEBUG    2020-01-11 13:04:21,584 [interpreter.fetch_script:54]:Fetching installer https://lutris.net/api/installers/star-warstm-x-wing-special-edition
DEBUG    2020-01-11 13:04:21,585 [http.get:65]:GET https://lutris.net/api/installers/star-warstm-x-wing-special-edition
DEBUG    2020-01-11 13:04:25,852 [interpreter.check_runner_install:448]:Required runners: [<lutris.runners.linux.linux object at 0x7fd7d4263b10>]
ERROR    2020-01-11 13:04:25,853 [interpreter.prepare_game_files:360]:Unable to get the game from GOG: The installer has no GOG ID!
INFO     2020-01-11 13:04:25,853 [interpreter.iter_game_files:382]:Downloading file 1 of 1
INFO     2020-01-11 13:04:31,822 [interpreter.revert:741]:Cancelling installation of STAR WARS®: X-Wing Collector's CD (1994)
WARNING  2020-01-11 13:04:31,823 [system.remove_folder:197]:Non existent path: /home/dhollinger/.cache/lutris/installer/star-warstm-x-wing-special-edition
```

**System information**

``` json
{
  "comment": "",
  "system": {
    "nvidia_driver": {
      "nvrm": {
        "vendor": "NVIDIA",
        "platform": "UNIX",
        "arch": "x86_64",
        "version": "440.44",
        "date": "Sun Dec 8 03:38:56 UTC 2019"
      }
    },
    "nvidia_gpus": [
      {
        "Model": "GeForce RTX 2060",
        "IRQ": "133",
        "GPU UUID": "GPU-19aeb066-8c34-e1d7-5ba0-3c276b395d13",
        "Video BIOS": "90.06.2d.00.b5",
        "Bus Type": "PCIe",
        "DMA Size": "47 bits",
        "DMA Mask": "0x7fffffffffff",
        "Bus Location": "0000:01:00.0",
        "Device Minor": "0",
        "Blacklisted": "No"
      }
    ],
    "gpus": [
      {
        "DRIVER": "nvidia",
        "PCI_ID": "10DE:1F11",
        "PCI_SUBSYS_ID": "1558:95E1",
        "PCI_CLASS": "30000",
        "PCI_SLOT_NAME": "0000:01:00.0",
        "MODALIAS": "pci:v000010DEd00001F11sv00001558sd000095E1bc03sc00i00"
      },
      {
        "DRIVER": "i915",
        "PCI_ID": "8086:3E9B",
        "PCI_SUBSYS_ID": "1558:95E6",
        "PCI_CLASS": "30000",
        "PCI_SLOT_NAME": "0000:00:02.0",
        "MODALIAS": "pci:v00008086d00003E9Bsv00001558sd000095E6bc03sc00i00"
      }
    ],
    "env": {
      "ASDF_DIR": "/home/dhollinger/.asdf",
      "CLICOLOR": "1",
      "CLUTTER_IM_MODULE": "ibus",
      "COLORTERM": "truecolor",
      "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus,guid=e6bcc1c4d41d8a55672f61d85e19ff78",
      "DBUS_STARTER_ADDRESS": "unix:path=/run/user/1000/bus,guid=e6bcc1c4d41d8a55672f61d85e19ff78",
      "DBUS_STARTER_BUS_TYPE": "session",
      "DEFAULTS_PATH": "/usr/share/gconf/pop.default.path",
      "DESKTOP_SESSION": "pop",
      "DEV_TLD_DOMAINS": "test,mdev,localdev",
      "DISPLAY": ":1",
      "FZF_DEFAULT_COMMAND": "ag --hidden --ignore .git -g \"\"",
      "GDMSESSION": "pop",
      "GNOME_DESKTOP_SESSION_ID": "this-is-deprecated",
      "GNOME_SHELL_SESSION_MODE": "pop",
      "GPG_AGENT_INFO": "/run/user/1000/gnupg/S.gpg-agent:0:1",
      "GTK_IM_MODULE": "ibus",
      "GTK_MODULES": "gail:atk-bridge:appmenu-gtk-module",
      "HOME": "/home/dhollinger",
      "IM_CONFIG_PHASE": "1",
      "INVOCATION_ID": "3e1d6bf9a999420d91e3b421d3b494c4",
      "JOURNAL_STREAM": "9:95432",
      "LANG": "en_US.UTF-8",
      "LANGUAGE": "en_US:en",
      "LIBVIRT_DEFAULT_URI": "qemu:///system",
      "LOGNAME": "dhollinger",
      "LSCOLORS": "gxBxhxDxfxhxhxhxhxcxcx",
      "MANAGERPID": "1087",
      "MANDATORY_PATH": "/usr/share/gconf/pop.mandatory.path",
      "MANPATH": ":/opt/puppetlabs/puppet/share/man",
      "OMF_CONFIG": "/home/dhollinger/.config/omf",
      "OMF_PATH": "/home/dhollinger/.local/share/omf",
      "PATH": "/home/linuxbrew/.linuxbrew/bin:/home/dhollinger/.asdf/shims:/home/dhollinger/.asdf/bin:/home/dhollinger/.fzf/bin:/home/dhollinger/.local/bin:/home/dhollinger/bin:/home/dhollinger/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin:/home/dhollinger/.local/bin:/home/dhollinger/bin:/usr/local/sbin",
      "PWD": "/home/dhollinger",
      "QT4_IM_MODULE": "ibus",
      "QT_IM_MODULE": "ibus",
      "SESSION_MANAGER": "local/pop-os:@/tmp/.ICE-unix/11297,unix/pop-os:/tmp/.ICE-unix/11297",
      "SHELL": "/usr/bin/fish",
      "SHLVL": "1",
      "SSH_AGENT_PID": "10383",
      "SSH_AUTH_SOCK": "/run/user/1000/keyring/ssh",
      "STARSHIP_SHELL": "fish",
      "TERM": "screen-256color",
      "TILIX_ID": "02d9b79a-e1da-418f-b24a-5ddd83f43dae",
      "USER": "dhollinger",
      "USERNAME": "dhollinger",
      "VTE_VERSION": "5802",
      "WINDOWPATH": "2",
      "XAUTHORITY": "/run/user/1000/gdm/Xauthority",
      "XDG_CONFIG_DIRS": "/etc/xdg/xdg-pop:/etc/xdg",
      "XDG_CURRENT_DESKTOP": "pop:GNOME",
      "XDG_DATA_DIRS": "/usr/share/pop:/home/dhollinger/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop",
      "XDG_MENU_PREFIX": "gnome-",
      "XDG_RUNTIME_DIR": "/run/user/1000",
      "XDG_SESSION_CLASS": "user",
      "XDG_SESSION_DESKTOP": "pop",
      "XDG_SESSION_TYPE": "x11",
      "XMODIFIERS": "@im=ibus"
    },
    "missing_libs": {
      "OPENGL": [
        [],
        []
      ],
      "VULKAN": [
        [],
        []
      ],
      "WINE": [
        [],
        []
      ],
      "GAMEMODE": [
        [
          "libgamemodeauto.so"
        ],
        [
          "libgamemodeauto.so"
        ]
      ]
    },
    "cpus": [
      {
        "processor": "0",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "158",
        "model name": "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz",
        "stepping": "10",
        "microcode": "0xca",
        "cpu MHz": "800.052",
        "cache size": "12288 KB",
        "physical id": "0",
        "siblings": "12",
        "core id": "0",
        "cpu cores": "6",
        "apicid": "0",
        "initial apicid": "0",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "22",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit",
        "bogomips": "5199.98",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "39 bits physical, 48 bits virtual",
        "power management": ""
      },
      {
        "processor": "1",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "158",
        "model name": "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz",
        "stepping": "10",
        "microcode": "0xca",
        "cpu MHz": "800.078",
        "cache size": "12288 KB",
        "physical id": "0",
        "siblings": "12",
        "core id": "1",
        "cpu cores": "6",
        "apicid": "2",
        "initial apicid": "2",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "22",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit",
        "bogomips": "5199.98",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "39 bits physical, 48 bits virtual",
        "power management": ""
      },
      {
        "processor": "2",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "158",
        "model name": "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz",
        "stepping": "10",
        "microcode": "0xca",
        "cpu MHz": "800.120",
        "cache size": "12288 KB",
        "physical id": "0",
        "siblings": "12",
        "core id": "2",
        "cpu cores": "6",
        "apicid": "4",
        "initial apicid": "4",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "22",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit",
        "bogomips": "5199.98",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "39 bits physical, 48 bits virtual",
        "power management": ""
      },
      {
        "processor": "3",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "158",
        "model name": "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz",
        "stepping": "10",
        "microcode": "0xca",
        "cpu MHz": "800.101",
        "cache size": "12288 KB",
        "physical id": "0",
        "siblings": "12",
        "core id": "3",
        "cpu cores": "6",
        "apicid": "6",
        "initial apicid": "6",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "22",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit",
        "bogomips": "5199.98",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "39 bits physical, 48 bits virtual",
        "power management": ""
      },
      {
        "processor": "4",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "158",
        "model name": "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz",
        "stepping": "10",
        "microcode": "0xca",
        "cpu MHz": "800.034",
        "cache size": "12288 KB",
        "physical id": "0",
        "siblings": "12",
        "core id": "4",
        "cpu cores": "6",
        "apicid": "8",
        "initial apicid": "8",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "22",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit",
        "bogomips": "5199.98",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "39 bits physical, 48 bits virtual",
        "power management": ""
      },
      {
        "processor": "5",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "158",
        "model name": "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz",
        "stepping": "10",
        "microcode": "0xca",
        "cpu MHz": "800.026",
        "cache size": "12288 KB",
        "physical id": "0",
        "siblings": "12",
        "core id": "5",
        "cpu cores": "6",
        "apicid": "10",
        "initial apicid": "10",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "22",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit",
        "bogomips": "5199.98",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "39 bits physical, 48 bits virtual",
        "power management": ""
      },
      {
        "processor": "6",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "158",
        "model name": "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz",
        "stepping": "10",
        "microcode": "0xca",
        "cpu MHz": "800.154",
        "cache size": "12288 KB",
        "physical id": "0",
        "siblings": "12",
        "core id": "0",
        "cpu cores": "6",
        "apicid": "1",
        "initial apicid": "1",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "22",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit",
        "bogomips": "5199.98",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "39 bits physical, 48 bits virtual",
        "power management": ""
      },
      {
        "processor": "7",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "158",
        "model name": "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz",
        "stepping": "10",
        "microcode": "0xca",
        "cpu MHz": "800.106",
        "cache size": "12288 KB",
        "physical id": "0",
        "siblings": "12",
        "core id": "1",
        "cpu cores": "6",
        "apicid": "3",
        "initial apicid": "3",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "22",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit",
        "bogomips": "5199.98",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "39 bits physical, 48 bits virtual",
        "power management": ""
      },
      {
        "processor": "8",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "158",
        "model name": "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz",
        "stepping": "10",
        "microcode": "0xca",
        "cpu MHz": "800.088",
        "cache size": "12288 KB",
        "physical id": "0",
        "siblings": "12",
        "core id": "2",
        "cpu cores": "6",
        "apicid": "5",
        "initial apicid": "5",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "22",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit",
        "bogomips": "5199.98",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "39 bits physical, 48 bits virtual",
        "power management": ""
      },
      {
        "processor": "9",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "158",
        "model name": "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz",
        "stepping": "10",
        "microcode": "0xca",
        "cpu MHz": "800.100",
        "cache size": "12288 KB",
        "physical id": "0",
        "siblings": "12",
        "core id": "3",
        "cpu cores": "6",
        "apicid": "7",
        "initial apicid": "7",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "22",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit",
        "bogomips": "5199.98",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "39 bits physical, 48 bits virtual",
        "power management": ""
      },
      {
        "processor": "10",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "158",
        "model name": "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz",
        "stepping": "10",
        "microcode": "0xca",
        "cpu MHz": "800.050",
        "cache size": "12288 KB",
        "physical id": "0",
        "siblings": "12",
        "core id": "4",
        "cpu cores": "6",
        "apicid": "9",
        "initial apicid": "9",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "22",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit",
        "bogomips": "5199.98",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "39 bits physical, 48 bits virtual",
        "power management": ""
      },
      {
        "processor": "11",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "158",
        "model name": "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz",
        "stepping": "10",
        "microcode": "0xca",
        "cpu MHz": "800.131",
        "cache size": "12288 KB",
        "physical id": "0",
        "siblings": "12",
        "core id": "5",
        "cpu cores": "6",
        "apicid": "11",
        "initial apicid": "11",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "22",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit",
        "bogomips": "5199.98",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "39 bits physical, 48 bits virtual",
        "power management": ""
      }
    ],
    "drives": [
      {
        "name": "sda",
        "fstype": null,
        "label": null,
        "uuid": null,
        "fsavail": null,
        "fsuse%": null,
        "mountpoint": null,
        "children": [
          {
            "name": "sda1",
            "fstype": "vfat",
            "label": "EFI",
            "uuid": "EB67-843E",
            "fsavail": "201.8M",
            "fsuse%": "61%",
            "mountpoint": "/boot/efi"
          },
          {
            "name": "sda2",
            "fstype": "vfat",
            "label": "RECOVERY",
            "uuid": "EB67-EA97",
            "fsavail": "1.7G",
            "fsuse%": "57%",
            "mountpoint": "/recovery"
          },
          {
            "name": "sda3",
            "fstype": "crypto_LUKS",
            "label": null,
            "uuid": "12136906-cdda-4448-9e5b-6ab569e6f62a",
            "fsavail": null,
            "fsuse%": null,
            "mountpoint": null,
            "children": [
              {
                "name": "cryptdata",
                "fstype": "LVM2_member",
                "label": null,
                "uuid": "AYExN6-SYs1-JfE9-gV1T-7WJN-rvOB-PG7QyH",
                "fsavail": null,
                "fsuse%": null,
                "mountpoint": null,
                "children": [
                  {
                    "name": "data-root",
                    "fstype": "ext4",
                    "label": null,
                    "uuid": "968bd69a-849a-4641-9aff-e5c4c1cfaa34",
                    "fsavail": "84.2G",
                    "fsuse%": "76%",
                    "mountpoint": "/"
                  }
                ]
              }
            ]
          },
          {
            "name": "sda4",
            "fstype": "swap",
            "label": null,
            "uuid": "ea09def0-1ac3-46f9-b2c1-e03406b44343",
            "fsavail": null,
            "fsuse%": null,
            "mountpoint": null,
            "children": [
              {
                "name": "cryptswap",
                "fstype": "swap",
                "label": null,
                "uuid": "e19c9b55-35d4-429b-b344-220d6ba8e5c5",
                "fsavail": null,
                "fsuse%": null,
                "mountpoint": "[SWAP]"
              }
            ]
          }
        ]
      },
      {
        "name": "sdb",
        "fstype": null,
        "label": null,
        "uuid": null,
        "fsavail": null,
        "fsuse%": null,
        "mountpoint": null,
        "children": [
          {
            "name": "sdb1",
            "fstype": "ext4",
            "label": null,
            "uuid": "f78e0d47-68ea-44ae-a8b5-472c74d0e90f",
            "fsavail": "158.1G",
            "fsuse%": "48%",
            "mountpoint": "/home/dhollinger/extras"
          },
          {
            "name": "sdb2",
            "fstype": "ntfs",
            "label": null,
            "uuid": "532DE1326325EB1E",
            "fsavail": null,
            "fsuse%": null,
            "mountpoint": null
          }
        ]
      }
    ],
    "ram": {
      "mem": {
        "total": "32591704",
        "used": "6645820",
        "free": "16393976",
        "shared": "297124",
        "buff/cache": "9551908",
        "available": "25184764"
      },
      "swap": {
        "total": "4193788",
        "used": "0",
        "free": "4193788"
      }
    },
    "dist": [
      "Pop!_OS",
      "19.10",
      "eoan"
    ],
    "glxinfo": {
      "opengl_context_flags": "(none)",
      "display": ":1",
      "opengl_es_profile_version": "OpenGL ES 3.2 NVIDIA 440.44",
      "opengl_core_profile_shading_language_version": "4.60 NVIDIA",
      "opengl_vendor": "NVIDIA Corporation",
      "direct_rendering": "Yes",
      "opengl_core_profile_version": "4.6.0 NVIDIA 440.44",
      "opengl_core_profile_context_flags": "(none)",
      "name_of_display": ":1",
      "opengl_core_profile_profile_mask": "core profile",
      "opengl_profile_mask": "(none)",
      "opengl_es_profile_shading_language_version": "OpenGL ES GLSL ES 3.20",
      "opengl_shading_language_version": "4.60 NVIDIA",
      "screen": "0",
      "opengl_renderer": "GeForce RTX 2060/PCIe/SSE2",
      "opengl_version": "4.6.0 NVIDIA 440.44"
    }
  }
}
```

**Screenshots**

Some screenshots for gogdb to show what I mean about Store ID/Slug != Download ID/Slug:

Store Page data:
![Screenshot from 2020-01-11 13-11-30](https://user-images.githubusercontent.com/2914211/72209469-069ca000-3474-11ea-9e8a-f0e75e0ca5de.png)

Data for each download
![Screenshot from 2020-01-11 13-11-40](https://user-images.githubusercontent.com/2914211/72209470-069ca000-3474-11ea-8ca8-8ad3235e8e4c.png)
![Screenshot from 2020-01-11 13-11-49](https://user-images.githubusercontent.com/2914211/72209471-07353680-3474-11ea-8820-33e5f95ae2f6.png)
![Screenshot from 2020-01-11 13-12-03](https://user-images.githubusercontent.com/2914211/72209472-07353680-3474-11ea-875f-25eb8348b1e2.png)

Notice how the Store page ID and Slug (what Lutris tries to use by default) and the downloads for each edition of the game sold by that store page contain their own GOG ID and Slug.


Discussion:

Resolving patch:
diff --git a/lutris/installer/interpreter.py b/lutris/installer/interpreter.py
--- a/lutris/installer/interpreter.py
+++ b/lutris/installer/interpreter.py
@@ -135,7 +135,7 @@ def __init__(self, installer, parent):
         self.game_name = self.script.get("custom-name") or installer["name"]
         self.game_slug = installer["game_slug"]
         self.steamid = installer.get("steamid")
-        self.gogid = installer.get("gogid")
+        self.gogid = self.script["game"]["gogid"] or installer.get("gogid")
 
         if not self.is_valid():
             raise ScriptingError(


Test patch: