mikage-emu / saveShop

Let's save the 3DS and Wii U eShop!
90 stars 2 forks source link

shop id 3,4 throwing error when fetching metadata for any region #7

Closed pokemontest1234 closed 1 year ago

pokemontest1234 commented 1 year ago

When trying to fetch metadata for any region(including normally empty ones like AD) while shop_id is 3 or 4. it will detect the normal supported languages but then fail when fetching ranking info for it Comand(using US as example): .\saveShop.exe --regions US fetch-all --cert .\ctr-common-1.pem Log(using US example):

Processing region US
Supported languages:
  en (English)
  es (Spanish)
Fetching metadata for language "en" of region US
Fetching endpoint news
Fetching endpoint telops
Fetching endpoint directories
Fetching endpoint genres
Fetching endpoint publishers
Fetching endpoint publishers/contacts
Fetching endpoint platforms
Fetching endpoint searchcategory
Fetching endpoint languages
Fetching endpoint rankings
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Custom("missing field `ranking`")', src\main.rs:614:67

the log is the same for both shop ids http_log for shop id 3(using US as example):

{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/languages?shop_id=3",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:41:38 GMT",
    "content-type": "application/xml",
    "content-length": "222",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/news?shop_id=3&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:41:39 GMT",
    "content-type": "application/xml",
    "content-length": "102",
    "connection": "keep-alive",
    "access-control-allow-origin": "*"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/telops?shop_id=3&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:41:39 GMT",
    "content-type": "application/xml",
    "content-length": "90",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/directories?shop_id=3&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:41:40 GMT",
    "content-type": "application/xml",
    "transfer-encoding": "chunked",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/genres?shop_id=3&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:41:40 GMT",
    "content-type": "application/xml",
    "content-length": "1277",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/publishers?shop_id=3&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:41:41 GMT",
    "content-type": "application/xml",
    "transfer-encoding": "chunked",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/publishers/contacts?shop_id=3&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:41:43 GMT",
    "content-type": "application/xml",
    "transfer-encoding": "chunked",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/platforms?shop_id=3&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:41:44 GMT",
    "content-type": "application/xml",
    "content-length": "1165",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/searchcategory?shop_id=3&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:41:44 GMT",
    "content-type": "application/xml",
    "content-length": "1233",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/languages?shop_id=3&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:41:44 GMT",
    "content-type": "application/xml",
    "content-length": "222",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/rankings?shop_id=3&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:41:45 GMT",
    "content-type": "application/xml",
    "content-length": "2298",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/ranking/1?offset=0&shop_id=3&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:41:45 GMT",
    "content-type": "application/xml",
    "content-length": "102",
    "connection": "keep-alive",
    "access-control-allow-origin": "*"
  }
}
--------------------------------------------------

http log for shop id 4(using US as example):

{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/languages?shop_id=4",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:43:34 GMT",
    "content-type": "application/xml",
    "content-length": "221",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/news?shop_id=4&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:43:34 GMT",
    "content-type": "application/xml",
    "content-length": "268",
    "connection": "keep-alive",
    "access-control-allow-origin": "*"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/telops?shop_id=4&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:43:34 GMT",
    "content-type": "application/xml",
    "content-length": "161",
    "connection": "keep-alive",
    "access-control-allow-origin": "*"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/directories?shop_id=4&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:43:34 GMT",
    "content-type": "application/xml",
    "content-length": "161",
    "connection": "keep-alive",
    "access-control-allow-origin": "*"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/genres?shop_id=4&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:43:35 GMT",
    "content-type": "application/xml",
    "content-length": "1277",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/publishers?shop_id=4&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:43:35 GMT",
    "content-type": "application/xml",
    "transfer-encoding": "chunked",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/publishers/contacts?shop_id=4&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:43:37 GMT",
    "content-type": "application/xml",
    "content-length": "527",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/platforms?shop_id=4&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:43:37 GMT",
    "content-type": "application/xml",
    "content-length": "1245",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/searchcategory?shop_id=4&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:43:37 GMT",
    "content-type": "application/xml",
    "content-length": "1233",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/languages?shop_id=4&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:43:37 GMT",
    "content-type": "application/xml",
    "content-length": "221",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/rankings?shop_id=4&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:43:38 GMT",
    "content-type": "application/xml",
    "content-length": "2298",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "cache-control": "max-age=120",
    "vary": "Accept-Encoding"
  }
}
--------------------------------------------------
{
  "url": "https://samurai.ctr.shop.nintendo.net/samurai/ws/US/ranking/1?offset=0&shop_id=4&lang=en",
  "response_headers": {
    "server": "nginx",
    "date": "Tue, 21 Mar 2023 19:43:38 GMT",
    "content-type": "application/xml",
    "content-length": "268",
    "connection": "keep-alive",
    "access-control-allow-origin": "*"
  }
}
--------------------------------------------------
neobrain commented 1 year ago

Curious, looks like the ranking/<id> endpoint is not available for shop_id=3/4. As a fix, you should safely be able to comment out the call to handle_ranking_content.

neobrain commented 1 year ago

Should be fixed in latest version.