Fix wrongly imported inAppPurchases properties
[ouya-game-data.git] / bin / find-game-images-ia.php
1 #!/usr/bin/env php
2 <?php
3 chdir(__DIR__ . '/../old-data/');
4 $gamefiles = glob('devs.ouya.tv/api/v1/apps/*.json');
5 //$gamefiles = glob('devs.ouya.tv/api/v1/apps/net.froem*.json');
6
7 foreach ($gamefiles as $file) {
8     echo "Processing $file\n";
9     $data = json_decode(file_get_contents($file));
10     if ($data === null) {
11         echo "error opening " . $file . "\n";
12         exit(1);
13     }
14     $package = basename($file, '.json');
15
16     $iaImages = loadIaImages($package);
17
18     $pos = 0;
19     foreach ($data->app->filepickerScreenshots as $imageUrl) {
20         $pos++;
21         mapIaImage($iaImages, $imageUrl);
22     }
23
24     mapIaImage($iaImages, $data->app->mainImageFullUrl);
25     //die();
26 }
27
28 function mapIaImage($iaImages, $imageUrl)
29 {
30     $newUrl = findIaImage($iaImages, $imageUrl);
31     if ($newUrl !== $imageUrl) {
32         echo " ok\n";
33         file_put_contents(
34             'map-game-images.ia.csv',
35             $imageUrl . ',' . $newUrl . "\n",
36             FILE_APPEND
37         );
38         return;
39     }
40     //not in internet archive
41     echo " Missing in IA: $imageUrl\n";
42 }
43
44 function findIaImage($iaImages, $imageUrl)
45 {
46     // https://d3e4aumcqn8cw3.cloudfront.net/api/file/tC4RIGJLQvG2uG1av9jN
47     $imageName = basename($imageUrl);
48     if (isset($iaImages[$imageName . '.png'])) {
49         return $iaImages[$imageName . '.png'];
50     }
51     if (isset($iaImages[$imageName . '.jpg'])) {
52         return $iaImages[$imageName . '.jpg'];
53     }
54     return $imageUrl;
55 }
56
57 function loadIaImages($package)
58 {
59     $images = [];
60     $iaDataFiles = glob('ia-data/ouya_' . $package . '_*.json');
61     foreach ($iaDataFiles as $iaJsonFile) {
62         $iaSlug = basename($iaJsonFile, '.json');
63         $data = json_decode(file_get_contents($iaJsonFile));
64         foreach ($data->files as $file) {
65             if ($file->source != 'original') {
66                 continue;
67             }
68             if ($file->format != 'JPEG' && $file->format != 'PNG') {
69                 continue;
70             }
71
72             $images[$file->name] = 'https://archive.org/download/' . $iaSlug . '/' . $file->name;
73         }
74     }
75     return $images;
76 }
77 ?>