From 61c182f01d2ea3984a87adc085688d9b3d082d1b Mon Sep 17 00:00:00 2001 From: CoolCat467 <52022020+CoolCat467@users.noreply.github.com> Date: Tue, 29 Oct 2024 01:30:32 -0500 Subject: [PATCH] Make records imported public and update backup --- backup/publications.json | 857 ++++++++++++-------------------------- backup/reviews.json | 290 ++++--------- scripts/import_records.py | 302 ++++++++++++++ scripts/result.py | 55 +++ 4 files changed, 688 insertions(+), 816 deletions(-) create mode 100644 scripts/import_records.py create mode 100644 scripts/result.py diff --git a/backup/publications.json b/backup/publications.json index c33737e..ec7dd63 100644 --- a/backup/publications.json +++ b/backup/publications.json @@ -1,6 +1,5 @@ { "103": { - "average_rating": 4.6667, "category_id": 2, "initial_description": "This library allows you to encode/decode Lua tables to/from string JSON result. Mostly used in web applications.", "license_id": 1, @@ -28,7 +27,6 @@ "version": 1.38 }, "104": { - "average_rating": 0, "category_id": 2, "initial_description": "This library provides some popular methods of SHA hashes in pure Lua", "license_id": 1, @@ -40,13 +38,12 @@ "version": 1.06 }, "1045": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 106, 1046 ], - "downloads": 1, + "downloads": 3, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Calculator.app/Icon.pic", "initial_description": "This is an extremely powerful calculator that combines the functionality of engineering mathematics and binary blocks. It allows bit-by-bit editing of numbers, as well as the ability to work in octal and hexadecimal number systems and displaying UTF-8/ASCII charactes by their codes.", "license_id": 1, @@ -68,7 +65,6 @@ "version": 1.08 }, "1047": { - "average_rating": 4.375, "category_id": 1, "dependencies": [ 1048 @@ -85,21 +81,13 @@ "whats_new": "Now it works fine", "whats_new_version": 1.03 }, - "1048": { - "path": "Icon.pic", - "source_url": "https://github.com/BTVoidX/MineOSApps/blob/master/Sunshine/Icon.pic?raw=true", - "timestamp": 1549899382, - "type_id": 3, - "user_name": "btvoidx", - "version": 1.03 - }, "1055": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1056, 106 ], + "downloads": 1, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Reinstall%20OS.app/Icon.pic", "initial_description": "Emergency script for instant OS reistalling. It works like MineOS EFI with selected Internet Recovery option", "license_id": 1, @@ -121,13 +109,12 @@ "1057": { "path": "/Icons/User.pic", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Icons/User.pic", - "timestamp": 1652893110, + "timestamp": 1613367302, "type_id": 2, - "user_name": "ECS", + "user_name": "MrOlegTitov", "version": 1.29 }, "1058": { - "average_rating": 0, "category_id": 2, "initial_description": "Paths library that contains and obtains internal system paths and user directories", "license_id": 1, @@ -141,7 +128,6 @@ "whats_new_version": 1.02 }, "1059": { - "average_rating": 0, "category_id": 2, "initial_description": "Text processing library", "license_id": 1, @@ -153,7 +139,6 @@ "version": 1.01 }, "106": { - "average_rating": 4.5238, "category_id": 3, "dependencies": [ 108, @@ -203,7 +188,6 @@ "whats_new_version": 1.82 }, "1060": { - "average_rating": 0, "category_id": 2, "initial_description": "Numbers processing library", "license_id": 1, @@ -215,7 +199,6 @@ "version": 1.01 }, "1061": { - "average_rating": 0, "category_id": 2, "initial_description": "Component library", "license_id": 1, @@ -227,7 +210,6 @@ "version": 1.01 }, "1062": { - "average_rating": 0, "category_id": 2, "initial_description": "Bit32 library", "license_id": 1, @@ -239,7 +221,6 @@ "version": 1.01 }, "1065": { - "average_rating": 0, "category_id": 2, "initial_description": "Keyboard library", "license_id": 1, @@ -251,7 +232,6 @@ "version": 1.01 }, "107": { - "average_rating": 4.0, "category_id": 2, "initial_description": "This library allows you to encode/decode XML structure to/from Lua table.", "license_id": 1, @@ -319,12 +299,12 @@ "version": 1.11 }, "1077": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 106, 1078 ], + "downloads": 1, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Lua.app/Icon.pic", "initial_description": "The Lua interpreter appliaction allows you to instantly launch single-line lua scripts and view result. There's also RAM stack viewer sidebar for quick access to any memory object", "license_id": 1, @@ -344,7 +324,6 @@ "version": 1.01 }, "1079": { - "average_rating": 0, "category_id": 2, "initial_description": "Simple packing/unpacking library", "license_id": 1, @@ -356,7 +335,6 @@ "version": 1.01 }, "108": { - "average_rating": 4.2857, "category_id": 2, "downloads": 1, "initial_description": "This is one of main MineOS system libraries that contains non-UI methods", @@ -371,7 +349,6 @@ "whats_new_version": 1.45 }, "1090": { - "average_rating": 4.5, "category_id": 1, "dependencies": [ 1091 @@ -389,16 +366,7 @@ "whats_new": "\u041d\u043e\u0432\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441", "whats_new_version": 1.08 }, - "1091": { - "path": "Icon.pic", - "source_url": "https://github.com/Stolar2002/opencomputers/raw/master/ASCII/Icon.pic", - "timestamp": 1548948874, - "type_id": 3, - "user_name": "Stolar", - "version": 1.12 - }, "1093": { - "average_rating": 4.3333, "category_id": 1, "dependencies": [ 1094 @@ -414,16 +382,7 @@ "user_name": "Stolar", "version": 1.01 }, - "1094": { - "path": "Icon.pic", - "source_url": "https://github.com/Stolar2002/opencomputers/raw/master/PicViewer.app/Icon.pic", - "timestamp": 1548947583, - "type_id": 3, - "user_name": "Stolar", - "version": 1.01 - }, "1095": { - "average_rating": 4.0, "category_id": 2, "downloads": 1, "initial_description": "Library for internet requests performing", @@ -436,7 +395,6 @@ "version": 1.02 }, "1096": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 106, @@ -516,7 +474,6 @@ "version": 1.02 }, "1107": { - "average_rating": 3.6667, "category_id": 1, "dependencies": [ 106, @@ -535,18 +492,18 @@ "1108": { "path": "Icon.pic", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Shooting.app/Icon.pic", - "timestamp": 1575217981, + "timestamp": 1652893110, "type_id": 3, - "user_name": "jirka086", + "user_name": "ECS", "version": 1.01 }, "1109": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 106, 1110 ], + "downloads": 1, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Multiscreen.app/Icon.pic", "initial_description": "This application allows you to draw huge and beautiful images on a multiple screens that merged to a single cluster", "license_id": 1, @@ -584,13 +541,12 @@ "version": 1.09 }, "1153": { - "average_rating": 4.7143, "category_id": 1, "dependencies": [ 1159, 103 ], - "downloads": 4, + "downloads": 6, "icon_url": "https://dl.dropboxusercontent.com/s/r1qjhdwxfhyayjq/icon.pic", "initial_description": "\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0442\u0435\u0445 \u043a\u043e\u043c\u0443 \u043b\u0435\u043d\u044c \u043b\u0430\u0437\u0438\u0442\u044c \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0440\u0430\u0434\u0438\u043e \u0438 \u043d\u0435 \u043b\u0435\u043d\u044c \u043b\u0430\u0437\u0438\u0442\u044c \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043e\u043c\u043f\u0430.", "license_id": 1, @@ -635,21 +591,12 @@ "user_name": "ECS", "version": 1.03 }, - "1159": { - "path": "Icon.pic", - "source_url": "https://dl.dropboxusercontent.com/s/r1qjhdwxfhyayjq/icon.pic", - "timestamp": 1589714992, - "type_id": 3, - "user_name": "Hatryy", - "version": 1.19 - }, "1160": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1162 ], - "downloads": 1, + "downloads": 3, "icon_url": "https://raw.githubusercontent.com/Maxu5/OpenComputers/master/SpaceX/Icon.pic", "initial_description": "\u041f\u043e\u043b\u0451\u0442 \u0441\u043a\u0432\u043e\u0437\u044c \u043a\u043e\u0441\u043c\u043e\u0441. \u041a\u0440\u0430\u0441\u0438\u0432\u0430\u044f \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0430 \u043a\u0430\u043a \u0431\u044b\u043b\u0430 \u0432 Windows XP.", "license_id": 2, @@ -662,16 +609,7 @@ "whats_new": "\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0441\u0447\u0451\u0442 \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0444\u0438\u0448\u0435\u0447\u0435\u043a \u043e\u0442 ECS.", "whats_new_version": 1.02 }, - "1162": { - "path": "Icon.pic", - "source_url": "https://raw.githubusercontent.com/Maxu5/OpenComputers/master/SpaceX/Icon.pic", - "timestamp": 1550925358, - "type_id": 3, - "user_name": "Maxus", - "version": 1.01 - }, "1166": { - "average_rating": 3.5, "category_id": 2, "initial_description": "MD5 library by github.com/kikito", "license_id": 1, @@ -685,7 +623,7 @@ "1167": { "path": "/Localizations/German.lang", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Localizations/German.lang", - "timestamp": 1652893110, + "timestamp": 1720036066, "type_id": 4, "user_name": "ECS", "version": 1.21 @@ -693,13 +631,12 @@ "1168": { "path": "/Localizations/Italian.lang", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Localizations/Italian.lang", - "timestamp": 1652893110, + "timestamp": 1706532772, "type_id": 4, "user_name": "ECS", "version": 1.21 }, "1170": { - "average_rating": 3.0, "category_id": 1, "dependencies": [ 1172 @@ -716,16 +653,7 @@ "whats_new": "(Hopefully) Downloads correctly", "whats_new_version": 1.08 }, - "1172": { - "path": "Icon.pic", - "source_url": "https://github.com/Jack5079/opencomputers/raw/master/SysFucked.app/Icon.pic", - "timestamp": 1553894010, - "type_id": 3, - "user_name": "Jack5079", - "version": 1.02 - }, "1173": { - "average_rating": 1.0, "category_id": 1, "dependencies": [ 1095, @@ -755,7 +683,6 @@ "version": 1.01 }, "1175": { - "average_rating": 3.0, "category_id": 1, "dependencies": [ 1176 @@ -771,21 +698,12 @@ "user_name": "Jack5079", "version": 1 }, - "1176": { - "path": "Icon.pic", - "source_url": "https://raw.githubusercontent.com/Jack5079/opencomputers/master/SysFucked%20Slient.app/Icon.pic", - "timestamp": 1553952059, - "type_id": 3, - "user_name": "Jack5079", - "version": 1 - }, "1177": { - "average_rating": 4.6, "category_id": 1, "dependencies": [ 1178 ], - "downloads": 1, + "downloads": 3, "icon_url": "https://raw.githubusercontent.com/Jack5079/opencomputers/master/IP.app/Icon.pic", "initial_description": "Ever needed to know your (real) computer's IP inside of MineOS? No? Well I don't care! This program will tell you your IP!", "license_id": 1, @@ -796,18 +714,9 @@ "user_name": "Jack5079", "version": 1 }, - "1178": { - "path": "Icon.pic", - "source_url": "https://raw.githubusercontent.com/Jack5079/opencomputers/master/IP.app/Icon.pic", - "timestamp": 1553956267, - "type_id": 3, - "user_name": "Jack5079", - "version": 1 - }, "1186": { - "average_rating": 3.8, "category_id": 3, - "downloads": 1, + "downloads": 2, "initial_description": "\u0412\u041d\u0418\u041c\u0410\u041d\u0418\u0415:\u042d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u0423\u0414\u0410\u041b\u042f\u0415\u0422 \u0412\u0421\u0401 \u0421 \u0416\u0401\u0421\u0422\u041a\u0418\u0425 \u0414\u0418\u0421\u041a\u041e\u0412!!!1!! \u0412\u042b \u0421\u0410\u041c\u0418 \u041b\u041e\u0425 \u0415\u0421\u041b\u0418 \u0423\u0414\u0410\u041b\u0418\u041b\u0418 \u0421\u0412\u041e\u042e \u0418\u041d\u0424\u0423! \u042f \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0434\u0438\u043b.", "license_id": 7, "path": "Anarchy.lua", @@ -820,12 +729,11 @@ "whats_new_version": 1.02 }, "1197": { - "average_rating": 4.2857, "category_id": 1, "dependencies": [ 1198 ], - "downloads": 4, + "downloads": 7, "icon_url": "https://github.com/alexexe82/HIPOSAV/blob/master/apps/Prizm3d/Icon.pic?raw=true", "initial_description": "\u0413\u0430\u0442\u0430\u043b\u043e\u0433 \u0433\u043e\u043b\u043e\u043f\u0440\u043e\u0435\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0440\u0430 2-\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f. \u0421 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u0432\u043e\u0434\u0430 \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0440 \u0438 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043a\u0430\u0440\u0442\u0430. \u041f\u0438\u0448\u0438\u0442\u0435 \u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0446\u0438\u0438 \u0445\u043e\u0442\u0435\u043b\u0438 \u0431\u044b \u0432\u0438\u0434\u0435\u0442\u044c \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435. \u0411\u0443\u0434\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e \u043c\u0435\u0440\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438.", "license_id": 1, @@ -849,17 +757,17 @@ "1208": { "path": "/Localizations/Bulgarian.lang", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Localizations/Bulgarian.lang", - "timestamp": 1629276601, + "timestamp": 1706532728, "type_id": 4, - "user_name": "pril", + "user_name": "ECS", "version": 1.18 }, "1209": { "path": "/Localizations/Japanese.lang", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Localizations/Japanese.lang", - "timestamp": 1613367302, + "timestamp": 1706532719, "type_id": 4, - "user_name": "MrOlegTitov", + "user_name": "ECS", "version": 1.17 }, "1210": { @@ -871,7 +779,6 @@ "version": 1.08 }, "1211": { - "average_rating": 4.6667, "category_id": 1, "dependencies": [ 1212, @@ -879,7 +786,7 @@ 1216, 1217 ], - "downloads": 3, + "downloads": 4, "icon_url": "https://raw.githubusercontent.com/zenith391/Fuchas/master/Installers/Fuchas.app/Icon.pic", "initial_description": "When you're tired of the good OS named MineOS, you can install that alternative OS. WARNING! While this is planned in the future, this OS doesn't have any GUI!", "license_id": 2, @@ -892,49 +799,9 @@ "whats_new": "The installer now shows you the changelog, you can also now install WIP version with button \"Install (UNSAFE)\", because yup, it's unsafe and very unstable (the dev version)", "whats_new_version": 1.05 }, - "1212": { - "path": "Logo.pic", - "source_url": "https://raw.githubusercontent.com/zenith391/Fuchas/master/Installers/Fuchas.app/Logo.pic", - "timestamp": 1566738469, - "type_id": 2, - "user_name": "GarryDevs", - "version": 1.05 - }, - "1215": { - "path": "Icon.pic", - "source_url": "https://raw.githubusercontent.com/zenith391/Fuchas/master/Installers/Fuchas.app/Icon.pic", - "timestamp": 1566738469, - "type_id": 3, - "user_name": "GarryDevs", - "version": 1.05 - }, - "1216": { - "path": "Localizations/English.lang", - "source_url": "https://raw.githubusercontent.com/zenith391/Fuchas/master/Installers/Fuchas.app/Localizations/English.lang", - "timestamp": 1566738469, - "type_id": 4, - "user_name": "GarryDevs", - "version": 1.04 - }, - "1217": { - "path": "Localizations/French.lang", - "source_url": "https://raw.githubusercontent.com/zenith391/Fuchas/master/Installers/Fuchas.app/Localizations/French.lang", - "timestamp": 1566738469, - "type_id": 4, - "user_name": "GarryDevs", - "version": 1.04 - }, - "1218": { - "path": "Icon.pic", - "source_url": "https://dl.switchware.io/Minecraft/MineOS/reactor/Icon.pic", - "timestamp": 1562243273, - "type_id": 3, - "user_name": "BSteurful", - "version": 1.04 - }, "1223": { - "average_rating": 0, "category_id": 3, + "downloads": 1, "initial_description": "use it on evreyone on the server find theyr bases and get trolled", "license_id": 1, "path": "base no safe", @@ -945,7 +812,6 @@ "version": 1 }, "1226": { - "average_rating": 3.0, "category_id": 1, "dependencies": [ 1237 @@ -1026,72 +892,7 @@ "user_name": "ECS", "version": 1.09 }, - "1237": { - "path": "Icon.pic", - "source_url": "https://kittyle.ga/projects/lzt/shell/Icon2.pic", - "timestamp": 1566745313, - "type_id": 3, - "user_name": "KittyLeOff", - "version": 1 - }, - "1246": { - "path": "Modules/0_Info/Main.lua", - "source_url": "https://raw.githubusercontent.com/FelixBanan/OpenSecurity/master/MineOS/Applications/OpenSecurity.app/Modules/0_Info/Main.lua", - "timestamp": 1570661554, - "type_id": 2, - "user_name": "FelixBanan", - "version": 1.01 - }, - "1247": { - "path": "Modules/1_Cardwriter/Main.lua", - "source_url": "https://raw.githubusercontent.com/FelixBanan/OpenSecurity/master/MineOS/Applications/OpenSecurity.app/Modules/1_Cardwriter/Main.lua", - "timestamp": 1570661554, - "type_id": 2, - "user_name": "FelixBanan", - "version": 1.01 - }, - "1248": { - "path": "Modules/2_Magreader/Main.lua", - "source_url": "https://raw.githubusercontent.com/FelixBanan/OpenSecurity/master/MineOS/Applications/OpenSecurity.app/Modules/2_Magreader/Main.lua", - "timestamp": 1570661554, - "type_id": 2, - "user_name": "FelixBanan", - "version": 1.01 - }, - "1249": { - "path": "Modules/3_Rfid/Main.lua", - "source_url": "https://raw.githubusercontent.com/FelixBanan/OpenSecurity/master/MineOS/Applications/OpenSecurity.app/Modules/3_Rfid/Main.lua", - "timestamp": 1570661554, - "type_id": 2, - "user_name": "FelixBanan", - "version": 1.01 - }, - "1250": { - "path": "Localizations/English.lang", - "source_url": "https://raw.githubusercontent.com/FelixBanan/OpenSecurity/master/MineOS/Applications/OpenSecurity.app/Localizations/English.lang", - "timestamp": 1570661554, - "type_id": 4, - "user_name": "FelixBanan", - "version": 1.01 - }, - "1251": { - "path": "Localizations/Russian.lang", - "source_url": "https://raw.githubusercontent.com/FelixBanan/OpenSecurity/master/MineOS/Applications/OpenSecurity.app/Localizations/Russian.lang", - "timestamp": 1570661554, - "type_id": 4, - "user_name": "FelixBanan", - "version": 1.01 - }, - "1252": { - "path": "Icon.pic", - "source_url": "https://github.com/FelixBanan/OpenSecurity/raw/master/MineOS/Applications/OpenSecurity.app/Icon.pic/", - "timestamp": 1570661554, - "type_id": 3, - "user_name": "FelixBanan", - "version": 1.01 - }, "1253": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1254, @@ -1133,7 +934,6 @@ "version": 1.01 }, "1257": { - "average_rating": 1.0, "category_id": 3, "initial_description": "Download it to root/localizations/", "license_id": 7, @@ -1145,7 +945,6 @@ "version": 1.03 }, "1258": { - "average_rating": 0, "category_id": 3, "initial_description": "T\u00f6lsd le ide: apps/MineCode IDE/localizations/", "license_id": 7, @@ -1159,15 +958,15 @@ "1259": { "path": "/Localizations/Slovak.lang", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Localizations/Slovak.lang", - "timestamp": 1579889527, + "timestamp": 1706532690, "type_id": 4, - "user_name": "maxsspeaker", + "user_name": "ECS", "version": 1.15 }, "1260": { "path": "/Localizations/Chinese.lang", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Localizations/Chinese.lang", - "timestamp": 1706532647, + "timestamp": 1704527248, "type_id": 4, "user_name": "ECS", "version": 1.15 @@ -1189,7 +988,6 @@ "version": 1.01 }, "1263": { - "average_rating": 1.0, "category_id": 3, "dependencies": [ 1107 @@ -1212,11 +1010,11 @@ "version": 1.04 }, "1266": { - "average_rating": 5.0, "category_id": 2, "dependencies": [ 1062 ], + "downloads": 1, "initial_description": "\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Bit64 \u0430\u043d\u0430\u043b\u0430\u0433\u0438\u0447\u043d\u0430 Bit32 , \u043d\u043e \u0432 \u043d\u0435\u0439 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043b\u044e\u0431\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u043e\u0434\u043d\u044f\u0442 \u0432 2 \u0440\u0430\u0437\u0430.", "license_id": 1, "path": "Bit64.lua", @@ -1229,11 +1027,11 @@ "whats_new_version": 1.07 }, "1267": { - "average_rating": 5.0, "category_id": 2, "dependencies": [ 1266 ], + "downloads": 1, "initial_description": "\u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0430\u044f 2-\u0443\u0445 \u043c\u0435\u0433\u0430\u0431\u0438\u0442\u043d\u044b\u0439 \u0431\u0443\u0444\u0435\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441 4 \u043f\u043b\u0430\u043d\u043a\u0430\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 ", "license_id": 1, "path": "Filesystem64.lua", @@ -1246,7 +1044,6 @@ "whats_new_version": 1.02 }, "1272": { - "average_rating": 0, "category_id": 1, "dependencies": [ 108, @@ -1263,16 +1060,7 @@ "user_name": "Ved", "version": 1 }, - "1273": { - "path": "Icon.pic", - "source_url": "https://github.com/IgorTimofeev/MineOS/raw/master/Icons/Application.pic", - "timestamp": 1578031751, - "type_id": 3, - "user_name": "Ved", - "version": 1 - }, "1274": { - "average_rating": 1.0, "category_id": 2, "initial_description": "\u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u043f\u0438\u044f \u0431\u0435\u0433\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0438.\u043c\u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u0447\u0435\u0433\u043e", "license_id": 1, @@ -1284,7 +1072,6 @@ "version": 1.01 }, "1275": { - "average_rating": 5.0, "category_id": 2, "initial_description": "A great library for working with a sound card! It allows you to easily and quickly use this beast. On the side of your program is only loading the library and its use (and deleting sound objects)! It is not even necessary to keep track of whether there is a sound card. Without it, the library does not produce any errors, but most likely it will not play sound. And its main feature is that it can play as many sounds as you like at the same time (until the RAM runs out).", "license_id": 1, @@ -1296,13 +1083,12 @@ "version": 1.01 }, "1276": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 106, 1277 ], - "downloads": 2, + "downloads": 3, "icon_url": "https://github.com/maxsspeaker/gitboom/raw/master/Goto%20Shell%20v2.app/Icon.pic", "initial_description": "\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0440\u043e\u043f\u0430\u043b\u0430 \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043f\u043e\u0442\u043e\u043c\u0443\u0448\u0442\u043e \u043b\u044e\u0434\u0438 \u043d\u0435\u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0441\u0430 \u0435\u0439 \u0430\u0442\u0430\u043a \u0432\u0441\u0451 \u043e\u043a \u044d\u0442\u043e \u043d\u0435 \u043c\u043e\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430", "license_id": 1, @@ -1313,20 +1099,12 @@ "user_name": "maxsspeaker", "version": 1 }, - "1277": { - "path": "Icon.pic", - "source_url": "https://github.com/maxsspeaker/gitboom/raw/master/Goto%20Shell%20v2.app/Icon.pic", - "timestamp": 1579889527, - "type_id": 3, - "user_name": "maxsspeaker", - "version": 1 - }, "1278": { - "average_rating": 2.7778, "category_id": 1, "dependencies": [ 1279 ], + "downloads": 1, "icon_url": "http://plotgaming.hu/Icon.pic", "initial_description": "This is my first AntiVirus for OpenComputers!", "license_id": 1, @@ -1339,16 +1117,7 @@ "whats_new": "Added some keywords that will trigger the antivirus.", "whats_new_version": 1.13 }, - "1279": { - "path": "Icon.pic", - "source_url": "http://plotgaming.hu/Icon.pic", - "timestamp": 1581853008, - "type_id": 3, - "user_name": "BomberPlayz", - "version": 1.14 - }, "1280": { - "average_rating": 2.0, "category_id": 3, "initial_description": "\u042d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u043e\u043c\u043e\u0436\u0434\u0435\u0442 \u0432 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438", "license_id": 1, @@ -1360,7 +1129,6 @@ "version": 1 }, "1301": { - "average_rating": 4.0, "category_id": 1, "dependencies": [ 108, @@ -1371,7 +1139,7 @@ 1305, 1306 ], - "downloads": 3, + "downloads": 6, "icon_url": "https://raw.githubusercontent.com/TheSainEyereg/WebDisplays-MineOS-App/master/WebDisplays.app/Icon.pic", "initial_description": "This application was created for best and fast control WebDevices mod with WebDisplays OC module", "license_id": 1, @@ -1427,13 +1195,12 @@ "131": { "path": "/Icons/Application.pic", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Icons/Application.pic", - "timestamp": 1706532772, + "timestamp": 1706532719, "type_id": 2, "user_name": "ECS", "version": 1.83 }, "1311": { - "average_rating": 3.75, "category_id": 1, "dependencies": [ 1312 @@ -1448,16 +1215,7 @@ "user_name": "DevilPuppy", "version": 1 }, - "1312": { - "path": "Icon.pic", - "source_url": "https://pastebin.com/raw/LBS1SH7b", - "timestamp": 1584107654, - "type_id": 3, - "user_name": "DevilPuppy", - "version": 1 - }, "1313": { - "average_rating": 0, "category_id": 2, "initial_description": "Not made by me but used by my some of my programs made by: https://github.com/rxi/json.lua/", "license_id": 1, @@ -1471,7 +1229,6 @@ "whats_new_version": 1.01 }, "1314": { - "average_rating": 0, "category_id": 2, "initial_description": "Splits stirngs into tables, not made by me, original made by https://github.com/mah0x211/lua-string-split", "license_id": 1, @@ -1485,7 +1242,6 @@ "whats_new_version": 1.01 }, "1324": { - "average_rating": 2.8571, "category_id": 1, "dependencies": [ 1325, @@ -1533,7 +1289,6 @@ "version": 1.12 }, "1328": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1329, @@ -1600,7 +1355,6 @@ "version": 1.1 }, "1334": { - "average_rating": 4.0, "category_id": 2, "initial_description": "LZSS implementation on Lua 5.3", "license_id": 1, @@ -1612,12 +1366,11 @@ "version": 1.01 }, "1335": { - "average_rating": 4.6, "category_id": 1, "dependencies": [ 1344 ], - "downloads": 5, + "downloads": 6, "icon_url": "https://raw.githubusercontent.com/BrightYC/Cyan/master/MineOS/Icon.pic", "initial_description": "Advanced bootloader with Lua REPL, protected access and cool interface (https://github.com/BrightYC/Cyan)", "license_id": 1, @@ -1639,7 +1392,6 @@ "version": 1.08 }, "1346": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1347 @@ -1655,16 +1407,7 @@ "user_name": "Lemob", "version": 1.03 }, - "1347": { - "path": "Icon.pic", - "source_url": "https://github.com/GravityGouseS/VanillaOS/raw/master/icon.pic", - "timestamp": 1590167957, - "type_id": 3, - "user_name": "Lemob", - "version": 1.03 - }, "1348": { - "average_rating": 3.6, "category_id": 1, "dependencies": [ 1349 @@ -1679,21 +1422,12 @@ "user_name": "Jack5079", "version": 1.01 }, - "1349": { - "path": "Icon.pic", - "source_url": "https://raw.githubusercontent.com/Jack5079/opencomputers/master/BIOS%20Wiper.app/Icon.pic", - "timestamp": 1591568193, - "type_id": 3, - "user_name": "Jack5079", - "version": 1.01 - }, "1353": { - "average_rating": 4.0, "category_id": 1, "dependencies": [ 1354 ], - "downloads": 4, + "downloads": 6, "icon_url": "https://raw.githubusercontent.com/arduinka55055/MineOS_Reactor/master/Icon.pic", "initial_description": "https://github.com/arduinka55055/MineOS_Reactor", "license_id": 1, @@ -1715,14 +1449,13 @@ "version": 1.04 }, "1357": { - "average_rating": 4.5, "category_id": 1, "dependencies": [ 1358, 1359, 1360 ], - "downloads": 2, + "downloads": 4, "icon_url": "https://github.com/Artyemlom/Downloaderrr/blob/master/Downloader%20v1.01%20Reloaded/Icon.pic?raw=true", "initial_description": "This application is designed to enable users to download files from the Internet.", "license_id": 1, @@ -1733,32 +1466,7 @@ "user_name": "Artyemlom", "version": 1.01 }, - "1358": { - "path": "Localizations/Russian.lang", - "source_url": "https://raw.githubusercontent.com/Artyemlom/Downloaderrr/master/Downloader%20v1.01%20Reloaded/Localizations/Russian.lang", - "timestamp": 1592409574, - "type_id": 4, - "user_name": "Artyemlom", - "version": 1.01 - }, - "1359": { - "path": "Localizations/English.lang", - "source_url": "https://raw.githubusercontent.com/Artyemlom/Downloaderrr/master/Downloader%20v1.01%20Reloaded/Localizations/English.lang", - "timestamp": 1592409574, - "type_id": 4, - "user_name": "Artyemlom", - "version": 1.01 - }, - "1360": { - "path": "Icon.pic", - "source_url": "https://github.com/Artyemlom/Downloaderrr/blob/master/Downloader%20v1.01%20Reloaded/Icon.pic?raw=true", - "timestamp": 1592409574, - "type_id": 3, - "user_name": "Artyemlom", - "version": 1.01 - }, "1367": { - "average_rating": 1.0, "category_id": 3, "initial_description": "how to install: remove lines 1 - 339 copy lines 340 - 448 remove lines 449 - end save copy the file go to applications right click app market press open package content go to localizations paste spanish.lang close open app market", "license_id": 1, @@ -1770,7 +1478,6 @@ "version": 1.02 }, "1368": { - "average_rating": 4.4444, "category_id": 1, "dependencies": [ 1371 @@ -1788,26 +1495,17 @@ "137": { "path": "/Icons/HDD.pic", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Icons/HDD.pic", - "timestamp": 1706532728, + "timestamp": 1706532690, "type_id": 2, "user_name": "ECS", "version": 1.83 }, - "1371": { - "path": "Icon.pic", - "source_url": "https://raw.githubusercontent.com/JustNoneNick-JAVA/Apps.MineOS.Data/master/mat841.pic", - "timestamp": 1593678622, - "type_id": 3, - "user_name": "JNNGL", - "version": 1.01 - }, "1377": { - "average_rating": 2.3333, "category_id": 1, "dependencies": [ 1378 ], - "downloads": 1, + "downloads": 3, "icon_url": "https://www.dropbox.com/s/h0b1gm8nzxig5sa/Icon.pic?dl=1", "initial_description": "fool your friends with this \"virus\", This is \"Scamdisk\" but with different name and icon, install it in your friend computer and say \"There is a update and ECS implemented a Terminal\"", "license_id": 4, @@ -1831,13 +1529,12 @@ "138": { "path": "/Icons/Floppy.pic", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Icons/Floppy.pic", - "timestamp": 1706576440, + "timestamp": 1704527248, "type_id": 2, "user_name": "ECS", "version": 1.83 }, "1380": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 73, @@ -1849,7 +1546,7 @@ 1383, 1059 ], - "downloads": 3, + "downloads": 4, "icon_url": "https://raw.githubusercontent.com/MrOlegTitov/Extreme-Reactors-Control-Program/master/Icon.pic", "initial_description": "This program can help you to control your reactor from Extreme Reactors or Big Reactors mod.", "license_id": 6, @@ -1887,7 +1584,6 @@ "version": 1.08 }, "1387": { - "average_rating": 4.6667, "category_id": 2, "initial_description": "control Minecraft server by rcon.", "license_id": 1, @@ -1899,7 +1595,6 @@ "version": 1.01 }, "1392": { - "average_rating": 1.0, "category_id": 2, "initial_description": "ESC", "license_id": 1, @@ -1911,7 +1606,6 @@ "version": 1 }, "1393": { - "average_rating": 0, "category_id": 2, "dependencies": [ 108 @@ -1928,7 +1622,6 @@ "whats_new_version": 1.01 }, "1394": { - "average_rating": 3.2308, "category_id": 1, "dependencies": [ 1395, @@ -1939,7 +1632,7 @@ 1058, 1095 ], - "downloads": 7, + "downloads": 9, "icon_url": "https://raw.githubusercontent.com/Hatry1337/Cubify/main/Icon.pic", "initial_description": "Music player with playlists, playing queue, cloud sync and etc.\nGithub: https://github.com/Hatry1337/Cubify", "license_id": 1, @@ -1961,12 +1654,11 @@ "version": 1.09 }, "1396": { - "average_rating": 1.6667, "category_id": 1, "dependencies": [ 1397 ], - "downloads": 2, + "downloads": 3, "icon_url": "https://github.com/arduinka55055/MineOS_Powerbank/blob/master/Icon.pic?raw=true", "initial_description": "Powerbank(beta) is cool battery manager for your RF system. place adapters around your energy capacitors, and manage percentage. also you can combine more elements in one group. WARNING! application is beta, so you can notice some bugs. please tell me about bugs", "license_id": 2, @@ -1986,7 +1678,6 @@ "version": 1 }, "1398": { - "average_rating": 1.0, "category_id": 3, "dependencies": [ 1399 @@ -2013,17 +1704,17 @@ "140": { "path": "/Icons/Folder.pic", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Icons/Folder.pic", - "timestamp": 1706532719, + "timestamp": 1652893110, "type_id": 2, "user_name": "ECS", "version": 1.83 }, "1400": { - "average_rating": 4.5, "category_id": 1, "dependencies": [ 1401 ], + "downloads": 1, "icon_url": "https://github.com/gaussandhisgun/OpenComputersApps/raw/main/RTClock/Icon.pic", "initial_description": "ECS' clock.lua fork, but with icon and uses system time instead of world one", "license_id": 1, @@ -2043,7 +1734,6 @@ "version": 1 }, "1402": { - "average_rating": 5.0, "category_id": 2, "initial_description": "Event library", "license_id": 1, @@ -2057,7 +1747,6 @@ "whats_new_version": 1.01 }, "1405": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 106, @@ -2072,6 +1761,7 @@ 1407, 1408 ], + "downloads": 1, "icon_url": "https://github.com/MrOlegTitov/Refined-Storage-Info-Program/blob/main/Icon.pic?raw=true", "initial_description": "This program can help you for getting some info about your's Refined Storage network and to order auto crafts. ", "license_id": 6, @@ -2111,13 +1801,12 @@ "141": { "path": "/Icons/FileNotExists.pic", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Icons/FileNotExists.pic", - "timestamp": 1704527248, + "timestamp": 1652893110, "type_id": 2, "user_name": "ECS", "version": 1.83 }, "1410": { - "average_rating": 4.3333, "category_id": 1, "dependencies": [ 108, @@ -2136,7 +1825,7 @@ 2053, 2055 ], - "downloads": 1, + "downloads": 2, "icon_url": "https://raw.githubusercontent.com/Senliast/mineos-apps/main/DoorLock.app/Icon.pic", "initial_description": "A lock that supports code or fingerprint. You can configure output of a redstone signal on different sites depending on if the authentication failed or succeeded and an auto-lock timer. This app is reborn of the CodeDoor app on older MineOS versions with some more functions additionally. CodeDoor uses old libraries that doesnt work on new MineOS versions (at least, officially) and is therefore not available anymore. This app changes it.", "license_id": 1, @@ -2152,13 +1841,12 @@ "142": { "path": "/Icons/Script.pic", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Icons/Script.pic", - "timestamp": 1706532690, + "timestamp": 1652893110, "type_id": 2, "user_name": "ECS", "version": 1.83 }, "1426": { - "average_rating": 0, "category_id": 2, "initial_description": "http only.", "license_id": 1, @@ -2170,7 +1858,6 @@ "version": 1 }, "1431": { - "average_rating": 4.8636, "category_id": 1, "dependencies": [ 1438, @@ -2178,7 +1865,7 @@ 1440, 2011 ], - "downloads": 10, + "downloads": 14, "icon_url": "https://raw.githubusercontent.com/Chebuya/OpenOS-mineos/master/Icon.pic", "initial_description": "OpenOS in your MineOS", "license_id": 1, @@ -2192,12 +1879,11 @@ "whats_new_version": 1.03 }, "1436": { - "average_rating": 4.0, "category_id": 1, "dependencies": [ 1437 ], - "downloads": 2, + "downloads": 4, "icon_url": "https://raw.githubusercontent.com/Xottabich0/holoclockirl/main/Icon.pic", "initial_description": "\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u043a\u0430 \u0433\u043e\u043b\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0447\u0430\u0441\u043e\u0432 \u0438\u0437 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430\u0446\u0438\u0438 MineOS \u043f\u043e\u0434 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f! \u0427\u0430\u0441\u043e\u0432\u043e\u043f\u0439 \u043f\u043e\u044f\u0441 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u044b!", "license_id": 1, @@ -2241,14 +1927,13 @@ "version": 1.02 }, "1442": { - "average_rating": 1.8889, "category_id": 1, "dependencies": [ 1443, 1444, 1447 ], - "downloads": 1, + "downloads": 3, "icon_url": "https://raw.githubusercontent.com/kolya112/Viruslib/main/Icon.pic", "initial_description": "This application will allow you to view the current list of malicious software for MineOS.", "license_id": 5, @@ -2286,7 +1971,6 @@ "version": 1.03 }, "1449": { - "average_rating": 3.8, "category_id": 1, "dependencies": [ 1450 @@ -2312,7 +1996,6 @@ "version": 1.01 }, "1452": { - "average_rating": 4.75, "category_id": 1, "dependencies": [ 1453, @@ -2323,7 +2006,7 @@ 1465, 1480 ], - "downloads": 2, + "downloads": 4, "icon_url": "https://raw.githubusercontent.com/kogtyvPl/word.app/main/icon.pic", "initial_description": "\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440. \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0439, \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0439 \u0441\u0432\u043e\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438\u0445 \u043a\u0443\u0434\u0430 \u043d\u0438\u0431\u0443\u0442\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 :)", "license_id": 1, @@ -2385,7 +2068,6 @@ "version": 1.04 }, "1468": { - "average_rating": 0, "category_id": 1, "dependencies": [ 1469, @@ -2399,7 +2081,7 @@ 1477, 1503 ], - "downloads": 1, + "downloads": 2, "icon_url": "https://raw.githubusercontent.com/kogtyvPl/Picture-Edit-fix/main/Icon.pic", "initial_description": "\u041f\u043e\u0444\u0438\u043a\u0448\u0435\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0444\u0430\u043b\u043e\u0432 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u043e\u0432 \u0441 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u043e\u0439 2-\u043e \u0443\u0440\u043e\u0432\u043d\u044f! \u0410\u0432\u0442\u043e\u0440: ECS", "license_id": 1, @@ -2501,7 +2183,6 @@ "version": 1.02 }, "1481": { - "average_rating": 4.4, "category_id": 1, "dependencies": [ 1482, @@ -2724,7 +2405,6 @@ "version": 1.01 }, "1504": { - "average_rating": 4.5, "category_id": 1, "dependencies": [ 1505, @@ -2736,6 +2416,7 @@ 1511, 1513 ], + "downloads": 2, "icon_url": "https://raw.githubusercontent.com/kogtyvPl/animatia/main/Icon.pic", "initial_description": "\u0442\u0435\u0441\u0442\u043e\u0432\u0430\u044f \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f (\u0437\u0430\u043c\u0435\u0434\u043b\u0435\u043d\u0438\u0435 \u043a\u0430\u0434\u0440\u043e\u0432 \u044f \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u0443\u043c\u0435\u044e, \u043a\u0442\u043e \u0443\u043c\u0435\u0435\u0442 \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043a\u0430\u043a)", "license_id": 1, @@ -2811,14 +2492,13 @@ "version": 1.01 }, "1515": { - "average_rating": 4.0, "category_id": 1, "dependencies": [ 1516, 1517, 1518 ], - "downloads": 3, + "downloads": 4, "icon_url": "https://raw.githubusercontent.com/kogtyvPl/BlackMineOS/main/IconFinder.pic", "initial_description": "\u0422\u0451\u043c\u043d\u044b\u0439 \u0441\u0442\u0438\u043b\u044c \u043f\u0430\u043f\u043e\u043a \u0438 Finder (\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0438)", "license_id": 1, @@ -2854,7 +2534,6 @@ "version": 1 }, "1523": { - "average_rating": 0, "category_id": 1, "dependencies": [ 1524, @@ -2942,7 +2621,6 @@ "version": 1.01 }, "1536": { - "average_rating": 0, "category_id": 1, "dependencies": [ 1537, @@ -3067,7 +2745,6 @@ "version": 1.01 }, "1550": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1551, @@ -3081,7 +2758,7 @@ 1559, 1560 ], - "downloads": 4, + "downloads": 7, "icon_url": "https://raw.githubusercontent.com/kogtyvPl/Animation-1/main/Icon.pic", "initial_description": "\u0414\u0438\u0430\u0444\u0438\u043b\u044c\u043c \u043f\u0440\u043e \u0431\u0443\u043d\u0442\u0443\u044e\u0449\u0438\u0445 \u0448\u043a\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u0432 \u043e\u0442 \u0441\u0442\u0443\u0434\u0438\u0438: \u041c\u0435\u043b\u044c\u043d\u0438\u0446\u0430!", "license_id": 1, @@ -3173,13 +2850,12 @@ "version": 1 }, "1561": { - "average_rating": 3.0, "category_id": 1, "dependencies": [ 1562, 1563 ], - "downloads": 2, + "downloads": 3, "icon_url": "https://raw.githubusercontent.com/filtys00/SmartHome/main/Icon.pic", "initial_description": "Allows you remote controll over your home through connected Redstone I/O blocks", "license_id": 1, @@ -3207,7 +2883,6 @@ "version": 1 }, "1564": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1565, @@ -3217,6 +2892,7 @@ 1569, 1570 ], + "downloads": 1, "icon_url": "https://raw.githubusercontent.com/kogtyvPl/diafilm-2/main/Icon.pic", "initial_description": "\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0441\u043b\u0430\u0439\u0434\u044b - \u043d\u0430\u0436\u043c\u0438 \u043f\u0440\u043e\u0431\u0435\u043b. \u042d\u0442\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0434\u0438\u0444\u0438\u043b\u044c\u043c\u0430 \u0431\u0443\u043d\u0442\u0443\u044e\u0449\u0438\u0435 \u0448\u043a\u043e\u043b\u044c\u043d\u0438\u043a\u0438!!!", "license_id": 1, @@ -3278,13 +2954,12 @@ "version": 1.01 }, "1579": { - "average_rating": 2.6667, "category_id": 1, "dependencies": [ 1580, 1581 ], - "downloads": 1, + "downloads": 4, "icon_url": "https://raw.githubusercontent.com/kogtyvPl/Cubechat/main/Icon.pic", "initial_description": "\u0427\u0430\u0442 \u0434\u043b\u044f \u043e\u0431\u0449\u0435\u043d\u0438\u044f (\u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0435\u0441\u0442)", "license_id": 1, @@ -3312,7 +2987,6 @@ "version": 1 }, "1582": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1583, @@ -3328,7 +3002,7 @@ 1593, 1594 ], - "downloads": 1, + "downloads": 2, "icon_url": "https://raw.githubusercontent.com/kogtyvPl/CCleaner/main/Icon.pic", "initial_description": "\u042d\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0432\u043e\u0441\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u043e \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438. \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e.", "license_id": 1, @@ -3436,8 +3110,8 @@ "version": 1 }, "1600": { - "average_rating": 3.0, "category_id": 1, + "downloads": 1, "initial_description": "No", "license_id": 1, "path": 1, @@ -3448,13 +3122,12 @@ "version": 1 }, "1607": { - "average_rating": 3.0, "category_id": 1, "dependencies": [ 106, 1608 ], - "downloads": 1, + "downloads": 2, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Console.app/Icon.pic", "initial_description": "Application for simple I/O using text console with global print() function support", "license_id": 1, @@ -3476,7 +3149,6 @@ "version": 1.04 }, "1609": { - "average_rating": 3.0, "category_id": 1, "dependencies": [ 1610, @@ -3507,7 +3179,6 @@ "version": 1.07 }, "1614": { - "average_rating": 4.5, "category_id": 1, "dependencies": [ 1615 @@ -3531,13 +3202,12 @@ "version": 1 }, "1616": { - "average_rating": 0, "category_id": 1, "dependencies": [ 1618, 1619 ], - "downloads": 1, + "downloads": 2, "icon_url": "https://github.com/kogtyvPl/Book-Edit/raw/main/Icon.pic", "initial_description": "\u0421\u043e\u0437\u0434\u0430\u043b: kogtyv \u0418\u0434\u0435\u044f \u0432\u0437\u044f\u0442\u0430: Microsoft Ofice. \u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0439 \u0441\u0432\u043e\u0438 \u043a\u043d\u0438\u0433\u0438, \u0434\u0435\u043b\u0438\u0441\u044c \u0438\u043c\u0438 \u0441 \u0434\u0440\u0443\u0437\u044c\u044f\u043c\u0438. \u041d\u0430\u043f\u0438\u0448\u0438 \u0441\u0432\u043e\u0439 \u043a\u043b\u0430\u0441\u0441\u043d\u044b\u0439 \u0438 \u0443\u0432\u043b\u0438\u043a\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u043e\u043c\u0430\u043d, \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0439 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0433\u043e \u0434\u043e\u0431\u044b\u043b, \u043a\u0430\u043a\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e. \u041d\u0430\u0441\u043b\u0430\u0436\u0434\u0430\u0439\u0441\u044f \u044d\u0442\u0438\u043c \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u043c \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043d\u0430\u043c\u0438! (\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0435\u0449\u0451 \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u0442\u0441\u044f)", "license_id": 1, @@ -3567,13 +3237,12 @@ "version": 1.03 }, "1620": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1621, 106 ], - "downloads": 1, + "downloads": 2, "icon_url": "https://github.com/kogtyvPl/Book-Read/raw/main/Icon.pic", "initial_description": "\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u043a\u043d\u0438\u0433 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438: (books/). \u0427\u0438\u0442\u0430\u0439 \u043a\u043d\u0438\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443 \u0442\u0435\u0431\u044f \u0435\u0441\u043b\u0438 \u0438\u043b\u0438 \u0442\u044b \u0441\u043a\u0430\u0447\u0430\u043b.", "license_id": 1, @@ -3611,7 +3280,6 @@ "version": 1.08 }, "1632": { - "average_rating": 0, "category_id": 1, "dependencies": [ 1633, @@ -3685,7 +3353,6 @@ "version": 1.08 }, "164": { - "average_rating": 4.7308, "category_id": 1, "dependencies": [ 345, @@ -3774,9 +3441,8 @@ "version": 1.08 }, "1650": { - "average_rating": 2.5, "category_id": 3, - "downloads": 1, + "downloads": 2, "initial_description": "\u042d\u0442\u0430 \u043b\u0443\u0447\u0448\u0430\u044f \u0438\u0433\u0440\u0430 \u043f\u043e \u0436\u0430\u043d\u0440\u0435 \u043a\u043b\u0430\u0441\u0441\u0438\u043a\u0430", "license_id": 1, "path": "Snake.lua", @@ -3787,7 +3453,6 @@ "version": 1 }, "1655": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 106, @@ -3801,7 +3466,7 @@ 1663, 1664 ], - "downloads": 4, + "downloads": 5, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Picture%20View.app/Icon.pic", "initial_description": "Default MineOS application for viewing images in .pic format", "license_id": 1, @@ -3885,7 +3550,6 @@ "version": 1.01 }, "1665": { - "average_rating": 0, "category_id": 2, "initial_description": "Main library for TapFAT Filesystem.", "license_id": 1, @@ -3899,7 +3563,6 @@ "whats_new_version": 1.02 }, "1666": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1667, @@ -3954,7 +3617,6 @@ "version": 1.03 }, "1674": { - "average_rating": 5.0, "category_id": 2, "initial_description": "OpenOS serialization library literally moved to MineOS. So far, its worked for me and I dont think there are bugs.", "license_id": 1, @@ -3966,7 +3628,6 @@ "version": 1.01 }, "1677": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 106, @@ -3976,6 +3637,7 @@ 1681, 1682 ], + "downloads": 1, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Calendar.app/Icon.pic", "initial_description": "An interactive calendar with mini & full window modes", "license_id": 1, @@ -4027,7 +3689,6 @@ "version": 1.01 }, "1683": { - "average_rating": 0, "category_id": 3, "initial_description": "picture print", "license_id": 1, @@ -4039,7 +3700,6 @@ "version": 1 }, "1684": { - "average_rating": 0, "category_id": 3, "initial_description": "You", "license_id": 1, @@ -4083,7 +3743,6 @@ "version": 1 }, "169": { - "average_rating": 4.6154, "category_id": 1, "dependencies": [ 491, @@ -4115,7 +3774,6 @@ "whats_new_version": 1.63 }, "1692": { - "average_rating": 0, "category_id": 2, "initial_description": "\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0441\u0442\u0430\u0440\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 MineOS", "license_id": 1, @@ -4127,7 +3785,6 @@ "version": 1 }, "1705": { - "average_rating": 0, "category_id": 3, "initial_description": "By @ESC", "license_id": 1, @@ -4139,12 +3796,11 @@ "version": 1 }, "1708": { - "average_rating": 4.8333, "category_id": 1, "dependencies": [ 1709 ], - "downloads": 3, + "downloads": 7, "icon_url": "https://raw.githubusercontent.com/Bs0Dd/OpenCompSoft/master/Piano/Icon.pic", "initial_description": "Simple piano app, based on piano from early MineOS versions.", "license_id": 1, @@ -4164,7 +3820,6 @@ "version": 1 }, "1712": { - "average_rating": 0, "category_id": 3, "initial_description": "This script works with the self destruct card from the Computronics mod", "license_id": 1, @@ -4178,7 +3833,6 @@ "whats_new_version": 1.04 }, "1724": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1725, @@ -4188,7 +3842,7 @@ 1729, 1730 ], - "downloads": 2, + "downloads": 6, "icon_url": "https://raw.githubusercontent.com/Bs0Dd/OpenCompSoft/master/TET%D0%AFIS/Icon.pic", "initial_description": "Game console with Tetris and Snake games, based on Snake game from early MineOS versions.", "license_id": 1, @@ -4248,7 +3902,6 @@ "version": 1 }, "1731": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1732, @@ -4257,6 +3910,7 @@ 1735, 1736 ], + "downloads": 1, "icon_url": "https://raw.githubusercontent.com/Bs0Dd/OpenCompSoft/master/GuessWord/Icon.pic", "initial_description": "Game where you have to guess a word by a hint. WARNING - The database of words for the English language is not yet ready (there is only Russian). If you want to help me with this, write to Discord: Bs()Dd#5299.", "license_id": 1, @@ -4308,7 +3962,6 @@ "version": 1 }, "1748": { - "average_rating": 0, "category_id": 2, "initial_description": "OpenOS uuid library brought over to mineos. For simplicity sake in my coding", "license_id": 1, @@ -4320,7 +3973,6 @@ "version": 1 }, "175": { - "average_rating": 4.5, "category_id": 1, "dependencies": [ 176, @@ -4350,7 +4002,6 @@ "version": 1.32 }, "1790": { - "average_rating": 4.6667, "category_id": 1, "dependencies": [ 1791 @@ -4391,7 +4042,6 @@ "version": 1.01 }, "1903": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1904 @@ -4415,8 +4065,8 @@ "version": 1.01 }, "1915": { - "average_rating": 0, "category_id": 3, + "downloads": 1, "initial_description": "\u041a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 \u0435\u0444\u0438, \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043f\u043e \u0444\u0430\u0439\u043b\u0443 \u043f\u043a\u043c \u0438 \u043f\u0440\u043e\u0448\u0438\u0442\u044c eeprom", "license_id": 7, "path": "Bios.lua", @@ -4429,7 +4079,6 @@ "whats_new_version": 1.02 }, "1921": { - "average_rating": 0, "category_id": 3, "initial_description": "Danish .lang for Localization", "license_id": 1, @@ -4443,12 +4092,11 @@ "whats_new_version": 1.01 }, "1922": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1923 ], - "downloads": 2, + "downloads": 3, "icon_url": "https://github.com/alexexe82/HIPOSAV/blob/master/apps/OCTOP/Icon.pic?raw=true", "initial_description": "\u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0441 \u043c\u043e\u0434\u043e\u043c opencomputers. \u0412 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441 \u044d\u0442\u0438\u043c \u043c\u043e\u0434\u043e\u043c, \u044f \u0431\u0443\u0434\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0445 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a.", "license_id": 1, @@ -4470,12 +4118,11 @@ "version": 1.02 }, "1924": { - "average_rating": 2.5, "category_id": 1, "dependencies": [ 1925 ], - "downloads": 3, + "downloads": 4, "icon_url": "https://raw.githubusercontent.com/ocboy3/OCAV/main/Icon.pic", "initial_description": "This is a simple Anti-Virus for OpenComputers, that comes with real-time protection which blocks threats. Firewall coming soon. Send issues and pull requests on my GitHub repository: https://github.com/ocboy3/OCAV", "license_id": 1, @@ -4497,7 +4144,6 @@ "version": 1.05 }, "1929": { - "average_rating": 0, "category_id": 2, "initial_description": "UMFAL is a universal module loader library - docs and examples are available at GitHub - github.com/AtomicScience/UMFAL", "license_id": 1, @@ -4509,14 +4155,13 @@ "version": 1 }, "1930": { - "average_rating": 0, "category_id": 1, "dependencies": [ 1931, 1932, 1933 ], - "downloads": 1, + "downloads": 2, "icon_url": "https://github.com/rasongame/OpenComputersProgs/raw/master/BaseEye.app/Icon.pic", "initial_description": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043e\u0432 \u0438 \u0436\u0438\u0436 \u0432 \u041c\u042d \u0447\u0435\u0440\u0435\u0437 \u043e\u0447\u043a\u0438 \u0438\u0437 \u043c\u043e\u0434\u0430 OpenPeripheral", "license_id": 1, @@ -4554,7 +4199,6 @@ "version": 1.03 }, "1936": { - "average_rating": 4.0, "category_id": 1, "dependencies": [ 1674, @@ -4585,7 +4229,6 @@ "version": 1.11 }, "1945": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 1946, @@ -4643,7 +4286,6 @@ "version": 1.08 }, "1950": { - "average_rating": 0, "category_id": 3, "downloads": 1, "initial_description": "this thing adds latvian language to MineOS, still in beta version, adds only to mineos, not the apps", @@ -4656,7 +4298,6 @@ "version": 1.01 }, "1951": { - "average_rating": 0, "category_id": 2, "downloads": 3, "initial_description": "this is the libqr for opencomputers, but with mineos compatibility", @@ -4669,7 +4310,6 @@ "version": 1.01 }, "1952": { - "average_rating": 0, "category_id": 3, "downloads": 1, "initial_description": "Reboots The MineOS", @@ -4682,7 +4322,6 @@ "version": 1 }, "1955": { - "average_rating": 0, "category_id": 2, "initial_description": "Just a test", "license_id": 1, @@ -4694,7 +4333,6 @@ "version": 1 }, "1975": { - "average_rating": 3.0, "category_id": 2, "initial_description": "Simplifies the use of robots in open computers", "license_id": 1, @@ -4706,7 +4344,6 @@ "version": 1.04 }, "1976": { - "average_rating": 2.3333, "category_id": 2, "initial_description": "robot miner 1 argument: robot yPos 2 argument: mine yPos 3 argument: number of blocks to dig", "license_id": 1, @@ -4720,7 +4357,6 @@ "whats_new_version": 1.02 }, "1977": { - "average_rating": 4.0, "category_id": 2, "initial_description": "1 argument: length 2 argument: width", "license_id": 1, @@ -4732,12 +4368,11 @@ "version": 1 }, "1978": { - "average_rating": 4.6667, "category_id": 1, "dependencies": [ 1981 ], - "downloads": 1, + "downloads": 2, "icon_url": "https://github.com/panandafog/TurretsControl/blob/main/icon.pic?raw=true", "initial_description": "Application for controlling turrets from Open Modular Turrets mod", "license_id": 1, @@ -4759,8 +4394,8 @@ "version": 1.07 }, "1982": { - "average_rating": 0, "category_id": 3, + "downloads": 1, "initial_description": "SS", "license_id": 4, "path": "main.lua", @@ -4789,7 +4424,6 @@ "version": 1 }, "1986": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 108, @@ -4801,7 +4435,7 @@ 1990, 2005 ], - "downloads": 6, + "downloads": 10, "icon_url": "https://raw.githubusercontent.com/Bumer-32/MineOSPrograms/main/GitHub%20Downloader.app/Icon.pic", "initial_description": "This program allows you to clone any repository from github", "license_id": 1, @@ -4839,7 +4473,6 @@ "version": 1.03 }, "1991": { - "average_rating": 0, "category_id": 2, "initial_description": "Custom Compatability library for Servertine. Allows program to perform certain library actions on both MineOS and OpenOS to allow for less extra programming on my side", "license_id": 1, @@ -4851,7 +4484,6 @@ "version": 1.01 }, "1992": { - "average_rating": 0, "category_id": 2, "initial_description": "Origial published by gamax92 https://github.com/OpenPrograms/gamax92-Programs/tree/master/vcomponent", "license_id": 7, @@ -4879,7 +4511,6 @@ "version": 1 }, "2018": { - "average_rating": 4.0, "category_id": 1, "dependencies": [ 2019 @@ -4906,7 +4537,6 @@ "version": 1.03 }, "2034": { - "average_rating": 2.5, "category_id": 3, "downloads": 1, "initial_description": "Just script that says hello world may be someone need it", @@ -4975,7 +4605,6 @@ "version": 1 }, "2056": { - "average_rating": 0, "category_id": 2, "dependencies": [ 1402, @@ -4996,8 +4625,8 @@ "whats_new_version": 1.07 }, "2058": { - "average_rating": 0, "category_id": 2, + "downloads": 1, "initial_description": "used to drive modem components", "license_id": 1, "path": "openNet.lua", @@ -5010,7 +4639,6 @@ "whats_new_version": 1.01 }, "2116": { - "average_rating": 0, "category_id": 3, "downloads": 2, "initial_description": "Bios For Some AMLss OSes for OC", @@ -5103,12 +4731,11 @@ "version": 1 }, "2179": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 2180 ], - "downloads": 3, + "downloads": 4, "icon_url": "https://github.com/Smok1e/minedelbrot/raw/main/Icon.pic", "initial_description": "Simple Mandelbrot set visualizer", "license_id": 1, @@ -5128,7 +4755,6 @@ "version": 1 }, "2186": { - "average_rating": 4.7143, "category_id": 1, "dependencies": [ 2187, @@ -5390,7 +5016,6 @@ "version": 1.06 }, "2215": { - "average_rating": 1.0, "category_id": 1, "dependencies": [ 2216 @@ -5415,7 +5040,6 @@ "version": 1 }, "2217": { - "average_rating": 0, "category_id": 2, "dependencies": [ 97 @@ -5430,7 +5054,6 @@ "version": 1.1 }, "2218": { - "average_rating": 0, "category_id": 2, "initial_description": "MineOS filesystem library", "license_id": 1, @@ -5442,34 +5065,32 @@ "version": 1 }, "2219": { - "average_rating": 4.0, "category_id": 1, "dependencies": [ 2220 ], - "downloads": 9, + "downloads": 11, "icon_url": "https://storage.buttex.ru/data/free_and_total_memory.pic", - "initial_description": "\u042f \u0433\u0435\u0439", + "initial_description": "\u041e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432 \u043f\u043e\u043a\u043e\u0435!\u043a\u0442\u043e \u0435\u0433\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043c\u0435\u043d\u044f\u0435\u0442? \u0425\u0443\u0439))0", "license_id": 1, "path": "Main.lua", "publication_name": "Free and Total Ram", "source_url": "https://dobrofiner.netlify.app/free_and_total_ram.app/Main.lua", - "timestamp": 1717229611, + "timestamp": 1728788606, "user_name": "DobroposterTop", - "version": 1.07, + "version": 1.08, "whats_new": "\u0411\u044b\u043b\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043e\u0442\u0430\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043b-\u0432\u043e \u043e\u0437\u0443", "whats_new_version": 1.06 }, "2220": { "path": "Icon.pic", "source_url": "https://storage.buttex.ru/data/free_and_total_memory.pic", - "timestamp": 1717229611, + "timestamp": 1728788606, "type_id": 3, "user_name": "DobroposterTop", - "version": 1.07 + "version": 1.08 }, "2221": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 106, @@ -5494,7 +5115,6 @@ "version": 1.01 }, "2223": { - "average_rating": 0, "category_id": 1, "dependencies": [ 2224 @@ -5521,14 +5141,13 @@ "version": 1.03 }, "2225": { - "average_rating": 4.5, "category_id": 1, "dependencies": [ 2226, 2227, 2228 ], - "downloads": 1, + "downloads": 2, "icon_url": "https://raw.githubusercontent.com/ke46138/OC-MineOS-WirelessReceiver/main/WirelessReceiver.app/Icon.pic", "initial_description": "A program for receiving messages via a wireless modem", "license_id": 1, @@ -5564,7 +5183,6 @@ "version": 1 }, "2229": { - "average_rating": 4.6667, "category_id": 1, "dependencies": [ 2230, @@ -5572,7 +5190,7 @@ 2232, 2327 ], - "downloads": 3, + "downloads": 4, "icon_url": "https://raw.githubusercontent.com/ke46138/OC-MineOS-Printer/main/Printer.app/Icon.pic", "initial_description": "A program for printing pages through printer from openprinter mod.", "license_id": 1, @@ -5610,14 +5228,13 @@ "version": 1.02 }, "2233": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 2234, 2235, 2241 ], - "downloads": 3, + "downloads": 4, "icon_url": "https://raw.githubusercontent.com/ke46138/OC-MineOS-Geo2holo/main/Geo2holo.app/Icon.pic", "initial_description": "Port from OpenOS. This application scans the terrain and displays it on a holographic projector. Github: https://github.com/ke46138/OC-MineOS-Geo2holo", "license_id": 1, @@ -5655,13 +5272,13 @@ "version": 1 }, "2269": { - "average_rating": 0, "category_id": 1, "dependencies": [ 2217, 108, 2270 ], + "downloads": 1, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Palette.app/Icon.pic", "initial_description": "Default MineOS color picker", "license_id": 1, @@ -5681,9 +5298,8 @@ "version": 1 }, "2271": { - "average_rating": 0, "category_id": 2, - "downloads": 1, + "downloads": 3, "initial_description": "\u043f\u0435\u0440\u0435\u0437\u0430\u043b\u0438\u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u0440 0leshe", "license_id": 1, "path": "opengames.lua", @@ -5694,7 +5310,6 @@ "version": 1.01 }, "2272": { - "average_rating": 0, "category_id": 2, "downloads": 1, "initial_description": "\u041f\u0415\u0420\u0415\u0417\u0410\u041b\u0418\u0412 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u0440 0leshe", @@ -5707,11 +5322,11 @@ "version": 1.01 }, "2299": { - "average_rating": 0, "category_id": 4, "dependencies": [ 2300 ], + "downloads": 3, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Wallpapers/Snow.wlp/Icon.pic", "initial_description": "Beautiful animated snow wallpaper", "license_id": 1, @@ -5733,12 +5348,11 @@ "version": 1.01 }, "2301": { - "average_rating": 0, "category_id": 4, "dependencies": [ 2302 ], - "downloads": 3, + "downloads": 6, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Wallpapers/Rain.wlp/Icon.pic", "initial_description": "Animated rain wallpaper", "license_id": 1, @@ -5760,11 +5374,11 @@ "version": 1.01 }, "2303": { - "average_rating": 0, "category_id": 4, "dependencies": [ 2304 ], + "downloads": 2, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Wallpapers/Stars.wlp/Icon.pic", "initial_description": "Stars wallpaper", "license_id": 1, @@ -5784,12 +5398,11 @@ "version": 1 }, "2305": { - "average_rating": 0, "category_id": 4, "dependencies": [ 2306 ], - "downloads": 4, + "downloads": 7, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Wallpapers/Lines.wlp/Icon.pic", "initial_description": "Lines?", "license_id": 1, @@ -5809,7 +5422,6 @@ "version": 1 }, "2307": { - "average_rating": 0, "category_id": 4, "dependencies": [ 2308, @@ -5828,7 +5440,7 @@ 2323, 2324 ], - "downloads": 5, + "downloads": 7, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Wallpapers/Static%20picture.wlp/Icon.pic", "initial_description": "Allows you to set picture as desktop background", "license_id": 1, @@ -5848,12 +5460,11 @@ "version": 1 }, "2309": { - "average_rating": 0, "category_id": 4, "dependencies": [ 2310 ], - "downloads": 1, + "downloads": 3, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Wallpapers/Solid%20color.wlp/Icon.pic", "initial_description": "Allows you to select your favourite color as desktop background", "license_id": 1, @@ -5985,7 +5596,6 @@ "version": 1 }, "2326": { - "average_rating": 3.0, "category_id": 3, "initial_description": "this is not my work. LibDeflate library is used to deflate and inflate strings and data", "license_id": 7, @@ -6005,7 +5615,6 @@ "version": 1 }, "2328": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 2217, @@ -6013,7 +5622,7 @@ 391, 2329 ], - "downloads": 5, + "downloads": 6, "icon_url": "https://raw.githubusercontent.com/Bumer-32/MineOSPrograms/main/JUST%20CLICK.app/Icon.pic", "initial_description": "Just Click Game! You should just to click!\nSumm of all clicks (off all players) you can see\nMost geniuosly game in the market\nGithub: https://github.com/Bumer-32/MineOSPrograms/tree/main/JUST%20CLICK.app", "license_id": 1, @@ -6035,11 +5644,11 @@ "version": 1.03 }, "2330": { - "average_rating": 0, "category_id": 4, "dependencies": [ 2331 ], + "downloads": 2, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Wallpapers/Sphere.wlp/Icon.pic", "initial_description": "3D sphere with animated light", "license_id": 1, @@ -6059,13 +5668,12 @@ "version": 1 }, "2332": { - "average_rating": 5.0, "category_id": 4, "dependencies": [ 2333, 2334 ], - "downloads": 6, + "downloads": 9, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Wallpapers/DVD.wlp/Icon.pic", "initial_description": "floating dvd logo?", "license_id": 1, @@ -6093,7 +5701,6 @@ "version": 1 }, "2335": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 2336, @@ -6138,7 +5745,6 @@ "version": 1.01 }, "2339": { - "average_rating": 0, "category_id": 3, "downloads": 1, "initial_description": "Kipr\u00f3b\u00e1lom ezt a felt\u00f6lt\u00e9st.", @@ -6151,9 +5757,8 @@ "version": 1.01 }, "2340": { - "average_rating": 1.0, "category_id": 3, - "downloads": 3, + "downloads": 4, "initial_description": "\u044d\u0442\u043e \u0432\u0438\u0440\u0443\u0441 \u043a\u0441\u0442\u0430.", "license_id": 1, "path": "strelaypodebilam", @@ -6166,12 +5771,11 @@ "whats_new_version": 1.01 }, "2349": { - "average_rating": 0, "category_id": 4, "dependencies": [ 2351 ], - "downloads": 1, + "downloads": 4, "icon_url": "http://c29844y4.beget.tech/coloredshiticon.pic", "initial_description": "Wallpaper. Epilepsy warning!", "license_id": 1, @@ -6193,7 +5797,6 @@ "version": 1 }, "2354": { - "average_rating": 1.3333, "category_id": 1, "dependencies": [ 2359, @@ -6258,12 +5861,11 @@ "version": 1.01 }, "2364": { - "average_rating": 0, "category_id": 4, "dependencies": [ 2365 ], - "downloads": 9, + "downloads": 11, "icon_url": "https://raw.githubusercontent.com/Smok1e/MineOS-apps/main/Matrix/Icon.pic", "initial_description": "Matrix wallpaper", "license_id": 1, @@ -6285,12 +5887,11 @@ "version": 1.01 }, "2366": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 2367 ], - "downloads": 2, + "downloads": 4, "icon_url": "https://raw.githubusercontent.com/Smok1e/MineOS-apps/main/Wallpaper%20test/Icon.pic", "initial_description": "Useful application for testing and debugging live MineOS wallpapers\n\nYou can easily reload wallpaper, see FPS and runtime errors", "license_id": 1, @@ -6344,7 +5945,6 @@ "version": 1 }, "240": { - "average_rating": 4.6364, "category_id": 1, "dependencies": [ 399, @@ -6360,6 +5960,7 @@ 1901, 1902 ], + "downloads": 2, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Weather.app/Icon.pic", "initial_description": "This application allows you to see online weather forecast for any world location. It supports temperature, humidity, pressure and wind speed/direction, giving accurate forecast up to 9 days. Works only with MineOS.", "license_id": 1, @@ -6371,13 +5972,12 @@ "version": 1.14 }, "2404": { - "average_rating": 4.0, "category_id": 1, "dependencies": [ 2405, 2409 ], - "downloads": 4, + "downloads": 5, "icon_url": "https://github.com/CACKE/OCBios-Installer/raw/main/Icon.pic", "initial_description": "\u0422\u0430 \u0441\u0430\u043c\u0430\u044f \u043b\u0435\u0433\u0435\u043d\u0434\u0430\u0440\u043d\u0430\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430. \u0412\u0430\u0440\u043d\u0438\u043d\u0433: \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0438\u043d\u0435\u0442!", "license_id": 2, @@ -6407,59 +6007,57 @@ "version": 1 }, "2410": { - "average_rating": 0, "category_id": 1, "dependencies": [ 2411, 2412, 2413 ], - "downloads": 2, + "downloads": 4, "icon_url": "https://github.com/ke46138/OC-MineOS-Very-sigma-translator/raw/main/SigmaTranslator.app/Icon.pic", "initial_description": "\u041f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a. Text translator. Github: https://github.com/ke46138", "license_id": 1, "path": "Main.lua", "publication_name": "VerySigmaTranslator", "source_url": "https://github.com/ke46138/OC-MineOS-Very-sigma-translator/raw/main/SigmaTranslator.app/Main.lua", - "timestamp": 1723215538, + "timestamp": 1726255644, "user_name": "kirbest1000", - "version": 1.01, - "whats_new": "\u042f \u041d\u0410\u041a\u041e\u041d\u0415\u0426-\u0422\u041e \u0421\u041c\u041e\u0413 \u041e\u041f\u0423\u0411\u041b\u0418\u041a\u041e\u0412\u0410\u0422\u042c \u041f\u0420\u0418\u041b\u041e\u0416\u0415\u041d\u0418\u0415. \u0421 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 MineOS \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.", - "whats_new_version": 1.01 + "version": 1.02, + "whats_new": "\u0414\u043e\u0431\u0430\u0432\u0438\u043b 2 \u044f\u0437\u044b\u043a\u0430 \u0438 \u0441\u043c\u0435\u043d\u0438\u043b endpoint.", + "whats_new_version": 1.02 }, "2411": { "path": "Localizations/English.lang", "source_url": "https://github.com/ke46138/OC-MineOS-Very-sigma-translator/raw/main/SigmaTranslator.app/Localizations/English.lang", - "timestamp": 1723215538, + "timestamp": 1726255644, "type_id": 4, "user_name": "kirbest1000", - "version": 1.01 + "version": 1.02 }, "2412": { "path": "Icon.pic", "source_url": "https://github.com/ke46138/OC-MineOS-Very-sigma-translator/raw/main/SigmaTranslator.app/Icon.pic", - "timestamp": 1723215538, + "timestamp": 1726255644, "type_id": 3, "user_name": "kirbest1000", - "version": 1.01 + "version": 1.02 }, "2413": { "path": "Localizations/Russian.lang", "source_url": "https://github.com/ke46138/OC-MineOS-Very-sigma-translator/raw/main/SigmaTranslator.app/Localizations/Russian.lang", - "timestamp": 1723215538, + "timestamp": 1726255644, "type_id": 4, "user_name": "kirbest1000", - "version": 1 + "version": 1.01 }, "2414": { - "average_rating": 0, "category_id": 1, "dependencies": [ 2415, 2416, 2417 ], - "downloads": 3, + "downloads": 8, "icon_url": "https://github.com/ke46138/OC-MineOS-ModemChat/raw/main/ModemChat.app/Icon.pic", "initial_description": "\u0427\u0430\u0442 \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0434\u0435\u043c. Chat via modem. Github: https://github.com/ke46138", "license_id": 1, @@ -6494,14 +6092,139 @@ "user_name": "kirbest1000", "version": 1 }, + "2425": { + "category_id": 1, + "dependencies": [ + 2432, + 2433, + 2434, + 2435, + 2436, + 2437, + 2438 + ], + "downloads": 1, + "icon_url": "https://www.dropbox.com/scl/fi/mbdlazsk6typmtppnt4v3/Icon.pic?rlkey=sc4x0nyb6cpvc94s3why0nr79&st=0f9maynl&dl=1", + "initial_description": "About\nthe program https://github.com/IgorTimofeev/MineOS/tree/master/Applications/Stargate.app this is the author of this program, I just wanted to publish his work in the App Market for more convenient use, because there it disappeared for download. These are programs for convenient use of portals from the sgcraft mod", + "license_id": 1, + "path": "Main.lua", + "publication_name": "Stargate", + "source_url": "https://www.dropbox.com/scl/fi/crabwu7tga8u1k8um8hb7/Main.lua?rlkey=xnxy4s4yisirwgdrv86xliefc&st=6fh89zha&dl=1", + "timestamp": 1728608964, + "user_name": "PPlay", + "version": 1.02 + }, + "2432": { + "path": "Icon.pic", + "source_url": "https://www.dropbox.com/scl/fi/mbdlazsk6typmtppnt4v3/Icon.pic?rlkey=sc4x0nyb6cpvc94s3why0nr79&st=0f9maynl&dl=1", + "timestamp": 1728608964, + "type_id": 3, + "user_name": "PPlay", + "version": 1.02 + }, + "2433": { + "path": "OnOn.pic", + "source_url": "https://www.dropbox.com/scl/fi/xp1wmvrc47jyercx7lfc8/OnOn.pic?rlkey=0gxb8id110ywkrdkhh3wys66s&st=63aq9mll&dl=1", + "timestamp": 1728608964, + "type_id": 2, + "user_name": "PPlay", + "version": 1.01 + }, + "2434": { + "path": "OnOff.pic", + "source_url": "https://www.dropbox.com/scl/fi/7eqd3pckhlyhwqq50wqft/OnOff.pic?rlkey=ug2eaojshg2kf42ffvll7sr0h&st=3i7ib7xn&dl=1", + "timestamp": 1728608964, + "type_id": 2, + "user_name": "PPlay", + "version": 1.01 + }, + "2435": { + "path": "OffOn.pic", + "source_url": "https://www.dropbox.com/scl/fi/ntmv1rcszpusy6aq5w2u3/OffOn.pic?rlkey=yr2il4e1rmf2qwp7wnc44wcvh&st=ijztolpr&dl=1", + "timestamp": 1728608964, + "type_id": 2, + "user_name": "PPlay", + "version": 1.01 + }, + "2436": { + "path": "OffOff.pic", + "source_url": "https://www.dropbox.com/scl/fi/l44nlt0lrckasuohs5kx3/OffOff.pic?rlkey=2drs73qfmuls7qvl48k9qpr12&st=8yuvath6&dl=1", + "timestamp": 1728608964, + "type_id": 2, + "user_name": "PPlay", + "version": 1.01 + }, + "2437": { + "path": "Ch2.pic", + "source_url": "https://www.dropbox.com/scl/fi/cwguntybjna82e834cbl3/Ch2.pic?rlkey=ysu2u7cub8tmqxyjykx8o73yi&st=odq86bty&dl=1", + "timestamp": 1728608964, + "type_id": 2, + "user_name": "PPlay", + "version": 1.01 + }, + "2438": { + "path": "Ch1.pic", + "source_url": "https://www.dropbox.com/scl/fi/dpln9jtl4gj6qj29tvphw/Ch1.pic?rlkey=z35hg7xnbwbalxxxwssxtk2l0&st=nl21n3x8&dl=1", + "timestamp": 1728608964, + "type_id": 2, + "user_name": "PPlay", + "version": 1.01 + }, + "2444": { + "category_id": 2, + "downloads": 1, + "initial_description": "/", + "license_id": 1, + "path": "ECSAPI.lua", + "publication_name": "ECSAPI.lua", + "source_url": "https://www.dropbox.com/scl/fi/e4ohkrgvibbit3n9679cm/ECSAPI.lua?rlkey=a1343qgqpx0odckyb3ekjh6pe&st=71kqedzw&dl=1", + "timestamp": 1728647240, + "user_name": "PPlay", + "version": 1 + }, + "2445": { + "category_id": 2, + "downloads": 1, + "initial_description": "advancedLua.lua", + "license_id": 1, + "path": "advancedLua.lua", + "publication_name": "advancedLua.lua", + "source_url": "https://www.dropbox.com/scl/fi/xlgg38kbovrvz4clee0bv/advancedLua.lua?rlkey=2aiidrnuj2xqq6sh6ichuvqel&st=r6500lsz&dl=1", + "timestamp": 1728647361, + "user_name": "PPlay", + "version": 1 + }, + "2446": { + "category_id": 2, + "downloads": 1, + "initial_description": "MineOSCore.lua", + "license_id": 1, + "path": "MineOSCore.lua", + "publication_name": "MineOSCore.lua", + "source_url": "https://www.dropbox.com/scl/fi/fqi9mvqez6r049p64kssr/MineOSCore.lua?rlkey=d53irb9lhhu5odzo9wjf8rkdi&st=917at0q9&dl=1", + "timestamp": 1728647757, + "user_name": "PPlay", + "version": 1 + }, + "2447": { + "category_id": 2, + "downloads": 1, + "initial_description": "unicode.lua", + "license_id": 1, + "path": "unicode.lua", + "publication_name": "unicode.lua", + "source_url": "https://www.dropbox.com/scl/fi/q8apj70zke62inmkogi0s/unicode.lua?rlkey=98qkascxdmyutqtuba1v4up62&st=xjjitf29&dl=1", + "timestamp": 1728650131, + "user_name": "PPlay", + "version": 1 + }, "245": { - "average_rating": 3.0909, "category_id": 1, "dependencies": [ 262, 263 ], - "downloads": 2, + "downloads": 5, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Translate.app/Icon.pic", "initial_description": "Fully functional online-translator based on Yandex.API allows you to translate complex text information to almost any language. Language auto-detection and APIKey changing features also included. Have a fun!", "license_id": 1, @@ -6513,7 +6236,6 @@ "version": 1.08 }, "253": { - "average_rating": 4.6667, "category_id": 2, "initial_description": "This is one of main MineOS system libraries that provides backend modem messages handling and FTP-server implementation", "license_id": 1, @@ -6525,7 +6247,6 @@ "version": 1.1 }, "254": { - "average_rating": 3.6667, "category_id": 1, "dependencies": [ 337, @@ -6535,7 +6256,7 @@ 341, 520 ], - "downloads": 1, + "downloads": 2, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/3D%20Test.app/Icon.pic", "initial_description": "This is a program for demostration of the capabilities of our 3D-engine, created specifically for low-performance computers. It embodies almost all the achievements of our team: rendering complex 3D-objects, dynamic lighting, texturing and user interface based on a powerful GUI library.", "license_id": 1, @@ -6563,7 +6284,6 @@ "version": 1.06 }, "282": { - "average_rating": 3.4, "category_id": 1, "dependencies": [ 283, @@ -6576,7 +6296,7 @@ 290, 291 ], - "downloads": 3, + "downloads": 6, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Spinner.app/Icon.pic", "initial_description": "Fidget spinner simulator right into OpenComputers! Click to change color, press enter to exit.", "license_id": 1, @@ -6724,7 +6444,6 @@ "version": 1.71 }, "391": { - "average_rating": 5.0, "category_id": 2, "initial_description": "This library extends double buffering library for drawing big letters and digits via console pseudo-graphics", "license_id": 1, @@ -6792,7 +6511,6 @@ "version": 1.06 }, "406": { - "average_rating": 1.4, "category_id": 1, "dependencies": [ 407 @@ -6817,7 +6535,6 @@ "version": 1.05 }, "410": { - "average_rating": 4.5, "category_id": 1, "dependencies": [ 411 @@ -6841,7 +6558,6 @@ "version": 1.05 }, "412": { - "average_rating": 4.3333, "category_id": 1, "dependencies": [ 413 @@ -6865,7 +6581,6 @@ "version": 1.05 }, "418": { - "average_rating": 3.6944, "category_id": 1, "dependencies": [ 467, @@ -6901,7 +6616,7 @@ 2153, 2154 ], - "downloads": 2, + "downloads": 6, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/RayWalk.app/Icon.pic", "initial_description": "Simple raycasting pseudo-3D-game that allows you to walk in world as playable character holding sprite weapons. There is day/night cycle, environment block colors, compass and analog clock items. And some cool UI settings as bonus. Have fun!", "license_id": 1, @@ -7091,7 +6806,6 @@ "version": 1.55 }, "506": { - "average_rating": 4.75, "category_id": 1, "dependencies": [ 507 @@ -7123,7 +6837,6 @@ "version": 1.07 }, "525": { - "average_rating": 3.3636, "category_id": 1, "dependencies": [ 1635, @@ -7142,7 +6855,7 @@ 1984, 1985 ], - "downloads": 8, + "downloads": 10, "icon_url": "https://github.com/pronoua/MineOS-Tanks.app/raw/master/Icon.pic", "initial_description": "\u0421\u044b\u0440\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0442\u0430\u043d\u0447\u0438\u043a\u043e\u0432. \u0415\u0449\u0451 \u043d\u0435 \u0432\u0441\u0451 \u0433\u043e\u0442\u043e\u0432\u043e.", "license_id": 1, @@ -7172,11 +6885,11 @@ "version": 1.83 }, "559": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 560 ], + "downloads": 2, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/HoloClock.app/Icon.pic", "initial_description": "Simple application that allows you to view Minecraft world time on holoprojector and screen. Color customizations are also included, meow", "license_id": 1, @@ -7196,8 +6909,8 @@ "version": 1.04 }, "569": { - "average_rating": 5.0, "category_id": 2, + "downloads": 1, "initial_description": "This is a modified version of the DoubleBuffering library for wide-char support.", "license_id": 1, "path": "doubleBufferingWideFix.lua", @@ -7208,12 +6921,11 @@ "version": 1.02 }, "570": { - "average_rating": 4.75, "category_id": 1, "dependencies": [ 571 ], - "downloads": 2, + "downloads": 6, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Camera.app/Icon.pic", "initial_description": "This is UI application for external raycasting-camera block from Computronix mod. It supports different rendering options, FOV customization and auto-shoot with specified delay", "license_id": 1, @@ -7233,8 +6945,8 @@ "version": 1.04 }, "600": { - "average_rating": 3.2, "category_id": 3, + "downloads": 1, "initial_description": "virus", "license_id": 1, "path": "virus", @@ -7245,9 +6957,8 @@ "version": 1.03 }, "654": { - "average_rating": 4.8, "category_id": 3, - "downloads": 3, + "downloads": 5, "initial_description": "This is a powerful EEPROM firmware allowing you to view information about existing disks, to format, to rename and to setup them as startup volumes. There is also an Internet Recovery analogue, which allows to run scripts via specified URL as EEPROM source code. This script is already minified to fit 4096 bytes limit.", "license_id": 1, "path": "EFI.lua", @@ -7258,7 +6969,6 @@ "version": 1.06 }, "690": { - "average_rating": 4.0, "category_id": 2, "initial_description": "\u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430.", "license_id": 1, @@ -7272,7 +6982,6 @@ "whats_new_version": 1.04 }, "698": { - "average_rating": 2.6667, "category_id": 1, "dependencies": [ 108, @@ -7287,7 +6996,7 @@ 1251, 1252 ], - "downloads": 4, + "downloads": 7, "icon_url": "https://github.com/FelixBanan/OpenSecurity/raw/master/MineOS/Applications/OpenSecurity.app/Icon.pic/", "initial_description": "\u041b\u0435\u0433\u043a\u043e\u0435 \u0438 \u0443\u0434\u043e\u0431\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0431\u043b\u043e\u043a\u0430\u043c\u0438 \u043c\u043e\u0434\u0430 OpenSecurity. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Mag,RFID,Card Writer, Door Controller, Door-roll controller.\u0418 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 \u0432 \u044d\u0442\u043e\u043c \u043c\u043e\u0434\u0435.", "license_id": 1, @@ -7301,7 +7010,6 @@ "whats_new_version": 1.07 }, "73": { - "average_rating": 5.0, "category_id": 2, "dependencies": [ 92 @@ -7318,7 +7026,6 @@ "whats_new_version": 1.18 }, "791": { - "average_rating": 1.0, "category_id": 1, "dependencies": [ 792, @@ -7335,16 +7042,7 @@ "user_name": "localChicken", "version": 1.04 }, - "792": { - "path": "Icon.pic", - "source_url": "https://raw.githubusercontent.com/localChicken/OpenComputers/master/Applications/EFI%20Flasher/Icon.pic", - "timestamp": 1525790024, - "type_id": 3, - "user_name": "localChicken", - "version": 1.03 - }, "796": { - "average_rating": 2.5, "category_id": 1, "dependencies": [ 1218, @@ -7366,7 +7064,6 @@ "whats_new_version": 1.11 }, "798": { - "average_rating": 4.7143, "category_id": 1, "dependencies": [ 799, @@ -7384,6 +7081,7 @@ 1624, 1625 ], + "downloads": 1, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/Picture%20Edit.app/Icon.pic", "initial_description": "This is a powerful application to edit MineOS pictures format. It has a lot of tools: from classic brush, eraser and text to Braille font renderer and area selector. It allows you to crop and expand pictures, to create beautiful pseudographics icons, to rasterize lines, ellipses, etc. It also supports hotkeys, recent colors and tool properties. Every tool is a standalone .lua module, so you can easily develop your own tools. Have fun!", "license_id": 1, @@ -7509,7 +7207,6 @@ "version": 1.61 }, "853": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 854 @@ -7533,7 +7230,6 @@ "version": 1.04 }, "859": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 391, @@ -7552,7 +7248,7 @@ 1261, 1262 ], - "downloads": 1, + "downloads": 2, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/3D%20Print.app/Icon.pic", "initial_description": "This application allows you to design unique voxel prints for 3D-printer machine. It allows you to view result on screen or holographic projector, to edit textures for each shape and to store your creations on disk. It allows you to rotate/flip your model by any of 3 axis, to switch active/passive state of a model in realtime and to change scale/offset/color scheme of a projector.", "license_id": 1, @@ -7590,7 +7286,6 @@ "version": 1.3 }, "876": { - "average_rating": 2.75, "category_id": 3, "initial_description": "Script file lost, trying find a backup now...", "license_id": 2, @@ -7602,7 +7297,6 @@ "version": 1.04 }, "879": { - "average_rating": 2.2, "category_id": 3, "dependencies": [ 880 @@ -7625,7 +7319,6 @@ "version": 1.02 }, "882": { - "average_rating": 3.0, "category_id": 3, "initial_description": "\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u0433\u0440\u043e\u043a\u0430 \u0441\u0432\u043e\u0435\u0439 \u0434\u043e\u0431\u0440\u043e\u0442\u043e\u0439 \u0438 \u0433\u043e\u0441\u0442\u0438\u043f\u0440\u0438\u0438\u043c\u0441\u0442\u0432\u043e\u043c, \u0438 \u043f\u043e\u0441\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e \u0432\u0441\u0435 \u0432\u0430\u0448\u0438 \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u0438 \u0431\u0438\u043e\u0441. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0432 \u0443\u0447\u0435\u0431\u043d\u044b\u0445 \u0446\u0435\u043b\u044f\u0445!", "license_id": 1, @@ -7637,8 +7330,8 @@ "version": 1.01 }, "886": { - "average_rating": 4.3333, "category_id": 3, + "downloads": 1, "initial_description": "Use at your own risk - I am not responsible for damage to your or someone else his PC after running the application. TO RUN THIS APPLICATION DON'T START IT USING SHORTCUTS; MINEOS WILL TERMINATE THE PROGRAM. INSTEAD, OPEN 'FINDER' AND HEAD TO THE DOWNLOAD LOCATION AND RUN THE PROGRAM.", "license_id": 1, "path": "virus.lua", @@ -7649,7 +7342,6 @@ "version": 1.02 }, "901": { - "average_rating": 1.6667, "category_id": 2, "initial_description": "Fast Base64 encoding/decoding library especially designed for OpenComputers", "license_id": 1, @@ -7661,7 +7353,6 @@ "version": 1.02 }, "909": { - "average_rating": 5.0, "category_id": 1, "dependencies": [ 910, @@ -7786,7 +7477,6 @@ "version": 1.47 }, "92": { - "average_rating": 0, "category_id": 2, "dependencies": [ 1062 @@ -7901,9 +7591,9 @@ "932": { "path": "/Localizations/Ukrainian.lang", "source_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Localizations/Ukrainian.lang", - "timestamp": 1652893110, + "timestamp": 1629276601, "type_id": 4, - "user_name": "ECS", + "user_name": "pril", "version": 1.37 }, "933": { @@ -7931,7 +7621,6 @@ "version": 1.41 }, "938": { - "average_rating": 2.6667, "category_id": 1, "dependencies": [ 939, @@ -7993,7 +7682,6 @@ "version": 1.04 }, "952": { - "average_rating": 4.0455, "category_id": 1, "dependencies": [ 953, @@ -8010,7 +7698,7 @@ 103, 1230 ], - "downloads": 2, + "downloads": 3, "icon_url": "https://raw.githubusercontent.com/IgorTimofeev/MineOS/master/Applications/VK.app/Icon.pic", "initial_description": "\u042d\u0442\u043e \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u0430 vk.com, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u0430\u043c \u0447\u0438\u0442\u0430\u0442\u044c \u043d\u043e\u0432\u043e\u0441\u0442\u043d\u0443\u044e \u043b\u0435\u043d\u0442\u0443, \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u0441 \u0434\u0440\u0443\u0437\u044c\u044f\u043c\u0438, \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0438, \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u0445 \u0438 \u0441\u043f\u0438\u0441\u043a\u0430\u0445 \u0434\u0440\u0443\u0437\u0435\u0439, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0432 \u043b\u0438\u0447\u043d\u044b\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0438\u043c\u0438. \u0418\u043c\u0435\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0438 \u043a\u043e\u043d\u0446\u0430 \u0438\u043c\u0435\u044e\u0449\u0435\u0433\u043e\u0441\u044f. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u044f\u0442\u043d\u043e\u0433\u043e \u0431\u043e\u043d\u0443\u0441\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u0446\u0432\u0435\u0442\u043e\u0432\u044b\u0435 \u0441\u0445\u0435\u043c\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0434\u0432\u0435 \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 - \u0442\u0435\u043c\u043d\u0430\u044f \u0438 \u0441\u0432\u0435\u0442\u043b\u0430\u044f.", "license_id": 1, @@ -8096,7 +7784,6 @@ "version": 1.12 }, "97": { - "average_rating": 0, "category_id": 2, "dependencies": [ 73, @@ -8123,14 +7810,13 @@ "version": 1.09 }, "980": { - "average_rating": 4.1111, "category_id": 1, "dependencies": [ 981, 983, 984 ], - "downloads": 1, + "downloads": 2, "icon_url": "https://gitlab.com/FiveSeven/gmods/raw/master/Icon.pic", "initial_description": "Default Windows XP Screensaver", "license_id": 6, @@ -8141,37 +7827,12 @@ "user_name": "FiveSeven", "version": 1.03 }, - "981": { - "path": "/MineOS/System/Screensavers/Windows XP.lua", - "source_url": "https://gitlab.com/FiveSeven/gmods/raw/master/kak.lua", - "timestamp": 1540621928, - "type_id": 2, - "user_name": "FiveSeven", - "version": 1.03 - }, - "983": { - "path": "Icon.pic", - "source_url": "https://gitlab.com/FiveSeven/gmods/raw/master/Icon.pic", - "timestamp": 1540621928, - "type_id": 3, - "user_name": "FiveSeven", - "version": 1.03 - }, - "984": { - "path": "/MineOS/System/AppData/wxpss/wxp.pic", - "source_url": "https://gitlab.com/FiveSeven/gmods/raw/master/soski.pic", - "timestamp": 1540621928, - "type_id": 2, - "user_name": "FiveSeven", - "version": 1.02 - }, "986": { - "average_rating": 4.8, "category_id": 1, "dependencies": [ 987 ], - "downloads": 5, + "downloads": 6, "icon_url": "https://github.com/alexexe82/HIPOSAV/blob/master/apps/Katalog3d/Icon.pic?raw=true", "initial_description": "\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 3\u0434 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0434\u043b\u044f \u043f\u0435\u0447\u0430\u0442\u0438 \u043d\u0430 \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u0435 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 3dm. \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c (\u0432\u043c\u0435\u0441\u0442\u043e \u0441\u043a\u0440\u043e\u043b\u043b\u0438\u043d\u0433\u0430). \u041c\u043e\u0434\u0435\u043b\u0438 \u043f\u043e\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f, \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430. \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043a\u0430\u0447\u043a\u0438 \u043c\u043d\u043e\u0433\u043e\u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0438 \u0438\u043c\u0438. \u041e\u0441\u0442\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u0441\u0432\u043e\u0438 \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u044f, \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 \u0437\u0430\u043a\u0430\u0437. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 40 \u043c\u043e\u0434\u0435\u043b\u0435\u0439.", "license_id": 1, diff --git a/backup/reviews.json b/backup/reviews.json index 874d002..320e0b4 100644 --- a/backup/reviews.json +++ b/backup/reviews.json @@ -34,7 +34,6 @@ } } }, - "104": {}, "1045": { "1449": { "comment": "\u041b\u0443\u0447\u0448\u0430\u044f \u0438\u0433\u0440\u0430 \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u0438\u0433\u0440\u0430\u043b! ", @@ -217,8 +216,6 @@ } } }, - "1058": {}, - "1059": {}, "106": { "1023": { "comment": "je voudraais bien chang\u00e9 mon fond d'\u00e9cran et all\u00e9 sur internet", @@ -452,10 +449,6 @@ } } }, - "1060": {}, - "1061": {}, - "1062": {}, - "1065": {}, "107": { "132": { "comment": "\u0427\u043e\u0442 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442(9((99", @@ -482,7 +475,6 @@ } } }, - "1079": {}, "108": { "1392": { "comment": "\u0428\u0435\u0434\u0435\u0432\u0440", @@ -1177,7 +1169,6 @@ } } }, - "1223": {}, "1226": { "770": { "comment": "\u041f\u043e\u043c\u043d\u044e \u0440\u0430\u043d\u044c\u0448\u0435 \u0432 MineOS \u0431\u044b\u043b\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 \u0437\u0430\u043c\u0435\u043d\u044f\u044e\u0449\u0430\u044f \u044d\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0432\u043f\u0440\u0438\u043d\u0446\u0435\u043f\u0435 \u044e\u0437\u0430\u0431\u0435\u043b\u044c\u043d\u043e.", @@ -1239,7 +1230,6 @@ } } }, - "1258": {}, "1263": { "1066": { "comment": "\u0418 \u0434\u0430\u0432\u043d\u043e \u0443 \u0432\u0430\u0441 URL \u0438\u043d\u0432\u0430\u043b\u0438\u0434, \u0441\u0443\u0434\u0430\u0440\u044c?", @@ -1265,6 +1255,17 @@ } }, "1266": { + "1659": { + "comment": "\u041e\u0442\u043b\u0438\u0447\u043d\u043e", + "id": 1659, + "rating": 4, + "timestamp": 1728237340, + "user_name": "FreshGame", + "votes": { + "positive": 0, + "total": 0 + } + }, "810": { "comment": "\u0422\u043e\u043f", "id": 810, @@ -1278,6 +1279,17 @@ } }, "1267": { + "1658": { + "comment": "\u041e\u0442\u043b\u0438\u0447\u043d\u043e", + "id": 1658, + "rating": 5, + "timestamp": 1728237309, + "user_name": "FreshGame", + "votes": { + "positive": 0, + "total": 0 + } + }, "930": { "comment": "\u0422\u043e\u043f", "id": 930, @@ -1290,7 +1302,6 @@ } } }, - "1272": {}, "1274": { "1228": { "comment": "\u043f\u0420\u0418\u041a\u041e\u041b\u042c\u041d\u041e \u041d\u041e \u0413\u041e\u041e\u0412\u041d\u041e \u0416\u0410\u041b\u041a\u041e \u0421\u041a\u041e\u041f\u0418\u0420\u041e\u0412\u0410\u041b", @@ -1591,8 +1602,6 @@ } } }, - "1313": {}, - "1314": {}, "1324": { "1125": { "comment": "\u0411\u043b\u044d\u043a \u043b\u0438\u0432\u0441 \u043c\u044d\u0442\u0442\u0435\u0440 \u043a\u0430\u043a \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f", @@ -1821,7 +1830,6 @@ } } }, - "1345": {}, "1346": { "1115": { "comment": "\u041f\u041e\u0421\u0418\u0411\u041e", @@ -2024,6 +2032,17 @@ "rating": 1, "timestamp": 1617109981, "user_name": "SashaTalk", + "votes": { + "positive": 1, + "total": 1 + } + }, + "1662": { + "comment": "\u041f\u0438\u0437\u0434\u0435\u0446", + "id": 1662, + "rating": 1, + "timestamp": 1728617776, + "user_name": "Dimsk", "votes": { "positive": 0, "total": 0 @@ -2326,7 +2345,6 @@ } } }, - "1393": {}, "1394": { "1017": { "comment": "I need openfm for it", @@ -2627,7 +2645,6 @@ } } }, - "1426": {}, "1431": { "1090": { "comment": "omfg thats pretty cool!", @@ -3122,7 +3139,6 @@ } } }, - "1468": {}, "1481": { "1122": { "comment": "\u043b\u0430\u0434\u043d\u043e", @@ -3217,8 +3233,6 @@ } } }, - "1523": {}, - "1536": {}, "1550": { "1132": { "comment": "\u0410\u0425\u0423\u0415\u0422\u042c! \u041d\u0435\u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0441\u044e\u0436\u0435\u0442. \u042d\u043a\u0448\u0435\u043d, \u0434\u0440\u0430\u043c\u0430, \u043f\u0440\u0435\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e, \u0445\u0430\u043a\u0435\u0440\u044b! \u0412\u043e\u0442 \u043e\u043d \u043b\u0443\u0447\u0448\u0438\u0439 \u0431\u043e\u0435\u0432\u0438\u043a \u044d\u0442\u043e\u0433\u043e \u0441\u0442\u043e\u043b\u0435\u0442\u0438\u044f!!! \u0416\u0434\u0443 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u044f!", @@ -3545,7 +3559,6 @@ } } }, - "1616": {}, "1620": { "1203": { "comment": "\u0423\u0434\u043e\u0431\u043d\u043e", @@ -3559,7 +3572,6 @@ } } }, - "1632": {}, "164": { "1003": { "comment": "So cool ! 5/5 ^^", @@ -3885,7 +3897,6 @@ } } }, - "1665": {}, "1666": { "1253": { "comment": "\u0421\u043f\u0430\u0441\u0438\u0431\u043e! \u0414\u0430\u0432\u043d\u043e \u0438\u0441\u043a\u0430\u043b \u043d\u0435\u0447\u0442\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435.", @@ -3969,8 +3980,6 @@ } } }, - "1683": {}, - "1684": {}, "169": { "1154": { "comment": "\u0412 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0448 \u041e\u0421.", @@ -4116,8 +4125,6 @@ } } }, - "1692": {}, - "1705": {}, "1708": { "1207": { "comment": "thx :)", @@ -4186,7 +4193,6 @@ } } }, - "1712": {}, "1724": { "1220": { "comment": "\u0422\u043e\u043f\u0447\u0438\u043a)", @@ -4257,7 +4263,6 @@ } } }, - "1748": {}, "175": { "105": { "comment": "\u0425\u043e\u0447\u0443 Nautilus!", @@ -4392,7 +4397,6 @@ } } }, - "1753": {}, "1790": { "1313": { "comment": "recovery is real top", @@ -4441,8 +4445,19 @@ } } }, - "1915": {}, - "1921": {}, + "1915": { + "1661": { + "comment": "\u043c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f, \u0435\u0449\u0451 \u0431\u044b \u044d\u043a\u0440\u0430\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0441 \u0442\u0451\u043c\u043d\u043e\u0439 \u0442\u0435\u043c\u043e\u0439", + "id": 1661, + "rating": 4, + "timestamp": 1728239177, + "user_name": "FreshGame", + "votes": { + "positive": 0, + "total": 0 + } + } + }, "1922": { "1335": { "comment": "\u041e\u0445\u0443\u0435\u043d\u043d\u043e. \u041b\u0438\u0448\u044c \u0431\u044b \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0434\u043e\u043b\u0431\u043e\u0435\u0431 \u043d\u0430 \u0430\u0434\u043c\u0438\u043d\u0435 \u043d\u0435 \u0441\u0447\u0435\u043b \u0441\u0438\u0435 \u0447\u0443\u0434\u043e *\u043f\u0438\u0430\u0440\u043e\u043c* \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0435\u0440\u0432\u0430\u043a\u043e\u0432", @@ -4535,8 +4550,6 @@ } } }, - "1929": {}, - "1930": {}, "1936": { "1425": { "comment": "\u0422\u0440\u0435\u0431\u0443\u0435\u0442 \u043c\u043e\u0434\u0435\u043c", @@ -4585,10 +4598,6 @@ } } }, - "1950": {}, - "1951": {}, - "1952": {}, - "1955": {}, "1975": { "1383": { "comment": "nice lib", @@ -4707,7 +4716,6 @@ } } }, - "1982": {}, "1986": { "1427": { "comment": "\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442", @@ -4732,9 +4740,6 @@ } } }, - "1991": {}, - "1992": {}, - "2014": {}, "2018": { "1416": { "comment": "\u0440\u0430\u0434\u0443\u0435\u0442 \u0442\u043e \u0447\u0442\u043e \u0441 \u043c\u043e\u0434\u043e\u043c \u043a\u0442\u043e-\u0442\u043e \u0438\u0433\u0440\u0430\u0435\u0442 \u0438 \u0434\u0430\u0436\u0435 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u0432\u043e\u0438 \u043f\u0440\u0435\u043b\u043e\u0436\u0435\u043d\u0438\u044f", @@ -4805,67 +4810,6 @@ } } }, - "2056": {}, - "2058": {}, - "2116": {}, - "2137": { - "1484": { - "comment": "its a prank but cool", - "rating": 5, - "timestamp": 1698953843, - "user_name": "Zac0511", - "votes": { - "positive": 2, - "total": 2 - } - } - }, - "2172": { - "1493": { - "comment": "\u041a\u0440\u0430\u0439\u043d\u0435 \u0437\u0430\u043d\u044f\u0442\u043d\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f, \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u0442 \u0433\u0434\u0435 \u0432\u0437\u044f\u0442\u044c \u044d\u0442\u0443 LevelOS?", - "id": 1493, - "rating": 5, - "timestamp": 1699280957, - "user_name": "OLESHE", - "votes": { - "positive": 0, - "total": 0 - } - }, - "1494": { - "comment": "\u0421\u0423\u041f\u0415\u0420, \u043f\u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 LIKE-OS!!!!", - "id": 1494, - "rating": 5, - "timestamp": 1699380524, - "user_name": "rootmaster", - "votes": { - "positive": 0, - "total": 0 - } - }, - "1496": { - "comment": "\u042f \u0416\u0414\u0410\u041b \u042d\u0422\u041e\u0413\u041e \u0412\u0421\u042e \u0416\u0418\u0417\u041d\u042c! \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043e: \u043a\u043e\u0433\u0434\u0430 \u044f \u0434\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u043c\u043e\u044f mine os \u043a\u0440\u0430\u0448\u043d\u0443\u043b\u0430\u0441\u044c))))", - "id": 1496, - "rating": 1, - "timestamp": 1699404819, - "user_name": "hungry011ship", - "votes": { - "positive": 0, - "total": 0 - } - }, - "1499": { - "comment": "\u0447\u0435\u0440\u0442\u043e\u0432\u0441\u043a\u0438 \u041e\u0421\u0423\u0416\u0414\u0410\u042e \u0434\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0438\u0441\u043a\u0443\u0441\u0442\u0432\u0430! \u043a\u0441\u0442\u0430\u0442\u0438 \u0430 \u043a\u0443\u0434\u0430 \u0442\u0430\u043c \u0437\u0430\u044f\u0432\u043a\u0443 \u043d\u0430 \u0440\u0435\u043a\u043b\u0430\u043c\u0443 \u043a\u0438\u0434\u0430\u0442\u044c?", - "id": 1499, - "rating": 4, - "timestamp": 1700602228, - "user_name": "Bumer_32", - "votes": { - "positive": 0, - "total": 0 - } - } - }, "2179": { "1492": { "comment": "\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0437\u0430\u0434\u0443\u043c\u043a\u0430, \u0445\u043e\u0442\u044f \u0438 \u0431\u043e\u0433\u0430\u0442\u0430\u044f \u0446\u0432\u0435\u0442\u043e\u0432\u0430\u044f \u043f\u0430\u043b\u0438\u0442\u0440\u0430, \u0438 \u0432\u043f\u043e\u043b\u043d\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f. \u041f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440, \u043f\u043e\u0434\u043e\u0431\u043d\u043e \u043c\u043e\u0435\u043c\u0443 \u0430\u043d\u0443\u0441\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435\u043f\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043f\u0443\u0441\u043a\u0435 \u0434\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043f\u043e\u0439\u0434\u0443 \u0441\u0440\u0430\u0442\u044c.", @@ -5004,8 +4948,6 @@ } } }, - "2217": {}, - "2218": {}, "2219": { "1576": { "comment": "\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u043e\u043f! \u0415\u0441\u043b\u0438 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043a\u0443 \u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 64 \u043c\u0431 \u043e\u0437\u0443", @@ -5065,7 +5007,6 @@ } } }, - "2223": {}, "2225": { "1577": { "comment": "\u041a\u0442\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b \u0442\u043e\u0442 \u043b\u043e\u0445", @@ -5074,8 +5015,8 @@ "timestamp": 1705066505, "user_name": "Smok1e", "votes": { - "positive": 2, - "total": 3 + "positive": 3, + "total": 4 } }, "1594": { @@ -5085,8 +5026,8 @@ "timestamp": 1705744251, "user_name": "DobroposterTop", "votes": { - "positive": 1, - "total": 1 + "positive": 2, + "total": 2 } } }, @@ -5160,17 +5101,6 @@ } } }, - "2269": {}, - "2271": {}, - "2272": {}, - "2273": {}, - "2299": {}, - "2301": {}, - "2303": {}, - "2305": {}, - "2307": {}, - "2309": {}, - "2325": {}, "2326": { "1602": { "comment": "\u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438", @@ -5192,8 +5122,8 @@ "timestamp": 1709148200, "user_name": "ECS", "votes": { - "positive": 1, - "total": 1 + "positive": 2, + "total": 2 } }, "1612": { @@ -5208,7 +5138,6 @@ } } }, - "2330": {}, "2332": { "1648": { "comment": "\u041f\u0438\u0437\u0434\u0430\u0442\u044b\u0435 \u043e\u0431\u043e\u0438, \u043d\u043e \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c dvd \u0437\u0430\u0441\u0442\u0440\u0435\u0432\u0430\u0435\u0442 \u043d\u0430 \u043a\u0440\u0430\u044e \u044d\u043a\u0440\u0430\u043d\u0430.", @@ -5235,7 +5164,6 @@ } } }, - "2339": {}, "2340": { "1618": { "comment": "Xyeta", @@ -5244,91 +5172,22 @@ "timestamp": 1717765218, "user_name": "PlushPersik", "votes": { - "positive": 1, - "total": 1 - } - } - }, - "2341": { - "1620": { - "comment": "\u0417\u0430\u0435\u0431\u0438\u0441\u044c \u043f\u0440\u043e\u0433\u0430. \u0417\u0430\u043a\u0430\u0437\u0430\u043b \u0430\u0439\u0444\u043e\u043d 69 \u043f\u0440\u043e \u043c\u0430\u043a\u0441 \u043f\u043e\u0447\u0442\u043e\u0439. \u041f\u0440\u0438\u0432\u0435\u0437\u043b\u0438 \u0441\u043e\u0433\u043d\u0443\u0442\u044b\u043c. \u0421\u0435\u0440\u0432\u0438\u0441 \u0432\u0430\u0449\u0435 10/10!", - "id": 1620, - "rating": 4, - "timestamp": 1717770452, - "user_name": "vkh700", - "votes": { - "positive": 1, - "total": 1 - } - }, - "1621": { - "comment": "\u0413\u0414\u0415 \u0410\u041f\u0418 \u0411\u041b\u042f\u0414\u042c \u0413\u0410\u041d\u0414\u041e\u041d!", - "id": 1621, - "rating": 3, - "timestamp": 1717770873, - "user_name": "Govnosborkinosoft", - "votes": { - "positive": 0, - "total": 0 - } - }, - "1625": { - "comment": "\u042f \u043f\u043e\u043a\u0430\u043a\u0430\u043b", - "id": 1625, - "rating": 4, - "timestamp": 1717836195, - "user_name": "PlushPersik", - "votes": { - "positive": 0, - "total": 0 - } - }, - "1626": { - "comment": "\u2003\u2004", - "id": 1626, - "rating": 5, - "timestamp": 1717849092, - "user_name": "Ma3rX", - "votes": { - "positive": 0, - "total": 0 - } - }, - "1627": { - "comment": "\u042f \u0417\u0410\u041a\u0410\u0417\u0410\u041b \u0427\u0418\u0421\u0422\u042b\u0415 \u0422\u0420\u0423\u0421\u042b \u0410 \u041f\u0420\u0418\u0412\u0415\u0417\u041b\u0418 \u0424\u041b\u0410\u0413 \u041b\u0413\u0411\u0422", - "id": 1627, - "rating": 1, - "timestamp": 1717852896, - "user_name": "maktronick", - "votes": { - "positive": 0, - "total": 0 + "positive": 2, + "total": 2 } }, - "1628": { - "comment": "\u0421\u0410\u041c\u0410\u042f \u0410\u0425\u0423\u0415\u041d\u041d\u0410\u042f \u041f\u041e\u0427\u0422\u0410", - "id": 1628, + "1663": { + "comment": "\u0444\u0443 \u0432\u0438\u0440\u0443\u0441", + "id": 1663, "rating": 1, - "timestamp": 1717865671, - "user_name": "Bumer_32", - "votes": { - "positive": 0, - "total": 0 - } - }, - "1636": { - "comment": "\u0436\u0434\u0443 \u0430\u043f\u0438 \u0434\u0435\u043d\u044c 1", - "id": 1636, - "rating": 3, - "timestamp": 1720049093, - "user_name": "Krevetochka", + "timestamp": 1728617820, + "user_name": "Dimsk", "votes": { "positive": 0, "total": 0 } } }, - "2349": {}, "2354": { "1632": { "comment": "\u0414\u0410 \u0418\u0414\u0418\u0422\u0415 \u041d\u0410\u0425\u0423\u0419 \u0421\u041e \u0421\u0412\u041e\u0418\u041c \u0425\u041e\u041c\u042f\u041a\u041e\u041c \u0411\u041b\u042f\u0422\u042c!", @@ -5364,19 +5223,7 @@ } } }, - "2364": {}, "2366": { - "1631": { - "comment": "\u044f \u0434\u0443\u043c\u0430\u043b \u0442\u0443\u0442 \u043e\u0431\u043e\u0438 \u0438\u0437 \u041c\u0430\u043a\u043e\u0441 Snow Leopard", - "id": 1631, - "rating": 4, - "timestamp": 1719609929, - "user_name": "CACKE", - "votes": { - "positive": 0, - "total": 0 - } - }, "1645": { "comment": "\u043e\u0431\u043e\u0438 10/10", "id": 1645, @@ -5910,8 +5757,6 @@ } } }, - "2410": {}, - "2414": {}, "245": { "1050": { "comment": "\u0421\u0438\u0435 \u0447\u0443\u0434\u043e \u043d\u0435 \u0440\u043e\u0431\u0438\u0442. \u0421\u043f\u0438\u0441\u043e\u043a \u044f\u0437\u044b\u043a\u043e\u0432 \u043d\u0430\u0439\u0442\u0438 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442.", @@ -7343,8 +7188,8 @@ "timestamp": 1616156767, "user_name": "jecis", "votes": { - "positive": 0, - "total": 0 + "positive": 1, + "total": 1 } }, "138": { @@ -7726,6 +7571,17 @@ "total": 2 } }, + "1657": { + "comment": "Surprisingly usable!", + "id": 1657, + "rating": 4, + "timestamp": 1727474233, + "user_name": "SuperWaffle64", + "votes": { + "positive": 0, + "total": 0 + } + }, "422": { "comment": "Very usefull. Intuitive and easy to use design. It works very fast and overall just amazing. Good job!", "id": 422, @@ -8117,7 +7973,6 @@ } } }, - "92": {}, "938": { "1299": { "comment": "I'm just stuck on the screen with instructions with syncronization, but i have the nanomachines and my computer does have a wireless card and i've tried literally hugging my computer. doesnt work. i even tried looking at the code ", @@ -8430,7 +8285,6 @@ } } }, - "97": {}, "980": { "1085": { "comment": "\u041d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442", diff --git a/scripts/import_records.py b/scripts/import_records.py new file mode 100644 index 0000000..71a4ea9 --- /dev/null +++ b/scripts/import_records.py @@ -0,0 +1,302 @@ +"""Import Records - Import records from remote MineOS Market API.""" + +# Programmed by CoolCat467 + +from __future__ import annotations + +# Import Records - Import records from remote MineOS Market API. +# Copyright (C) 2024 CoolCat467 +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +__title__ = "Import Records" +__author__ = "CoolCat467" +__version__ = "0.0.0" +__license__ = "GNU General Public License Version 3" + + +from typing import Any, Final + +import httpx +import market_api +import trio +from result import Result + +import market_server + +CATEGORY_ORDER = ( + market_api.PublicationCategory.APPLICATIONS, + market_api.PublicationCategory.WALLPAPERS, + market_api.PublicationCategory.SCRIPTS, + market_api.PublicationCategory.LIBRARIES, +) + + +async def get_all_publications( + client: httpx.AsyncClient, + category_id: market_api.PublicationCategory, + per_request: int = 100, + request_delay: float = 0.5, + request_limiter: trio.CapacityLimiter | None = None, +) -> dict[int, market_api.SearchPublication]: + """Return a dictionary mapping publication ids to publication objects. + + For `per_request`, see `get_publications`'s `count` argument. + + Returns all results in the entire marketplace for a given category. + """ + if request_limiter is None: + request_limiter = trio.CapacityLimiter(1) + all_items: dict[int, market_api.SearchPublication] = {} + page = 0 + + while True: + async with request_limiter: + publications = await market_api.get_publications( + client, + category_id=category_id, + offset=(page * per_request), + count=per_request, + order_by="date", + order_direction="desc", + ) + print(f"[get_all_publications] response count = {len(publications)}") + # Slight delay to make server not error/rate-limit + await trio.sleep(request_delay) + + if not publications: + break + for publication in publications: + all_items[publication.file_id] = publication + break + page += 1 + print(f"\n{page = }\n") + return all_items + + +PUBLICATION_KEEP: Final = set(market_api.Publication._fields) - { + "file_id", + "translated_description", + "dependencies_data", + "all_dependencies", + "average_rating", +} + + +async def query_publication( + client: httpx.AsyncClient, + file_id: int, + request_limiter: trio.CapacityLimiter | None = None, + request_delay: float = 0.5, +) -> Result[market_api.Publication]: + """Return Result, success -> publication, fail -> error text.""" + if request_limiter is None: + request_limiter = trio.CapacityLimiter(1) + try: + async with request_limiter: + publication = await market_api.get_publication( + client, + file_id, + market_api.PublicationLanguage.ENGLISH, + ) + await trio.sleep(request_delay) + except market_api.APIError as exc: + await trio.sleep(request_delay) + return Result.fail(exc) + return Result.ok(publication) + + +async def save_info( + client: httpx.AsyncClient, + publications: dict[str, dict[str, Any]], + reviews: dict[str, dict[str, Any]], + file_id: int, + found: set[int], + request_limiter: trio.CapacityLimiter | None = None, + request_delay: float = 0.5, +) -> bool: + """Save info recursively about publication with file_id and its dependencies.""" + if request_limiter is None: + request_limiter = trio.CapacityLimiter(1) + if file_id in found: + return True + found.add(file_id) + publication_result = await query_publication( + client, + file_id, + request_limiter, + request_delay, + ) + if not publication_result: + print(publication_result.value) + return False + publication = publication_result.unwrap() + + if publication.file_id != file_id: + print( + f"#### ERROR ####\nSearch Publication ID {file_id!r} does not match requested ID {publication.file_id!r}", + ) + + pub: dict[str, object] = publications.get(str(file_id), {}) + if not pub: + print( + f"New publication {publication.publication_name!r} by {publication.user_name!r} (id {file_id})", + ) + + # Update publication data + for k, v in publication._asdict().items(): + if k not in PUBLICATION_KEEP: + continue + if k == "downloads" and not v: + continue + if v is not None: + if k in pub and pub[k] != v: + print(f"{file_id} [{k}] {pub[k]!r} -> {v!r}") + pub[k] = v + publications[str(file_id)] = pub + + # Record reviews + async with request_limiter: + reviews_response = await market_api.get_reviews( + client, + file_id, + # TODO: Add offset to handle overloads + ) + await trio.sleep(request_delay) + + if len(reviews) == 100: + print(f"{file_id = } Likely review overload") + + pub_reviews = reviews.get(str(file_id), {}) + + for review in reviews_response: + review_dict = review._asdict() + review_dict.update({"votes": review_dict["votes"]._asdict()}) + pub_reviews[str(review.id)] = review_dict + + if pub_reviews: + reviews[str(file_id)] = pub_reviews + + # Handle dependencies + if not publication.all_dependencies: + return True + for dep_id in publication.all_dependencies: + query_success = await save_info( + client, + publications, + reviews, + dep_id, + found, + request_limiter, + request_delay, + ) + if query_success: + continue + # Private dependency + + dep_pub: dict[str, object] = publications.get(str(dep_id), {}) + + # Record known data + for k, v in ( + publication.dependencies_data[int(dep_id)]._asdict().items() + ): + if v is None: + continue + if k in dep_pub and dep_pub[k] != v: + print(f"d{dep_id} [{k}] {dep_pub[k]!r} -> {v!r}") + dep_pub[k] = v + + if ( + dep_pub.get("user_name", publication.user_name) + != publication.user_name + ): + print( + f"d{dep_id} [user_name] {dep_pub['user_name']!r} -> {publication.user_name!r}", + ) + dep_pub["user_name"] = publication.user_name + if ( + dep_pub.get("timestamp", publication.timestamp) + != publication.timestamp + ): + print( + f"d{dep_id} [timestamp] {dep_pub['timestamp']!r} -> {publication.timestamp!r}", + ) + dep_pub["timestamp"] = publication.timestamp + + publications[str(dep_id)] = dep_pub + return True + + +async def async_run() -> None: + """Run program.""" + records = market_server.get_records_path() + request_limiter = trio.CapacityLimiter(8) + request_delay = 0.5 + + found: set[int] = set() + async with market_server.database.Database( + records / "publications.json", + ) as publications: + # found |= set(map(int, publications)) + async with market_server.database.Database( + records / "reviews.json", + ) as reviews: + async with httpx.AsyncClient() as client: + statistics = await market_api.get_statistics(client) + market_api.pretty_print_response(statistics) + async with trio.open_nursery( + strict_exception_groups=True, + ) as nursery: + for category in CATEGORY_ORDER: + search_publications = await get_all_publications( + client, + category, + request_delay=request_delay, + request_limiter=request_limiter, + ) + print( + f"{category = } complete ({len(search_publications)} publications)", + ) + for ( + pub_id, + _search_publication, + ) in search_publications.items(): + nursery.start_soon( + save_info, + client, + publications, + reviews, + pub_id, + found, + request_limiter, + request_delay, + name=pub_id, + ) + print("Waiting for publication logging to complete...") + print("Action complete, saving results...") + print("Save complete.") + + print( + f"Found {len(publications)}/{statistics.publications_count} publications.", + ) + + +def run() -> None: + """Entry point.""" + trio.run(async_run) + + +if __name__ == "__main__": + print(f"{__title__} v{__version__}\nProgrammed by {__author__}.\n") + run() diff --git a/scripts/result.py b/scripts/result.py new file mode 100644 index 0000000..53671df --- /dev/null +++ b/scripts/result.py @@ -0,0 +1,55 @@ +"""Result - Potentially unsuccessful operation result.""" + +# Programmed by CoolCat467 + +from __future__ import annotations + +# Result - Potentially unsuccessful operation result. +# Copyright (C) 2024 CoolCat467 +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +__title__ = "Result" +__author__ = "CoolCat467" +__license__ = "GNU General Public License Version 3" + + +from typing import Generic, NamedTuple, TypeVar + +T = TypeVar("T") + + +class Result(NamedTuple, Generic[T]): + """Potentially unsuccessful operation result.""" + + success: bool + value: T + + @classmethod + def ok(cls, value: T) -> Result[T]: + """Success builder.""" + return cls(True, value) + + @classmethod + def fail(cls, value: T) -> Result[T]: + """Failure builder.""" + return cls(False, value) + + def __bool__(self) -> bool: + """Return if successful.""" + return self.success + + def unwrap(self) -> T: + """Return value.""" + return self.value