Phill has proposed merging lp:~phill-ridout/openlp/ftw-json into lp:openlp.
Requested reviews: OpenLP Core (openlp-core) For more details, see: https://code.launchpad.net/~phill-ridout/openlp/ftw-json/+merge/348037 Use JSON for the config file. It allows tree structures, it easier and cleaner to parse. The download.json file now has an api version in its name, (e.g. download_3.0.json) Thought I would base it up on the version of OpenLP that support for that api version started. -- Your team OpenLP Core is requested to review the proposed merge of lp:~phill-ridout/openlp/ftw-json into lp:openlp.
=== added directory 'bibles' === added file 'bibles/ASV.sqlite' Binary files bibles/ASV.sqlite 1970-01-01 00:00:00 +0000 and bibles/ASV.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Afrikaans_Bybel.sqlite' Binary files bibles/Afrikaans_Bybel.sqlite 1970-01-01 00:00:00 +0000 and bibles/Afrikaans_Bybel.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Ang_Dating_Biblia.sqlite' Binary files bibles/Ang_Dating_Biblia.sqlite 1970-01-01 00:00:00 +0000 and bibles/Ang_Dating_Biblia.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Bible_Preklad_21_stoleti.sqlite' Binary files bibles/Bible_Preklad_21_stoleti.sqlite 1970-01-01 00:00:00 +0000 and bibles/Bible_Preklad_21_stoleti.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Cesky_studijni_preklad.sqlite' Binary files bibles/Cesky_studijni_preklad.sqlite 1970-01-01 00:00:00 +0000 and bibles/Cesky_studijni_preklad.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Elberfelder_1905.sqlite' Binary files bibles/Elberfelder_1905.sqlite 1970-01-01 00:00:00 +0000 and bibles/Elberfelder_1905.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Esperanto_Bible.sqlite' Binary files bibles/Esperanto_Bible.sqlite 1970-01-01 00:00:00 +0000 and bibles/Esperanto_Bible.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/FI_33_38_OpenLP.sqlite' Binary files bibles/FI_33_38_OpenLP.sqlite 1970-01-01 00:00:00 +0000 and bibles/FI_33_38_OpenLP.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/FI_92_OpenLP.sqlite' Binary files bibles/FI_92_OpenLP.sqlite 1970-01-01 00:00:00 +0000 and bibles/FI_92_OpenLP.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/FI_Raamattu_Kansalle_OpenLP.sqlite' Binary files bibles/FI_Raamattu_Kansalle_OpenLP.sqlite 1970-01-01 00:00:00 +0000 and bibles/FI_Raamattu_Kansalle_OpenLP.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Jo_o_Ferreira_de_Almeida_Atualizada.sqlite' Binary files bibles/Jo_o_Ferreira_de_Almeida_Atualizada.sqlite 1970-01-01 00:00:00 +0000 and bibles/Jo_o_Ferreira_de_Almeida_Atualizada.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/KJV.sqlite' Binary files bibles/KJV.sqlite 1970-01-01 00:00:00 +0000 and bibles/KJV.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Ketab-EL-Hayat.sqlite' Binary files bibles/Ketab-EL-Hayat.sqlite 1970-01-01 00:00:00 +0000 and bibles/Ketab-EL-Hayat.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Kralicka_Bible_1613.sqlite' Binary files bibles/Kralicka_Bible_1613.sqlite 1970-01-01 00:00:00 +0000 and bibles/Kralicka_Bible_1613.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Las_Sagradas_Escrituras.sqlite' Binary files bibles/Las_Sagradas_Escrituras.sqlite 1970-01-01 00:00:00 +0000 and bibles/Las_Sagradas_Escrituras.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Louis_Segon_Bible.sqlite' Binary files bibles/Louis_Segon_Bible.sqlite 1970-01-01 00:00:00 +0000 and bibles/Louis_Segon_Bible.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Luther_1545.sqlite' Binary files bibles/Luther_1545.sqlite 1970-01-01 00:00:00 +0000 and bibles/Luther_1545.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Luther_1912.sqlite' Binary files bibles/Luther_1912.sqlite 1970-01-01 00:00:00 +0000 and bibles/Luther_1912.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Magyar_jford_t_s.sqlite' Binary files bibles/Magyar_jford_t_s.sqlite 1970-01-01 00:00:00 +0000 and bibles/Magyar_jford_t_s.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Menge_Bibel.sqlite' Binary files bibles/Menge_Bibel.sqlite 1970-01-01 00:00:00 +0000 and bibles/Menge_Bibel.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Norsk-NB-1930.sqlite' Binary files bibles/Norsk-NB-1930.sqlite 1970-01-01 00:00:00 +0000 and bibles/Norsk-NB-1930.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Norsk-SMB-1921.sqlite' Binary files bibles/Norsk-SMB-1921.sqlite 1970-01-01 00:00:00 +0000 and bibles/Norsk-SMB-1921.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/RST.sqlite' Binary files bibles/RST.sqlite 1970-01-01 00:00:00 +0000 and bibles/RST.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Statenvertaling.sqlite' Binary files bibles/Statenvertaling.sqlite 1970-01-01 00:00:00 +0000 and bibles/Statenvertaling.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Sv_t_P_smo_Katol_cky_Preklad.sqlite' Binary files bibles/Sv_t_P_smo_Katol_cky_Preklad.sqlite 1970-01-01 00:00:00 +0000 and bibles/Sv_t_P_smo_Katol_cky_Preklad.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Syriac_Peshitta_NT.sqlite' Binary files bibles/Syriac_Peshitta_NT.sqlite 1970-01-01 00:00:00 +0000 and bibles/Syriac_Peshitta_NT.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/TKJV.sqlite' Binary files bibles/TKJV.sqlite 1970-01-01 00:00:00 +0000 and bibles/TKJV.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/Uma_Version.sqlite' Binary files bibles/Uma_Version.sqlite 1970-01-01 00:00:00 +0000 and bibles/Uma_Version.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/VanDyke-With-Vowels.sqlite' Binary files bibles/VanDyke-With-Vowels.sqlite 1970-01-01 00:00:00 +0000 and bibles/VanDyke-With-Vowels.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'bibles/VanDyke-Without-Vowels.sqlite' Binary files bibles/VanDyke-Without-Vowels.sqlite 1970-01-01 00:00:00 +0000 and bibles/VanDyke-Without-Vowels.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'download.cfg' --- download.cfg 1970-01-01 00:00:00 +0000 +++ download.cfg 2018-06-15 07:04:31 +0000 @@ -0,0 +1,316 @@ +# The most recent version should be added to http://openlp.org/files/frw/download.cfg +[general] +base url = https://get.openlp.org/ftw/ + +[songs] +languages = ar,de,en,fi,hu,ru,th +directory = songs + +[songs_ar] +title = Arabic +filename = songs_ar.sqlite +sha256 = 2113f239e2c470d4d464f08e21008a7f77fd001bc01ebea3f6857852c2708712 + +[songs_de] +title = Deutsch +filename = songs_de.sqlite +sha256 = bff85ee11f7f7d667cd2867a639f59f15958d5df6ac0eeedf4da7cc4facd8165 + +[songs_en] +title = English +filename = songs_en.sqlite +sha256 = 8a5e862f0ce651a9ae8cc93c938b0bb5059f2380ac445096a346480e928bb045 + +[songs_fi] +title = Suomi +filename = songs_fi.sqlite +sha256 = 601ac772d9a9a685059456186437aae128d5da30573ff08595c7f8752613a851 + +[songs_hu] +title = Magyar +filename = songs_hu.sqlite +sha256 = 1cd693f2c829eb6274dfce606cc52478cfdc6a05f00e07bdd20d0f72a18167e4 + +[songs_ru] +title = Русский +filename = songs_ru.sqlite +sha256 = 1416c3e6b551c90c4e4cb797df368a617b7a5cfec814f0fad8882ab21024aee0 + +[songs_th] +title = ภาษาไทย +filename = songs_th.sqlite +sha256 = 1066596a3941d2bcb1fad83ae81ccce146ea10ce73be57615e55f7cb02e2ceb7 + +[bibles] +translations = afr,ang,asv,prk,csp,elb,esb,fi3338,fi92,firk,jo,kelh,kjv,krl,lse,lsb,l45,l12,ma,mb,no1921,no1930,rst,sta,ssv,sp,tkjv,uma,vd,vdv +languages = af,ar,cz,de,en,eo,es,fi,fr,hu,nl,no,pt,ru,sv,th,tl,uma +directory = bibles + +[bibles_af] +title = Afrikaans +translations = afr + +[bibles_ar] +title = العربية (Arabic) +translations = sp,kelh,vd,vdv + +[bibles_cz] +title = Čeština (Czech) +translations = prk,krl,csp + +[bibles_de] +title = Deutsch +translations = elb,l12,l45,mb + +[bibles_en] +title = English +translations = asv,kjv + +[bibles_eo] +title = Esperanto +translations = esb + +[bibles_es] +title = Español +translations = lse + +[bibles_fi] +title = Suomi +translations = fi3338,fi92,firk + +[bibles_fr] +title = Français +translations = lsb + +[bibles_hu] +title = Magyar +translations = ma + +[bibles_nl] +title = Nederlandse +translations = sta + +[bibles_no] +title = Norsk +translations = no1921,no1930 + +[bibles_pt] +title = Português +translations = jo + +[bibles_ru] +title = Русский +translations = rst + +[bibles_sv] +title = Slovak +translations = ssv + +[bibles_th] +title = ภาษาไทย +translations = tkjv + +[bibles_tl] +title = Tagalog +translations = ang + +[bibles_uma] +title = Uma (Indonesia) +translations = uma + +[bible_afr] +title = Afrikaanse Bybel +filename = Afrikaans_Bybel.sqlite +sha256 = d4f12ebbb35bf589e791200dd2f320cf89f894b53953724edb458570f47affcf + +[bible_ang] +title = Ang Dating +filename = Ang_Dating_Biblia.sqlite +sha256 = 226b74a02323f56bb146e10e522e186d2387bbe2e3082b74297f1c97ce420673 + +[bible_asv] +title = American Standard Version +filename = ASV.sqlite +sha256 = 064637d15c1dd9940682460b8040f6fe1d025dd8f40637ca13c5fbdb14012d09 + +[bible_csp] +title = Český Studijní Překlad +filename = Cesky_studijni_preklad.sqlite +sha256 = 93885991c10d4ce71418c33b77cba7a321f7c66fe0d40edd7bd474160517d666 + +[bible_no1921] +title = Studentmållagsbibelen (1921) +filename = Norsk-SMB-1921.sqlite +sha256 = a7afc5b77cd54eb11c9b7d20813d56e164e935cf69ee0b38ae4126ce809a5fcd + +[bible_no1930] +title = Norsk bokmål (1930) +filename = Norsk-NB-1930.sqlite +sha256 = 641a3b52ed7fb8b2027703a1f7241577929ac97f91cf18c6e0ad9c235032b9f8 + +[bible_elb] +title = Elberfelder +filename = Elberfelder_1905.sqlite +sha256 = 32cf96da94be0df237584130df7b840b82828c753db0664393d354a4c7ac246b + +[bible_esb] +title = Esperanto Biblio +filename = Esperanto_Bible.sqlite +sha256 = 58c716f18382be192a077cb85934720315847e6b168340784df896d365ca495b + +[bible_fi3338] +title = 33/38 - Vanha kirkkoraamattu +filename = FI_33_38_OpenLP.sqlite +sha256 = 3a3dd8b5ec16a7cf5547f13b9ce4490e83ddc032b87b9a0efb383da6ab35fd70 + +[bible_fi92] +title = 92 - Uusi kirkkoraamattu +filename = FI_92_OpenLP.sqlite +sha256 = c0f0b0de574c65db60daa88b5f54d514901ae7bc86cf9933478d76575016a050 + +[bible_firk] +title = Raamattu Kansalle -käännös +filename = FI_Raamattu_Kansalle_OpenLP.sqlite +sha256 = 6982cb2b5b1061611211e62e8910289ff8702f934ddf785b7978524d3f8f9544 + +[bible_jo] +title = João Ferreira de Almeida Atualizada +filename = Jo_o_Ferreira_de_Almeida_Atualizada.sqlite +sha256 = ada5f15802a5c80cdf27ef188858d4c64e2a5d92b158c4bec7c5ca54e7cddcb1 + +[bible_kelh] +title = Ketab EL Hayat +filename = Ketab-EL-Hayat.sqlite +sha256 = 7b5d4c46fbd77477db0503b4565f1d558f6e29cf7e7e74f2ae48fbbe14766dde + +[bible_kjv] +title = King James Version +filename = KJV.sqlite +sha256 = 09e2d9d68777c75acc8b587b6be1f5253f86274774529e57a2902c14d9802d3d + +[bible_krl] +title = Kralická Bible 1613 +filename = Kralicka_Bible_1613.sqlite +sha256 = 9d9e25e3361eeb9d550aea571aad55c4320b592ed28a4fa1cf4b0dad5ee382f4 + +[bible_lse] +title = Las Sagradas Escrituras +filename = Las_Sagradas_Escrituras.sqlite +sha256 = c6654ef283f1139ba2b8d36238f38ad88a31b71599c79be3fad88db4350de939 + +[bible_lsb] +title = Louis Segon +filename = Louis_Segon_Bible.sqlite +sha256 = 8e548c384f92ee54ea46930a1547fcc574f039c3f8eaa918707f5692ceafc069 + +[bible_l45] +title = Luther 1545 +filename = Luther_1545.sqlite +sha256 = 965ca4df59fc6af80472be00fb9a92e1539792b42f2f7c368d9623d057293098 + +[bible_l12] +title = Luther 1912 +filename = Luther_1912.sqlite +sha256 = 2606b991f3254699cd236c6420b59789238118338e2778f7ed4c494861eb05ad + +[bible_ma] +title = Magyar Újfordítású +filename = Magyar_jford_t_s.sqlite +sha256 = 5509b117616e64da2486b71c344a4b58ec87634d29b0ddda528185fae19779d2 + +[bible_mb] +title = Menge +filename = Menge_Bibel.sqlite +sha256 = cad8ce0974e1b1823c8830738258941c95af2cf3a79dd3eb9e27659eb02fbdf6 + +[bible_prk] +title = Bible, Překlad 21. století +filename = Bible_Preklad_21_stoleti.sqlite +sha256 = 1fad90dc62bad7d246092dc4792eb39b89f910cf4fac0efd2bd35c69fcd89acf + +[bible_rst] +title = Синодальный перевод +filename = RST.sqlite +sha256 = 86cf69addcbd93ea53842916bc7b90c77154415880b04c933679ea9dac1cf976 + +[bible_sta] +title = Statenvertaling +filename = Statenvertaling.sqlite +sha256 = b2a699caff81c81ae11b705b09bfc85da832953ae28d838bef536e8a6c406822 + +[bible_ssv] +title = Sväté Písmo (Katolícky Preklad) +filename = Sv_t_P_smo_Katol_cky_Preklad.sqlite +sha256 = 2d9ed24fe3eece4a20ecfb0228a92729d5d681bb8b65cb7f6dde18ca2839f5d8 + +[bible_sp] +title = Syriac Peshitta +filename = Syriac_Peshitta_NT.sqlite +sha256 = a7a1ccb205e8e0c92707344e90efbf0c8e60c8ad95eeb216c8b41ce23a231eef + +[bible_tkjv] +title = พระคัมภีร์ภาษาไทยฉบับ KJV +filename = TKJV.sqlite +sha256 = b053589c2d8f760556e5df2018d77b2bfda6c658e79835046d5e173ab2d341d9 + +[bible_uma] +title = Uma Version +filename = Uma_Version.sqlite +sha256 = 59ea6b77e246790794172cae0ecf70a34e59b602f0791d19789763faad12e368 + +[bible_vd] +title = VanDyke Without Vowels +filename = VanDyke-Without-Vowels.sqlite +sha256 = b3d216b92c62954da7b69c27eb2872b1163f49fa290a23acc6cb3274d1f68f56 + +[bible_vdv] +title = VanDyke With Vowels +filename = VanDyke-With-Vowels.sqlite +sha256 = c1767d8bc2e6aff9097f63f3f9a15af134841ee3fdf40267adba3263f5a6ba0f + +[themes] +files = mot,swt,sr,wt,bb,cl,geop +directory = themes + +[theme_mot] +title = Moss on tree +filename = Moss_on_tree.otz +screenshot = Moss_on_tree.png +sha256 = b3b9d286610f7639fedf21a04670f011801f79c06004d7d4295c947a0c584462 + +[theme_swt] +title = Sea with trees +filename = Sea_with_trees.otz +screenshot = Sea_with_trees.png +sha256 = 66a9c831fa8c6805ba22502f2544469a717bf74c1f2a206a1b45e09b95493eed + +[theme_sr] +title = Sunrise +filename = Sunrise.otz +screenshot = Sunrise.png +sha256 = b22ddede83e269fa69e603ec75c2f5caae1cc580f45890f99ca960bf826a5d59 + +[theme_wt] +title = Wheat +filename = Wheat.otz +screenshot = Wheat.png +sha256 = 63fde97b7d35722c8fe06e1cfe8236e6d212d944d43c04f6b77f5156b83f5a3f + +[theme_bb] +title = Blue Burst +filename = BlueBurst.otz +screenshot = BlueBurst.png +sha256 = 6105626b6da8b358adb8eedb9da986f1149667a1bff324f8bd4549345d2fad56 + +[theme_cl] +title = Clouds +filename = Clouds.otz +screenshot = Clouds.png +sha256 = d28eafd838be33df58e7ff160d29b0c3ec7024927b62fa2308aa5b259f31d5ea + +[theme_geop] +title = Geo Purple +filename = Geo_Purple.otz +screenshot = Geo_Purple.png +sha256 = aee81f16183122d14c0ca9f7582d3adbe1eb8c932c635885fcfb2c50fc36c1aa + === added file 'download_3.0.json' --- download_3.0.json 1970-01-01 00:00:00 +0000 +++ download_3.0.json 2018-06-15 07:04:31 +0000 @@ -0,0 +1,326 @@ +{ + "_comments": "The most recent version should be added to http://openlp.org/files/frw/download.cfg", + "_meta": { + "base_url": "https://get.openlp.org/ftw/", + "bibles_dir": "bibles", + "songs_dir": "songs", + "themes_dir": "themes" + }, + "bibles": { + "af": { + "title": "Afrikaans", + "translations": { + "afr": { + "file_name": "Afrikaans_Bybel.sqlite", + "sha256": "d4f12ebbb35bf589e791200dd2f320cf89f894b53953724edb458570f47affcf", + "title": "Afrikaanse Bybel" + } + } + }, + "ar": { + "title": "العربية (Arabic)", + "translations": { + "kelh": { + "file_name": "Ketab-EL-Hayat.sqlite", + "sha256": "7b5d4c46fbd77477db0503b4565f1d558f6e29cf7e7e74f2ae48fbbe14766dde", + "title": "Ketab EL Hayat" + }, + "sp": { + "file_name": "Syriac_Peshitta_NT.sqlite", + "sha256": "a7a1ccb205e8e0c92707344e90efbf0c8e60c8ad95eeb216c8b41ce23a231eef", + "title": "Syriac Peshitta" + }, + "vd": { + "file_name": "VanDyke-Without-Vowels.sqlite", + "sha256": "b3d216b92c62954da7b69c27eb2872b1163f49fa290a23acc6cb3274d1f68f56", + "title": "VanDyke Without Vowels" + }, + "vdv": { + "file_name": "VanDyke-With-Vowels.sqlite", + "sha256": "c1767d8bc2e6aff9097f63f3f9a15af134841ee3fdf40267adba3263f5a6ba0f", + "title": "VanDyke With Vowels" + } + } + }, + "cz": { + "title": "Čeština (Czech)", + "translations": { + "csp": { + "file_name": "Cesky_studijni_preklad.sqlite", + "sha256": "93885991c10d4ce71418c33b77cba7a321f7c66fe0d40edd7bd474160517d666", + "title": "Český Studijní Překlad" + }, + "krl": { + "file_name": "Kralicka_Bible_1613.sqlite", + "sha256": "9d9e25e3361eeb9d550aea571aad55c4320b592ed28a4fa1cf4b0dad5ee382f4", + "title": "Kralická Bible 1613" + }, + "prk": { + "file_name": "Bible_Preklad_21_stoleti.sqlite", + "sha256": "1fad90dc62bad7d246092dc4792eb39b89f910cf4fac0efd2bd35c69fcd89acf", + "title": "Bible, Překlad 21. století" + } + } + }, + "de": { + "title": "Deutsch", + "translations": { + "145": { + "file_name": "Luther_1545.sqlite", + "sha256": "965ca4df59fc6af80472be00fb9a92e1539792b42f2f7c368d9623d057293098", + "title": "Luther 1545" + }, + "elb": { + "file_name": "Elberfelder_1905.sqlite", + "sha256": "32cf96da94be0df237584130df7b840b82828c753db0664393d354a4c7ac246b", + "title": "Elberfelder" + }, + "l12": { + "file_name": "Luther_1912.sqlite", + "sha256": "2606b991f3254699cd236c6420b59789238118338e2778f7ed4c494861eb05ad", + "title": "Luther 1912" + }, + "mb": { + "file_name": "Menge_Bibel.sqlite", + "sha256": "cad8ce0974e1b1823c8830738258941c95af2cf3a79dd3eb9e27659eb02fbdf6", + "title": "Menge" + } + } + }, + "en": { + "title": "English", + "translations": { + "asv": { + "file_name": "ASV.sqlite", + "sha256": "064637d15c1dd9940682460b8040f6fe1d025dd8f40637ca13c5fbdb14012d09", + "title": "American Standard Version" + }, + "kjv": { + "file_name": "KJV.sqlite", + "sha256": "09e2d9d68777c75acc8b587b6be1f5253f86274774529e57a2902c14d9802d3d", + "title": "King James Version" + } + } + }, + "eo": { + "title": "Esperanto", + "translations": { + "esb": { + "file_name": "Esperanto_Bible.sqlite", + "sha256": "58c716f18382be192a077cb85934720315847e6b168340784df896d365ca495b", + "title": "Esperanto Biblio" + } + } + }, + "es": { + "title": "Español", + "translations": { + "lse": { + "file_name": "Las_Sagradas_Escrituras.sqlite", + "sha256": "c6654ef283f1139ba2b8d36238f38ad88a31b71599c79be3fad88db4350de939", + "title": "Las Sagradas Escrituras" + } + } + }, + "fi": { + "title": "Suomi", + "translations": { + "fi3338": { + "file_name": "FI_33_38_OpenLP.sqlite", + "sha256": "3a3dd8b5ec16a7cf5547f13b9ce4490e83ddc032b87b9a0efb383da6ab35fd70", + "title": "33/38 - Vanha kirkkoraamattu" + }, + "fi92": { + "file_name": "FI_92_OpenLP.sqlite", + "sha256": "c0f0b0de574c65db60daa88b5f54d514901ae7bc86cf9933478d76575016a050", + "title": "92 - Uusi kirkkoraamattu" + }, + "firk": { + "file_name": "FI_Raamattu_Kansalle_OpenLP.sqlite", + "sha256": "6982cb2b5b1061611211e62e8910289ff8702f934ddf785b7978524d3f8f9544", + "title": "Raamattu Kansalle -käännös" + } + } + }, + "fr": { + "title": "Français", + "translations": { + "lsb": { + "file_name": "Louis_Segon_Bible.sqlite", + "sha256": "8e548c384f92ee54ea46930a1547fcc574f039c3f8eaa918707f5692ceafc069", + "title": "Louis Segon" + } + } + }, + "hu": { + "title": "Magyar", + "translations": { + "ma": { + "file_name": "Magyar_jford_t_s.sqlite", + "sha256": "5509b117616e64da2486b71c344a4b58ec87634d29b0ddda528185fae19779d2", + "title": "Magyar Újfordítású" + } + } + }, + "nl": { + "title": "Nederlandse", + "translations": { + "sta": { + "file_name": "Statenvertaling.sqlite", + "sha256": "b2a699caff81c81ae11b705b09bfc85da832953ae28d838bef536e8a6c406822", + "title": "Statenvertaling" + } + } + }, + "no": { + "title": "Nederlandse", + "translations": { + "no1921": { + "file_name": "Norsk-SMB-1921.sqlite", + "sha256": "a7afc5b77cd54eb11c9b7d20813d56e164e935cf69ee0b38ae4126ce809a5fcd", + "title": "Studentmållagsbibelen (1921)" + }, + "no1930": { + "file_name": "Norsk-NB-1930.sqlite", + "sha256": "641a3b52ed7fb8b2027703a1f7241577929ac97f91cf18c6e0ad9c235032b9f8", + "title": "Norsk bokmål (1930)" + } + } + }, + "pt": { + "title": "Português", + "translations": { + "jo": { + "file_name": "Jo_o_Ferreira_de_Almeida_Atualizada.sqlite", + "sha256": "ada5f15802a5c80cdf27ef188858d4c64e2a5d92b158c4bec7c5ca54e7cddcb1", + "title": "João Ferreira de Almeida Atualizada" + } + } + }, + "ru": { + "title": "Русский", + "translations": { + "rst": { + "file_name": "RST.sqlite", + "sha256": "86cf69addcbd93ea53842916bc7b90c77154415880b04c933679ea9dac1cf976", + "title": "Синодальный перевод" + } + } + }, + "sv": { + "title": "Slovak", + "translations": { + "ssv": { + "file_name": "Sv_t_P_smo_Katol_cky_Preklad.sqlite", + "sha256": "2d9ed24fe3eece4a20ecfb0228a92729d5d681bb8b65cb7f6dde18ca2839f5d8", + "title": "Sväté Písmo (Katolícky Preklad)" + } + } + }, + "th": { + "title": "ภาษาไทย", + "translations": { + "tkjv": { + "file_name": "TKJV.sqlite", + "sha256": "b053589c2d8f760556e5df2018d77b2bfda6c658e79835046d5e173ab2d341d9", + "title": "พระคัมภีร์ภาษาไทยฉบับ KJV" + } + } + }, + "tl": { + "title": "Tagalog", + "translations": { + "ang": { + "file_name": "Ang_Dating_Biblia.sqlite", + "sha256": "226b74a02323f56bb146e10e522e186d2387bbe2e3082b74297f1c97ce420673", + "title": "Ang Dating" + } + } + }, + "uma": { + "title": "Uma (Indonesia)", + "translations": { + "uma": { + "file_name": "Uma_Version.sqlite", + "sha256": "59ea6b77e246790794172cae0ecf70a34e59b602f0791d19789763faad12e368", + "title": "Uma Version" + } + } + } + }, + "songs": { + "ar": { + "file_name": "songs_ar.sqlite", + "sha256": "2113f239e2c470d4d464f08e21008a7f77fd001bc01ebea3f6857852c2708712", + "title": "Arabic" + }, + "de": { + "file_name": "songs_de.sqlite", + "sha256": "bff85ee11f7f7d667cd2867a639f59f15958d5df6ac0eeedf4da7cc4facd8165", + "title": "Deutsch" + }, + "en": { + "file_name": "songs_en.sqlite", + "sha256": "8a5e862f0ce651a9ae8cc93c938b0bb5059f2380ac445096a346480e928bb045", + "title": "English" + }, + "fi": { + "file_name": "songs_fi.sqlite", + "sha256": "601ac772d9a9a685059456186437aae128d5da30573ff08595c7f8752613a851", + "title": "Suomi" + }, + "hu": { + "file_name": "songs_hu.sqlite", + "sha256": "1cd693f2c829eb6274dfce606cc52478cfdc6a05f00e07bdd20d0f72a18167e4", + "title": "Magyar" + }, + "ru": { + "file_name": "songs_ru.sqlite", + "sha256": "1416c3e6b551c90c4e4cb797df368a617b7a5cfec814f0fad8882ab21024aee0", + "title": "Русский" + }, + "th": { + "file_name": "songs_th.sqlite", + "sha256": "1066596a3941d2bcb1fad83ae81ccce146ea10ce73be57615e55f7cb02e2ceb7", + "title": "ภาษาไทย" + } + }, + "themes": { + "bb": { + "file_name": "BlueBurst.otz", + "sha256": "6105626b6da8b358adb8eedb9da986f1149667a1bff324f8bd4549345d2fad56", + "thumbnail": "BlueBurst.png", + "title": "Blue Burst" + }, + "cl": { + "file_name": "Clouds.otz", + "sha256": "d28eafd838be33df58e7ff160d29b0c3ec7024927b62fa2308aa5b259f31d5ea", + "thumbnail": "Clouds.png", + "title": "Clouds" + }, + "geop": { + "file_name": "Geo_Purple.otz", + "sha256": "aee81f16183122d14c0ca9f7582d3adbe1eb8c932c635885fcfb2c50fc36c1aa", + "thumbnail": "Geo_Purple.png", + "title": "Geo Purple" + }, + "mot": { + "file_name": "Moss_on_tree.otz", + "sha256": "b3b9d286610f7639fedf21a04670f011801f79c06004d7d4295c947a0c584462", + "thumbnail": "Moss_on_tree.png", + "title": "Moss on tree" + }, + "swt": { + "file_name": "Sea_with_trees.otz", + "sha256": "66a9c831fa8c6805ba22502f2544469a717bf74c1f2a206a1b45e09b95493eed", + "thumbnail": "Sea_with_trees.png", + "title": "Sea with trees" + }, + "wt": { + "file_name": "Wheat.otz", + "sha256": "63fde97b7d35722c8fe06e1cfe8236e6d212d944d43c04f6b77f5156b83f5a3f", + "thumbnail": "Wheat.png", + "title": "Wheat" + } + } +} \ No newline at end of file === added directory 'scripts' === renamed directory 'scripts' => 'scripts.moved' === added file 'scripts/hashgen.py' --- scripts/hashgen.py 1970-01-01 00:00:00 +0000 +++ scripts/hashgen.py 2018-06-15 07:04:31 +0000 @@ -0,0 +1,89 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2015 OpenLP Developers # +# --------------------------------------------------------------------------- # +# 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; version 2 of the License. # +# # +# 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, write to the Free Software Foundation, Inc., 59 # +# Temple Place, Suite 330, Boston, MA 02111-1307 USA # +############################################################################### +""" +This script (re)generates a SHA256 hash for each file in the download.cfg file +""" + +from configparser import ConfigParser +from hashlib import sha256 +import os + + +def hash_file(file_path, block_size=65536): + """ + Hash the given file block by block for memory efficiency + + :param file_path: Path to file to hash. Type str + :param block_size: Size of blocks to process the file in. Type int + :return: None + """ + file = open(file_path, 'rb') + hasher = sha256() + buf = file.read(block_size) + while len(buf) > 0: + hasher.update(buf) + buf = file.read(block_size) + return hasher.hexdigest() + + +def write_hash(section, path): + """ + Get the name of the a file from a config section and write its hash back to the same section. + + :param section: Config section to read the filename from and write the hash to. Type configparser.SectionProxy + :param path: Path to the folder containg the file to hash. Type str + :return: None + """ + section['sha256'] = hash_file(os.path.join(path, section['filename'])) + + +def main(): + cfg_file = os.path.abspath(os.path.join('..', 'download.cfg')) + if not os.path.exists(cfg_file): + print('Can\'t find download.cfg. You need to run hashgen.py from the scripts directory.') + return False + + config = ConfigParser() + config.read(cfg_file) + + song_folder = os.path.join('..', config['songs']['directory']) + for lang in config['songs']['languages'].split(','): + section = config['songs_{}'.format(lang)] + write_hash(section, song_folder) + + bible_folder = os.path.join('..', config['bibles']['directory']) + for translation in config['bibles']['translations'].split(','): + section = config['bible_{}'.format(translation)] + write_hash(section, bible_folder) + + theme_folder = os.path.join('..', config['themes']['directory']) + for file in config['themes']['files'].split(','): + section = config['theme_{}'.format(file)] + write_hash(section, theme_folder) + + with open(cfg_file, 'w') as configfile: + configfile.write('# The most recent version should be added to http://openlp.org/files/frw/download.cfg\n') + config.write(configfile) + +if __name__ == '__main__': + main() === added file 'scripts/jsongen.py' --- scripts/jsongen.py 1970-01-01 00:00:00 +0000 +++ scripts/jsongen.py 2018-06-15 07:04:31 +0000 @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2018 OpenLP Developers # +# --------------------------------------------------------------------------- # +# 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; version 2 of the License. # +# # +# 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, write to the Free Software Foundation, Inc., 59 # +# Temple Place, Suite 330, Boston, MA 02111-1307 USA # +############################################################################### +""" +This script (re)generates a SHA256 hash for each file in the download_3.0.json file +""" +import json +from hashlib import sha256 +from pathlib import Path + +CONFIG_FILE_NAME = 'download_3.0.conf' + +def hash_file(file_path, block_size=65536): + """ + Hash the given file block by block for memory efficiency + + :param pathlib.Path file_path: Path to file to hash. + :param int block_size: Size of blocks to process the file in. + :return: The sha256 hash of the file. + :rtype: str + """ + with file_path.open(mode='rb') as file: + print(f'Calculating hash for {file_path}') + hasher = sha256() + buf = file.read(block_size) + while len(buf) > 0: + hasher.update(buf) + buf = file.read(block_size) + return hasher.hexdigest() + + +def main(): + """ + Parse the json resource file and calculate a hash for each file + """ + cfg_file_path = Path('..', CONFIG_FILE_NAME) + if not cfg_file_path.exists(): + print('Can\'t find download_3.0.json. You need to run hashgen.py from the scripts directory.') + return False + + with cfg_file_path.open(mode='r', encoding='utf-8') as config_file: + config = json.load(config_file) + + meta = config['_meta'] + song_folder = Path('..', meta['songs_dir']) + for lang in config['songs'].values(): + song_db_path = song_folder / lang['file_name'] + lang['sha256'] = hash_file(song_db_path) + + bible_folder = Path('..', meta['bibles_dir']) + for lang in config['bibles'].values(): + for translation in lang['translations'].values(): + bible_db_path = bible_folder / translation['file_name'] + translation['sha256'] = hash_file(bible_db_path) + + theme_folder = Path('..', meta['themes_dir']) + for theme in config['themes'].values(): + theme_db_path = theme_folder / theme['file_name'] + theme['sha256'] = hash_file(theme_db_path) + + with cfg_file_path.open(mode='w', encoding='utf-8') as config_file: + json.dump(config, config_file, sort_keys=True, indent=2, ensure_ascii=False) + + +if __name__ == '__main__': + main() === added directory 'songs' === added file 'songs/songs_ar.sqlite' Binary files songs/songs_ar.sqlite 1970-01-01 00:00:00 +0000 and songs/songs_ar.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'songs/songs_de.sqlite' Binary files songs/songs_de.sqlite 1970-01-01 00:00:00 +0000 and songs/songs_de.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'songs/songs_en.sqlite' Binary files songs/songs_en.sqlite 1970-01-01 00:00:00 +0000 and songs/songs_en.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'songs/songs_fi.sqlite' Binary files songs/songs_fi.sqlite 1970-01-01 00:00:00 +0000 and songs/songs_fi.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'songs/songs_hu.sqlite' Binary files songs/songs_hu.sqlite 1970-01-01 00:00:00 +0000 and songs/songs_hu.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'songs/songs_ru.sqlite' Binary files songs/songs_ru.sqlite 1970-01-01 00:00:00 +0000 and songs/songs_ru.sqlite 2018-06-15 07:04:31 +0000 differ === added file 'songs/songs_th.sqlite' Binary files songs/songs_th.sqlite 1970-01-01 00:00:00 +0000 and songs/songs_th.sqlite 2018-06-15 07:04:31 +0000 differ === added directory 'themes' === added file 'themes/BlueBurst.otz' Binary files themes/BlueBurst.otz 1970-01-01 00:00:00 +0000 and themes/BlueBurst.otz 2018-06-15 07:04:31 +0000 differ === added file 'themes/BlueBurst.png' Binary files themes/BlueBurst.png 1970-01-01 00:00:00 +0000 and themes/BlueBurst.png 2018-06-15 07:04:31 +0000 differ === added file 'themes/Clouds.otz' Binary files themes/Clouds.otz 1970-01-01 00:00:00 +0000 and themes/Clouds.otz 2018-06-15 07:04:31 +0000 differ === added file 'themes/Clouds.png' Binary files themes/Clouds.png 1970-01-01 00:00:00 +0000 and themes/Clouds.png 2018-06-15 07:04:31 +0000 differ === added file 'themes/Geo_Purple.otz' Binary files themes/Geo_Purple.otz 1970-01-01 00:00:00 +0000 and themes/Geo_Purple.otz 2018-06-15 07:04:31 +0000 differ === added file 'themes/Geo_Purple.png' Binary files themes/Geo_Purple.png 1970-01-01 00:00:00 +0000 and themes/Geo_Purple.png 2018-06-15 07:04:31 +0000 differ === added file 'themes/Moss_on_tree.otz' Binary files themes/Moss_on_tree.otz 1970-01-01 00:00:00 +0000 and themes/Moss_on_tree.otz 2018-06-15 07:04:31 +0000 differ === added file 'themes/Moss_on_tree.png' Binary files themes/Moss_on_tree.png 1970-01-01 00:00:00 +0000 and themes/Moss_on_tree.png 2018-06-15 07:04:31 +0000 differ === added file 'themes/Sea_with_trees.otz' Binary files themes/Sea_with_trees.otz 1970-01-01 00:00:00 +0000 and themes/Sea_with_trees.otz 2018-06-15 07:04:31 +0000 differ === added file 'themes/Sea_with_trees.png' Binary files themes/Sea_with_trees.png 1970-01-01 00:00:00 +0000 and themes/Sea_with_trees.png 2018-06-15 07:04:31 +0000 differ === added file 'themes/Sunrise.otz' Binary files themes/Sunrise.otz 1970-01-01 00:00:00 +0000 and themes/Sunrise.otz 2018-06-15 07:04:31 +0000 differ === added file 'themes/Sunrise.png' Binary files themes/Sunrise.png 1970-01-01 00:00:00 +0000 and themes/Sunrise.png 2018-06-15 07:04:31 +0000 differ === added file 'themes/Wheat.otz' Binary files themes/Wheat.otz 1970-01-01 00:00:00 +0000 and themes/Wheat.otz 2018-06-15 07:04:31 +0000 differ === added file 'themes/Wheat.png' Binary files themes/Wheat.png 1970-01-01 00:00:00 +0000 and themes/Wheat.png 2018-06-15 07:04:31 +0000 differ
_______________________________________________ Mailing list: https://launchpad.net/~openlp-core Post to : openlp-core@lists.launchpad.net Unsubscribe : https://launchpad.net/~openlp-core More help : https://help.launchpad.net/ListHelp