1
0
Fork 0

SImplify script so that it queries all repos at once

Move mapping file to JSON
Save a JSON dump of the cache as well (for inspection)
This commit is contained in:
Luca Beltrame 2016-09-21 07:53:10 +02:00
parent 9c98bd83b0
commit 5780e3b6c6
Signed by: einar
GPG key ID: 40C8281493B01C16
3 changed files with 364 additions and 20 deletions

BIN
obs_repo_cache.cache Normal file

Binary file not shown.

320
obs_repo_cache.json Normal file
View file

@ -0,0 +1,320 @@
{
"KDE:Unstable:Applications": {
"kcalutils": "d61a47cae56147df58dfe4cdeaf3008ffe8b7d58",
"kdiamond": "6fc2700cef2ba872f4d7d85e0bd3ed6423bcf305",
"knavalbattle": "7caac3e484812fe6ab4c2fa062d742cc3b710755",
"kcharselect": "c25c21fa4415ff25db49b674ec3003bdcf4c565e",
"kteatime": "7c93786615bae868b6412a875d9010b06b5380d1",
"dolphin-plugins": "5acf0a36219a745ea6d11f3c2ab644e2984f0cee",
"libkomparediff2": "f392bf92d7df0fb263200d29efa0453b3a41fa30",
"pairs": "dc470a946ea68fd2562d4d9e3200e1759e4600b0",
"kdnssd": "1c49a5623b0208ea56de45b137370e763b63b791",
"ktp-send-file": "597991ae2551112f2be72c39d8f5e28a8fbec2ce",
"kig": "23b945164a3da1dd2e256ef9bceea4f02bdfa148",
"kdebugsettings": "5de72571e1fe9c6f3ab99f0f0cc112fefec89de4",
"eventviews": "775dacbc949eb078c9fe2e61315184c1c22965e2",
"mailimporter": "b6ad71b2115cdf6fc71eb26b61af2428e41ede27",
"kblog": "039aefd9aec2e9c4ed4d4e22df8a7309f61459de",
"kblackbox": "2a14ec61116cd23a620c6ddaea31404cfa5db7dc",
"klickety": "b5d2288c9855e96f39c07c65af1e7cd4a2a60cca",
"ksystemlog": "9504869427223956386504bf7971f97bfa095bfb",
"kaddressbook": "9746013db91d9d9f7a45cac8b965cde985ae81b8",
"libkgeomap": "41a46ee8003891977794625c6040710dc384d896",
"kopete": "92917471c404c0a59537b657ba588f3baba7e200",
"kubrick": "073bcad646c363bba32d00eeff3510ee38e81285",
"kbreakout": "c0d7daa0789fb8c7bf798c2a19eab764f9205d10",
"ktp-approver": "26e40965eff73aa9ec90fb8a46b0238295de09e3",
"kde-baseapps": "8f6fe819ff3fe03e2715877aeaffe0d03442d040",
"gpgmepp": "a95c9216a8595295ba7e7db674a08e4bec16a6eb",
"kmousetool": "1ed46a9d4c91328bd28329030919619dd061083e",
"kfourinline": "1ec6ca2cbd9a6e73383f85492ad4e4ee7e847f3e",
"ktp-text-ui": "6b93b6fdf3bc0d095e4746815623571506f47c77",
"kgeography": "e38b8ad40ad396be273ee7b24861b542a237865a",
"artikulate": "16731790abffaeff03105e39b26cae369b383f8c",
"kmime": "afd30748d85ab3955a0be29d970502b3fa2ca761",
"libkleo": "9da95afd712785e3aeb2fdd030a576846b9bc7ca",
"ktp-common-internals": "2706d8d60cedcdcc31067122c909797d506ff629",
"kdf": "e85105a8fc01fe03defc25e50d90f2a113a01d32",
"dolphin": "ca53974181c17234f4522bd1635d4c0ab4281e1d",
"parley": "03f061d90a3db9534ac2e3b5834a336ca304883f",
"kalgebra": "ece94f9c3017d936b212ebb6bb1ad5027657f901",
"kmbox": "11630d351ff289d30054ed4f4a9f25f03ba18a89",
"print-manager": "971e75934bc64627226d61565f68aff3c9b0000b",
"okteta": "1b6a3072313dc84cd74ceedc0acc0de872aeae60",
"mbox-importer": "0df3e701039dd75a2ab73045408c4fd7cc74ef9f",
"calendarsupport": "b9434798f0af5ad6884b8bd24f41984f3635a861",
"kspaceduel": "683557c13b738c358cba8c32cbb3af193a6a579d",
"kdeedu-data": "e2978a973c7a72aba589b6ff57d086c44562d899",
"kmplot": "92008f9060f93c64951676ff598dbcc958c1b4b5",
"kget": "d8e7fb82a1b3322817f24276f6739c59f5fd0bf2",
"ktp-contact-runner": "796e6a4a1256c63f1696bc3379725685867e8fd6",
"kdesdk-thumbnailers": "289847bfc7ea75f118e3dfcbb5708c0b43aa1030",
"kolf": "6e64b7efc3c4bdec860aaa6a54f367109e747c1b",
"katomic": "be439bda0ce1a5db8f7597efa99f42607f386757",
"palapeli": "f9218c9d99f40b55b9d456d1d18b76cc09201a05",
"syndication": "5df112a3fbcd0d5c02737e2696a46098bcc7bf0e",
"ktnef": "8aeea19017bbf4310e963bd218311475e9d7fbaf",
"kturtle": "2abadda25d5c1e805a81b7848e00ab6fb0251093",
"klettres": "3437410f752e1587c79d4314a8d86c9864b18511",
"kmahjongg": "66709eb51b6aba15b548b7e55c17c9ba000ecaa2",
"granatier": "0ce200c7c0616978a2a16ae56c07b32dd96feb08",
"picmi": "63d9b0f6954679f525b822e87923e1191f344a73",
"kblocks": "ddc64bf6905d6cb4086bb4dfa2995faf67b2da55",
"kpimtextedit": "082e3b59261a442c3971040deea9b25a577ac873",
"grantlee-editor": "9b528f24733556d7e34b875a7f869ef9da5de232",
"rocs": "f8710aa66716ba63b13c03105cda7054a78c234f",
"ffmpegthumbs": "b9fedb00d34e0792b46a9b40a8c12a237f75ebea",
"akonadi": "f49ccad7ab43a1da4b04d15f905750539eefea3b",
"kanagram": "14e00e418e988c56d8bffd447fd4591eb702d66d",
"ktp-accounts-kcm": "0db88e01c612c5e3f5ef511339ba70aa4fd24954",
"kigo": "a06cf45b9f2268ddb390e07111abb7cce0c145bc",
"libkeduvocdocument": "ddb743b7e312e69d7f1eee9a3f4c25ef8031b27b",
"kdepim-addons": "e3c9183989e4c6f27c3c06c38558b0835f7fe4f2",
"kcontacts": "b2194dd9d806875122c76220f77660c9de09f14d",
"ktp-kded-module": "eef6bc3e92ad09d1614c365b08717176a5e81205",
"kcachegrind": "bb89224ede1815befa9ae12a5d99b24be214e4bc",
"pimcommon": "8d71eaf903efa96223329592c2545f984efa291f",
"ktp-contact-list": "e0541440b45fc5a53324bc764c1a99bc284fcaa5",
"kapman": "55c7c486030261ae6269780e6b4accf261d44313",
"ark": "070cb139e8041462ad6b97a5eb8f2dacfccfe00f",
"ksquares": "93f3bad49af933e9c251c76e5d1d59766b49bc81",
"ksnakeduel": "b4ed48c2b945e35e287d58c3fefbe43f646ec7e9",
"pim-sieve-editor": "09c018d61eea11a923731ffe63686f90c946f823",
"klines": "dac37effa85270f86ff738b0d5418c1529cc46af",
"akonadi-calendar-tools": "073e5c0bdfa69dbf16854e765e4bfa4c99418593",
"akonadi-import-wizard": "1ed8c3d092f3b52d30bc3ebb5d39661ca5b8f453",
"kontactinterface": "97aaea8e06db1c4cecced7cf7e52a056dad7bf38",
"kmail": "0f5e663ff5f12af641ad62e5e5ea87f4d7e799be",
"kruler": "478091c8250fed5f0690c9eb9a9ba890352bd096",
"prison": "d19ad1e33999cb0dc3608b450c116c3858af1d8f",
"umbrello": "7a63f989b73d5a9e87ac6edeb8c182caae594846",
"krfb": "b95a5b285daf044e936d179c2044858518582614",
"baloo-widgets": "7f94bb22784a514a48f6033251ff2436e787fd32",
"knetwalk": "5e8529595a0f2d37db6b2f1c887a8d21ca4d5dce",
"blinken": "e5419fd416bbc7d6dedb2ea6fb8f85c1a6ca41e5",
"ksirk": "550166313f4cbbc5d432be567fb19ebbe2d07687",
"spectacle": "118bcd8a9a4c6c89445a589fa990d15ec9223099",
"kpat": "163a113ddeaa36313427420559c958ce39aad882",
"bovo": "131ef4bc3ccd4fdbbee0c86b0258429ef134ec0a",
"kmag": "14961f08aa57ed13066c7ba4197764a7c35b7655",
"libkmahjongg": "3d36a78980feb43453b1d854571e2d99fe4331b5",
"pim-storage-service-manager": "e69012248cc389cc3f6955b9f94fd68ba9b0e629",
"kmail-account-wizard": "88955b70d14ef7757d4258a84793d342effaa3aa",
"kiriki": "fd437ed6193aa235f720f25276df8cc226510112",
"pim-data-exporter": "4795671a076567b8c580eb2f58a30b539be9d872",
"kaccounts-integration": "e614b9785f0f59a4fee21f3e4cd2244c3062b1d7",
"gwenview": "5a280dd2f44dc3d5693a59390df309658dc12da7",
"dragon": "e799f9abfdf13577b9b0e55a36868a09649a3b1d",
"kdenlive": "fe386cd8774e950dd51e944b9c404cd5c2750b57",
"analitza": "53e882de029a6e86dc3f2b778a62f8c029b74921",
"kjumpingcube": "77bc36c0e9d5c2c1a5eff1a2d715aae683a06e32",
"kdegraphics-thumbnailers": "049bf932da95fae68c8ed1f884c7c49a06d4f992",
"libkface": "bc1cebf35e4cd448d622ce48ccc52c91048031e4",
"kldap": "e4f6586096924e15328a3183eda9dc442ba97554",
"kcalcore": "93e75c4b7dcda11e0fb1ef9ecc7405d25ec97585",
"kde-dev-scripts": "3e3e6fd08b2f9801e075f15239bc3c3790453ef6",
"kmailtransport": "81240c41470a7457dae10b7c274443f3e142b288",
"ktp-filetransfer-handler": "f1355f6fce48adc46b5054f68eabc03de5d703a1",
"step": "23753f6f9d3e96eade5424d10352596306ff286f",
"kolourpaint": "46061ab3e84d0274344cbe68da634ab36332644d",
"akonadi-contacts": "7a77ddc395c9312374590339d10758778ec6bc05",
"knotes": "086ed30d7b22210061e73c0df4a676e2714fbab8",
"signon-kwallet-extension": "cb6ced02c752d2e64479e04e9d5e6db454153360",
"kontact": "cac1cdda46a57caace67aed868febfd09350baf3",
"filelight": "2fb122d6ebefc9f350f5fcf5ae39ef18b74fe1d5",
"ktuberling": "8248346dedb9ce19a9a0b210bcef6aa04e43924d",
"kaccounts-providers": "1a2f0b20fc859e016d3cf36453f346206c04fc2c",
"ktimer": "db031795c1472878f78c68b99ff00994ec38d27d",
"kstars": "7d0b855e0cc2c9229441ca2749525f8ab01222c1",
"kate": "92e71151321fd642e5dc14948a30d1f61edfcbe4",
"kfloppy": "3b2d5ef7ba3fd7c623113c4bc3a18cbc17036c9a",
"lokalize": "feb56a609593ad4aa57b198ba9881f9f8eb9fd44",
"marble": "8948afb91b52b237cb2c49d47c595490f853617a",
"kholidays": "6a4f277b0f26a85729de7aab263de32219b5de54",
"libkgapi": "c6ecd918707c3cd4305f86a44e9e90adb47a29a1",
"libkdegames": "517aad5ebf58c4b520e26249718f1f3baab69591",
"akonadi-notes": "49b7ccef5a20e4d36afa86a8342b81279a901a64",
"ksudoku": "71bafbc7d7944336f9ad0a0c934af69793ae7b46",
"kdepim-apps-libs": "f645aa161e8aacfe7a96b3eea256b80ecabeddd7",
"ktp-auth-handler": "a1aa486529f2f452b1eb63536e3d299aef0566b3",
"kgpg": "4e930761a04a34b3ad983ba2939bdb2585225fd0",
"konsole": "3747ecfde0800804717203d7f5fa0f96c0791052",
"kmines": "8b7c5fa998720754165de24cd22a0a52b13b46ea",
"libksieve": "660f9e8d541a731fdf285472c7d235bc04be218c",
"kcalc": "3a04e9ed27125a83d8c0c9e1eb0fec6b9614a38d",
"kalarmcal": "31149f2dcbd8cb54af8a6b12ebb341b16d31f5d8",
"kcron": "27f83b7bfcdd6a3135663b6c5d30e62b1a5d2004",
"kscd": "d7674c786de5bfa34eb9ef3d70f5411d421b0ac5",
"messagelib": "d88a60e5b10f95691faece868b34c9c616173658",
"kbruch": "0d4a267538169b1fadb8f7918cabe2ae879dede5",
"kmouth": "2f027de11b23369495947d7d9d700b909eda0148",
"mailcommon": "c0112f7762ceeb101d3d1bb773830ea173cabc0c",
"cervisia": "a7edf13b1be872a4f5ae4035b7897a827ff53c2d",
"libksane": "69a3c58cef135f270dc7229375857ca52dd16930",
"killbots": "31970e9823228b3374ac8d91cd9e69f57325a371",
"kdgantt2": "6fd252cbcdca8936015c3bb897e9c7f2fed79abd",
"akonadi-search": "705b56b373f6a3f70aefc7e3a5173b4cda9b3ce9",
"incidenceeditor": "570af1f3e9f1761431fe98d5ebfe3ca65d9506d6",
"kross-interpreters": "f7f8541fe8b016860b90a834fa1b608956ca3a64",
"libkdcraw": "f5254923990eb3a398429140ec346ad8979ae66b",
"libgravatar": "1c3d1ec31f59d44ac45c796ca27c1a8c9eab8a9d",
"bomber": "b684200c5f2841e12f3049d99f1399ac6e3d67dc",
"akregator": "5270c54c1d853ceeb1a4e63589a13a69b9bb76cd",
"kollision": "7f143da05896e37b7cd4d38afa024317908b166c",
"grantleetheme": "40d93ca2c1fcfcb93767bd30dcfe3321aaebb385",
"kreversi": "09d2eb0f36529ff13ebaa2c2b2ace5109fff9fc2",
"kapptemplate": "197218efd1212c3e8b19267ecb31beaca2237ec2",
"kleopatra": "252cac8f325bd5bbf73ab719d773cbef0c5d8391",
"kalzium": "6ceb2a0087a7a93adaf56d0a2acd2f4e84529a07",
"kio-extras": "ae90bdbc54ab029b44f8c43b23d3fbbd0918c5c9",
"kwordquiz": "86aa32897d6f13e9fb6fb32d429f4c4298c6e727",
"kgoldrunner": "4cc919c1fc14175544ad9de3eef6167e34d2cb7d",
"khelpcenter": "438bf157398393f6e550d6fa03f36609551b4ecc",
"krdc": "af24d8d45ce74c299bd13bd1b881bc967f8f482f",
"kompare": "1c3a56880325ef6b13453ac02b8f4267968774b3",
"kuser": "0bf52af6a61097f45f3f8a440e709376cc9d89b2",
"kidentitymanagement": "f7cd5ce8d20c944600d35859f9cdca2d56f775e2",
"cantor": "a8ccb47404f593013d2e900b35bc1c91608adb1b",
"libkipi": "a8384202175362928eb7068bae3633ad6c903596",
"kiten": "5239919d3a296e6f862cb4bee8f3e96e64b7fc90",
"kmix": "7aa904ecacfd2eeaa91068e17cc9bd79ba058206",
"korganizer": "2f82e688fdd59a2c8b957219536763c22858c997",
"kimap": "baae8a611f97eb4006f4aa91eb27a5a28c342b49",
"akonadi-mime": "29f85a01358cb440069ffa8228be9a09bba8303c",
"akonadiconsole": "2ab72db0b9c968037ed3a7fa8ac357a3ccac508c",
"svgpart": "53e0e7a2ef1df772a55a42b79c72542e0ea6a48c",
"kshisen": "0bfa0f6b42365979ac6e92cc0b28eed04a1b7334",
"khangman": "5f334769da80f100e3d6a2ad494c84bbf25e9f27",
"kdepim-runtime": "de8345399b2ff0a52f73e4ef66a088e8b317830b",
"kbounce": "791eb0913154c78114f2da7e575490a6228e1c7d",
"libkdepim": "eb6cd194f85a4ce62a330ec0b62ae6391959d574",
"libkcddb": "df41315cc50e2275f83404e20005903d3e3fc3e4",
"blogilo": "4b0d526315ec306cca0988791583913082c937cc",
"lskat": "edc73e043c1d2c18628233a665e4372b62fa8c01",
"kalarm": "fe6f7fb5c97a6722757bdda193e2dd5f1584483e",
"kqtquickcharts": "143e76a019ae52d57e3f448c7e3130cc53346506",
"okular": "bfa28f1f64bfb8225db29d3f90c561b6e0603842",
"akonadi-calendar": "3601f4175e43eeaacb23bc27777dbdeafd9e6f60",
"libkexiv2": "ecd98aa506b0e08efed3b81013a25d3b18732088",
"konquest": "cb2879b56efa036d804bb70cec64c5c77627edbd",
"ktp-desktop-applets": "03cca31b21122673e9bd11428949075fa342d3a8"
},
"KDE:Unstable:Frameworks": {
"baloo": "02047b524a176da447d8c96e15c7e2abae8339ae",
"plasma-integration": "3258d996565bec01c3a2e7d1ab4362bdb747483c",
"kservice": "5f45fbe8e392c710984b741eb2cf9750c0d55ec8",
"plasma-pk-updates": "eb42e60b6ca9acfe8555989c391236c76c002331",
"kde-cli-tools": "b947091a61215c5ef95a67251b81471b22a1ad1f",
"plasma-pa": "343233026e1e5c6bc7282303645b7766c7fc3588",
"kwindowsystem": "191715d3b92384c6dc45f7a3baad25e57c6e72df",
"ktextwidgets": "acaa895887ef39fe317becf0654b1471ee1f29ac",
"kgamma5": "e9762dc5afe5156a1da92571ba13fbf11e4f6238",
"kimageformats": "60b5866b778a35e177f305465f23d2c1ab76fb71",
"systemsettings": "f690b6f70144d04e1f561957564ed80fe6e99588",
"kxmlrpcclient": "cd1b99d57f8335057bc68c44ed2167a36d140b29",
"solid": "f6244c81734576ad853e649dbb77c1ee7c6df7ee",
"kdesu": "b73e45a9314d767a9bd59e1fbc267c5588355f13",
"kglobalaccel": "37be38a4776fd67a73e5c0e1b8cbabd7f88c8945",
"kactivitymanagerd": "6715e045a0fce1525b036b7b9330258c2518aec3",
"kjobwidgets": "24967789961244d75157d23093417b8c2c6c4b1b",
"kcrash": "60b3130e9579f86eeeac199edfd58bbd0d47f1cd",
"kwrited": "01486627c9fa8a89b9a65dc48f6de9c0d4daec93",
"kwin": "ff3b741ad8f020c5031933ef0b0bb6f77c8d7248",
"extra-cmake-modules": "0cc2de65d111ee1244f3d3ce53c83b3b55b58dfb",
"kfilemetadata": "47f6e57b2fa3768feb4f1f4a2cd3ce46660d90f2",
"kdnssd": "1c49a5623b0208ea56de45b137370e763b63b791",
"kinit": "db179c1271adf26aded0e935c8b389f0c90b0048",
"libksysguard": "0cdd85f348d484815aeedeb7da300363c64bc161",
"kitemmodels": "d541fcc7bf3048647ab74b9346d7abbafc0eeb87",
"kpeople": "f2cf36abd17a939b1a05a3c6d0dc3be48fd71655",
"kauth": "98bc6d19c2e8aecf5c9a71a5589531ea2d8dde69",
"kcompletion": "8f7683f74694c44e8fa3b785804968e72c7c74b9",
"kmediaplayer": "74ba08b57036ce9faacfac1459c2303031244b60",
"kcoreaddons": "1f36cdc2c0a10e3c0f4e933e744c1a68cfa48524",
"kapidox": "03578740bfef2046bc1e33416f958acb15b8d26d",
"kdoctools": "f4d9c1c9ac0050c55e93c8a15422f1dafdff4e50",
"kio": "d0fc70d3d8c81ba6a29f9fe4013d902fc1f4018d",
"kidletime": "166be82bb96220ff776c24e60bf4ce1f71c1111c",
"libkscreen": "2581c9a14bfc0a8f0e2161ceac3145c6cadb71cb",
"kinfocenter": "25011315c4f6af1b88aa38e2b407eebea6ff6e69",
"frameworkintegration": "1e6246890bbf9e28ef571e47cda6c5456251aa77",
"khtml": "c53bd7f8caa687ebcb159e3292b2ac70e92163df",
"kpty": "6760ac96e308323957a690d7a31495505544a801",
"bluedevil": "e8427d7c28127b9262546da4969e1d51a0043fb0",
"kbookmarks": "a6335c186b42e061b00ca2822b02d1c95fbc750a",
"kxmlgui": "17164ba33cda0063f3472d1d2572a27cb868557b",
"kross": "52428f3e1b16e0b90066bcb7259eb7b37559d361",
"kded": "2c68e9d8bbdd5c6b4a22adb83f59d37897f9abc9",
"kcodecs": "9c1513f286e82aefe8defe82ffc18c91c9ea8382",
"kwalletmanager": "4113482f2326be544d48f5b17b308f600619cf5b",
"modemmanager-qt": "7a205af476a0cd2755f1c06220371bde08332c50",
"attica": "ef1321d281a110e34977055a9ad556f45a71a5ce",
"kde-gtk-config": "7e55d2ba0b64b3cb509592c0bd081b11abcabdc5",
"purpose": "bed16f860aee5745ac2134a7a3f19c6704e71546",
"kiconthemes": "8646e8dc64a542f13aad3be3b3e6b97188673fa4",
"user-manager": "2d52d7f165bf17e982225dc16156e9295900f8fe",
"plasma-desktop": "233ef875440e45fd7cf5715b0df372f4c22951dd",
"karchive": "a7fb105aaa0d701f34e17beb5ab99a595ec0d23f",
"plasma-workspace-wallpapers": "9abd8c48ca7b4e87179739af18e830bc10a20a49",
"powerdevil": "50b4ebae383bf789fcea5f3c6a4727258ec8b806",
"kjs": "ca97b9ab064a097e553a445709bd01c0bafb982b",
"kconfig": "0389727be4cf7396d9e1728610b12af778daf444",
"kdeplasma-addons": "21b4edc18c1c33c191991c177cd0d14fd3f79837",
"kguiaddons": "4be0cd7249ff8a0bb2b9e9eacd3933e4ad78bade",
"kwidgetsaddons": "0ad57045142558de551326b7d99279bded9927f3",
"kpackage": "30521a746f411223911578601ca582eeeea54ae7",
"breeze": "15baa19ecf4a25dbf55d30abbcc7abb76d1be22b",
"breeze-gtk": "2fb123e35cf9c7710fb0e34f34bb3b33163e9aee",
"plasma-sdk": "e81da0fc51c17097be82f039aae91813685cfa98",
"kemoticons": "e5dfd1aacd744fe850e5cb11966a0454e4de98ca",
"kcmutils": "134dc2ac5f45bcffcbf440c45d0446792f58c1fb",
"kconfigwidgets": "2ee793aa73f2f68f9fd679f318a6f674d56de1b5",
"ksshaskpass": "eb70339d8f4db20215b73b315938b2c2366f9b5c",
"kwallet": "3e2e788c44d0a81bebbc82bbc383281e419ab367",
"ki18n": "a630ae320573d7962f2d8f48311c9f1b77706d75",
"kunitconversion": "79479d80d4930ace36a3dbab1011a9f908df3acd",
"kdesignerplugin": "1356fcb2a7191be57c03d9c4933e1019cc51e774",
"kjsembed": "c211d3341a33177b1efc0134ea6cb16204831034",
"kdeclarative": "0e47f91b3a2c93655f25f85150faadad0d65d2c1",
"knewstuff": "c165d765d2dcbd4965b0b1c307b13dff0a6dd340",
"breeze-icons": "fa0ae34f7535ab3f354dcadeeb6121d6827abe00",
"kdbusaddons": "0347e511914a0f8eeef4163f76d27c1f4165f238",
"kmenuedit": "0ba6a7a3fb92e83b1d0c416eeb12bba2bc0cc717",
"kdecoration": "ef12857a90d61dcea7a734aa783d073d2cf9a7de",
"networkmanager-qt": "46fa01a21c5f296579c07aa2513904260efb55ff",
"ktexteditor": "16b774d31e92a87367bfd3af6eff264e85a2ebd2",
"oxygen-icons5": "11c784b38eef0074c8fced95df7e307f759b4c77",
"khelpcenter": "438bf157398393f6e550d6fa03f36609551b4ecc",
"plasma-workspace": "fb30ea87e68407515f9be246426dc27ac2630934",
"breeze-plymouth": "9194c0b79547f16d79e19a98913b85aa33f656a4",
"threadweaver": "a817f58a9c5d63c5954f75c4295b2cb37bc49f82",
"discover": "2d194491fe28896df4c0cd5d130f12f7cf40be1d",
"khotkeys": "b2de14f443de12749df07381ddef551168afa5ff",
"kirigami": "4622249da33eb03483f59326d64adea6d0ccf78e",
"milou": "57ac3c8789957ec33bbafa27e2bd7518b20ec249",
"kwayland": "98628f9387ff9628b3c7c3fa66b0db4b01ef67c8",
"knotifications": "661da6dd68cc2c9cd135231d1e9efc05494dad01",
"kdelibs4support": "1896f758d2f273fb7802b397eb49cbf09bec1912",
"kparts": "cc0d3ac0e6b672ed6691510fda21f08a55b21a30",
"krunner": "423dcb997e331f34598797de9b0b127c0748f6ec",
"plasma-framework": "16b478a8275f7718f13f6d29a0f6a6caafbc78f8",
"kdewebkit": "756755216afd6cc8f1f65d810aaaa892e62107dc",
"kitemviews": "05de3670fbd2cdd4a3c524c6391b6bbfbd0658f4",
"ksysguard": "a81d4a1fc71631d995c750c02dc961bda899f3a9",
"bluez-qt": "04d84e1b305ef76b8b3aaa8a157c42022e17a488",
"solid-power": "2bfff0463a4c2c5671c23fc9789d04c089f27459",
"kwayland-integration": "2ad7b959ebdb41ab7657c4539b38fe5271f50ffa",
"polkit-kde-agent-1": "a0b65fbbba3ff271f6486c3cdb3fcb7042c4001d",
"plasma-nm": "322aeaaf35ccc7c6cc2a2bf6217e6e4b2857371f",
"oxygen": "d01f8419c797ce5950d5897116259ed9c303f157",
"knotifyconfig": "3c8741835fab8003345e8715279e702c078faefb",
"sddm-kcm": "94077a3b48064a33b6162f6448bd3fff631cc12e",
"breeze-grub": "2c1d5e7da98cc8866f6e92104bc14fa4af63777c",
"kscreenlocker": "d20449d80bf5e0efc2abd232af01ed59f3723acb",
"kplotting": "0ea97f5124eb6599ae40deb5b00599ae58030385",
"kscreen": "362d33280ea10a4cf0edf84ec7fcd1dc7fcc439e",
"sonnet": "e8fa82febb19f748b6dc9d54441465d01426fef5",
"kactivities": "19d64627dffff9251adf1a24fec7bdfb9a931d58",
"kactivities-stats": "a320c350fda8ce81942a2e4d9b6141100d8c7679"
}
}

View file

@ -3,6 +3,7 @@
import argparse
import csv
import logging
import json
from pathlib import Path
import pickle
@ -26,6 +27,9 @@ class GitHashCache:
def __setitem__(self, key, value):
self._data[key] = value
def get(self, key, *args, **kwargs):
return self._data.get(key, *args, **kwargs)
def save(self):
logging.debug("Saving pickled data")
with open(self.cache, "wb") as handle:
@ -41,6 +45,11 @@ class GitHashCache:
with open(self.cache, "rb") as handle:
self._data = pickle.load(handle)
def to_json(self):
with Path(self.cache).with_suffix(".json").open("w") as handle:
json.dump(self._data, handle, indent=4)
def lsremote(url):
@ -64,6 +73,7 @@ def run_osc(repository, package_name):
cmd = cmd.format(repository, package_name)
logging.debug("Running {}".format(cmd))
logging.info("Updating package {0}".format(package_name))
pid = sarge.run(cmd)
@ -80,56 +90,70 @@ def update_package(hash_data, package_name, remote_name, obs_repository,
repo_name = "kde:{}".format(remote_name)
remote_hash = get_remote_hash(repo_name, branch)
current_hash = hash_data[remote_name]
repo_hashes = hash_data.get(obs_repository)
if hash_data.get(obs_repository) is None:
logging.debug("No prior data - initializing empty")
hash_data[obs_repository] = dict()
current_hash = hash_data[obs_repository].get(remote_name, "")
logging.debug("Package {}, theirs {}, ours {}".format(remote_name,
remote_hash, current_hash))
remote_hash,
current_hash))
if remote_hash != current_hash:
logging.debug("Hash doesn't match, updating")
run_osc(obs_repository, package_name)
hash_data[remote_name] = remote_hash
hash_data[obs_repository][remote_name] = remote_hash
hash_data.save()
def update_packages(cache_file, obs_repository, repo_mapping_file):
def update_packages(cache_file, repo_mapping_file):
hash_data = GitHashCache(cache_file)
hash_data.load()
logging.info("Updating packages for {}".format(obs_repository))
with open(repo_mapping_file, "r") as mapping:
reader = csv.reader(mapping, delimiter="\t")
for row in reader:
kde_name, obs_name, branch = row
branch = "master" if not branch else branch
logging.debug("Updating package {} ({})".format(kde_name,
obs_name))
logging.debug("Using branch {}".format(branch))
update_package(hash_data, obs_name, kde_name, obs_repository,
branch)
repo_data = json.load(mapping)
for obs_repository, branch_data in repo_data.items():
logging.info("Updating packages for {}".format(obs_repository))
for package in branch_data:
kde_name = package["kde"]
obs_name = package["obs"]
branch = package["branch"]
logging.debug("Updating package {} ({})".format(kde_name,
obs_name))
logging.debug("Using branch {}".format(branch))
update_package(hash_data, obs_name, kde_name, obs_repository,
branch)
logging.debug("Saving data")
hash_data.save()
hash_data.to_json()
def main():
parser = argparse.ArgumentParser()
parser.add_argument("repository", help="OBS repository to use")
parser.add_argument("mapping_file", help="KDE:OBS repository mapping file")
parser.add_argument("--debug", help="Show debugging output", action="store_true")
parser.add_argument("--debug", help="Show debugging output",
action="store_true")
options = parser.parse_args()
level = logging.INFO if not options.debug else logging.DEBUG
logging.basicConfig(format='%(levelname)s:%(message)s',
level=level)
logging.basicConfig(format='%(levelname)s - %(message)s',
level=level)
cache_file = Path.home() / ".local/share/obs_{}_cache".format(options.repository.replace(":", "_"))
cache_file = Path.home() / ".local/share/obs_repo_cache.cache"
cache_file = str(cache_file)
update_packages(cache_file, options.repository, options.mapping_file)
update_packages(cache_file, options.mapping_file)
logging.info("Complete")
if __name__ == "__main__":