Open stephanegigandet opened 6 years ago
Here are the images we have for a Coke bottle:
/home/off/html/images/products/544/900/013/1805# ls -lrt
total 36580
-rw-r--r-- 1 off users 1040722 Feb 14 2013 1.jpg
-rw-r--r-- 1 off users 29947 Feb 14 2013 1.400.jpg
-rw-r--r-- 1 off users 3758 Feb 14 2013 1.100.jpg
-rw-r--r-- 1 off users 1194329 Feb 26 2013 front.8.full.jpg
-rw-r--r-- 1 off users 37981 Feb 26 2013 front.8.400.jpg
-rw-r--r-- 1 off users 11936 Feb 26 2013 front.8.200.jpg
-rw-r--r-- 1 off users 4171 Feb 26 2013 front.8.100.jpg
-rw-r--r-- 1 off users 891663 Apr 25 2013 2.jpg
-rw-r--r-- 1 off users 13209 Apr 25 2013 2.100.jpg
-rw-r--r-- 1 off users 36329 Apr 25 2013 2.400.jpg
-rw-r--r-- 1 off users 2420777 Apr 27 2013 3.jpg
-rw-r--r-- 1 off users 21170 Apr 27 2013 3.100.jpg
-rw-r--r-- 1 off users 60594 Apr 27 2013 3.400.jpg
-rw-r--r-- 1 off users 2427712 Apr 30 2013 nutrition.12.full.jpg
-rw-r--r-- 1 off users 75295 Apr 30 2013 nutrition.12.400.jpg
-rw-r--r-- 1 off users 34402 Apr 30 2013 nutrition.12.200.jpg
-rw-r--r-- 1 off users 22472 Apr 30 2013 nutrition.12.100.jpg
-rw-r--r-- 1 off users 2427712 Apr 30 2013 ingredients.13.full.jpg
-rw-r--r-- 1 off users 75295 Apr 30 2013 ingredients.13.400.jpg
-rw-r--r-- 1 off users 34402 Apr 30 2013 ingredients.13.200.jpg
-rw-r--r-- 1 off users 22472 Apr 30 2013 ingredients.13.100.jpg
-rw-r--r-- 1 off users 1183079 Sep 13 2013 4.jpg
-rw-r--r-- 1 off users 51703 Sep 13 2013 4.400.jpg
-rw-r--r-- 1 off users 22042 Sep 13 2013 4.100.jpg
-rw-r--r-- 1 off users 678513 Sep 13 2013 front.16.full.jpg
-rw-r--r-- 1 off users 14575 Sep 13 2013 front.16.100.jpg
-rw-r--r-- 1 off users 48554 Sep 13 2013 front.16.400.jpg
-rw-r--r-- 1 off users 22466 Sep 13 2013 front.16.200.jpg
-rw-r--r-- 1 off users 324423 Feb 9 2014 ingredients_fr.19.full.jpg
-rw-r--r-- 1 off users 23346 Feb 9 2014 ingredients_fr.19.200.jpg
-rw-r--r-- 1 off users 18981 Feb 9 2014 ingredients_fr.19.100.jpg
-rw-r--r-- 1 off users 324423 Feb 9 2014 ingredients.19.full.jpg
-rw-r--r-- 1 off users 23346 Feb 9 2014 ingredients.19.200.jpg
-rw-r--r-- 1 off users 18981 Feb 9 2014 ingredients.19.100.jpg
-rw-r--r-- 1 off users 39152 Feb 9 2014 ingredients_fr.19.400.jpg
-rw-r--r-- 1 off users 39152 Feb 9 2014 ingredients.19.400.jpg
-rw-r--r-- 1 off users 416667 Feb 9 2014 nutrition_fr.20.full.jpg
-rw-r--r-- 1 off users 46331 Feb 9 2014 nutrition_fr.20.400.jpg
-rw-r--r-- 1 off users 25807 Feb 9 2014 nutrition_fr.20.200.jpg
-rw-r--r-- 1 off users 19642 Feb 9 2014 nutrition_fr.20.100.jpg
-rw-r--r-- 1 off users 416667 Feb 9 2014 nutrition.20.full.jpg
-rw-r--r-- 1 off users 46331 Feb 9 2014 nutrition.20.400.jpg
-rw-r--r-- 1 off users 25807 Feb 9 2014 nutrition.20.200.jpg
-rw-r--r-- 1 off users 19642 Feb 9 2014 nutrition.20.100.jpg
-rw-r--r-- 1 off users 1153817 Apr 3 2014 5.jpg
-rw-r--r-- 1 off users 33837 Apr 3 2014 5.400.jpg
-rw-r--r-- 1 off users 4152 Apr 3 2014 5.100.jpg
-rw-r--r-- 1 off users 1075902 Apr 3 2014 front.24.full.jpg
-rw-r--r-- 1 off users 34048 Apr 3 2014 front.24.400.jpg
-rw-r--r-- 1 off users 10459 Apr 3 2014 front.24.200.jpg
-rw-r--r-- 1 off users 3862 Apr 3 2014 front.24.100.jpg
-rw-r--r-- 1 off users 680753 Apr 10 2014 6.jpg
-rw-r--r-- 1 off users 26670 Apr 10 2014 6.400.jpg
-rw-r--r-- 1 off users 3615 Apr 10 2014 6.100.jpg
-rw-r--r-- 1 off users 282971 Dec 26 2014 7.jpg
-rw-r--r-- 1 off users 26227 Dec 26 2014 7.400.jpg
-rw-r--r-- 1 off users 3373 Dec 26 2014 7.100.jpg
-rw-r--r-- 1 off users 535106 Dec 26 2014 8.jpg
-rw-r--r-- 1 off users 42090 Dec 26 2014 8.400.jpg
-rw-r--r-- 1 off users 4137 Dec 26 2014 8.100.jpg
-rw-r--r-- 1 off users 14915 Feb 6 2015 9.jpg
-rw-r--r-- 1 off users 12566 Feb 6 2015 9.400.jpg
-rw-r--r-- 1 off users 4517 Feb 6 2015 9.100.jpg
-rw-r--r-- 1 off users 14975 Feb 6 2015 front.32.full.jpg
-rw-r--r-- 1 off users 14995 Feb 6 2015 front.32.400.jpg
-rw-r--r-- 1 off users 15784 Feb 6 2015 front.32.200.jpg
-rw-r--r-- 1 off users 5784 Feb 6 2015 front.32.100.jpg
-rw-r--r-- 1 off users 363273 Feb 6 2015 front_fr.33.full.jpg
-rw-r--r-- 1 off users 32665 Feb 6 2015 front_fr.33.400.jpg
-rw-r--r-- 1 off users 11261 Feb 6 2015 front_fr.33.200.jpg
-rw-r--r-- 1 off users 3949 Feb 6 2015 front_fr.33.100.jpg
-rw-r--r-- 1 off users 363273 Feb 6 2015 front.33.full.jpg
-rw-r--r-- 1 off users 32665 Feb 6 2015 front.33.400.jpg
-rw-r--r-- 1 off users 11261 Feb 6 2015 front.33.200.jpg
-rw-r--r-- 1 off users 3949 Feb 6 2015 front.33.100.jpg
-rw-r--r-- 1 off users 243144 Apr 10 2015 10.jpg
-rw-r--r-- 1 off users 20477 Apr 10 2015 10.400.jpg
-rw-r--r-- 1 off users 2797 Apr 10 2015 10.100.jpg
-rw-r--r-- 1 off users 484574 Apr 15 2015 11.jpg
-rw-r--r-- 1 off users 24751 Apr 15 2015 11.400.jpg
-rw-r--r-- 1 off users 2615 Apr 15 2015 11.100.jpg
-rw-r--r-- 1 off users 295208 Apr 24 2015 12.jpg
-rw-r--r-- 1 off users 19507 Apr 24 2015 12.400.jpg
-rw-r--r-- 1 off users 2633 Apr 24 2015 12.100.jpg
-rw-r--r-- 1 off users 245858 Aug 14 2015 14.jpg
-rw-r--r-- 1 off users 16601 Aug 14 2015 14.400.jpg
-rw-r--r-- 1 off users 2534 Aug 14 2015 14.100.jpg
-rw-r--r-- 1 off users 938595 Aug 29 2015 15.jpg
-rw-r--r-- 1 off users 39598 Aug 29 2015 15.400.jpg
-rw-r--r-- 1 off users 4000 Aug 29 2015 15.100.jpg
-rw-r--r-- 1 off teolemon 1053 Jan 19 2016 ingredients.13.full.json
-rw-r--r-- 1 off teolemon 447 Jan 19 2016 ingredients.19.full.json
-rw-r--r-- 1 off teolemon 450 Jan 19 2016 nutrition.20.full.json
-rw-r--r-- 1 off teolemon 648 Jan 19 2016 nutrition.12.full.json
-rw-r--r-- 1 off teolemon 489 Jan 21 2016 front.8.full.json
-rw-r--r-- 1 off teolemon 700 Jan 21 2016 front.24.full.json
-rw-r--r-- 1 off teolemon 475 Jan 21 2016 front.16.full.json
-rw-r--r-- 1 off teolemon 460 Jan 21 2016 front.32.full.json
-rw-r--r-- 1 off teolemon 456 Jan 21 2016 front.33.full.json
-rw-r--r-- 1 off teolemon 488 Jan 22 2016 1.json
-rw-r--r-- 1 off teolemon 867 Jan 22 2016 3.json
-rw-r--r-- 1 off teolemon 735 Jan 22 2016 4.json
-rw-r--r-- 1 off teolemon 474 Jan 22 2016 5.json
-rw-r--r-- 1 off teolemon 484 Jan 22 2016 2.json
-rw-r--r-- 1 off teolemon 463 Jan 22 2016 7.json
-rw-r--r-- 1 off teolemon 471 Jan 22 2016 6.json
-rw-r--r-- 1 off teolemon 460 Jan 22 2016 9.json
-rw-r--r-- 1 off teolemon 1022 Jan 22 2016 8.json
-rw-r--r-- 1 off users 813785 Mar 10 2016 16.jpg
-rw-r--r-- 1 off users 31299 Mar 10 2016 16.400.jpg
-rw-r--r-- 1 off users 3852 Mar 10 2016 16.100.jpg
-rw-r--r-- 1 off users 185179 Mar 10 2016 17.jpg
-rw-r--r-- 1 off users 24826 Mar 10 2016 17.400.jpg
-rw-r--r-- 1 off users 3077 Mar 10 2016 17.100.jpg
-rw-r--r-- 1 off users 763915 Mar 10 2016 18.jpg
-rw-r--r-- 1 off users 25809 Mar 10 2016 18.400.jpg
-rw-r--r-- 1 off users 3040 Mar 10 2016 18.100.jpg
-rw-r--r-- 1 off users 433664 Mar 13 2016 20.jpg
-rw-r--r-- 1 off users 3207 Mar 13 2016 20.100.jpg
-rw-r--r-- 1 off users 126923 Mar 13 2016 19.jpg
-rw-r--r-- 1 off users 15679 Mar 13 2016 19.400.jpg
-rw-r--r-- 1 off users 2242 Mar 13 2016 19.100.jpg
-rw-r--r-- 1 off users 515454 Mar 13 2016 21.jpg
-rw-r--r-- 1 off users 26616 Mar 13 2016 21.400.jpg
-rw-r--r-- 1 off users 2896 Mar 13 2016 21.100.jpg
-rw-r--r-- 1 off users 21771 Mar 13 2016 20.400.jpg
-rw-r--r-- 1 off users 615094 Apr 13 2016 23.jpg
-rw-r--r-- 1 off users 38870 Apr 13 2016 23.400.jpg
-rw-r--r-- 1 off users 3393 Apr 13 2016 23.100.jpg
-rw-r--r-- 1 off users 376950 Sep 8 2016 24.jpg
-rw-r--r-- 1 off users 20369 Sep 8 2016 24.400.jpg
-rw-r--r-- 1 off users 2688 Sep 8 2016 24.100.jpg
-rw-r--r-- 1 off users 39726 Sep 12 2016 25.jpg
-rw-r--r-- 1 off users 183 Sep 12 2016 25.100.jpg
-rw-r--r-- 1 off users 523 Sep 12 2016 25.400.jpg
-rw-r--r-- 1 off off 214545 Sep 15 2016 26.jpg
-rw-r--r-- 1 off off 2129 Sep 15 2016 26.100.jpg
-rw-r--r-- 1 off off 21357 Sep 15 2016 26.400.jpg
-rw-r--r-- 1 off off 949449 Sep 16 2016 27.jpg
-rw-r--r-- 1 off off 2144 Sep 16 2016 27.100.jpg
-rw-r--r-- 1 off off 14948 Sep 16 2016 27.400.jpg
-rw-r--r-- 1 off off 1376537 Sep 16 2016 28.jpg
-rw-r--r-- 1 off off 2440 Sep 16 2016 28.100.jpg
-rw-r--r-- 1 off off 24160 Sep 16 2016 28.400.jpg
-rw-r--r-- 1 off off 349204 Sep 17 2016 29.jpg
-rw-r--r-- 1 off off 2014 Sep 17 2016 29.100.jpg
-rw-r--r-- 1 off off 15159 Sep 17 2016 29.400.jpg
-rw-r--r-- 1 off off 186681 Sep 17 2016 front_pt.63.full.jpg
-rw-r--r-- 1 off off 2019 Sep 17 2016 front_pt.63.100.jpg
-rw-r--r-- 1 off off 5507 Sep 17 2016 front_pt.63.200.jpg
-rw-r--r-- 1 off off 15154 Sep 17 2016 front_pt.63.400.jpg
-rw-r--r-- 1 off off 319900 Sep 18 2016 30.jpg
-rw-r--r-- 1 off off 2110 Sep 18 2016 30.100.jpg
-rw-r--r-- 1 off off 17482 Sep 18 2016 30.400.jpg
-rw-r--r-- 1 off off 361384 Sep 21 2016 31.jpg
-rw-r--r-- 1 off off 1708 Sep 21 2016 31.100.jpg
-rw-r--r-- 1 off off 11544 Sep 21 2016 31.400.jpg
-rw-r--r-- 1 off off 517904 Oct 30 2016 32.jpg
-rw-r--r-- 1 off off 2937 Oct 30 2016 32.100.jpg
-rw-r--r-- 1 off off 23121 Oct 30 2016 32.400.jpg
-rw-r--r-- 1 off off 12259 Oct 30 2016 33.jpg
-rw-r--r-- 1 off off 200 Oct 30 2016 33.100.jpg
-rw-r--r-- 1 off off 702 Oct 30 2016 33.400.jpg
-rw-r--r-- 1 off off 506367 Dec 6 2016 34.jpg
-rw-r--r-- 1 off off 2466 Dec 6 2016 34.100.jpg
-rw-r--r-- 1 off off 21500 Dec 6 2016 34.400.jpg
-rw-r--r-- 1 off off 342547 Jan 26 2017 35.jpg
-rw-r--r-- 1 off off 1619 Jan 26 2017 35.100.jpg
-rw-r--r-- 1 off off 13433 Jan 26 2017 35.400.jpg
-rw-r--r-- 1 off off 241473 Jan 26 2017 front_en.73.full.jpg
-rw-r--r-- 1 off off 1627 Jan 26 2017 front_en.73.100.jpg
-rw-r--r-- 1 off off 4635 Jan 26 2017 front_en.73.200.jpg
-rw-r--r-- 1 off off 13414 Jan 26 2017 front_en.73.400.jpg
-rw-r--r-- 1 off off 432684 Jan 26 2017 front_en.77.full.jpg
-rw-r--r-- 1 off off 2606 Jan 26 2017 front_en.77.100.jpg
-rw-r--r-- 1 off off 6854 Jan 26 2017 front_en.77.200.jpg
-rw-r--r-- 1 off off 19049 Jan 26 2017 front_en.77.400.jpg
-rw-r--r-- 1 off off 440462 Jan 26 2017 front_en.78.full.jpg
-rw-r--r-- 1 off off 2674 Jan 26 2017 front_en.78.100.jpg
-rw-r--r-- 1 off off 6961 Jan 26 2017 front_en.78.200.jpg
-rw-r--r-- 1 off off 19149 Jan 26 2017 front_en.78.400.jpg
-rw-r--r-- 1 off off 159633 Feb 7 2017 36.jpg
-rw-r--r-- 1 off off 2784 Feb 7 2017 36.100.jpg
-rw-r--r-- 1 off off 22513 Feb 7 2017 36.400.jpg
-rw-r--r-- 1 off off 213927 Feb 7 2017 37.jpg
-rw-r--r-- 1 off off 2826 Feb 7 2017 37.100.jpg
-rw-r--r-- 1 off off 29421 Feb 7 2017 37.400.jpg
-rw-r--r-- 1 off off 797936 Mar 13 2017 38.jpg
-rw-r--r-- 1 off off 3428 Mar 13 2017 38.100.jpg
-rw-r--r-- 1 off off 28645 Mar 13 2017 38.400.jpg
-rw-r--r-- 1 off off 377710 Apr 4 2017 39.jpg
-rw-r--r-- 1 off off 2629 Apr 4 2017 39.100.jpg
-rw-r--r-- 1 off off 21586 Apr 4 2017 39.400.jpg
-rw-r--r-- 1 off off 14500 May 18 2017 40.jpg
-rw-r--r-- 1 off off 332 May 18 2017 40.100.jpg
-rw-r--r-- 1 off off 913 May 18 2017 40.400.jpg
-rw-r--r-- 1 off off 230228 Aug 11 2017 41.jpg
-rw-r--r-- 1 off off 2628 Aug 11 2017 41.100.jpg
-rw-r--r-- 1 off off 19070 Aug 11 2017 41.400.jpg
-rw-r--r-- 1 off off 147069 Aug 11 2017 front_fr.91.full.jpg
-rw-r--r-- 1 off off 2628 Aug 11 2017 front_fr.91.100.jpg
-rw-r--r-- 1 off off 6951 Aug 11 2017 front_fr.91.200.jpg
-rw-r--r-- 1 off off 19014 Aug 11 2017 front_fr.91.400.jpg
-rw-r--r-- 1 off off 674873 Oct 25 12:56 42.jpg
-rw-r--r-- 1 off off 671 Oct 25 12:56 42.100.jpg
-rw-r--r-- 1 off off 2894 Oct 25 12:56 42.400.jpg
-rw-r--r-- 1 off off 349889 Jan 6 18:09 43.jpg
-rw-r--r-- 1 off off 3113 Jan 6 18:09 43.100.jpg
-rw-r--r-- 1 off off 21920 Jan 6 18:09 43.400.jpg
-rw-r--r-- 1 off off 364734 Feb 2 12:01 44.jpg
-rw-r--r-- 1 off off 2612 Feb 2 12:01 44.100.jpg
-rw-r--r-- 1 off off 24194 Feb 2 12:01 44.400.jpg
-rw-r--r-- 1 off off 244068 Feb 2 12:01 front_fr.100.full.jpg
-rw-r--r-- 1 off off 2612 Feb 2 12:01 front_fr.100.100.jpg
-rw-r--r-- 1 off off 7414 Feb 2 12:01 front_fr.100.200.jpg
-rw-r--r-- 1 off off 24142 Feb 2 12:01 front_fr.100.400.jpg
-rw-r--r-- 1 off off 283648 Feb 3 13:23 45.jpg
-rw-r--r-- 1 off off 2773 Feb 3 13:23 45.100.jpg
-rw-r--r-- 1 off off 22652 Feb 3 13:23 45.400.jpg
-rw-r--r-- 1 off off 182796 Feb 3 13:23 front_fr.104.full.jpg
-rw-r--r-- 1 off off 2777 Feb 3 13:23 front_fr.104.100.jpg
-rw-r--r-- 1 off off 7688 Feb 3 13:23 front_fr.104.200.jpg
-rw-r--r-- 1 off off 22620 Feb 3 13:23 front_fr.104.400.jpg
-rw-r--r-- 1 off off 64774 Feb 3 13:51 front_fr.105.full.jpg
-rw-r--r-- 1 off off 2671 Feb 3 13:51 front_fr.105.100.jpg
-rw-r--r-- 1 off off 7209 Feb 3 13:51 front_fr.105.200.jpg
-rw-r--r-- 1 off off 19674 Feb 3 13:51 front_fr.105.400.jpg
You will also notice fake JSONs for all images
Sample output:
product code: 9781234567897 - path: 978/123/456/7897
1st pass: front_en.25.full.jpg - id: front_en - v: 25
new highest version for id: front_en - version: 25
1st pass: front_en.45.full.jpg - id: front_en - v: 45
new highest version for id: front_en - version: 45
1st pass: front_en.48.full.jpg - id: front_en - v: 48
new highest version for id: front_en - version: 48
1st pass: front_en.51.full.jpg - id: front_en - v: 51
new highest version for id: front_en - version: 51
1st pass: front_es.21.full.jpg - id: front_es - v: 21
new highest version for id: front_es - version: 21
1st pass: front_es.3.full.jpg - id: front_es - v: 3
1st pass: ingredients_en.53.full.jpg - id: ingredients_en - v: 53
new highest version for id: ingredients_en - version: 53
2nd pass: front_en.25.100.jpg - id: front_en - v: 25 - highest: 51
deleting imageid: front_en - version: 25
2nd pass: front_en.25.200.jpg - id: front_en - v: 25 - highest: 51
deleting imageid: front_en - version: 25
2nd pass: front_en.25.400.jpg - id: front_en - v: 25 - highest: 51
deleting imageid: front_en - version: 25
2nd pass: front_en.25.full.jpg - id: front_en - v: 25 - highest: 51
deleting imageid: front_en - version: 25
2nd pass: front_en.45.100.jpg - id: front_en - v: 45 - highest: 51
deleting imageid: front_en - version: 45
2nd pass: front_en.45.200.jpg - id: front_en - v: 45 - highest: 51
deleting imageid: front_en - version: 45
2nd pass: front_en.45.400.jpg - id: front_en - v: 45 - highest: 51
deleting imageid: front_en - version: 45
2nd pass: front_en.45.full.jpg - id: front_en - v: 45 - highest: 51
deleting imageid: front_en - version: 45
2nd pass: front_en.48.100.jpg - id: front_en - v: 48 - highest: 51
deleting imageid: front_en - version: 48
2nd pass: front_en.48.200.jpg - id: front_en - v: 48 - highest: 51
deleting imageid: front_en - version: 48
2nd pass: front_en.48.400.jpg - id: front_en - v: 48 - highest: 51
deleting imageid: front_en - version: 48
2nd pass: front_en.48.full.jpg - id: front_en - v: 48 - highest: 51
deleting imageid: front_en - version: 48
2nd pass: front_en.51.100.jpg - id: front_en - v: 51 - highest: 51
2nd pass: front_en.51.200.jpg - id: front_en - v: 51 - highest: 51
2nd pass: front_en.51.400.jpg - id: front_en - v: 51 - highest: 51
2nd pass: front_en.51.full.jpg - id: front_en - v: 51 - highest: 51
2nd pass: front_es.21.100.jpg - id: front_es - v: 21 - highest: 21
2nd pass: front_es.21.200.jpg - id: front_es - v: 21 - highest: 21
2nd pass: front_es.21.400.jpg - id: front_es - v: 21 - highest: 21
2nd pass: front_es.21.full.jpg - id: front_es - v: 21 - highest: 21
2nd pass: front_es.3.100.jpg - id: front_es - v: 3 - highest: 21
deleting imageid: front_es - version: 3
2nd pass: front_es.3.200.jpg - id: front_es - v: 3 - highest: 21
deleting imageid: front_es - version: 3
2nd pass: front_es.3.400.jpg - id: front_es - v: 3 - highest: 21
deleting imageid: front_es - version: 3
2nd pass: front_es.3.full.jpg - id: front_es - v: 3 - highest: 21
deleting imageid: front_es - version: 3
2nd pass: ingredients_en.53.100.jpg - id: ingredients_en - v: 53 - highest: 53
2nd pass: ingredients_en.53.200.jpg - id: ingredients_en - v: 53 - highest: 53
2nd pass: ingredients_en.53.400.jpg - id: ingredients_en - v: 53 - highest: 53
2nd pass: ingredients_en.53.full.jpg - id: ingredients_en - v: 53 - highest: 53
So this script will delete the images of old version of products. e.g. https://world.openfoodfacts.net/product/3032220061100/burger-cheddar-emmental-12-tranches-17-mg-president
old revision with broken images: https://world.openfoodfacts.net/product/3032220061100/burger-cheddar-emmental-12-tranches-17-mg-president?rev=11
I changed the script so that it moves images instead of deleting them. I ran it on the images on .net (which has a copy that does not include all the images from OFF, only for a subset of products), here is the results:
du -ms old-images images 72147 old-images 376433 images
We are running out of disk space. We currently keep all versions of images that have been selected (and possibly cropped) for front, ingredients and nutrition, even if they have been replaced by new versions (new images and/or new cropping).
This bug is to create a script to delete the cropped images that have been replaced and that are not visible anymore on the app or web site (except in the product edit history if one looks for an old version of a product page).
The source images uploaded by users will be kept, and the product version contain the cropping coordinates, so if needed, the cropped images could be reconstructed.
The script should go in each directory under html/images/product, and in each directory, look at the (front|ingredients|nutrition)(_[language code])?.[version].*.jpg files, and keep only the highest version number.