Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The plugin is giving errors and breaking the batch import of metadata when using it #6

Closed
ferrazpedro opened this issue Jun 15, 2020 · 14 comments

Comments

@ferrazpedro
Copy link

Good Evening!
When I try to download metadata in batches with the plugin enabled, a lot of times it just completely breaks the process for some games and gives this in my log:

Error - 14072020.log

@ferrazpedro ferrazpedro changed the title The plugin is giving errors and breaking the batch import of metada when using it The plugin is giving errors and breaking the batch import of metadata when using it Jun 15, 2020
@cooperate
Copy link
Owner

I'll take a look @ferrazpedro thanks for posting the issue.

@shakeyourbunny
Copy link

This should not happen, if there is some basic problem, like not finding the game, the extension should not crash and burn and stopping other metadata extensions to continue searching.

2020-07-28 17:13:14.2918|DEBUG:Downloading metadata for Alien Breed: Tower Assault, 1207663753, aebe8b7c-6dc3-4a66-af31-e7375c6b5e9e
2020-07-28 17:13:14.7981|DEBUG:Downloading string content from http://api.gog.com/products/1207663753?expand=description using cookies and System.Text.UTF8Encoding encoding.
2020-07-28 17:13:15.9000|INFO:SGDB Initialized
2020-07-28 17:13:15.9000|INFO:AvailableFields
2020-07-28 17:13:15.9000|INFO:GetAvailableFields
2020-07-28 17:13:15.9000|INFO:https://www.steamgriddb.com/api/v2/heroes/gog/1207663753
2020-07-28 17:13:16.1056|INFO:{"success":false,"status":404,"errors":["Game not found"]}
2020-07-28 17:13:16.1056|DEBUG:Copying file bad path to D:\Client\PlayNite\7\library\files\74e0d2e4-8c98-4fda-866e-1b80c0fc2944\07e6e307-50c2-45ca-9436-3b3e87b30903
2020-07-28 17:13:16.1056|ERROR:Failed to copy file bad path to database.System.IO.FileNotFoundException: Could not find file 'bad path'.
File name: 'bad path'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
   at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
   at Playnite.Common.FileSystem.CopyFile(String sourcePath, String targetPath, Boolean overwrite)
   at Playnite.Database.GameDatabase.AddFile(String path, Guid parentId) in E:\Devel\Playnite\source\Playnite\Database\GameDatabase.cs:line 379
2020-07-28 17:13:16.1056|INFO:AvailableFields
2020-07-28 17:13:16.1056|INFO:GetCoverImage
2020-07-28 17:13:16.1056|INFO:https://www.steamgriddb.com/api/v2/grids/gog/1207663753?dimensions=600x900&styles=alternate
2020-07-28 17:13:16.3262|INFO:{"success":false,"status":404,"errors":["Game not found"]}
2020-07-28 17:13:16.3262|DEBUG:Copying file bad path to D:\Client\PlayNite\7\library\files\74e0d2e4-8c98-4fda-866e-1b80c0fc2944\69443918-2c6a-433e-899a-f41cc5950694
2020-07-28 17:13:16.3262|ERROR:Failed to copy file bad path to database.System.IO.FileNotFoundException: Could not find file 'bad path'.
File name: 'bad path'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
   at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
   at Playnite.Common.FileSystem.CopyFile(String sourcePath, String targetPath, Boolean overwrite)
   at Playnite.Database.GameDatabase.AddFile(String path, Guid parentId) in E:\Devel\Playnite\source\Playnite\Database\GameDatabase.cs:line 379

@cooperate
Copy link
Owner

@shakeyourbunny @ferrazpedro The issue should be resolved now in the latest release (v0.5.1). Please test and report back any errors you might find. Thanks!

@shakeyourbunny
Copy link

shakeyourbunny commented Jul 30, 2020

Not quite.

Playnite version is 7.7, SGDB Metadata plugin is 0.5.1; my API key is set in the SGDB metadata options.

https://i.imgur.com/ogxHZwN.png

After manually updating 1954 Alcatraz, this happens in the log:

2020-07-30 21:57:59.5707|INFO:GetCoverImage
2020-07-30 21:57:59.5707|INFO:https://www.steamgriddb.com/api/v2/grids/steam/255280?dimensions=600x900&styles=alternate
2020-07-30 21:57:59.7883|INFO:{"success":true,"data":[{"id":71103,"score":0,"style":"alternate","nsfw":false,"humor":false,"notes":null,"language":"en","url":"https:\/\/cdn.steamgriddb.com\/grid\/209ec9c46bf5f37ad7f0119b023ce906.png","thumb":"https:\/\/cdn.steamgriddb.com\/thumb\/209ec9c46bf5f37ad7f0119b023ce906.png","author":{"name":"HydraCleave","steam64":"76561198102966368","avatar":"https:\/\/steamcdn-a.akamaihd.net\/steamcommunity\/public\/images\/avatars\/50\/50a26e78a22b0f919188e0528a1222a30a974b2e.jpg"}}]}
2020-07-30 21:57:59.7883|ERROR:Failed to download metadata for game 1954 Alcatraz, 09e9d157-81b2-4ac9-a719-8cc7d88fbc2cSystem.Exception: Cannot add file, no file data provided.
   at Playnite.Database.GameDatabase.AddFile(MetadataFile file, Guid parentId) in E:\Devel\Playnite\source\Playnite\Database\GameDatabase.cs:line 341
   at Playnite.Metadata.MetadataDownloader.<>c__DisplayClass10_0.<DownloadMetadataAsync>b__0() in E:\Devel\Playnite\source\Playnite\Metadata\MetadataDownloader.cs:line 451

Also

2020-07-30 22:04:54.2509|INFO:SGDB Initialized
2020-07-30 22:04:54.2509|INFO:AvailableFields
2020-07-30 22:04:54.2509|INFO:GetAvailableFields
2020-07-30 22:04:54.2509|INFO:https://www.steamgriddb.com/api/v2/heroes/steam/831810
2020-07-30 22:04:54.5246|INFO:{"success":true,"data":[]}
2020-07-30 22:04:54.5246|DEBUG:Downloading data from https://steamcdn-a.akamaihd.net/steam/apps/831810/ss_5eba29eba2ea4e59ae08cdb6eb6a58490b9a6d55.1920x1080.jpg to D:\Client\PlayNite\7\library\files\d8d0cd79-a260-495f-9bbc-7c6be498b2d5\6908c3dc-0d51-4529-afdb-efee25757cbd.jpg.
2020-07-30 22:04:54.8765|INFO:AvailableFields
2020-07-30 22:04:54.8765|INFO:GetCoverImage
2020-07-30 22:04:54.8765|INFO:https://www.steamgriddb.com/api/v2/grids/steam/831810?dimensions=600x900&styles=alternate
2020-07-30 22:04:55.0871|INFO:{"success":true,"data":[{"id":87396,"score":0,"style":"alternate","nsfw":false,"humor":false,"notes":null,"language":"en","url":"https:\/\/cdn.steamgriddb.com\/grid\/20ad8203416b5e12f26d580be7e34472.png","thumb":"https:\/\/cdn.steamgriddb.com\/thumb\/20ad8203416b5e12f26d580be7e34472.png","author":{"name":"shakeyourbunny","steam64":"76561198055778112","avatar":"https:\/\/steamcdn-a.akamaihd.net\/steamcommunity\/public\/images\/avatars\/52\/5234d2725ba02e2cae7f137e328c9c18fbffb92c.jpg"}}]}
2020-07-30 22:04:55.0871|ERROR:Failed to download metadata for game Bane of Asphodel, d8d0cd79-a260-495f-9bbc-7c6be498b2d5System.Exception: Cannot add file, no file data provided.
   at Playnite.Database.GameDatabase.AddFile(MetadataFile file, Guid parentId) in E:\Devel\Playnite\source\Playnite\Database\GameDatabase.cs:line 341
   at Playnite.Metadata.MetadataDownloader.<>c__DisplayClass10_0.<DownloadMetadataAsync>b__0() in E:\Devel\Playnite\source\Playnite\Metadata\MetadataDownloader.cs:line 451

In this case, the cover image was uploaded some time ago to steamgriddb and should have been downloaded properly.

The game itself is a free game on Steam btw.

@cooperate
Copy link
Owner

cooperate commented Jul 30, 2020

@shakeyourbunny Should be good to go now! Thanks for the quick response. See https://github.com/cooperate/SteamGridDBMetadata/releases/tag/v0.5.2

@shakeyourbunny
Copy link

shakeyourbunny commented Jul 31, 2020

did work for a moment, after that it shorted out.

This is the Epic Store version of Torchlight II (any other games do not work either, but there is randomly added the search term "Dodo").

https://www.steamgriddb.com/api/v2/grids/epic/8e425d507bd6473dbb927f0fea8ef4f6?dimensions=600x900&styles=alternate produces HTTP error 404.

2020-07-31 17:23:59.7867|DEBUG:Downloading metadata for Torchlight II, 8e425d507bd6473dbb927f0fea8ef4f6, 00000002-dbd1-46c6-b5d0-b1ba559d10e4
2020-07-31 17:24:02.3886|DEBUG:Downloading string content from https://store.steampowered.com/api/appdetails?appids=200710&l=english using System.Text.UTF8Encoding encoding.
2020-07-31 17:24:03.4244|DEBUG:Downloading data from https://images.igdb.com/igdb/image/upload/t_original/a8j3iyuh4jwiidp7zvxt.jpg to D:\Client\PlayNite\7\library\files\0641d7df-5100-4e92-a574-7d1006c56b82\68daa1d0-c6fe-4413-b316-f1041ee2be14.jpg.
2020-07-31 17:24:04.4892|INFO:SGDB Initialized
2020-07-31 17:24:04.4892|INFO:AvailableFields
2020-07-31 17:24:04.4892|INFO:GetAvailableFields
2020-07-31 17:24:04.4892|INFO:GetCoverImage
2020-07-31 17:24:04.4892|INFO:https://www.steamgriddb.com/api/v2/grids/epic/8e425d507bd6473dbb927f0fea8ef4f6?dimensions=600x900&styles=alternate
2020-07-31 17:24:04.7028|INFO:<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <link rel="dns-prefetch" href="https://cdn.steamgriddb.com/"> 
    <link rel="preconnect" href="https://cdn.steamgriddb.com/">
    <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="/static/assets/style.css?1595656939">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no, user-scalable=no">
    <title>404 - SteamGridDB</title>
    <link rel="icon" type="image/png" href="/static/favicon/16.png" sizes="16x16">
    <meta name="theme-color" content="#5fb4f0">
    <meta property="og:url" content="https://www.steamgriddb.com">
    <meta property="og:site_name" content="SteamGridDB">
    <link rel="apple-touch-icon" href="/static/img/logo-512.png"/>
          <meta property="og:type" content="website">
      <meta property="og:image" content="https://www.steamgriddb.com/static/img/logo-512.png">
      <link rel="image_src" href="https://www.steamgriddb.com/static/img/logo-512.png">
      </head>
  <body>
    <div class="upload-drag-over">
      <div class="dropbox">Add Grid/Hero</div>
      <div class="dropbox drop-logo">Add Logo</div>
      <div class="speech"></div>
      <div class="eyes">
        <div class="eye"></div>
        <div class="eye"></div>
      </div>
    </div>
    <nav>
      <input id="menu-checkbox" type="checkbox">
      <ul>
        <li class="logo"><a href="/"></a></li>
        <li class="mobile-trigger hide-from-md">
          <label for="menu-checkbox">
            <svg class="icon icon-menu"><use xlink:href="/static/img/icons.svg?h=1593494279#icon-menu"></use></svg>
            <svg class="icon icon-cross"><use xlink:href="/static/img/icons.svg?h=1593494279#icon-cross"></use></svg>
          </label>
        </li>
        <li class="nav-item dropdown ">
          <a href="/">
            BROWSE
          </a>
          <ul>
            <li><a href="/grids">Grids</a></li>
            <li><a href="/heroes">Heroes</a></li>
            <li><a href="/logos">Logos</a></li>
            <li><a href="/collections">Collections</a></li>
          </ul>
        </li>
        <li class="nav-item dropdown ">
          <span data-micromodal-trigger="modal-upload">SUBMIT <span id="upload-count" hidden>4</span></span>
          <ul>
            <li><span data-micromodal-trigger="modal-upload">Grid / Hero</span></li>
            <li><span data-micromodal-trigger="modal-logo-upload">Logo</span></li>
            <li><span data-micromodal-trigger="modal-collection">Collection</span></li>
          </ul>
        </li>
                <li class="nav-item dropdown ">
          <a href="/projects">PROJECTS</a>
          <ul>
            <li><a href="/projects/tetris">The Tetris Project</a></li>
            <li><a href="/projects/steam-pre-greenlight">Steam Pre-Greenlight Era</a></li>
            <li><a href="/projects/wii-u">Wii U Library Project</a></li>
          </ul>
        </li>
        <li class="nav-item dropdown ">
          <a href="/help">HELP</a>
          <ul>
            <li><a href="/help">HELP</a></li>
            <li><a href="/faq">FAQ</a></li>
          </ul>
        </li>
        <li class="nav-item "><a href="/manager">MANAGER</a></li>
        <li class="nav-item "><a href="/supporters">SUPPORTERS</a></li>
                        <li class="nav-divider hide-until-md"></li>
        <li class="nav-item hide-until-md" id="search-fixed-trigger">
          <span>
            <svg class="icon icon-search"><use xlink:href="/static/img/icons.svg?h=1593494279#icon-search"></use></svg>
            <svg class="icon icon-cross" hidden><use xlink:href="/static/img/icons.svg?h=1593494279#icon-cross"></use></svg>
          </span>
        </li>
        <li class="nav-item right nav-patreon">
          <a href="https://www.patreon.com/steamgriddb">
            <svg class="icon icon-patreon"><use xlink:href="/static/img/icons.svg?h=1593494279#icon-patreon"></use></svg>
            <b class="hide-from-md">Patreon</b>
          </a>
        </li>
        <li class="nav-item right nav-discord">
          <a href="https://discord.gg/bnSVJrz">
            <svg class="icon icon-discord"><use xlink:href="/static/img/icons.svg?h=1593494279#icon-discord"></use></svg>
            <b class="hide-from-md">Discord</b>
          </a>
        </li>
                            <li class="nav-item right">
            <a href="/login?redirect_to=/api/v2/grids/epic/8e425d507bd6473dbb927f0fea8ef4f6">
              <svg class="icon">
                <use xlink:href="/static/img/icons.svg?h=1593494279#icon-steam"></use>
              </svg>
              Login
            </a>
          </li>
              </ul>
    </nav>
    <div class="search-fixed">
      <form class="bar" action="" method="get">
        <input name="term" autocomplete="off" placeholder="Search" type="search" tabindex="-1"  required>
        <svg class="icon">
          <use xlink:href="/static/img/icons.svg?h=1593494279#icon-search"></use>
        </svg>
        <button type="submit" tabindex="-1">SEARCH</button>
        <div class="dropdown is-hoverable">
          <div class="dropdown-menu">
            <ul class="dropdown-content">
              <li class="dropdown-item is-active" data-search-type="grids">Search Grids</li>
              <li class="dropdown-item" data-search-type="heroes">Search Heroes</li>
              <li class="dropdown-item" data-search-type="logos">Search Logos</li>
            </ul>
          </div>
        </div>
      </form>
    </div>
    <div class="container">
  <h1 class="text-center">404 - Page Not Found</h1>
</div>

          <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
      <ins class="adsbygoogle text-center"
        style="display:block;margin-bottom:20px;min-height:90px"
        data-ad-client="ca-pub-6111155405946401"
        data-ad-slot="8557337946"
        data-ad-format="horizontal"
        data-full-width-responsive="true"></ins>
      <script>
          (adsbygoogle = window.adsbygoogle || []).push({});
      </script>
    
    <div class="modal allow-scroll" id="modal-upload" aria-hidden="true">
  <div class="modal-overlay" tabindex="-1" data-micromodal-close>
    <div class="modal-container" role="dialog" aria-modal="true">
      <header class="modal__header">
        <h2>Upload</h2>
        <button class="modal__close" aria-label="Close modal" data-micromodal-close>
          <svg class="icon">
            <use xlink:href="/static/img/icons.svg?h=1593494279#icon-cross"></use>
          </svg>
        </button>
      </header>
      <main class="modal__content">
                <h3>Must be <a href="/login">logged in</a> to be able to upload.</h3>
              </main>
          </div>
  </div>
</div>    <div class="modal allow-scroll" id="modal-logo-upload" aria-hidden="true">
  <div class="modal-overlay" tabindex="-1" data-micromodal-close>
    <div class="modal-container" role="dialog" aria-modal="true">
      <header class="modal__header">
        <h2>Upload Logos</h2>
        <button class="modal__close" aria-label="Close modal" data-micromodal-close>
          <svg class="icon">
            <use xlink:href="/static/img/icons.svg?h=1593494279#icon-cross"></use>
          </svg>
        </button>
      </header>
      <main class="modal__content">
                  <h3>Must be <a href="/login">logged in</a> to be able to upload.</h3>
              </main>
          </div>
  </div>
</div>    <div class="modal" id="modal-collection-add" aria-hidden="true">
  <div class="modal-overlay" tabindex="-1" data-micromodal-close>
    <div class="modal-container" role="dialog" aria-modal="true">
      <header class="modal__header">
        <h2>Add to Collection</h2>
        <button class="modal__close" aria-label="Close modal" data-micromodal-close>
          <svg class="icon">
            <use xlink:href="/static/img/icons.svg?h=1593494279#icon-cross"></use>
          </svg>
        </button>
      </header>
      <main class="modal__content">
        <div class="game-search">
          <form method="post" id="form-collection-add">
            <input type="hidden" name="grid_id" data-grid-id>
            <select name="collection" data-collection>
              <option value="">Choose a collection...</option>
            </select>
            <p class="text-center">
              <button class="text-center" data-micromodal-close data-micromodal-trigger="modal-collection">Or... make a new collection.</button>
            </p>
          </form>
        </div>
      </main>
    </div>
  </div>
</div>
    
    <footer id="footer">
      <div class="columns">
        <div class="column footer-siteinfo">
          <h1>SteamGridDB</h1>
          <p>SteamGridDB is not affiliated with Valve Corporation or the Steam platform.</p>
          <p>&copy; 1 HP Games, LLC | <a href="/terms">Terms of Service</a> | <a href="/privacy">Privacy Policy</a></p>
        </div>
        <div class="column footer-navlinks">
          <ul>
            <li><a href="/">Home</a></li>
            <li><a href="/upload">Upload</a></li>
            <li><a href="/manager">Manager</a></li>
            <li><a href="/supporters">Supporters</a></li>
            <li><a href="/api/v2">API</a></li>
                      </ul>
        </div>
        <div class="column outbound-links">
          <ul>
            <li>
              <a href="https://discord.gg/2jYnUej" title="Discord">
                <svg class="icon icon-discord"><use xlink:href="/static/img/icons.svg?h=1593494279#icon-discord"></use></svg>
              </a>
            </li>
            <li>
              <a href="https://www.patreon.com/steamgriddb" title="Patreon">
                <svg class="icon icon-patreon"><use xlink:href="/static/img/icons.svg?h=1593494279#icon-patreon"></use></svg>
              </a>
            </li>
            <li>
              <a href="https://github.com/steamgriddb" title="Open Source">
                <svg class="icon icon-osi"><use xlink:href="/static/img/icons.svg?h=1593494279#icon-osi"></use></svg>
              </a>
            </li>
            <li>
              <a href="https://steamcommunity.com/groups/SteamGridDB" title="Steam Group">
                <svg class="icon icon-steam"><use xlink:href="/static/img/icons.svg?h=1593494279#icon-steam"></use></svg>
              </a>
            </li>
          </ul>
        </div>
      </div>
    </footer>
        <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

      ga('create', 'UA-77667516-1', 'auto');
      ga('send', 'pageview');
    </script>
  </body>
</html>
2020-07-31 17:24:04.7028|ERROR:Failed to download metadata for game Torchlight II, 0641d7df-5100-4e92-a574-7d1006c56b82Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
   at Newtonsoft.Json.JsonTextReader.ParseValue()
   at Newtonsoft.Json.JsonTextReader.Read()
   at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
   at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value)
   at SGDBMetadata.SgdbServiceClient.Execute[T](RestRequest request) in U:\App_Dev\SGDBMetadata\SGDBMetadata\SGDBMetadata\SGDBService.cs:line 47
   at SGDBMetadata.SgdbServiceClient.getSGDBGameGridByAppId(String platform, String gameId) in U:\App_Dev\SGDBMetadata\SGDBMetadata\SGDBMetadata\SGDBService.cs:line 70
   at SGDBMetadata.SgdbServiceClient.getCoverImageUrl(String gameName, String platform, String gameId) in U:\App_Dev\SGDBMetadata\SGDBMetadata\SGDBMetadata\SGDBService.cs:line 156
   at SGDBMetadata.SGDBMetadataProvider.GetCoverImage() in U:\App_Dev\SGDBMetadata\SGDBMetadata\SGDBMetadata\SGDBMetadataProvider.cs:line 52
   at Playnite.Metadata.MetadataDownloader.ProcessField(Game game, MetadataFieldSettings fieldSettings, MetadataField gameField, Func`2 propertySelector, Dictionary`2 existingStoreData, Dictionary`2 existingPluginData) in E:\Devel\Playnite\source\Playnite\Metadata\MetadataDownloader.cs:line 213
   at Playnite.Metadata.MetadataDownloader.<>c__DisplayClass10_0.<DownloadMetadataAsync>b__0() in E:\Devel\Playnite\source\Playnite\Metadata\MetadataDownloader.cs:line 448

Thank you for your efforts!

@shakeyourbunny
Copy link

It seems, the SGDB metadata extensions seems only work with Steam games, which is a bummer.

Epic: does not work (see above)
Battle.net: does not work

2020-07-31 17:30:41.2296|INFO:SGDB Initialized
2020-07-31 17:30:41.2296|INFO:AvailableFields
2020-07-31 17:30:41.2296|INFO:GetAvailableFields
2020-07-31 17:30:41.2296|INFO:GetCoverImage
2020-07-31 17:30:41.2296|INFO:https://www.steamgriddb.com/api/v2/grids/battle.net/S2?dimensions=600x900&styles=alternate

--> 404

GOG: seems to work.

itch.io: does not work.

2020-07-31 17:40:19.5630|INFO:SGDB Initialized
2020-07-31 17:40:19.5630|INFO:AvailableFields
2020-07-31 17:40:19.5630|INFO:GetAvailableFields
2020-07-31 17:40:19.5630|INFO:https://www.steamgriddb.com/api/v2/logos/itch.io/498716

twitch: does not work.

2020-07-31 17:43:43.1927|DEBUG:Downloading metadata for Tales from Candlekeep: Tomb of Annihilation, 9b00692d-1f3d-4d0e-ac1d-105ea177de81, e2a7d494-c138-489d-bb3f-1d786beeb675
2020-07-31 17:43:46.0313|DEBUG:Downloading string content from https://store.steampowered.com/api/appdetails?appids=663380&l=english using System.Text.UTF8Encoding encoding.
2020-07-31 17:43:46.5226|DEBUG:Downloading data from https://images.igdb.com/igdb/image/upload/t_original/ar6vl.jpg to D:\Client\PlayNite\7\library\files\89455d72-bcf2-445c-9b9a-6d3e78678329\5aff600a-6233-4b67-8b91-50bfb58a6a94.jpg.
2020-07-31 17:43:47.6556|INFO:SGDB Initialized
2020-07-31 17:43:47.6556|INFO:AvailableFields
2020-07-31 17:43:47.6556|INFO:GetAvailableFields
2020-07-31 17:43:47.6556|INFO:GetCoverImage
2020-07-31 17:43:47.6556|INFO:https://www.steamgriddb.com/api/v2/grids/twitch/9b00692d-1f3d-4d0e-ac1d-105ea177de81?dimensions=600x900&styles=alternate
2020-07-31 17:43:47.8571|INFO:<!DOCTYPE html>

steam: seems to work (with 0.5.2).

As I don't own accounts for Origin, UPlay, Bethesda, XBox or I don't trust the library importer (HumbleBundle), I strongly suspect that searching for metadata for these libraries are broken too.

@vannessqn
Copy link

I tried with Katawa Shoujo, service failure

@cooperate
Copy link
Owner

cooperate commented Aug 1, 2020

@shakeyourbunny @vannessqn this was an api issue apparently, not a plugin issue. If you don't mind try again to see if it's working.

@shakeyourbunny
Copy link

shakeyourbunny commented Aug 1, 2020

Nope, just tried it with several games from libraries from not Steam or GOG; same issue is persisting.

To make it clear, the result is HTTP 404 and ... why are there even for every shop extra artwork data. It may make sense, but I'd suggest to add a checkbox in the settings like

[x] fall back to Steam artwork if there are no native library artworks on SGDB.

which exactly handles that scenario, which is currently with 0.5.2 handled with a extension crash, because it expects JSON and tries to parse the 404 HTML response. If HTML is returned and the suggested option is not checked, it should return nothing and give the next metadata extension control to get proper data.

In case this checkbox is checked and nothing is found on the Steam side... handle a non JSON response (HTML 404) and give the next metadata extension a chance to execute.

Another option - this I had originally expected though - is that the extension just try to get Steam artwork for the game if the game is not a Steam game. If there are multiple matches (title; do a title sanitization, lowercase string and remove all non-numeric and non-letter characters, then compare), ask in a popup window.

[x] only download Steam artwork assets.

This should override (and automatically includes the "fall back to Steam" option).

BTW there may be a memory leakage from this extension, after so about handling 360-500 games, PlayNite crashes with an out of memory exception, but I'm not really sure that this extension is the culprit; I have to do some digging for this (the only other manually added extensions is the SteamNite theme and the Universal SteamDB extension. Additional included metadata provider is IGDB, active library plugins are Battle.Net, GOG, Steam, Twitch, Epic).

@cooperate
Copy link
Owner

@shakeyourbunny I see what you're saying now yep! I'll need to an exception for supported platforms as it's definitley causing issues. I wouldn't be surprised if the memory leak is related to spam in the logs from that markup but it might not be.

@cooperate
Copy link
Owner

cooperate commented Aug 3, 2020

@shakeyourbunny https://github.com/cooperate/SteamGridDBMetadata/releases/tag/0.5.3

It falls back to my "fuzzy search" now if the game platform is not available. Until I find time to implement a more elegant solution (ie "this game is probably not available, let's not download the art for game y on game x) this should probably do the trick.

Test and verify.

Thanks for your help!

@shakeyourbunny
Copy link

Seems to be working now, thank you for your efforts!

@cooperate
Copy link
Owner

Closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants