From 93032c98ee6996346b346a62ea96d57d7f33fe51 Mon Sep 17 00:00:00 2001 From: unkn0w7n <51942695+unkn0w7n@users.noreply.github.com> Date: Sun, 6 Oct 2024 18:21:53 +0530 Subject: [PATCH] remove dead recipes These recipes are based on RSS feeds that no longer work. --- recipes/icons/jagran_josh.png | Bin 1044 -> 0 bytes recipes/icons/jalopnik.png | Bin 1071 -> 0 bytes recipes/icons/jb_online.png | Bin 706 -> 0 bytes recipes/icons/jbpress.png | Bin 676 -> 0 bytes recipes/icons/jezebel.png | Bin 70 -> 0 bytes recipes/icons/joelonsoftware.png | Bin 140 -> 0 bytes recipes/icons/joongang.png | Bin 1592 -> 0 bytes recipes/icons/journalgazette.png | Bin 225 -> 0 bytes recipes/icons/jp_dk.png | Bin 330 -> 0 bytes recipes/icons/jpost_fr.png | Bin 132 -> 0 bytes recipes/icons/jsonline.png | Bin 566 -> 0 bytes recipes/icons/jurnalulnational.png | Bin 711 -> 0 bytes recipes/icons/jutarnji.png | Bin 801 -> 0 bytes recipes/icons/juve_la_stampa.png | Bin 697 -> 0 bytes recipes/icons/jv_dk.png | Bin 638 -> 0 bytes recipes/icons/kahokushinpo.png | Bin 1715 -> 0 bytes recipes/icons/kaloeviglokalavisen_dk.png | Bin 801 -> 0 bytes recipes/icons/kamikaze.png | Bin 250 -> 0 bytes recipes/icons/karsi_gazete.png | Bin 1252 -> 0 bytes recipes/icons/kathemerini.png | Bin 515 -> 0 bytes recipes/icons/kellog_insight.png | Bin 708 -> 0 bytes recipes/icons/kerrang.png | Bin 1472 -> 0 bytes recipes/icons/kgsenghavebladet_dk.png | Bin 262 -> 0 bytes recipes/icons/kholod.png | Bin 8337 -> 0 bytes recipes/icons/kholod_en.png | Bin 707 -> 0 bytes recipes/icons/kidney.png | Bin 348 -> 0 bytes recipes/icons/kitsapun.png | Bin 2136 -> 0 bytes recipes/icons/km_blog.png | Bin 317 -> 0 bytes recipes/icons/knack_be.png | Bin 595 -> 0 bytes recipes/icons/koegelokalavisen_dk.png | Bin 801 -> 0 bytes recipes/icons/koldinglokalavisen_dk.png | Bin 801 -> 0 bytes recipes/icons/komchadluek.png | Bin 451 -> 0 bytes recipes/icons/kompas.png | Bin 1839 -> 0 bytes recipes/icons/kotaku.png | Bin 158 -> 0 bytes recipes/icons/kp.png | Bin 244 -> 0 bytes recipes/icons/kristeligt_dagblad_dk.png | Bin 448 -> 0 bytes recipes/icons/krstarica_en.png | Bin 484 -> 0 bytes recipes/icons/ksiazka_pl.png | Bin 764 -> 0 bytes recipes/icons/kukuburi.png | Bin 670 -> 0 bytes recipes/icons/kurier_poranny.png | Bin 166 -> 0 bytes recipes/icons/kurier_szczecinski.png | Bin 756 -> 0 bytes recipes/icons/kyivpost_ar.png | Bin 636 -> 0 bytes recipes/icons/l_espresso.png | Bin 1029 -> 0 bytes recipes/icons/la_cuarta.png | Bin 335 -> 0 bytes recipes/icons/la_gazetta_del_mezzogiorno.png | Bin 1679 -> 0 bytes recipes/icons/la_gazzeta_dello_sport.png | Bin 1119 -> 0 bytes recipes/icons/la_pausa_caffe.png | Bin 825 -> 0 bytes recipes/icons/la_razon_bo.png | Bin 115 -> 0 bytes recipes/icons/la_rioja.png | Bin 462 -> 0 bytes recipes/icons/la_segunda.png | Bin 923 -> 0 bytes recipes/icons/la_tercera.png | Bin 222 -> 0 bytes recipes/icons/la_tribuna.png | Bin 1438 -> 0 bytes recipes/icons/lameuse_be.png | Bin 1241 -> 0 bytes recipes/icons/lanacion_chile.png | Bin 177 -> 0 bytes recipes/icons/laprensa_hn.png | Bin 133 -> 0 bytes recipes/icons/laprensa_ni.png | Bin 472 -> 0 bytes recipes/icons/latribuna.png | Bin 355 -> 0 bytes recipes/icons/lavanguardia.png | Bin 806 -> 0 bytes .../icons/lavanguardia_corresponsales_es.png | Bin 806 -> 0 bytes recipes/icons/lavenir_be.png | Bin 1709 -> 0 bytes recipes/icons/le_journal.png | Bin 1621 -> 0 bytes recipes/icons/le_temps.png | Bin 372 -> 0 bytes recipes/icons/leduc.png | Bin 1076 -> 0 bytes recipes/icons/legitymizm.png | Bin 469 -> 0 bytes recipes/icons/leipzer_volkszeitung.png | Bin 1417 -> 0 bytes recipes/icons/lequipe.png | Bin 570 -> 0 bytes recipes/icons/les_echos.png | Bin 1279 -> 0 bytes recipes/icons/lescienze.png | Bin 1678 -> 0 bytes recipes/icons/lesoir_be.png | Bin 2022 -> 0 bytes recipes/icons/levante.png | Bin 484 -> 0 bytes recipes/icons/lidovky.png | Bin 1361 -> 0 bytes recipes/icons/lifehacker_pl.png | Bin 832 -> 0 bytes recipes/icons/limes.png | Bin 508 -> 0 bytes recipes/icons/london_free_press.png | Bin 429 -> 0 bytes recipes/icons/los_danieles.png | Bin 836 -> 0 bytes recipes/icons/los_tiempos_bo.png | Bin 206 -> 0 bytes recipes/icons/losservatoreromano_it.png | Bin 1574 -> 0 bytes recipes/icons/luns_a_venres.png | Bin 1041 -> 0 bytes .../icons/lyngby-taarbaeklokalavisen_dk.png | Bin 801 -> 0 bytes recipes/icons/mac_world.png | Bin 280 -> 0 bytes recipes/icons/mac_world_uk.png | Bin 1073 -> 0 bytes recipes/icons/macity.png | Bin 1483 -> 0 bytes recipes/icons/macleans.png | Bin 502 -> 0 bytes recipes/icons/maekyung.png | Bin 342 -> 0 bytes recipes/icons/maharashtra_times.png | Bin 764 -> 0 bytes recipes/icons/malaya_business_insight.png | Bin 1480 -> 0 bytes recipes/icons/mandidner.png | Bin 594 -> 0 bytes recipes/icons/marine_corps_times.png | Bin 906 -> 0 bytes recipes/icons/marketing_sensoriale.png | Bin 658 -> 0 bytes recipes/icons/matichon.png | Bin 888 -> 0 bytes recipes/icons/mayra.png | Bin 532 -> 0 bytes recipes/icons/mediterraneo.png | Bin 1357 -> 0 bytes recipes/icons/melbourne_herald_sun.png | Bin 1147 -> 0 bytes recipes/icons/mens_day_out.png | Bin 2017 -> 0 bytes recipes/icons/mens_health.png | Bin 245 -> 0 bytes recipes/icons/metro_montreal.png | Bin 1424 -> 0 bytes recipes/icons/metro_news_nl.png | Bin 651 -> 0 bytes recipes/icons/metro_uk.png | Bin 661 -> 0 bytes recipes/icons/military_times.png | Bin 1111 -> 0 bytes recipes/icons/mlody_technik_pl.png | Bin 496 -> 0 bytes recipes/icons/mobilenations.png | Bin 338 -> 0 bytes recipes/icons/moldovaazi.png | Bin 241 -> 0 bytes recipes/icons/monbiot.png | Bin 665 -> 0 bytes recipes/icons/mondedurable.png | Bin 1397 -> 0 bytes recipes/icons/money_pl.png | Bin 370 -> 0 bytes recipes/icons/moneyro.png | Bin 132 -> 0 bytes recipes/icons/more_intelligent_life.png | Bin 1009 -> 0 bytes recipes/icons/movie_web.png | Bin 1026 -> 0 bytes recipes/icons/msdnmag_en.png | Bin 525 -> 0 bytes recipes/icons/msnsankei.png | Bin 278 -> 0 bytes recipes/icons/nadacni_fond_proti_korupci.png | Bin 249 -> 0 bytes recipes/icons/nation_ke.png | Bin 474 -> 0 bytes recipes/icons/national_geographic_it.png | Bin 107 -> 0 bytes recipes/icons/nationalgeoro.png | Bin 122 -> 0 bytes recipes/icons/nationalreviewonline.png | Bin 768 -> 0 bytes recipes/jagran_josh.recipe | 18 -- recipes/jakarta_globe.recipe | 29 --- recipes/jalopnik.recipe | 42 ---- recipes/japaa.recipe | 102 -------- recipes/jb_online.recipe | 48 ---- recipes/jbpress.recipe | 55 ---- recipes/jezebel.recipe | 40 --- recipes/joelonsoftware.recipe | 35 --- recipes/joongang.recipe | 36 --- recipes/journalgazette.recipe | 30 --- recipes/jp_dk.recipe | 28 --- recipes/jpost_fr.recipe | 66 ----- recipes/jsonline.recipe | 58 ----- recipes/jurnalulnational.recipe | 50 ---- recipes/jutarnji.recipe | 85 ------- recipes/juve_la_stampa.recipe | 20 -- recipes/jv_dk.recipe | 42 ---- recipes/kahokushinpo.recipe | 25 -- recipes/kaloeviglokalavisen_dk.recipe | 32 --- recipes/kamikaze.recipe | 49 ---- recipes/karsi_gazete.recipe | 35 --- recipes/kathemerini.recipe | 68 ----- recipes/kellog_insight.recipe | 52 ---- recipes/kerrang.recipe | 35 --- recipes/kgsenghavebladet_dk.recipe | 28 --- recipes/kholod.recipe | 47 ---- recipes/kholod_en.recipe | 31 --- recipes/kidney.recipe | 115 --------- recipes/kitsapun.recipe | 31 --- recipes/klubknjige.recipe | 41 --- recipes/km_blog.recipe | 29 --- recipes/knack_be.recipe | 39 --- recipes/koegelokalavisen_dk.recipe | 32 --- recipes/koldinglokalavisen_dk.recipe | 32 --- recipes/komchadluek.recipe | 66 ----- recipes/kompas.recipe | 86 ------- recipes/kotaku.recipe | 39 --- recipes/kp.recipe | 29 --- recipes/kristeligt_dagblad_dk.recipe | 28 --- recipes/krstarica_en.recipe | 59 ----- recipes/ksiazka_pl.recipe | 33 --- recipes/kukuburi.recipe | 39 --- recipes/kurier_poranny.recipe | 58 ----- recipes/kurier_szczecinski.recipe | 51 ---- recipes/kyivpost_ar.recipe | 37 --- recipes/l_espresso.recipe | 46 ---- recipes/l_vivs_ghazieta.recipe | 40 --- recipes/la_cuarta.recipe | 48 ---- recipes/la_gazetta_del_mezzogiorno.recipe | 44 ---- recipes/la_gazzeta_dello_sport.recipe | 83 ------- recipes/la_pausa_caffe.recipe | 17 -- recipes/la_razon_bo.recipe | 68 ----- recipes/la_rioja.recipe | 51 ---- recipes/la_segunda.recipe | 50 ---- recipes/la_tercera.recipe | 59 ----- recipes/la_tribuna.recipe | 73 ------ recipes/lameuse_be.recipe | 55 ---- recipes/lanacion_chile.recipe | 57 ----- recipes/laprensa_hn.recipe | 64 ----- recipes/laprensa_ni.recipe | 71 ------ recipes/latribuna.recipe | 75 ------ recipes/lavanguardia.recipe | 76 ------ recipes/lavanguardia_corresponsales_es.recipe | 59 ----- recipes/lavenir_be.recipe | 47 ---- recipes/le_journal.recipe | 43 ---- recipes/le_temps.recipe | 119 --------- recipes/leduc.recipe | 52 ---- recipes/legitymizm.recipe | 50 ---- recipes/leipzer_volkszeitung.recipe | 41 --- recipes/lequipe.recipe | 46 ---- recipes/les_echos.recipe | 18 -- recipes/lescienze.recipe | 49 ---- recipes/lesoir_be.recipe | 51 ---- recipes/letsgetcritical.recipe | 96 ------- recipes/levante.recipe | 105 -------- recipes/liberation.recipe | 2 +- recipes/libero.recipe | 58 ----- recipes/lidovky.recipe | 37 --- recipes/lifehacker_pl.recipe | 29 --- recipes/limes.recipe | 52 ---- recipes/living_stones.recipe | 27 -- recipes/london_free_press.recipe | 39 --- recipes/los_danieles.recipe | 16 -- recipes/los_tiempos_bo.recipe | 62 ----- recipes/losservatoreromano_it.recipe | 40 --- recipes/luns_a_venres.recipe | 46 ---- recipes/lvivs_ks_ghazieta.recipe | 29 --- recipes/lyngby-taarbaeklokalavisen_dk.recipe | 32 --- recipes/mac_world.recipe | 61 ----- recipes/mac_world_uk.recipe | 45 ---- recipes/macity.recipe | 25 -- recipes/macleans.recipe | 32 --- recipes/maekyung.recipe | 35 --- recipes/maharashtra_times.recipe | 18 -- recipes/malaya_business_insight.recipe | 69 ------ recipes/malaysian_mirror.recipe | 84 ------- recipes/mandidner.recipe | 18 -- recipes/manila_standard_today.recipe | 57 ----- recipes/marine_corps_times.recipe | 38 --- recipes/marketing_sensoriale.recipe | 58 ----- recipes/matichon.recipe | 23 -- recipes/mayra.recipe | 48 ---- recipes/mediterraneo.recipe | 101 -------- recipes/melbourne_herald_sun.recipe | 84 ------- recipes/men24_gr.recipe | 53 ---- recipes/mens_day_out.recipe | 22 -- recipes/mens_health.recipe | 11 - recipes/metro_montreal.recipe | 31 --- recipes/metro_news_nl.recipe | 234 ------------------ recipes/metro_uk.recipe | 62 ----- recipes/metropol_tv.recipe | 29 --- recipes/military_times.recipe | 39 --- recipes/mlody_technik_pl.recipe | 38 --- recipes/mobilenations.recipe | 18 -- recipes/moldovaazi.recipe | 47 ---- recipes/monbiot.recipe | 41 --- recipes/mondedurable.recipe | 43 ---- recipes/money_pl.recipe | 82 ------ recipes/moneyro.recipe | 44 ---- recipes/more_intelligent_life.recipe | 34 --- recipes/movie_web.recipe | 51 ---- recipes/msdnmag_en.recipe | 64 ----- recipes/msnsankei.recipe | 25 -- recipes/nacionred.recipe | 11 - recipes/nadacni_fond_proti_korupci.recipe | 29 --- recipes/nation_ke.recipe | 58 ----- recipes/national_geographic_it.recipe | 18 -- recipes/nationalgeoro.recipe | 46 ---- recipes/nationalreviewonline.recipe | 49 ---- 244 files changed, 1 insertion(+), 6226 deletions(-) delete mode 100644 recipes/icons/jagran_josh.png delete mode 100644 recipes/icons/jalopnik.png delete mode 100644 recipes/icons/jb_online.png delete mode 100644 recipes/icons/jbpress.png delete mode 100644 recipes/icons/jezebel.png delete mode 100644 recipes/icons/joelonsoftware.png delete mode 100644 recipes/icons/joongang.png delete mode 100644 recipes/icons/journalgazette.png delete mode 100644 recipes/icons/jp_dk.png delete mode 100644 recipes/icons/jpost_fr.png delete mode 100644 recipes/icons/jsonline.png delete mode 100644 recipes/icons/jurnalulnational.png delete mode 100644 recipes/icons/jutarnji.png delete mode 100644 recipes/icons/juve_la_stampa.png delete mode 100644 recipes/icons/jv_dk.png delete mode 100644 recipes/icons/kahokushinpo.png delete mode 100644 recipes/icons/kaloeviglokalavisen_dk.png delete mode 100644 recipes/icons/kamikaze.png delete mode 100644 recipes/icons/karsi_gazete.png delete mode 100644 recipes/icons/kathemerini.png delete mode 100644 recipes/icons/kellog_insight.png delete mode 100644 recipes/icons/kerrang.png delete mode 100644 recipes/icons/kgsenghavebladet_dk.png delete mode 100644 recipes/icons/kholod.png delete mode 100644 recipes/icons/kholod_en.png delete mode 100644 recipes/icons/kidney.png delete mode 100644 recipes/icons/kitsapun.png delete mode 100644 recipes/icons/km_blog.png delete mode 100644 recipes/icons/knack_be.png delete mode 100644 recipes/icons/koegelokalavisen_dk.png delete mode 100644 recipes/icons/koldinglokalavisen_dk.png delete mode 100644 recipes/icons/komchadluek.png delete mode 100644 recipes/icons/kompas.png delete mode 100644 recipes/icons/kotaku.png delete mode 100644 recipes/icons/kp.png delete mode 100644 recipes/icons/kristeligt_dagblad_dk.png delete mode 100644 recipes/icons/krstarica_en.png delete mode 100644 recipes/icons/ksiazka_pl.png delete mode 100644 recipes/icons/kukuburi.png delete mode 100644 recipes/icons/kurier_poranny.png delete mode 100644 recipes/icons/kurier_szczecinski.png delete mode 100644 recipes/icons/kyivpost_ar.png delete mode 100644 recipes/icons/l_espresso.png delete mode 100644 recipes/icons/la_cuarta.png delete mode 100644 recipes/icons/la_gazetta_del_mezzogiorno.png delete mode 100644 recipes/icons/la_gazzeta_dello_sport.png delete mode 100644 recipes/icons/la_pausa_caffe.png delete mode 100644 recipes/icons/la_razon_bo.png delete mode 100644 recipes/icons/la_rioja.png delete mode 100644 recipes/icons/la_segunda.png delete mode 100644 recipes/icons/la_tercera.png delete mode 100644 recipes/icons/la_tribuna.png delete mode 100644 recipes/icons/lameuse_be.png delete mode 100644 recipes/icons/lanacion_chile.png delete mode 100644 recipes/icons/laprensa_hn.png delete mode 100644 recipes/icons/laprensa_ni.png delete mode 100644 recipes/icons/latribuna.png delete mode 100644 recipes/icons/lavanguardia.png delete mode 100644 recipes/icons/lavanguardia_corresponsales_es.png delete mode 100644 recipes/icons/lavenir_be.png delete mode 100644 recipes/icons/le_journal.png delete mode 100644 recipes/icons/le_temps.png delete mode 100644 recipes/icons/leduc.png delete mode 100644 recipes/icons/legitymizm.png delete mode 100644 recipes/icons/leipzer_volkszeitung.png delete mode 100644 recipes/icons/lequipe.png delete mode 100644 recipes/icons/les_echos.png delete mode 100644 recipes/icons/lescienze.png delete mode 100644 recipes/icons/lesoir_be.png delete mode 100644 recipes/icons/levante.png delete mode 100644 recipes/icons/lidovky.png delete mode 100644 recipes/icons/lifehacker_pl.png delete mode 100644 recipes/icons/limes.png delete mode 100644 recipes/icons/london_free_press.png delete mode 100644 recipes/icons/los_danieles.png delete mode 100644 recipes/icons/los_tiempos_bo.png delete mode 100644 recipes/icons/losservatoreromano_it.png delete mode 100644 recipes/icons/luns_a_venres.png delete mode 100644 recipes/icons/lyngby-taarbaeklokalavisen_dk.png delete mode 100644 recipes/icons/mac_world.png delete mode 100644 recipes/icons/mac_world_uk.png delete mode 100644 recipes/icons/macity.png delete mode 100644 recipes/icons/macleans.png delete mode 100644 recipes/icons/maekyung.png delete mode 100644 recipes/icons/maharashtra_times.png delete mode 100644 recipes/icons/malaya_business_insight.png delete mode 100644 recipes/icons/mandidner.png delete mode 100644 recipes/icons/marine_corps_times.png delete mode 100644 recipes/icons/marketing_sensoriale.png delete mode 100644 recipes/icons/matichon.png delete mode 100644 recipes/icons/mayra.png delete mode 100644 recipes/icons/mediterraneo.png delete mode 100644 recipes/icons/melbourne_herald_sun.png delete mode 100644 recipes/icons/mens_day_out.png delete mode 100644 recipes/icons/mens_health.png delete mode 100644 recipes/icons/metro_montreal.png delete mode 100644 recipes/icons/metro_news_nl.png delete mode 100644 recipes/icons/metro_uk.png delete mode 100644 recipes/icons/military_times.png delete mode 100644 recipes/icons/mlody_technik_pl.png delete mode 100644 recipes/icons/mobilenations.png delete mode 100644 recipes/icons/moldovaazi.png delete mode 100644 recipes/icons/monbiot.png delete mode 100644 recipes/icons/mondedurable.png delete mode 100644 recipes/icons/money_pl.png delete mode 100644 recipes/icons/moneyro.png delete mode 100644 recipes/icons/more_intelligent_life.png delete mode 100644 recipes/icons/movie_web.png delete mode 100644 recipes/icons/msdnmag_en.png delete mode 100644 recipes/icons/msnsankei.png delete mode 100644 recipes/icons/nadacni_fond_proti_korupci.png delete mode 100644 recipes/icons/nation_ke.png delete mode 100644 recipes/icons/national_geographic_it.png delete mode 100644 recipes/icons/nationalgeoro.png delete mode 100644 recipes/icons/nationalreviewonline.png delete mode 100644 recipes/jagran_josh.recipe delete mode 100644 recipes/jakarta_globe.recipe delete mode 100644 recipes/jalopnik.recipe delete mode 100644 recipes/japaa.recipe delete mode 100644 recipes/jb_online.recipe delete mode 100644 recipes/jbpress.recipe delete mode 100644 recipes/jezebel.recipe delete mode 100644 recipes/joelonsoftware.recipe delete mode 100644 recipes/joongang.recipe delete mode 100644 recipes/journalgazette.recipe delete mode 100644 recipes/jp_dk.recipe delete mode 100644 recipes/jpost_fr.recipe delete mode 100644 recipes/jsonline.recipe delete mode 100644 recipes/jurnalulnational.recipe delete mode 100644 recipes/jutarnji.recipe delete mode 100644 recipes/juve_la_stampa.recipe delete mode 100644 recipes/jv_dk.recipe delete mode 100644 recipes/kahokushinpo.recipe delete mode 100644 recipes/kaloeviglokalavisen_dk.recipe delete mode 100644 recipes/kamikaze.recipe delete mode 100644 recipes/karsi_gazete.recipe delete mode 100644 recipes/kathemerini.recipe delete mode 100644 recipes/kellog_insight.recipe delete mode 100644 recipes/kerrang.recipe delete mode 100644 recipes/kgsenghavebladet_dk.recipe delete mode 100644 recipes/kholod.recipe delete mode 100644 recipes/kholod_en.recipe delete mode 100644 recipes/kidney.recipe delete mode 100644 recipes/kitsapun.recipe delete mode 100644 recipes/klubknjige.recipe delete mode 100644 recipes/km_blog.recipe delete mode 100644 recipes/knack_be.recipe delete mode 100644 recipes/koegelokalavisen_dk.recipe delete mode 100644 recipes/koldinglokalavisen_dk.recipe delete mode 100644 recipes/komchadluek.recipe delete mode 100644 recipes/kompas.recipe delete mode 100644 recipes/kotaku.recipe delete mode 100644 recipes/kp.recipe delete mode 100644 recipes/kristeligt_dagblad_dk.recipe delete mode 100644 recipes/krstarica_en.recipe delete mode 100644 recipes/ksiazka_pl.recipe delete mode 100644 recipes/kukuburi.recipe delete mode 100644 recipes/kurier_poranny.recipe delete mode 100644 recipes/kurier_szczecinski.recipe delete mode 100644 recipes/kyivpost_ar.recipe delete mode 100644 recipes/l_espresso.recipe delete mode 100644 recipes/l_vivs_ghazieta.recipe delete mode 100644 recipes/la_cuarta.recipe delete mode 100644 recipes/la_gazetta_del_mezzogiorno.recipe delete mode 100644 recipes/la_gazzeta_dello_sport.recipe delete mode 100644 recipes/la_pausa_caffe.recipe delete mode 100644 recipes/la_razon_bo.recipe delete mode 100644 recipes/la_rioja.recipe delete mode 100644 recipes/la_segunda.recipe delete mode 100644 recipes/la_tercera.recipe delete mode 100644 recipes/la_tribuna.recipe delete mode 100644 recipes/lameuse_be.recipe delete mode 100644 recipes/lanacion_chile.recipe delete mode 100644 recipes/laprensa_hn.recipe delete mode 100644 recipes/laprensa_ni.recipe delete mode 100644 recipes/latribuna.recipe delete mode 100644 recipes/lavanguardia.recipe delete mode 100644 recipes/lavanguardia_corresponsales_es.recipe delete mode 100644 recipes/lavenir_be.recipe delete mode 100644 recipes/le_journal.recipe delete mode 100644 recipes/le_temps.recipe delete mode 100644 recipes/leduc.recipe delete mode 100644 recipes/legitymizm.recipe delete mode 100644 recipes/leipzer_volkszeitung.recipe delete mode 100644 recipes/lequipe.recipe delete mode 100644 recipes/les_echos.recipe delete mode 100644 recipes/lescienze.recipe delete mode 100644 recipes/lesoir_be.recipe delete mode 100644 recipes/letsgetcritical.recipe delete mode 100644 recipes/levante.recipe delete mode 100644 recipes/libero.recipe delete mode 100644 recipes/lidovky.recipe delete mode 100644 recipes/lifehacker_pl.recipe delete mode 100644 recipes/limes.recipe delete mode 100644 recipes/living_stones.recipe delete mode 100644 recipes/london_free_press.recipe delete mode 100644 recipes/los_danieles.recipe delete mode 100644 recipes/los_tiempos_bo.recipe delete mode 100644 recipes/losservatoreromano_it.recipe delete mode 100644 recipes/luns_a_venres.recipe delete mode 100644 recipes/lvivs_ks_ghazieta.recipe delete mode 100644 recipes/lyngby-taarbaeklokalavisen_dk.recipe delete mode 100644 recipes/mac_world.recipe delete mode 100644 recipes/mac_world_uk.recipe delete mode 100644 recipes/macity.recipe delete mode 100644 recipes/macleans.recipe delete mode 100644 recipes/maekyung.recipe delete mode 100644 recipes/maharashtra_times.recipe delete mode 100644 recipes/malaya_business_insight.recipe delete mode 100644 recipes/malaysian_mirror.recipe delete mode 100644 recipes/mandidner.recipe delete mode 100644 recipes/manila_standard_today.recipe delete mode 100644 recipes/marine_corps_times.recipe delete mode 100644 recipes/marketing_sensoriale.recipe delete mode 100644 recipes/matichon.recipe delete mode 100644 recipes/mayra.recipe delete mode 100644 recipes/mediterraneo.recipe delete mode 100644 recipes/melbourne_herald_sun.recipe delete mode 100644 recipes/men24_gr.recipe delete mode 100644 recipes/mens_day_out.recipe delete mode 100644 recipes/mens_health.recipe delete mode 100644 recipes/metro_montreal.recipe delete mode 100644 recipes/metro_news_nl.recipe delete mode 100644 recipes/metro_uk.recipe delete mode 100644 recipes/metropol_tv.recipe delete mode 100644 recipes/military_times.recipe delete mode 100644 recipes/mlody_technik_pl.recipe delete mode 100644 recipes/mobilenations.recipe delete mode 100644 recipes/moldovaazi.recipe delete mode 100644 recipes/monbiot.recipe delete mode 100644 recipes/mondedurable.recipe delete mode 100644 recipes/money_pl.recipe delete mode 100644 recipes/moneyro.recipe delete mode 100644 recipes/more_intelligent_life.recipe delete mode 100644 recipes/movie_web.recipe delete mode 100644 recipes/msdnmag_en.recipe delete mode 100644 recipes/msnsankei.recipe delete mode 100644 recipes/nacionred.recipe delete mode 100644 recipes/nadacni_fond_proti_korupci.recipe delete mode 100644 recipes/nation_ke.recipe delete mode 100644 recipes/national_geographic_it.recipe delete mode 100644 recipes/nationalgeoro.recipe delete mode 100644 recipes/nationalreviewonline.recipe diff --git a/recipes/icons/jagran_josh.png b/recipes/icons/jagran_josh.png deleted file mode 100644 index bf07ef70c38765ea902e837a4fc0bff6f51778c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1044 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 diff --git a/recipes/icons/jbpress.png b/recipes/icons/jbpress.png deleted file mode 100644 index 77e35a3fc3a75ff99a66af5c18e62111d71f1466..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)hH4-|Gp0^D=SAwM?F0~NJvP1eSP%w^bimb zKR-V~K|v7_5fTmoL_|bIMMXwNMiLSd1Ox<0Nl8jdN=r*iPEJk~6chmg0aR2}Sy@?J zTwG#eVh0BY92^`S9UUSW0wg3P0s;bpf`WsCgM@^Hii(Phi;Iqqj*^m+larGQ3JR8% zmYJEEnwpxVq@<^(r?9ZFDJdznwY9mqxxT)>z`(%D%F4^j%goHo(9qD-)YK{}D%{-M z-KGuS-`@-j4CdzM=;-L_>FF>qFzc`m?d|Oj4h}XpHud%O_xJbt`T6?#`uqF){{H?C z4-Y&%Jjl1M3jhEB0d!JMQvg8b*k%9#0TD?=K~#9!%+gb0L@^kK;e7w`7#*XwZQHhu z{V$+7u8n!F-#F}j^tQqY$^)EK!PV1Qt;HL410QVdvGp0-r`nJGsCe~T;*4c>-jZP~d;FFxV?}*$xu3{j$XNh^DMU?H1Wif+0000< KMNUMnLSTYj_Z*4< diff --git a/recipes/icons/jezebel.png b/recipes/icons/jezebel.png deleted file mode 100644 index df587e12b337e566f9cc29a923449d205382d490..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~yq+$OAr-fhfBc`X!ou*^PyXT6 RukNiN1)i>cF6*2Ung9&162Slf diff --git a/recipes/icons/joelonsoftware.png b/recipes/icons/joelonsoftware.png deleted file mode 100644 index 275fb22cd6e826c334ea65c20f1103df60b2424f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAf<0XvLn>~Cp6ljhP~>5`IAz~b z-}GIE@&yleJW2R0-!h@of`3Ds5 noi|tYNI?@2#qL z(~$|l0cntayrBheBuCYB!&CFmAlUu3VJ(n}SHQ3=2aPO8 z+)|0KXBa7gse)^{NA^~*25Tuzsm&qY%o>0a6L%V8YhVm7kem;FXaQnlX2fGr5Dp$B z8IOh$8?AvpI8SLRZOc+n!hLf_0Mg^9)5xN3V_-Urf&WAF{~r-c4dR->;UXT7A~IYG z(f2>rmYe~ytk^+9J0Tsw*Z2ja_n$C&{|?dfH$?iDA{q(dNFgdG5$RdP+RDS|`wuA8 z|EvnYNsOU+ZtD6SsOz^#bo>>5*Fes(2ZKSZUbPB;|LfnfG3U$Sx3?kD{wL+ZUdHgk zPN)Fkp~tE1C!qG9LT~#S0$q!cZ}Nda085uF!5@D6yR6IwO_#lG)1}8xl^1pV9F*`} zYa(mGYHIlosO4KoH2oM}M=uQIhTreUyt#Anv!DDVD|3N0y<<&CH2#piB)`p{7jsP1 z^@l-f_!30@7ZKd`6GY=W^1;NbB5GtXu)A6VPE_4i1bACaC9DqoYRdn71o??kHRE;!6zLR`l|;fY5c z&0szxbih&lk@UI~>?t4gZJLIpU*z^H1fe8 zO2A$EsPbY@(eULelj!;DUq!{$5am}PTzVU<-E}!Xh#U?_2EXvR&*84yZr?|Kp7(=j zti253l3SG*d(zv6!o~yK#N8{I)kw_k&`I9U>e61+IGNuZO&qI98*)qiYauUu%{z>L`TBP|~ ztfe%ScHJYr6t!NS{YUAlaC4%HUc{{UW#uAL1)dn@er-?0PiM z|ANdAJhD{Lc?hn(0=AMDR1lxftv;+o<{?vSyvH?M8(ec4_p(OX+`a9Isr@r@?|58P z-|FJV{nIEqAK`+lF|q1eSPLG)WHPif1KY8jO zKB)hO6dk>S4+{&VgPadtUR6pOXvG&nE4ftOU&4>o8t-vUMo;UHr&G*%(INdg<&#Rj zmU~3~=L_~7&`c_`N#t7Y;a=7_h(D*ff~1b2#Kd{>uhu6-^LOTp4Ntd$FE((>0NWp;{5 z{*_buj~5A8T)Yo5s3gcQ`2V{zcmMBRHM65UE!4$WNl>n1#(bb$fTxRNNX4yWhX!rE zc>&W-uqjEfi|st(n~-2Cu=C-m0@KDuONWAPMrLPb=Jj2ro{S+Ay_ly61|4|$h$G3z rFk#0ehNKNUYa0wC)OJTG$uKflXNXvHdv5v%G@HTG)z4*}Q$iB}0)S1J diff --git a/recipes/icons/jp_dk.png b/recipes/icons/jp_dk.png deleted file mode 100644 index 65b87c65fbf9ef3835329918814d338b4e685d55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}et=Ji>;M1X{{zAI@BhEQ|Ns5j z|L^zyf4}zs{ki||_x^vs_5U*Jh=RVK^ZI_y>H9gW??-{i@cU8C??)BC?*$^s?|TLQKij*u)07=(^)ycx z$B>F!rTxrIu8th8yKQeDEBGJ%$LySe_}_+~zwV^YNqF|Uc3ST2D)p0+HFGR9neOuY z%9Op9SQ^TZw4{1E*UtWE{nmQFwkVy-tE-pZXZ~QhQs3qI0s$+=<_A}^XPrKiy}j_8 z;}vh^U7j7WXA%ul7wGs-GC8>|^Y*oscdHIfO_7XM*XeHf!DP9&dg~sZ0@>G$m*x8| X3v!(Nr?2%1=t2fhS3j3^P6h-`M^8OIbMZMG_0BnotiZQ&%a;9j9zFT^{l}lLUw=J+@#W&x z7n}CpCcy`xRa^hV!0C(6L__Dpr5a}+|M%}7Q2g!tZ=3hs-n#$J=g&VODoL3Bm3z`?7f{WjI@Xot@GnFmSPg(Kp+b_5jFt%6i zyrCMulxh|LQ9|>s@85s_M*{CYe9!CMPc;jG$f02UjXQ7tqk`6XC#hxu5Q&E^Xq|uZ z#}9;8e*OBZm$aN}7C?|~-nx4a-@#R8PdZ3t3xLQbXDwW1{gTs^S}g>iquW_r7Bfyl`Y`qAciJc@9lhHe!Kx{8H1@6?zHF#E?pI z!WNiiujyKG7FaYQTi{>0g=#h0!zUkrCT`q+$1H6n#Psu5UkHa#ugbjt=sm>TS8u)n z$wQ|esU|F?W}U2&urzPV;l|}>awi|M&RRX%Y@ve%0M%|xgiRe|NdN!<07*qoM6N<$ Ef?8G-lmGw# diff --git a/recipes/icons/jurnalulnational.png b/recipes/icons/jurnalulnational.png deleted file mode 100644 index 6cc5a6021c8abfba99d0479ad134c72227b7a596..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 711 zcmV;&0yzDNP)<`E?A_~-cilu;xKoIb?w}1$G@udhz z2w3n*DhLC$v^95=+;zQociqkVH8Y*7oqJ$r?wQ}moP&$SBF1=bWSlMKFoM7?mh@8k zOy)kNRPF}+C4>keU>^eDKnYnIdt7-t1GUJb(Gx?1jr?zH=uJJx;GXX|-uE1%GzbEs zswyxcjN_dhxo4$#E`-%|iSMNzPn1Yy zto8L2P9{+H6Mz0f5eV2r1=n@KlBO_<5dHt8a1nlhTbs?76Ou7LJwtpByaWQ4APkOn z16m9e+;KG_L7(*Zpos@^x8!>s0ryZ2p$g*|0SHs-%ziFRzqe+x`B&41VI;0!`+IAs zin*@q4CcTX3t_(R5d^_GPo@X7>>DUUi=hOY_Q{O-@D7ZNIly178HO$yaY?8wLU*BE zxC%$0gC6+4uSN{mFx#%qefgH^Jg6a=V^~3`sa|JWc73}Ju*0d&#UD9OJbu~@VzQr@!mCE~yG>v%HNzY~x49cZqutR~WD`!eHZ tazBhBUs#9!Fh(uA0@k%~n&ju|+CNXzR-x`#m9GE*002ovPDHLkV1hhVR2={S diff --git a/recipes/icons/jutarnji.png b/recipes/icons/jutarnji.png deleted file mode 100644 index 6be815f2faa8ce25ecb09b0680660b669a9916fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 801 zcmV++1K#|JP)Cg9uPkktJ55P$`v-LN<0PED2F;ECnptSP>%GC{huG05bs0 zUo&ss|L1r`^40CU*FE1k-}z2g@edxod%xN9yuG34Eit6nMq{)FrAU;9T<(rC)*;{u zkU;@FeA_f>nx6Xh{l``vM>ylgGPYDAZ|5*ZLkeLSG8~QYQy^bF2J8XQ075?Zy7^&i z6b3leag_3Tv}KXxY*I_U3q?xft2h%J${NCcZ?|v`%RxPEeAxQzP2+4F1^F^!`0bzQ|Z-;u@>f>+k>EYBPJXg92>nY}tA8LLPVX zJTgb-0bxXE?KWIz262+$b=wpxl|%Z?r>`@VRwzlz84Im7N=6wiTuyiO77$M$p|f%m zU#fKm?G~0a(ZHzJTc*GFdT6Dy0um%H;VazGM;c_g#u$Rp5NqI$ zC`w`?q$Ej+(dcrCNDNdjo0yYV!3$x7j}r1NT}(V001 zw_MK18MNYGWGbbh&Kbi`&%^Zt21+shz(K~HI79vDQFIjXKN2x8{=E^oLu+(x>==53 zAzjzwORGct;x&=1vAJ_6rrqWb;!1_|AF}8BSj8fG!OZ$MUw*!HyK?$GU%QSp2pD(k z7BfTzfIDjz-NlQEhC}=y#PxheLByExwWrqf$&(Jxoi_RSlg39v@#4XXRru0v{*7yR zOPAp;T*%jr8wrd>Jah@9c(4DH+LS4j%H@6Pk-P&j^3ugyx7WV=-ePL4%7lqEDl*2H zoFSL9utgzZkiCbWqGEit%Djb(P6Im>z~guCOJNjUxPI^c`X_Ij6!SI{#+0cPYzoGp zNwbxS3Cx^cXYSm&=M-!Q(!aYACCV7HtMU2EuE(z%^{<^Sv6xk`w5TaE)u}Oi`t+Ah fb^HZi`xam1KjPZi}Lwu)w9Z#iqB$)!pRV;^^Y& z?d$LI@$~lh`TF_#`wcy097%2c{{A3La4lAN>Fx0@S9$I6^X~EVO>c}*bB{%8hec|L z7)EPbe3o5(mtKCDVu6}tf}06BVPu1xWrUm=M{FBNZ3#MIbC0EVk*9Z&r+Jg9e3q+& zo3DkPv5us+j-|JgsJfS{yqd1Ro36i`ufLqHzaC3(pR&QAv%;aX!lJapA4_ivI%21} z$Emr;s=LUnyvnV;%C5f4w8PK1#nHLP(!R^pzs%Ob&DX=v*~Zb@$kW`()7;C|-OkwH z&)DG5+2PaN<0(^h+2H38KV{wI=@dd}K~#9! z&C3It13?gm;lE5q`WOvkHkAvH0v8#~tvay$-6O9dJDAv5(H ze&~XqO6YyM-DN<^HMkWi6pPTCA{v6=cpHuq3(CP|yzr>8a*&Y&>P5jh2d7G4sYg!R z0|)a;K*`AyzNa?$@$HlYWC+KiF#yyk>tBAs>s$o@9n fTs4|6P+I-~Sw$dOE>K2&00000NkvXXu0mjf$N6%* diff --git a/recipes/icons/jv_dk.png b/recipes/icons/jv_dk.png deleted file mode 100644 index b9fb2bc9b8967a04aac16cc73cabff6fe8195e8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 638 zcmV-^0)hRBP)F3+<@8a|F{Qdn3os+TO+y|SI44sq`pq8@W-OcOi(d_Eh?(Em^ z?Hr_=C8wY3_V#?r#jD-fzU1Ocwy#aMuuizKM6|55;NBCUmr%K~QMs~GxwBTgv{}5i zUB9?(#J+IFzj4OEdC9|i$;1wxm4wa6iOHv*8l##7nvk^N-nHT0x8mQq;^4XC;JV}ByW`;f{{Fw^E<1z zo6G9x%Cfxw(Cq3Bo|Mw<>(uS+Dyg9>s-f8L?%D9}GOeWD@$caB@!|9G zHLj-T_4GKer|kFk?f3TX_xJDk`0)7n@cH=h`S|kr`Sbeu^!obs`ug?z`u6+#`273% z{QUa-{QCX<`~Cemu&6z-sYA1@ksG+U0002#Nklik-}!AYZBRC?%s?zWP@)ZW^W~{iYEN7eTC_b&@&%hs&)rIHHS@}Dl z${kF?;##-T1aVtJev*6HXabsKH_J0M;n4>72}$K9%FzbCQL$5Y?5|*2@vQ91J+J4t zv<&eg78PfM-z;h5RqbZ0;+M(gqe5PF#+&)A;byxHz4rBszA-ZJMoJ#XJFqF1qWo|WBW@BLwN6GLJbKxHpfFx1wn`QXwB4~*Kzkztbv zpYY15anGhq*)7T?4=4fxD4fo+017k)tgmxC z?LGC0^7{EI>l;Ik3sa;3dJ&c1P>c>xsr?f5cjMWDqXpzwAO05@p?k!yd#}v1k^OJ+ zJ*l!T@f_!7S#!*^HGTz=HxO+k<2h6xzD@v^pC03>qeJB5l&&*lJa%$~K>>uD*BaQf zv=qLLathS~UY|yFDHAZ6Dw%2nUY}T0G;_0*xTnNMg>GZP8VJqA^JW+Xj5$hZe~gfT zehkkOh!hdQgvN;XdN+nIENTQR>>4QZ=S!nds=)aQ^o_uUF|fka2w(y4ITzO;O~J}8 z0`nRQc>f@(D*;@!R0(M;JbHUhnOjHI!;TXrMo* zhZ7J1%P<)`@cKEd1Z4UMM)x{~N^=S9T??k?c)#1nQvMNLwcTDp6b|*nlDSX}xRzH? zz*!IhEXY-(E-(j4w1-;SLBPGJ%yNuYZ{zH6>u+7e~<8HZ}~gI=7DFJKK=Ws0=fYsPcaqV z!})W7K+|-{S;&-0Dd6-c56%lWESLuUmvob(wH3Sv0BZzcY68c?&$P2*8fD56&gf;3k52_cC0C{xV#Q;cNmqu1G!P1GsZGTpWiJ zCAbtrAbh|Bfni=~`IH9~E?D8PsSoI1Jd6F)@-SLsK_z8rsvrie1!o~2!i6eq?e-ih zL#q+47H7~_fP3eG1$sx7p;#HNDWi!JXJBAi!7<+o27Q5A_cF zAoYOol0xj7a%kpx!@%yq@qjU`5ySSukz~g}Ii)LC2LPGJ1cn<)J+#$d`D|4WCQ-PY ztfH2DcEB12>ddR1^K$zeLU6`{6-sf9XZi+fi>pc2W<)lO)%?G5f%IURpy0VNnF#Sg zgW@3;xs~SdNjxE{XQ=p}cAXe6W55XzSQxCNe|zQc13zLUeV#yWBTau!=iILm$q=gC z3{|Kpvj@lhFNpjn5voMN29opuqZt@*R|cCxh%`*~ty85Xu&lei zjX%xIaSxc21i5b#GUpPiBd7QvKMCi6NvuT&hN85oz7J7l26;QxW z6php~zaip|9IS1MxG%C~^P1VlY1xeO7UrvXF2UhjD`^&B$Lg;4Rzr2c<9{tuO~<|{q7D+d4o002ov JPDHLkV1kPW7D@mB diff --git a/recipes/icons/kaloeviglokalavisen_dk.png b/recipes/icons/kaloeviglokalavisen_dk.png deleted file mode 100644 index 70464fce89f6a09dfde9717982aa2e0b0901dfd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 801 zcmV++1K#|JP)K;?EmdAg2pJ4kv>DYmLC|x#>I*FbVwbW38eN z{}}HqGXVG9bP8yv2`_}&en372$`O%T%-WXzshDy#9J8(lVwb!hIy*aA|EvQP_<9Nj z4D$y9&IRoF^y^rAp?Da`KKf-lgTZg|KuHDrPRJX$f%|GA1)~lysy=o#>$;D!& zbU2pY48&o1H(0ty;+s{P*mK1MHGmR4AKMq&4LOE`E%Ag7=d z*A=bs;SWHN^;S!m` z#dC&>=L!(9iCp25Im0J&Mo8w0l*|=5AX2#^rE*0~NmHiGnxhz#_y=eT zV@Z%-FoVOh8)-mJnx~6nNX4yOe^#bL4m{j>FAoL%_#ghfu2fv)fzs;GEvpO@xOQy) zWEz?>``0DI?H(4vHOW_nrcGbCGXCrpnGKV|)?5o(-nC0#)Z|9j*~IH%HDS6xy1!-R oYG>M+?{C?*e?izYX7>yRTNyTmjh9X~0&QgQboFyt=akR{00V1Q#sB~S diff --git a/recipes/icons/karsi_gazete.png b/recipes/icons/karsi_gazete.png deleted file mode 100644 index bd44458ff79079d90ce3ff78b6bd218807de3e4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1252 zcmV$ z^WZl({`dFaFE8ICBi|}2-!n7*{QUgt>f%B|{`K|#`T68bOyWaB|NQ*?@bLWa@8LN) z-3bZ$-QE1|?(B|^{qgbM931`h^x!!;?2C)t3=H2gGXDDd_sYuO9vO?1F;zzP|qW`26eZ`r6vxhW_?d|&I*4Fd4x9fX*?v|F`6cqgI?Cp$<>wtjlii+YjHRMrI;V>}z+1d5L z!1ArF_t4P&^78JPnfJ}j=U!g&s;d0)@%-fE`r_j4lau9GSn;H!{tgQFU%;ZZ;;yyn7=H~g*((ICw{ORfQudnHEZ}-W`@t&UN zTU+_q*!kDj@u8vSTwMF+=JdV2_}SU>v9b8i&+eX{>w$s#*x3E=@8L5u;4d%w-rnz` zqT)+S-4+(_oSgpi^X-j|^0c((Wo7&2<^KEo_Qb^QkB|QG@!~;2;3z2m_V)F^zvygi z1RCwBrlLLR`K@32X{IRxGZf)DP+p}%kwr$(Ct57YdM6gU#ya=APqhUdZ+X$f)a;Sv-T0<L>qSVCpog%+ZQEtMfqE0ri?L;At02Z1dJ~#mwZ>+w-B)}-Am}cHc?8$NLoMwn zIdb%vBT>dt55d)b{6xVi8@f)PIcw2!J^#UYF1xAmqTMEOUdn4Q`)|Q~wKMZ_u=Gmu zHAH(s>vhEqV1iZV3D(V9x9N?KB%(#gQs2c@srd-9Fw$NIUS#Q%a{7E@v4f7 z?>~a2CZe8cPoUrhQ4|H4wD-dKDHT$^?O$dS&|piCEneW%-nN>9!SNf_vwT+Q5(LQr O0000nIa5goe@+H4aE_6wl$KFsWPpKOW~(aJ$11ZdbV0mAeuGJ(hdHi`%(b+RV*x90 z(-L^h{l(DBiWSWB61y(HU2>*Wg??-tKUjgaulf${W1OcA?Lj;%fAtl{T`D>HCeGY( zOkf3xy2kxFvv}VKKGcn1V2Bs6PqV5~o^R<6cS9kIU7qv?-8o7JxSuPOGcb5NTQr%K zndN4Pz?B56C@fdmXwW8hkmI#xnRA#~w@H)wQtwm-1n@IaS*^U-JsKN5i7Hb|Bm=k-6`5j6t=3*mEHoCworGHw%0M5q`XA8Tfb9o ztK?y|^%9Txo@i_UOGn6AhuTU2!!S?!fWZ{4sk&2?S14STJ0+Urqz07s;<769&|qND z3s>79vs@5HQ diff --git a/recipes/icons/kellog_insight.png b/recipes/icons/kellog_insight.png deleted file mode 100644 index df0d0e5d0da396980e226f6f85c56593e0d7c682..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 708 zcmV;#0z3VQP){r+!CivIroS1Wf>Byv+HbgGoP za!!p;B5-t1j&x9tR48C30FWd8?MYtd_j3m%Oc*ysw(Ru$#ZJoxrl4 zz*;YPTQGUIrNz3Z#=NS?ysOE*tjWHt%D%12zOKr@uFJr%%)_(J!?e%Fx6oWMddgwd~VK{&9>+-{RR+ib|)8 z>R(Y5(@xhA1M#YgFSZ^17T`XA5d%Lxp*PRN7p=pnoY&MM?ia8x|&2;sY%ZlYGPn>iknrj`%=bF*;@919d^! zlZg*%H!?`H^1)9yA^?|fT!5=OT>Q1bbYmrN~S;K9U^tACLg^30000v&{jQKQEt)0EA7JgXO>;A^8ps-LH z)Rxs$h#w1!i^^*&>$;j+Row$VHNOiA3x585K~ZV(kACX5NNPJ9Nszv}q)eEJ+iC2# zt^{>s4rSb=h#9@RQ=XlPqLSjDOF#(sj`;UB6%-T{mllVQPx$txRY|jFSJJZJAG*0> zn)S*f`pmY9x+=?3ps=X$N8(mCR@e75^FXJZ>@@TfH1oB`E{mL)aBPXH(^luUSVM1% zfB%quLs$~fniu?H4{=o~i*d&D^ZEwPzbyKEc6VjI9(mIK;R`;SDgXsGt?Ns%LUbIfY^HZkB;_j^=eQdV6q;#9ZRnP+|9kKQcnAcSGk&2yhiQP9;9YQmM=Vx5o279d1T->T!Y6FKycxhW70$JWz7X6xGTX|h2Wr{sO zRNvi92V@dKJ52+4B98zHnRvW4c6J5_0$i@}DO^0PHQG!OrIls5XJui1o4T6^^ol^) z>D)Ro}(#V9bs5}cb3vhymN2MVh8pp%d zS^4vS) zgv+g+l#vsY!NViSNz6VR4nEY8yt07rctiQIv(wSjQ|TK^74=n&Ti5n@i=s1cxFaO( zuzm8`wv3!vBx9&S4?~Ugxj>axm7C{$!b&COrDzFr0W4iIXdRoP89#k7H*&Ub3=iF2 zp_|Nmv>!Y&ietM>1L0%ijHcY0A}1$o>%%R|PRt)VI>wZQ9`Tj(aW1`P2N5y_N8NbV zAOO;;?ArS68De*$J~d#oBnf>lDn-^raf`{-O9kh5$euf z5!@b>Z?n=9so$&e?;BDNSsB{RvQ=%+ z;=;%MbMN-FYkHW{mNlbs^MsC$Vfu>pINfHJWQ z<>SPrfi?;+-)PWfLAu*gEX#(`GuuZ-m3AEjp66%+e6ENDRExEy{02Zx2y|B?j=m@DVS aKkGa0OEIOJ*+ISl0000Fy9%f4|e+@AUR?o3b!&kYJFhAY+FFf%@VA z0053jL_t(|+U?Rs5&|&*MA7cJ0{1^{6dzr~ubSwaUBI1w2WS9-EdfBAI!KOV)q$EP zq-`m98<)V`=Q@gIU{T|x4tg1+2D);~p#R*yz!h-CNUQ-f zfnEb{0`~$SYkmR-v;tp2E8c-XORR!mW)c`$!a0KEtWIk)?T-2eap M07*qoM6N<$g3Oz77XSbN diff --git a/recipes/icons/kholod.png b/recipes/icons/kholod.png deleted file mode 100644 index 2e03216b620f13d1635e703934bb57cdcbbd6891..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8337 zcmc(F^;cA3*EZcSFr)&*P?Caz)KEhx9fFFI(g@Ps3?U68DFQMQ(k;?CqzDYs%@ESv z{SD9ae(!(qt?!4kW}kgs_nvF-bMEV`v(|~!)>I-Vc}RkVg+;EStf+&9g$=(yh%gDP zywMMoSXkhx%cXbmVdtMsP0Vo>|3?xV1@#CxoUB6!ZlKUe`vORZ*eAuZwt!L zups|ziRf-h=$kj&J3^f9M>-s|Xh1qyZ=DcD=cpK5bcr-@7LgABV9BWbzynSJBwE;R z15}r&<5n(SR_AIXaTla~rDv=-MxbPqdyMe5nC)=&na}FD!{{JKIUGJ0EZM<|DzZ+3 zBaMkw@=(WxX9u!X#r(K()WEm!wkV642n)tuCw4GW0#3)n!kWNC$d={;{{Qr2XlamQ ziQ5u^7aZ;i;2%od`HNMl?l;VpL9a_gsoRrEyw;WU$UK%Gs_L{>T+LoiFOVT?J^6zH z{KGy&GVuHUW$#qEgIc13G7$Vo%0H|iS>R@$h=DDL!D&UolUi#3S8GfNQvz-TcIzE0 zkF7q;MxSv*3Y+s5Q!hL5=ZA+pHeY`vET|?ZDwBXYy;vH%_x^flNaI5s!H^7{8jnCe zcZfHOmI6*6R%dW!s_l_6EzK(FlXIM>i=@vBr`~c3#;TwN)UY}~UFJ|@H4q6 znd1fvJ~C2Hoxl3jqzS~TT-5P5t_vOyAW*#yN?KHJ6!q4X3R4pzqe>_fRI^m#6rLlJ zFx;64B9b5`5CjusaOkuCM4QsFcWx!5U{yYD{FlEXWDNxFPQ)$0-^Vsd()l#Sp?a?O~ zXpi0?CNO(29zUDAbzW9h?Xm(Y6BQlI7Q+{9b0q>yp2uuFynko&fNgyG#fcp)=4y2Hu$ST}=f#gb|62tJ8}u^1yo`(m?X zaUguPspqAe;^dqumlXMaQv0Tp=I!>0bylzy$}ythi(U0nf71L6V-KU*b%+Lpii8|F(kyFP_>okaX*JV>&@_CwP{xOx zKYCvKmVoUQsYh_7&!MmkAbu{H?<_S@>}QF-CKJZ)H%sF*{kvYR8!++PGRGk#SBndO zSA$BunQVv8502hXNv4jgQ4~Y^dcasJ>Rl-XWd&49oSf zC>4IOr1x?O)>)p4M~|AOIYs`$2^4Eu)4OB0{q5qDlkUM*^j9(=CgQ|~XYT6pn~8vB zSm?NCv|FI(27AAHjj>Ly(HF*w@py2~t{2@zBPs9BtAAu%88zK+P|XXQ(w$!5lQTm0 z>p5EU_f=<}bHrN!oQbN8!N$5E?MQxAh}~T5mzp2U$V^RIA_td``kj96^nkBc&5AjL zvn)ZJP8V|o@ZTD(N*eUD1eWLLGWQKKIWH+tp^8+cFBr5eU}KHRws$ zJiOFaGcYXjZC(C zANL{F^yMWFEnc5DkSd|NaEX`DHb}3rM7(^4?MowG0J(RPJsP^7ar?kjDTSkkz1F;G z!3(T$*;uQ4(YW{bYh2bIK{385RCA5|55l+gs1;v&xa4HNzAf%q97Zd!6FI!y;|kbu zyLDi6Z<)qlebZ@KpSq~67kcK)K2>5FfAadNSj_)0HOn0T{9D}%z@qku4g!C6q(ik9 z38-TRWulu_V?*WU3=Q@YpDrw|&$4ZqR$*r0jRPPZR93S0ZU*xN|Mau!X-3>?RqX@&I~+x9!=$8 zaex)>8xeQLh~0VOc`?i4h8bS$Ys0_^2lO%#>`c=2uS!(}qI&Ur^(iBjob^c1q=OWb zzyBHQ+doU_&6ceEva%sOA_~}+t8J5sD3#j}>FIF$d?i%!2k7r(FY#H^1@6?Vkh*}? z%SIin_N}GEYlJJqb5z=XTYb24JR;=#3+N}TWi;C^Kn5%EgA@~cVCrK^CiaCt#U7wy zBFIm6J7vbPI3`$sY>?q6_GecxNrRBn5PK;@_X*#(QotS(qF*jfKlW~fq7lNSJyd6u zV@I_QvFqK9W9wwkCxssLAYVU=-8MTk6cGlC<9+hwRb+U9N_(Pt7LXhludr~v9}+J~ z)6gn8xN-ZQaVm2@paOr%tCf`9s+8}&&}jf|*r@~{a3VT9$B=2`#^@AUQJQK!63O3$ zO}9)0$ribVD@hryUT_x$)}+6-qDX-uRn}dl42Uv3yj(K^lZng zpwb0<(UKp(+2Jo5{jyW9aMG-yyE+?wz+qR4~#?TlB%(2 zT>cmo4~|oln$68iT!6D_1*Qs93I=Ny3bfJnr5y_sN(aYb#ydwTF>37kl>6f@fCO*p zIqHIKLDq}(ZO6u!AQ?$LdF}FFZD+3B<37AbAp?C~82D zm0w-Bfb?ax@QZ1hpW!pRaW3d~>Ihwz#YFmF_VY~_J%WoNqA}MB)Gt!Sp5q06xZuvY z_}$pyc0L05^)bEKp`T9{SKx@&8eC)kb>O_U==tT7&v@{x^;M^bQyN__zv>#{jB-F0Gg(grA$d zF#4QF4XR(C!m0iM2Us&*jPNQujnef9QnaGsUNn)pz*giFhGx4uaIX#W_zBrWym=GU zX_bdgF@I4Zgu@}@NZrG)E}u*eK1ds=`^Q6FsE!pmbkif2n5Arqt?cKaK3^|@&x;FP zI_e?mCE!y(#El%P;Ab-RGG-htQ#mX#Bo) z(6S{|A!p@tW*uxGLxnwhKExCD=%WmujN@ZV8{HJ+6TUJbAGR+EeWp=0@O`9thLA*O zZragZ&CWPh<*>EH@$~6!?ffL+kG^*O?thS{JTnLV?!cGUBcc9|O=GP$H45wW)1_Eu zX?bYcIfu6PKl4LS>-pc4AE6NU-Nh902v96e*2$n7E?$s7D3T9Xk?we;1s68q-!MXo>aFg81%KP69(+KMw4 zI8l;|wp)8~qfn;0MilYbY3S#%ZFW=h=cV*ou_RtoxjI2(0tIf$Ul_W@uQk-Ws6G3=Xuvhzzog?+ zvjO>pDbYhYp;mOt?pKu+%t=F(`nPzX6Dh)loh&oFu#=b1v+K~l#CG+!SOb&gxvg>1 zVECrc%tksl(IqHQCDm@g_L>eH4gwTdiD_1wb!2e=>U4Gk+7> z?L6mO>#{E8N8(+Ull~CvCBGV=rdH}hw{D}hau^e1T|G( z9!?thwua-su3r_R%tI~vBS%3|&-vJA$o~$unkwrFyZTvV*UA83;y0meF{YyTy{n1RS*|MSVz-Jq1lvUX#1N?843b z!?n_S{>oB44Up!)2SP%@0&Bh^M{~=z0wbWL#A%_B|EX^l>zk5O|s6 z$U=@`Qk^3s#s5uzc^O>RjVx3!GN!)W?xho&_Ib^>t_`B#T;G(+&<~?zmc9`{OOG% zP|%=zlLKiXt=r4cW2dTMfhcXzpff9`i7m7RKJy=By+G~@)OYEO5(H)pYhgC{%=5@T z5(qrp)g{G3mdFpTDU zahi`t=_$7x<=K7n(kf)CG$VWypaP+S-lDbWQ=d{l*@}C_RM=*b*Bbv|p4O)c`*Sj-^zID*m3H%}_;)zqp17@c>$&gVKI6+zA6NMT^trP*zh{GZndsCU}K^ zZ2`j0PL`!qlT>6cs`c$s}jjk{aRM{=o+0=X-a1OPFG9;3> zS*WEAmtR9A!2Ch)V5cibp2;J~7r{CqeLQ_a$Ma;{El;P1{6~;}D8)n|oSzkZo zH0L8QJEK-1f{+5Z5>$c(zE6l_Or|e=NXZha#{BgDT_SEoI=#dZo*S_} zkNE}u`Pv$4HN1vUG1Gt9`%Mf<3{QM0OJSsNooL%&!1;##(s-C-ahfE&fK$-W^#Il5*jP zPSt)=t}VBxjeAXJ13OPELAJzYO)FYGN5#@Fq*=IPB?F|J>hd~OmEc25!& zBK#kW^+@|aDe<$kXnB4-jAV%+Kbrs02i^bWQdT2Eyv2LcQsv2l1uhT!iB{3GRt_YX zTdDFA_sB_8ST<~wq(K>f4Q*%@M^Z@b#;Xiidvf#&D)anH13d0RZ@X{1EIA8j_R zn-^e>*Y!;=3=!SS`?(<8HOZSV)HT2h#?~k!AeB*lG$uvY;cuJ=dY7wIETmQH{I#Bs z!%yK_l>u{nvAjs$_l+;!G)x~cEW;gnT-L% zgn`nz%GDvQtBx&BI?B^)JC3!#ZZ8HX&V;QdX_2NVJ+kPSqk&DY+nz3&b-Q4Gj^(T3 zRGyc6y;`@IaMwwZlb00}qq_6wM_eJF0^OG#Gt3@h(5#4N`Wdx7*p}}J+ zgLn1U$6m%wkLrr!(&bOjYm@jpUvWy%jj%|B)RpA4*Ow#(1_(gLrER?A`WgviZ1CPF zX9X(sKypT2#NW1YLIq?PlMMO2&-ODU^%3-Y{W0neBz?tuN^TaWJl=Q}&CBhR#v-4L zK&MZyBkAw(&*R>c@LXMQS!+F|x=A4Ya3jM*dGqbS#K!a^?PAMz^F^Kf>F9;6sk)!> zlHvI+yiabHCE=#48DTqGXQ(I%VP~p&1JGtrkL1>nj zu^TPcE9JB!_b9Gr*4D+A73oiRj(dIqx!l>}w>}NlR!>V5$; zkYv?~X`A1s0>*R|Hq!?n+G>1gxG%S40OibD(WKd?6HpJ8p^QD z8;7)yX+q27)k+fqy{~t0oaT)!2z2^AU#EmjP*%OcEm~6L0_$n7mJ`q{`aaZo3bJfk z=qK%rUk>Lz0Ty`mTJw zOlWN2i-XzM-SPf#ObNXqPhFVJ77MUcKfPDCTwhFhh>8wO%k)ylGVK)n{tzhw+0Mlo zo-pOQtSiy&rb_MJ1+UA(bNy-!`#rs{onk?+HlWW=5x}~}I4Sp2U!~JZ1GkYOZPi{+ z+&)YX9v{^3v#Zq%EbgLpC~6ul>9Sj)G;1Luw00K)@hoLiJx`b;#$`UeWSaUyqhtlX zB<7eG-eZ_f?Zd8+keI)%!F7$Lx8*f31cR{bHmy|wtv;U_z&eq)^o82%zC&y+V zdQK12$#(;{be1v=ft|3V``%k-I4S4mvhl6-^&ZO*GCNc@%MD$;mtI)KT$WAFGZIDfuvHsLQ~M+52h47rJK?^E>dX80f=aW!QlUS` z!2l=glBeG#FyL-@@zErqa@kS)udi1|*u#c-CW}@&Op$|>NIw`J&sAf~c9*4VYkwKd z9PaRZk9@Cz-KaB%OVFyMLPzIOyYnjxt#D_-ykq-53Xal|exu&`YLk-(W-AlHS?qAi zRNx@t+3~nWQ?O@Y#^h84uCl&hZart`XNlFKRn%b?_z)MTNh9vkuR;u$Zcth)EO*{S z3JPotOWxo+Zw}PN`1Wz1gjwe+%lWp$UU*(*vSqT=p zdOY$H?*iL9+0e4ZAi23LAP-NL={yMBF1PkKZyp9#7FXaO=IF=>8lCp!yKw?GZ&1<# zPu0X>9NXD6>y#-7sQ;(+;jX5j^YfJ6mnC{~LsP$<5?JEsl@mf7-tr%i+z`=Tk>y5d z6?86!`|?*NFy*ntF-H8ATSKWBEr??$NYRDo#&XgGE;W-e=DSr%eq#3c7ZFkO)W70yoP1zX9;jq`^2PTrhD^5+ zcDuC@h2ukoUM4Ym_QsL)A&KWh(XCJF4zA(v20^m(@_FZ5ur=Dkf8itKx&IJ3=NEmk zgicS6cH*$aJYqX@z+9lNlsmA?Y(RM?1IUrT)zR-p(BfD8glxIkQZJeq4+X%(encTg zus<#afY)1O#Z=Xry4V6LZ=<)ovl!S)F6p`Q0})zx;=+mb!I9tZNvp-AQmDM9y(PPin-G~##zD76~%HQN36;MPrJA$ zte;{%)uM|qt%8yz;+uWpr$k!77#@*!K6wZJ)Q9s_{r@fWY!X`Lj^i?bvyr$>_Ea5c zCgwfL7ViK#l;1CBH!VG4J2P^&RYSC@!&6g6e2CFcVK9dhzxH0;VWukwj8T zW#Lw#(EA=&j+Rj0$4ar4>3!kWh%C7%B~c(BExi)Fw51Jd*9OCC_uv)5?LCFXv1sAK zDFGhv31x3jDTZyVLmDi(h>N4*-tX(yV;2{&HP{{Y1@YMBRpdqH{kH}x&ovdxlg&>WK^Vs0e`0QXnhOUL4kjcf##=)+92yTLgae^* z4@3-vY)r33l#?y6{sXOrqzw^GfcEI2)Ow-@t3}krE*8a)T39g3*S?*>)l{P%`d%h8 z`DNyv=XqYh+a=3)4&cr{5O@q|Mi(V16>UBUXl`IN)_4HO1b@_$X7fUAGnl>yST1A) zQ|!?1KZsJAU0c2lRF2T0^hz=eSu7Tq+}0Hb9#ssWo+{~5Sa&Lj?VJt3w$edVocfHU z7gKcxr~-+IQyl2Eu<3H0W2?u3De)B%$_&s;G67$M0sGGHdLW<|M)w(@O#oqU@g6!^ z3g8%4@I;_VkLLrWC#VcR1E3!}{U)nm&Bh71cQq0EC2BivAc?FMs(qkcJXNQOi44qH zeGx(;UTe%Gm`G^vw0Ly`{+S?KBEC{g9oR1+2$neX96E`JStVZgf)u*45Ja1due;$I*HV{2Wk zEl{uUGE;Xg^J)R^Lj+xYs8>#i}NdgnxtY4!A zZq|mg%*;A}0Yu*7W|ajpYuMe!bC;`mWjDse7!lNdV2Zjl(+^B%=7D6b7|c8{I1P!* p;L;u$z0`AQDbo1=;k|GC{{r^U;PM`xMpXa+002ovPDHLkV1iHUG)({i diff --git a/recipes/icons/kidney.png b/recipes/icons/kidney.png deleted file mode 100644 index 76555e1476c9b0f15b99b82d3c2065c02addd123..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmV-i0i*tjP)gkmY3F-nAVt?)|r~uo1NI4p4gqA z*`J}=prYHPrrV{b+^4ACtE}FwuHUY&>Bqf#49mtiZ7dqTQt>=p27vl6Wia zO+Bk0M=K2vd1*;NMTxxp!?*E~7$jCnfMAqpAOS*@ zh#)bd{v+WJgQ4NsP>PyBON%o!P^eTwTU&XwrDbOBJ!h}wWMyYEG!eg(oqg`f+57wU zTHjjtUU~QrYpu4F$Q9Q5CR6YZKlnNsgc#N$xVW<^Unn- z`g&3dAVSKyq3O3YjiROm5hptmW`>%PQlzdTk|IKR-WpAl$+-wFh*2j6WK{riD^yh^ zgo-GEB&ukuV1b#l7BKq$e#Q>(pCm0}=nl@JJ1~=j@4P{h3WZO$iU$2 z5;1uHuJq{$m|A0Wl?k5+l65XB+GOxR!-WSFwE6=UjEcr1BRwJU}yk zfKI0Z6!FWzGF1{bt-qH}cZk(%zC(BVET&@j>o4%y$dfd^_o!kZVjzmFd*Hj)>$mh9 z1)ynKBvgFz%3GL<^$*<)*5Dqf-3I`k^YLCgY2IGH;nZ`!%>0EXPeyIa#@|n*Zl|vk ziEc#SBL-5P3_%EDZp2s%W8e+Vu}>;bB{fV zxeJ!NVGkYnH!rNe2hl#=DiH)yGOA>x05K>j1w#^Gf*G`};=VBR0nqkGeQ^ks;bBJ& z+ME$FC!aBA3CmYs?d$gbYco5x{)I@NR7X-Ys!H(idl?&Gq$ma`$&}WVY)UA`(o#BB zo}n2*yl1ptTA=FW%sc)JKKk*i0eEx!Gwd9B#A`joKwSw{^4ces1BgI0NI}2^LJ~q2 z1Q4MZ+<-C*2u_GK*+cA&C)))1=`34ymB07urU!Xv*H-Ej{iJmgDj&gf4~9e4iIQmx z7>0snAp2~Zu@V8F{XHpy{F$d~=^0lsfAK2+{MzORd3X0#I#u#i)fI(Y%BhvI1BlP0 zpc%ywvqG*wA%@A>%5yWwt#>_^uDphMi&weRN1pi=y~BH{tAt4Q2viAD#EC(`z?cLA z9sx|80Z~QNMU-JUOfeT1X`2?KV#P(@XZp+q4hMG81}&`@HqgvX@SHk7krO_q2oAwU>Do}{#&$vkgBdo5qEluLKPso zmlQFau=oq-1kh3ixx6HnLA|cAayjq{pq_Cw%g*^Goq^dLKDdjQpT3(wL#hH*FzN_Z zP+}1LDy>>XrsT8SlrO0iuu}II*%CGZ%95h1WSbz@BaEh&E1@BA5~_ z;598mL@>*UfraQqqPhH@2$=S1wWI_k1%FdKY(X+X#0P>8fLM2#ibbbg!N}vU&@>HI zmB`wX6|x2dU+ZLOhABQOWsMtB4T+2=H9=j2;+IDO5LZb7xfz>`z_h_REWc6{N(Le(?duI8L7-Wp5Kch77FnP4+NP&+>tE%xydb%L-}3UAcQFkgwX?U zGW^7CoO_@s*^6A%i;vxk_WI-;F^kkmNh;p^LBR|=LV%}4@^H!;$QVkC0y&$T zQ9{WhAVJ8g6C!rAb%Jc=r8ko50RWDgvzXH_xslE5evUOwX*PjQ9Ra0mfxy%z>^)Ut7h~}0chM=DR5Ms$)z=fH4SjP|Unjrfrt1r7{iii_9>Fh7D zZR5Sf80q!PDOIS<{19LiAn<2kPf|710w#(HWK|#KKLAitfsmyE5kdu{``_fbhkwFZ zm)}BFL@YY#A_Bt5Gxy*y12<$KdV@;f2h=S_cnBaF0dvv}SwRgfLkNTzr<9CBP96os z!^)v|-{7TZf5*y;ucd%Rr+muSzWCJLXccL*(#1#-s-zGM5xXCB8$jB-zhTyNfZ#6H z;)5i?LkV~)a?Xg=xE;tyR_ZA1+5R+`aOS1gQNRfwTjOcl`uJU>Dlyg%bgBRfq-y)w>@tqHROfiR^yuDKM!6II|3J~b^GfO5;e%7bgG8L~6Kf$I)Z%3+hXC&PL>}3iPVyL#L3WpE% z==a~}xW!9ZeBv^uVt=)gkyl2TJtQocnV3J+Qg;$n`9<8Vj5kIe1%q=gyPg6*a@r+Z zMCAT0kKc12U>pJY#?|Lp>zz=@z08`=T)`K<_%#Lw2APV{(Zg(5zm83R+sMvWhdFj` z%`x+9W)DCo_6eSnOm2+hCn9m~=WiIsOO1zsZTt_&SFb$J0LFU_r>{DfAKrA^k;F%e z;qCwI<=bDsoH;Y5bJPHIyD~n|k$rP#$c~{-f7q;fe$EM>*a+<5|KPt|q>*ZBXZSb( O0000;M1%|NQ&&=hvSv-+<`L zmrq~b0MWZQPhP!w^6br>M^EnDdvXPcZUNDqGuQ5%xpd{oxhqFbUD*Rf$IfgybY{!G zBWrdYS+fm@_AJ@7XUV!fbJlH{vuewfWm~2!TGKOcP0y?)Ez_3NOqx^EH>aj+P6-gT zO-U*1d3&ba0_Y6Jk|4ie28U-i(tw--PZ!6Kid$gxH<&h@CN`P9_+y}tLs z!tO^(`OwktVr2a6?Des-_O-VA+}!^A`~Up>|NZ^#8YA(4f%dq#@NRJTyS(?jz4yJn z@NaSVzrXju!0>Q!_`<{Z!^8N-#`wp`@NshRYi;jPRQc7_?JYC)s;l_P$@<#c`{U#C ziHq$eEc)5m`q|p?fPw8BBko8{`OwhqCoS-Eb@;q;!M?_*{BFV!fX8h~x^{uY`>+AKdul@1y{q*$pu(AI2_5Szw{`mO*`ugrTJoU1(_O!L` zLPqwtxHikZlmGw#%}GQ-RCwBAU?u?QsbEwAfJ%8-j3A1_Ae{eP4%_b7wr$%s-+v!# zYFpm}=X{0piPCYx_kKWo3LR)1l!6|JAHX&dwp}%hFK3;ZGA1|H7^|A~JSFO~jX$86 zn`fgyf=o^BG#R!5J*h+i=RaT@{`1HgDvrjSYXeP~>gcRg(>uLgKj6v2V)+HuBiFn% z;o_0W0aZZ2KEd1|^1Cq>wh%`C&7p<-{arEMzddeEGoN6Uh`Q+``-Q59T8R3W`f3d# h`8HL}!4z4e3IJDkBIx9#s9XR5002ovPDHLkV1ksbYd8P^ diff --git a/recipes/icons/koegelokalavisen_dk.png b/recipes/icons/koegelokalavisen_dk.png deleted file mode 100644 index 70464fce89f6a09dfde9717982aa2e0b0901dfd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 801 zcmV++1K#|JP)K;?EmdAg2pJ4kv>DYmLC|x#>I*FbVwbW38eN z{}}HqGXVG9bP8yv2`_}&en372$`O%T%-WXzshDy#9J8(lVwb!hIy*aA|EvQP_<9Nj z4D$y9&IRoF^y^rAp?Da`KKf-lgTZg|KuHDrPRJX$f%|GA1)~lysy=o#>$;D!& zbU2pY48&o1H(0ty;+s{P*mK1MHGmR4AKMq&4LOE`E%Ag7=d z*A=bs;SWK;?EmdAg2pJ4kv>DYmLC|x#>I*FbVwbW38eN z{}}HqGXVG9bP8yv2`_}&en372$`O%T%-WXzshDy#9J8(lVwb!hIy*aA|EvQP_<9Nj z4D$y9&IRoF^y^rAp?Da`KKf-lgTZg|KuHDrPRJX$f%|GA1)~lysy=o#>$;D!& zbU2pY48&o1H(0ty;+s{P*mK1MHGmR4AKMq&4LOE`E%Ag7=d z*A=bs;SW3g|Ns9$#lKFR z{5EOw$LN?JYuEk0cJ1$zCm($M|9$-UbNBAgW##Ye9ly_C@TH~ot&xdbN=gIJ4uO&& zzhH*_0uATiC){7}5YVqsFyCNZ!UIzV21X`N7srr_TS*G61x#G(t6g{i)W`ikXQGL9xK% zc@!Ic_~VDeKRoC?9oQ;{Zx+p;ZpuI3x|g}TajaMn{vQc81#8n*>{xGYNa%#{up7)C zA9Og&I9~GYjAP*~%ZlX<;Vt1^67D<&oAla?fw^w`u4x9Q?zfsx()v*9%dFg=ODoBl z`eP@;idYcgJtg+hr;s$Q)^S(qq&cP@Qt#<%+eng#OWanc`nZ=3_KGLV#VE^03z-Q5 z7K9(MmVXgI684^;RA!Pd;7EBJLYI0FWE&Y$?Idp4FT0)m!JtSN3q4)r$#gc)agKMe z2tOb|f;O0z7%Nd_!Lt%Qc&JmFM^PRid$?AsskX{R;>z|i>*f@t1c8dC#uvB($w2s# zM6z2tJ=@t5Wx%td6c{j$c?sk)`zby5~cMdPS)WI93%RF;sLGAE@RQQUzq^^i! z%YuA@d&S7QLIArw4<>yF2ZcxqiLK^L$3w?zMYq zXBtb7c+Q7D2S{WYfX!Y^tO>K!7ZsW>H%HvDwJi*PWmf~h~wyf=I`-|<8e)9=_}uamazc%J>` z`I%N~f7rRVH~9GR-K&{v&Tbb)DJu5cmZ*q8^;FG&uP#4RXOH6RysBO-${pP7HP9|8Y8QLO9$T)V22^nwF&%`a$kC^TROOtxsxqelnkaKIQX? zKg}E)2_Rsw2O-~&v$okgi@tEp`OUJJXIh&=nwb+<`P1>Da@EPjSSdBmMVi{u-1p0; z?re}9A1}|p%%WXC;FSR&PsP0Y9eTbNvu{<`S0@TJMU2% zV=z9g=52Rr7svDI(aG)PZ*$9h9r6S6J{2(t%0~qeBH&|WB?j-7e)5v* z=koeg_?`#6fZ+KL32$jgX?AfBSstpv38{+;f+2ze4beBXFEgg+GJ3)FGejV@co0B% z2hE0N#Tden>>=~VxE`LhXxLD!m6=RVWb_S_Q$$$vSpEymTQ$Z*4|mAoF?pYw4TAzj zY^avZFS&lf<#VzLq^!vr2=AuZ5HCeERn(p64&vf&%)2zKDXm**gE*O<$>;@>mq^B% z2h0DGuu%wC6-RkfG|hxX$&6%up_J)4qa()0xH)TwgA@h6W&NIB?*=|Njh8 z{I6aDrMx^{978G?dk>uCJ;cCp#KHRYzwBpTEHwg${r&7@v@K;HWU(g{JF4<;6*a32 z3fIWbEhK-ugI( z36Qw94@^c-%cGm1LF0C*6d{yam#Ejea5i;{i?W1Nz&F%}GEbaYw|HkjF roEL>c0|O?`a#+#gB*LJ;xZnf-CRvxK86RwJg1qDD>gTe~DWM4f6y;u# diff --git a/recipes/icons/kristeligt_dagblad_dk.png b/recipes/icons/kristeligt_dagblad_dk.png deleted file mode 100644 index ef138b9cafeae5a792e45b92332028da8b9ec065..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448 zcmV;x0YCnUP)kwb0#%j+Qj`N#mjzgu30avIVxJmip#V~oBWa@}Yoq{Dl`C+kEODp+M~yXitT%bB zK7Fu0ey>1$u0(*bSB<${k-TG;ziXVrZJfe%qQ-ou$%L)Vp1#+fzSynE-LcEyw$9?i z*XPOG>df8i-s$q+>+<00^8ied>+<;Q^7rxf`T$Cg08o_t{r>*`|Nj5~0Z)_S>-6L7 z^d)DZ9%rHfRF>fD^EgbD(}PfPyZ>!WKfO6yQq0QDrO`Voa6cPK5m!C09a42;&$rVhq;(9o!mO_1{ zHOostAH+C=23?d*%Jf4RCsdomi_p@j7co%j6@g6|?eRb@GZ`Bn85PYA0HneARi(k9ugHHD=Hl?Ff%VNG%qeSEG{+^6(KM&G!+*g z7#biK7a&qh7gS9cTvZocRuy4d7Gqo#WnC0zUKDa^5_4)2bZZiIYZ7;C6Mu9Ng?bQ& zdk}|w4~c#ci+>N0gAI{|4UvWolZOqHhz+Eb45*k2tD6e6q6x;b2hh9(*TMth%L3xe z0`S-X^4b9O+yM990Qlel`QZTk;{g8T0RQCx|KqxKqW>pg z1Sw|Kki$2@AFRh1W1^O{+yrfL*MgbZC`|7{VcQ4|rzsBI1b1HU_V;BS(mVvRAZ;_l z;-|1A9owrQ_XebC@~Liu^)wn8&vWQLx<1{~(rOZyZh|*ZjY@pBlICxM!Y(*Pk4tcf a;0H&W)DsM?55SiI0000b|>duPt^X69w)oc}v;n85%*2m<2VuhqIsr5U*#XUrJG zcyt&5BLWV9Xo1%sGRhJ%?dx}M-nJJCr%$#1`0-uJsE%QD0Wq|FJ-sG0h{Wrh875gY zth=v!WFBtrwRX6J1|^8D&aS|>W+-52jUW8GcmHAedyhBDwSExl;LqT| z`(jZEdHh7n-1+k%q)P7}5?o<4mW!dmzx{pvW8Kkg#7e0qPM(~fHEZ#brCnX6jhoiL zeDwkp_^g&_^xSk@0zjp=|87hBVl~}RI4n^#s8l)`f|L8%-pA7=CU^xK_ z5-FZQK+noX>t!ZnNO51+jvYCA{B$di01*Ni1y)ih8BmN2H&Me9tGYIw9gm@|jZ`z) zNspdBsspK{WIR$JoQnNh)TK|nT%iF=0VTx5>?FmVUHkT5ynJbDrb$L1*^pEXo{9Da z(>YG>ICsDg_3a%O1ao2&y{0Ky;izrfwuf3DJam}XK_WFanIsAo>LD|D_3pK^ZRb5E z5WP+5Gc=+$+*EVjK@36KVP>!ZItoZnGHtbyRRQ+j^$f7 zZxKRH&SVfsBH8G}T-AV_3&(ZhSK15JUzIQCo_wa-igl~5-@Gv@Jq8Uru^0ew1K>)> z7s2P+&-Z;Fatmhf-MM?t!a0>`POf?7g+g1D4vYc8fsg@7iJVEuuUR%S{dZ$}%#yXs u0btpRWh=V|x?ZwmC){W81c8+TF2juVWjVI63L5FBRj~cQ#dZeXnxi_(gJj z3W*pQN5trOa_1If)w!^0ome!Emv9OiLv5@`T+Q`!H&AkXiZBg{CUQ&yS+fefie6=@ z@D}Ou8Lv zM9Qf%r%73uDT=Bzhi)DbLs_+(@&XIy&OsPk_@HVrpVZC;kc4lQ9pDL^D2&)Tko1uGq=R!)G|U=Qz$H7rDU&6fds8s&dLXdC`E3Bx+Ow zxigEX53~sC0-6L?wM%+^0mZvS(tsH0q{*2ysU7d$2RX{kn`jyw^~8XfF6?^uJ9nba zzll}N%XHzyMG68-#X6@<&3dQe<3Vi(YTonz128)S0I7twmk(D-UH||907*qoM6N<$ Ef}R^MPXGV_ diff --git a/recipes/icons/kurier_poranny.png b/recipes/icons/kurier_poranny.png deleted file mode 100644 index 0ed02efdd8759392bef561ab15ef0f74da6943ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!M1W6->wh44_wN7hng2V|{&$4_ zFAx21tn{COp{6v&9jM0B)5S5Q;#TjOtBeN>I9vlCcz&P1<6YhVBBmp;ts76VzR=V= zly=T~1N%X?jyImw9ddgbP2UtSt#$v*5O$2MBW51A&fg}b(2pVPRkxYi>bB|V01ajE MboFyt=akR{00G=TtN;K2 diff --git a/recipes/icons/kurier_szczecinski.png b/recipes/icons/kurier_szczecinski.png deleted file mode 100644 index 2c8a3684dd70b5890a05acc32a42f59c4a97084e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 756 zcmV z!*oCKk<+RdoApYOQ7aRfbPAE(tQ9#dx^?J#k;`rrQLn&1n+2ZXZHAO%hxRV{`FPBS z1o_Wjy>xEgsFlyF<^QguRf^|Hc%FI}=uG9hfYqpe_rlo|{VmN+n4X@--0Uo-rlxS| z!dd+G^SAi>kDnm<_jkx8e?hGf!E8{0oOrDZ?A^(03i5N8R##UM7aNQ6@-hhJ@8^S` zfA|{iZnsfTkO%6)wJR5)*T`ncg@zse^7Ho}IJAG)o!p#kR905P-TfX02L~`qE{+~K zgk3v$jE|2o!G*;|+`D%dMxC;qGI@&$xNL@($WpOhtHkbI+fiFv! z6rg5`#`_&Xw_9|NI;{GD;2=M;xqzOY9-KUJ48Q&Q1H!{YFgiMl(2x*JOiW;IZVuP4 zUxP`ftaDm*uMixklKuULx5wSusi{c_)!*MwY3Cz3IT2%HqnMeQL1$+NR##WBw6p|o zFAs8{4%o$;A0ar7lKe9$z;~jqt`;>lH7vlo+FA-Ohvm@R+{~sS)WE=i;9$*eHSh!{ zz|k^Xrk?<_Q3I`74z*HBNT8I7*aY_M-j43>E-X_vVWFYm9o7+-!}JNk5p0D^$c3;N zP|5xgHfjB1&AdcgBZR>2?4C=55Y6i7!yHRc1w(YRCZM$##y=3k(4?Fw# zPd>r$x86dLNJXd+gvt_s(H@R8RFmdb7IV`Kq@b)-0I~RAXbw0o1z6$0yb*e5AP}8# zS~1y#RcMBC(%j<6Mn8-3zpz%U+X!hWqPz#FqIjhfV3X>4QZ1yh7ZB{!O-Sw62{2W$ zc?Q0UaobSZ>8F6&t`lIW&iEv}6JzF~XkPoq>T%_Ednb+C<&|`9w^#B5?B3&*+}NG~ z+jIi-voSUrFJQu${PtZ{ll<858Z;XwxFvwt{3T52B=_z1N?K=YbHTK?dQyr@0jMxM z742g!*I<*6&=iI{9e@hN1F1dCMu6X{0NfXooe9tfA-HGJeh9@aF2N1u8SqZ-=1hQ- z_@vXfNM2)4jpWga0H1f%i1%_lfU&^^Pl0b*88*6Ped?265w5r-xMF>HbUYzLgGG1;y+2>F*M>=TH;z_;&6B4H9_M% zO5;aT-$YB_NKW5PPv1^f-&tMZS6ks(S>aw`-~a&P7bxNwDBuYk<$i)q@P2p-}cF5(?8;R_(%LrUTvFybF9-cD2D6D8dN4B{v>>7=LXo1E&jx9qI1?6I`$ zx4P`Px$V2Y?%2}r)Yb6b;q%tn^Wfq1%+2)Z=k@>p_u=FB`1$wx{P+F-;wdrWDK+{3 z|N8&``~UyqD>LFOH~;zh;w?YjDJI=7Fk$8xJpcd!n@L1LRCwCF(ZiY~Q4m1kigae# z9^1CYIjX+4TF=3>`4zk05lV>Xce_k?t`T9paV2M7RgPI=8{Fr3MSFiOi=WWSY~ zfih=)@;4P<(r5rz!PGr=2F5r=K!fs-9$?g$(l2g@{b{1D`hm-#?tMQNRh{00000NkvXXu0mjfa<%IG diff --git a/recipes/icons/la_cuarta.png b/recipes/icons/la_cuarta.png deleted file mode 100644 index e13b93235480575c931dc403ea039770ccbf8c56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}X@F0NE0F&G|NmVjrMrTH|KGj4 z8yb4o*!bP<-FKA)-_4vk6UaVu=H1=9?>ahm3o`6xV7P0nbOwmh(#|L;odGKD=s06+ ze78L9U3vLkkf7ihLBZXEf_KwG-|b%YZf3_SW8*U}F1uY^?z*_V1A(T0q8 zfBR_lHTUwC_DqSeTmcV*_e;f_d6;S&4VlCZI5!=TN@8`9P~6PJdd?-f@4M6mr(;rm ze=Za~EM(-rZ=vsBI!$7Y-h* diff --git a/recipes/icons/la_gazetta_del_mezzogiorno.png b/recipes/icons/la_gazetta_del_mezzogiorno.png deleted file mode 100644 index 42b17a5a29e98a237942a9cd477208247869b6e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1679 zcmV;A25|X_P)Sz+4AMfSInM0 zr%RWv5C{~e3Qo}LKhS@`pwnm08VrUMF4gCgL{TQpah4AsK3uqPVaSkSL{h8O`adW? zf*koXXy8D@t5-?@`L%-s*WbQei~0kPvr+m0O%)sogZS*Zj?XbCa`)-7hB_t%58o zzF-)zABLt)En2k59fK@Yt5$+k6l!hUs>e2H5qzNl zguPxLc2iQgMvWSUVjwt}|MACP=Gd4kW*@c5s0}mUrdaOeOgeI5{J#&9rS=3oUDGVAj%lweHUPm=PneXb?Y}`&z9k9a5@nHg^#hx=_1h;YZG2`p7$2-2dnVzix=y%oUL7! zWPFOj;{9k9-f|ujk8ouhq0@y?gdRSO#xX8ksCJU2_R#+v`<$c#z}=JYTdJL6e>=#0 ze}JL(n7Uj^79>Sdy#cbh#R?}_O_=$o1I&Min03$XB*zHAix;mb(0~6GHpawZ?iR$R zXA=RSJ;2a*fw;)+ldW#41}xK=wEN5$VUQ{;W4sohPVJz7Imlq#`<54EM3}^x)SbC% z)v8qc_U%y}s(purS=Jnw`w=tjH?F~FI1&+M3b1+_#~07^&0OTeylg5^D#4x}Bz_Xo_H zeP*n~g2M)04gioO1$NAwIV%eQnG4Ul1i9(CBuLjh#X39^wBP`|0RXixnczMAxv3Vp z?hQ|Er>U<1M_@rP0Gh|NY143%bmX{H)oKaj(;Vr%I`OHKgN6T5fsk^LZe{P?Ngh(PuTG9Zo`cxd6$ zMNDw{pcpl~X|!H!Ee-`BpO1^$pj9agpnv}Xqyj?#Z~#hAe@fHnObl8Lsore~l~1zh z6WCg+&jL97j>pswFlNkH(yqyclZkQR!o?6H{PDOD>jZ!;BlDzFkpDTvEY({{oYp+D zYIbJU=E;v~n7TbajN#!CLANHkGLf(G@pK3Vx`j1E-15wh`g+V}q));_h}Rj;-r zr*C372MfR(9@~UeGofP+eikxTVk9dt8#`Q zV?~w}@EL>Eer(0w!i1lG`iYzZQ3WTG!i4_#;}3N8#fz7$UcCmqWXV#zO8)uhzubgF Z>3>=~k$&TdANv3R002ovPDHLkV1g&GRCR(`+UEW_+I{ytuh0AaeE$A?@_cgk-)fgnf^>y7aP zZT|mgYl6ho-XDP=#F{VO-wUjU2D;{E#^z=w=BG{Utk2k=wL&@CqmT|Lq$AGR8Rv?^ zxuNiASG+smhWBv8d!q3ecf6NJu(x*z78~j7mlPbD{o~E-sF>`iSaNh6IVPSQ8&8f) zAjjV#CnQpC5h;m8%Izddax#T^$Ev*B3 zr1bz(22h!@CqS>P0bt2!09)1waAZvYS4QW`0S3U6Hv@h0mOgoFzq}0?khcSa@(y4~ z(J`n1*$E6Qx`q|qz=)y;7*#NVF-0#hu3(KT0X8t9T!X3VnIC#EUNjyl6ndds;7nOnPqquSb?94;5iXI zzX}V0HFyD7hnF^B;j;rk^!z}yb+Ed1u(5sc3=mU;k5a&a5x4z(u0ZH*VFUzeIAAgE z{^u_T%yVdu0`w`HDd~$WtcAAWx0Y7l*?g6px$jJf+Ol}z{SNNxp=J&_Nbdi!5X(JeH=+HKZBUk5V;|c7koify{mO$p!ATNMSCz}py+Jr}3K?M?9neEf zS-CIIg<>8futu8_15?SSL{fCpNXW;F>ga{rlI@5x_u$kuWc+6=56(Z5(O1 zd_m+5o!2jWWAc5@Ib@|N!E6U%f^dP2%8LkvPU(3U=?J?l8a#1=p%OXE^6F)-+0O!^zAGNXw|8YLZ=a*Kdgh zx;K*)Z{Ef#{d-v#!fN-pFD&4nucCia_2E}h>1t!%z4Vcnv`5w8ksz#>4~F4E$ovnw CmUVal diff --git a/recipes/icons/la_pausa_caffe.png b/recipes/icons/la_pausa_caffe.png deleted file mode 100644 index 1c60c8b20277053b7d66aaff0fd4ee3cf5b9e603..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 825 zcmV-91IGM`P)%%Re5nT5!c;CMrA2N@W zlrV&V1e`!RaZ1~jyTjG={#O=f#b6TpUce7D(mnQmAPM~E`o*(OhXu}mH-|%9ZAFtdFGrgq&ydl6E|DGgOO)wrlpNCZ zSKC}ln(F)D)cto4)!C^8gqT7u-CJ6+nuw)}ag|cFO~uhE+c$zC#IkWNx+^#JdmeKcItC!iuQSZE1TH7`-gz|B$-Gm5d~whWEu|xi9#j?0OETp ziY6^1c9)M$Y>Fv5H$PiJ5%WG4mr7T?fki|n$5}(3#)k-!!VRSiA(P7@QNEDLA|eqU z0zx1rmwalKY-4F@i$=F47Is7>;k6jpWc&JtDT@3JU{qUN3+VMDv{pMoYyuMhPN!u1z8TXdZC57~$W|C``v(7?%1Hc3YP*W|@JfO;4_ MUHx3vIVCg!0QjmSumAu6 diff --git a/recipes/icons/la_rioja.png b/recipes/icons/la_rioja.png deleted file mode 100644 index 0322d1c0d13d5bc85076047e21ea931c3cdb6d7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmV;<0WtoGP)bbxP9JlU3-?JaumhBK)cLE#^D03GAnr`h<+qM%@zacPx{RVj%pM50~Vckpq}c%JWlpXWXAL8L`am}RFF0FK}b)k;q(F!&k4 zi4YLAQqnBrn9GxxfDK_PJ23))Lq-Xz7NE)kq~YPv@{vKr0iPU3b2tHp(C`RDNoG@> z)YhW6cWArX`7atT-BBYI7u6J#iT|FMfP_yi-(Y_|wYn6JM0Vp=aBK6O*LB6BLRCcx z5E2oPaP~@m>*xL`VkC|rwqFPa((h^roq#-`RtFN`#H)(3Tk8RZ4u_-1|FOK#>+^V~ zzekw06$-({{z)HF=CLLKs~|PEV`LD3Li7#*SzXTL@*Je(B3YK8tuek_=?|)rPDq+$ zEC{f3G`tTJV{q~iO#_OqvketyAbl~S#Bi(0>F61AcX@{FUf0$78it^ZWdI=nMJ`h0Vpg^y;|#QXLHpBq4WcXXYr{45?NMKM zW}^u+QDXA=F4FK`?z;%Q17ZMKj0sBDOj88UGAJV>6yF|%zn71!$d1Ss1(q42(*cJFZ4sLQ{y7}Wqu1e;rJkAamP z0VF{hN-h|slZ$gP=fpoAVn5%w2SFI}7=1v1XgWa}CAAKJ-1xn<``2382;O&eB4s`t zg*e_kz+xCgV4lksRe4AAGpEDq9Tc&7Oc%ETk zP&4z;wDeLkc6AC!Fm(ydW@6H@_Ej-)`|{;mKx~exnTM{e-|ydlG|W9ilZz8`tJd7i zvjrLz<>}%WQgN&GG&`5GBMq&cwi#C28~%LKmnq#+(7NhV*~PQsHzLGz>MF`LGMwZ?WSDgm T=bU{3w1vUb)z4*}Q$iB}L(Nd% diff --git a/recipes/icons/la_tribuna.png b/recipes/icons/la_tribuna.png deleted file mode 100644 index ccb85fe1b7fdb2c17343520992a047e1ffcfb804..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1438 zcmV;P1!4M$P)T!oZQC|#W1ej*=F3Z7?esUbowtfr+qRXu z!QcIN{aMYFtM6ufCug5~&fez?Wm;w!jm9~>-e54Aj3%7tFV;1v<*YCN@S*{TA>HJ3 zXh!kYb5YiukRyIctvy5Q!=RS5UeVn3=|0a(El%HR!@bvmPyK!B-JQz5VI5{M)(=4b z-O)et{6^W`4!oB($)4XJeQtx~)h%bQusoep*^GDehKm3ondGR`uCO@s%4Ye~?h>*A z=5~9oBwRZ?2m7l77_qI81AD&uZU;UbX8^F__G-&B$NZC5$ON!4FuziWaNMSdy48*g zugw9ZK(*tkiItVzpPB=+jcfoWzKQwO)ZeF(05bqu@}QHzf)hMAHUaxA4BP=&qb-(e zqLtxc$Gwz@CoxE|!0}JW%3Tr;3O&EkY!QH@emas_+Q3RR$x3!rXMlR^aFgq7mwQS) z9gtRrhmh*hG#$}RItW7VcM`yHn0|(qJn1IB-JW+cFm-fdibYm(Bhy5WH_)cuou=L` zhn2#PfhmH`0I<0vjkthJytq+H01%(J+{)!tS=TWZs5xfp-E8dMUYED=D8q&2l#H?M zTr~CbQJBUe?seqmd% zkc;pU7tv??JZI+g%q+PenHbdR{ldkj0e92Dwuwgipl7Jwz`V8;00Rz5KkgR}2P@&E129 zQKgL?cKom#ZA5oFNzzMOm={)GK~{Ow%{ClHaX>BuJw~G4x z*vSBv&R6RPy~DZ}H_1TIXZ{0VV)gf#pvPRrkGKdQau#k^MiZSUr54S%uU?bIk04u zsO2a`JlZUefS#|mI&-@n_rqPP-5znTZ9V(AtC+P2w7*}D`%g~K0$?Q;G1I!K8GdNS zA149=(~1QDWGG{@15yfvVcMUM`90z+gx9dkDzsNvoOo0B4pY8X&&WeL} zkAOIf!YW(3l`%QgFUR0JtmF8k8-l}5#*H?d{Mt4a2E`)&A>Tv<;h#mi@peVz|G@DKSW z#phQeTd!=Csnd%mXJ#3ll0m@>w0P==L-+voPtM08K>5SINl44!=mbLlkU1|AbYS4Q zDmM3SJ1(BcBC`UL^M`a3OMW9$)UU@uo2O~X2fI}1#r3dts||;igkui$r;rBo@0Tax s>?RrV&rzo%&u|D5A-3>2vRKLg0^1%hTUVt*DgXcg07*qoM6N<$g0M!xssI20 diff --git a/recipes/icons/lameuse_be.png b/recipes/icons/lameuse_be.png deleted file mode 100644 index 2d59e15429b8645d4300c77cea15e5d1714d44b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1241 zcmV;~1Sb25P)mB6^MOC}(8y&u$ z%b#k066B!RrQcvvAxQb#=;A|O_?HOhQP`jmEvsR_v_Dw`YbHd~v0v<-UROo$$WG>3 z=CWqi*t!srB(V&3L8SBN$apq87p;GtLerkzumPLFy7<9aB!nbMZJ_wXi+78-AJkbH z8P+JoUWJMGdwC+^Erp#TK3_-O|0S(`WOfez1;uxH5ecDspSudq6mfIoB7$cRH|eqX zOA+-cfSrO$>RCS1D==vbyO4TK8P7|pjf|Ovd=T}u1Sk(LaWWZ!or4OPBAF-3Yf3G; zH8e+L^j>OOx9pT-qLnwsacAP@yYR%bc=1&{_cHE(6j$7UeU3t5B@nTUi2D$zQwdah z&r3)MO(~SWx$HDlw0k$Cu>RI~`+dxvk9L?m4G%wsa0QUh8oi#NWGFGByt(I-MS8c7 zPy`v*g^w+E!pzxlXc+W>F=#a4@OK4WYeEJP5es+;b}d%;aAjAW5>V+8FHG50UWWft z2xT9F@ZLwTs8*TFV)k78{ujRg89)Dq%4pQ$uYcipfeO~qTzoZt{Cc5z z{R6Ypp-d#o^F?xsDv}Q0a&gI#Bk|RDOzn1R-~96*UVjsJJ%CHE!BMASi`}s1)+nq7 z3iy%>D?^uA`1bqI#KJ1J+83h3$nu*iA-_D@vM&)h@oYF)4Lpi@$Bm?tGdSIRwar!%iVG@desel^ckdw)~NGp#Vc<@_z0Hgytjj{QIEiBHG;h1M$*OLa#Feqtg#^*l1z>logtELUlT z<`G$TRpLB4>}3AG(*am-2X@vatgsO_-wpd5iPO))N1u0V)cOA-Po*2`#C?xqOr>hR z{}soacwW*(e#X_`<$`ecf^uD&JxsnIR)q!Tbi*uk$bHE9TD zHg3T=&^;4VDTlaVP&1$G6I?YthejPJRAkMI8j6TIl)Zb^Oc00000NkvXXu0mjf D+vjY~ diff --git a/recipes/icons/lanacion_chile.png b/recipes/icons/lanacion_chile.png deleted file mode 100644 index d2dcb63d0320b1214a1deaa67580f5f75d75218b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Zh%jS>wh44|Ng`A10Qzm|FB@e zhZ*xfOqlS#qyK$H!TXGa_X+Xu69OLS>p$SxK#lgEE{-7;w_;BmWn^#^ zU^2Ki_2vHC#j58Un2zYpjAU)FHZa}8wySM1i`V3Wm%<0{*1Eot`Xbfhc5T7r4TbFy ZjE!@&~N0I;l diff --git a/recipes/icons/laprensa_hn.png b/recipes/icons/laprensa_hn.png deleted file mode 100644 index 39874bfa5ab71cfcf04a035fc57c1a091c001233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJPk>K|E06{PKfeWc%(aEA&Dwz+ z#*!evU6P))c}y$0F>GTme~)P*%O=C9;M(Qs^cK5<1Vb^G^*k`sp2@VR_(oa=Yk#yy}C+=!M1ZcgydM)AN(j?3U8*p49T4+4Q8=>aEi6wA1Ri+33C8>Au_Y zxZd%>;`YMh^vB@y%;WUW*6R7)?fKjC{p0fd>G=NX`2X+x|M~p>`ThR? z|NsC0{rC6x_V)Ml^Y!iQ@9F95=;!F<=N4Ns3G=QmKR}P81iXRUoJYDsgeKic+}jU@GVhaDgB9>)}GE4UMR61KIqEP)l2HgS%QC|(q zH1F^l&(LaQ1QfCHDrA!ifU9Jd@H2DCM^*`BTeualNciKmK*T4feA<(zFTZ{J{`2S0 zA0Y7a+xPEp-@RYHW-qTo2+#!(l|aj8F4*$n!>1qLL27{D!-tP^mu%;d4kQpnJo3T% zc3Ejf6CXW!@gEGf?LKAeT`H~-#e}L-Oe4xQxa!22Yd|$~7VmHjs1VnPWFi~~qM*QK z6!D(DXdA?WGv{weYDHs>0~O=MJNF*nx&KtvG?_urlR?yn*i;16>=jY_>GM~h1;79N ziOJ{!#v!Jf(z@9|1)URDVl^7C1){#(azR^noq%{^<@y7hGJ)_2fGFUR3*Nc+^p`K+ z9R16&rXK?NfI-+Rr+n(ae}91%y#Mgo0o4>B+dZWE>(_5D4j*MrUEabV~H#cJCY0z;CbvWQK}f7ONq z5KnB~c>}nh@w2dcCNa(@w!&c+_no(N z$A1{O|M0oCbp~>_pwt3jxcf&p0wWn>LEp4BjAB02tTKUN%_|?WWA7=T>7T!Ra|@{= znEXkulYu4{RLuZduxa}-V4Z=d@FCX%5g$dv1Yq5eoZnAm^pf1F0M=IO7O8^7rA{)N kEufS`is_>*yFp1KIqEP)l2HgS%QC|(q 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 Tgc3Cx00000NkvXXu0mjfxR?-r diff --git a/recipes/icons/le_temps.png b/recipes/icons/le_temps.png deleted file mode 100644 index 061e9ed748817c839d8d64cf13de788897a343de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmV-)0gL{LP)FAASGj&0v%Q`F!7Uq?<~_OY>LYMNjs;L9qW+&_8|22Yo!{P+ zNX6s}mLi>h_oypwbob=DEsFJ$0y6)EG~oA%WWf3nIRo%vl>tA%S-_yB0FHN@2e=tw z0-m7&7@wff4hcwd2Nw(8wk|L$0e%g|1&bw?g4XLtm;4Mgb5;Tn0pio6&doiFrxGZI Sw8IYo0000~y diff --git a/recipes/icons/leduc.png b/recipes/icons/leduc.png deleted file mode 100644 index 5a40c3a78e159ad1a8dd46309891f104dafd97bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1076 zcmV-41k3x0P)RYMnuFLA(yFc{0 z-5=HNYAaT>rTrs%X0rEsE!(@U_YQ|)5|Z1V;#4}+fxC27USiH&zT?=6kDzM zEmdBK0&DV6{sVvrZYl=e*Hp1nmsd!VJI+Lm_RsTi*foG9#k#6oRmHk0`ikyVMUUt2 z_^8diGa+C>@16Bj3EuCjVpGyBNghi2NRn^j(0Mhv+8;iR!({`2?XRffjw*hZbVrh3 z1=$tkp~(MMWPv8f+PUM(g{f z0g(nQ8o>Gxp!ZH5iTsJk|KjOWo<5WLGf6I|*n4@o#sTCgAp4VNe~A1ykv~;*u1IH1 zqZ}?*3;1{hur|mr0CoowJu&v!0CZ%E_9gu=^beP-1;7#19VB`6#Uwv4jMl(AWaYjj zn_#NguFJ3UII!(;j9~<~8h%~rE*mXVVB9x_v}bJBc;C?g3Y&m>+o;(OoSyQK^?zEm zfcJ5@J|mWDtrjrC1#V6ish{YHDp!x7N%v*tuOIEaqx`W-ZUq^|P;4la{)PS875xmB~xs)Pl& z?rGP>k}N^YdBx`R6~drEzULG>I^73H;3JgBX@W8Keb0T~K-jj=dFWDtuN2vjg6dPY z(i*NcqSuJ7F}Odz<5YCU>f<4l#Yq~)FzW@5;vfhRvYh7;L-#7zdBa2Rg~7!bf05uz zY4lYZU5K%7Ds`OtL%`59DM?|@VG%`f7<#^MX{2k}_JNgR9SNWf-T)v;NtPFc@S?1Q zJYF{^XHUF&_T1}dUc*7)+LmkEhaaxv0ePB{92itEK2tZRPo17UKI?hj5pIPs0Fq>F z1PmgO3IJJ}9r<267!bvY#>6q?07sEAgwQKq&bAqjv36Kf9IoR+5UA4`7=p*Z_hHMN z@ur!9qMeB9BQG~axnG^Saw4vFTC0jXHxq`OC`y zO;4dacr3Pfw0QkvThGgf|PN?IEGCjKjS^4&2w83D00000 LNkvXXu0mjfr_|qh diff --git a/recipes/icons/leipzer_volkszeitung.png b/recipes/icons/leipzer_volkszeitung.png deleted file mode 100644 index 560330f9376ff7f222ca030b37ca3032de54b070..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1417 zcmV;41$O$0P)sGvr!5y}HF&8POO-&~(cn^BcXzAcgx-6PySux) z`}ubMg5&mS-FK^VrYD8Xy8c>Vl6Ul($@2zWmc0M)u`*jp>wu2Dzbf=nW$#NG_x+`< zd$3Xq3W4ikexb?G_oO9us4G6|OT)hCm}m1(u5CZ{rcU{&QEz&}6+dq3e+E?pSBprZ zty}oED-FAb4&cEjWq5!ql!BZbI*JNBkyL>PO@U`!0|&fmShw&^kys6`kRoE0H8I*X zbW~^iAB!!xoPaz{%Wix4kR>%%QojLQnw;D`z2jaR1#6dl$mY)nR}4ph;fp_NprFok zS58hYxENLLdpjvu>3Rr_1g;X)Z<+PKjTBUqcV0x9+T~3Vs3mU!*Flx*ZuW203|KBO0T&7h^5mVE4ppB7=|fJwu`Hyz=_SFHPG_QN%Nq`vfZs1nwEV{ z#-ZMNGgE8B(od9V66n8jp(Qrf8Xslz=79`E=s8dP*z}~Or8a*8%JhD~pepbLnS_dR z7k#O!=yxQbq30!#K~iQdY1l@Wx5@9{_mZh0yLl z!Pyvnk53PvcAnW%t<9T)rbX|evK03h6ANebsaZrKv+I5VoQG}CUv+`!fiC!hcgL^i z#0cLLWCSWTBx6@u&hS2abc`(!8$!>qd9&&Jrls$h<4~q{fb+2K`J>+VJit8<_NK

@>3U+&uRA*5pl$8psELx_M9U2t@wQ z3=^SyLnBb089<3!r`0HIUz~up$O%EVs*it09j4EcC( zFpffIfNFbV$5C!#46ZP({N5dhm5zH0i8Y$8Wb5W1=unmYRw6i4lQ&yoPfnO)qblQi zC9%e^`uqIKe#S07?~WYHV{rkZuJ0MozyTJTS4LS$u~}MdmKAr&r~ljMDJtj?f0jfz zH$Q7?l9CQdNoVHU%;C?=T7_%ikg?|pKr^q<M*61nG{IYXng*8jbo1g||)ayX! zy2tuISY%vv;V{bAEjK~E_ukw**0m&k8`V4l%N(~|s*=ugXBP#DWgl~d*j4FXv+R>* z3Tm9UUp}iB6D!ErX?OS-Zb>13zU-T8dFvj>@L_x6bdg~hxI)l7K~w+B{v;#^4%A_P)P1iLMo{ZXQ|wk>>{ejyTV?HBW$j*P?O$l_WNhwcZtiJu@O6Fg zc7E`9fAN8c@{5u3jg<0^mGhRI^Ov3Un4a{Sp!A)i^q{5otg-g3vi7pJ_qV(Fy}iz2L z{p;-g?Ct&T@BQ%c{qget^78)k^#1nu{`dF(`1t<$`TzX<|NQ;`{r&&{|G9VsegFUf zz)3_wR2Ufr!EY}@VH^O^bMJkgQnQxT{26aD;-&deJ~G2QW~nX_BC4Nr(iPxsv~CSb z64W0>IlEmRSBg%;*UeMIaSZlkdi=w+|#d*I5;J5&3jWB3@?M=03z_CQ;WVgRM{=RU}4}Dmuf1pg=NzUFE-i zUjZcJY1Zy77jhfY?{wZ2kE4jAGf3mQRWOO@c0p>M0MYD$e`fDX>BFjti~s-t07*qo IM6N<$f^Nks)&Kwi diff --git a/recipes/icons/les_echos.png b/recipes/icons/les_echos.png deleted file mode 100644 index 0671dd12e4b07fb94e651a12fc9ab1b236eaaa4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1279 zcmV z(1+X>ymm>}z z@|iy`{p}k9pZ59{MM=T2TNi-KqoTa#%%UjCOYQ*}s4Q7Q&c?(jt>3f;Anq9`vCz$Z#z5aT-%i8XLQX-Ej+ zqP4NHE;qLk{0*SD>yiPgU!O;uSq;78Y}5>;K5tSAqu zM4ddI=i(f;cTe!v&5=hAhiu;#b>evB(Zi8PkDw;8moA_~SqyrvqeINu)1|?|U_A}X>H==0jtf*DvyjzdT>8%&n~}ZOYod) zZwF~XkW3vdApl~65NWZWZ)IF;OJ$k;b2x(sVm*;qipJ7X3}8usKX>#8Gwsfu!*QzxUWLj4zTI2F-Rg5L*kSWj0| zkqQ7q9!_05XOYPeAD^T0@Nm8_v1+-GAB%H>ggu$BR_F)r@t8OvXZ~ELZe59A`ARP>fbTfN p^M&D1kb~h3LZ)k~|0B+(-vPRZlK0``q+I|2002ovPDHLkV1nIQZpi=u diff --git a/recipes/icons/lescienze.png b/recipes/icons/lescienze.png deleted file mode 100644 index a5cfa6f694dfab6fb915bb53c9c81325d4607cd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1678 zcmV;9266d`P)Q~WAGd#!AwYoMQ{sTlK`IJ3;94L{skBF9FYs$1TRB4yaIOt z3q(Q=PH@`IX_pefdanYWg8xC1HG~fY!#(f}JPOW0;9+?2asx;k|2yorewV@UYwY1J z2!jdG0ROq10MhP!5stxc-~;En_C~0ZKL2t9xIryY_yz{amnZS`G|G)egM%ROuJ-o! z?zlzdT*dMU4XkFMdFY->@CS09p7`el^#FBY2^w~Cb92?Xy1I-D4Gpe(-9QL5V%J_{q&O-ifTV{h`t&58r|lh67LtEGh9D3LOi&F?EuXnj%oUX_ctCm zbZ8&7R&{mt#~jDrhlX9niHQ*Q2s6I4w6u&`YtJ`d(VU56X|0;I_JU2_uo3h&hd@l9 z%XrXFGgEu;%mHexyu7?Ec6Q3K27}%ax`N!`+Egli_?@t(EDW2I3J?98fenx;Qm6}$^L{bZ8{a|%= zcJ}1t7l$5M``|Y>amX(#QDkv;41y7n}P%`fF zFHUXE&%j2>jwyA-W`LU5C~C0`1!!w)>r6;Un2t+>fCmoPcht;kv&!RT>+f37D3waJ zR;zLF@$;3*ho0>K4?{gri2>U~@c6^DyS+`?1Kl%c&YXoYH(&)QKu&QVR?Iq>PMsKW zRVcAS+^}sk_`i#{x0jrt!o$O*2hjxhUJ{_~j7j*uI0-`n=x!`2$t1L-pb)^{$H!YC zxhDlaK?qiEG&tgr3QkE`_x#;=-{s4)j2%JYZ^KW+bV+~@Y%aqbEW^*UGyABd^7Hcx zG4sdc6WSvPX*qSz8nEC%nnIi$xcK<3JCBYzTYgCY)t>Qxe--h zBg%N>q1J_SB(x7{OLr%`JsZ;+O<>ch3 z7l+Ex(Sf}1!t>HLq&sd67;SFF;>ot0Wz8uW8QCXJoamsa_V)I!*|TS-pcf|M6RL=> zm-1s)NO_OtJ5zZ+Jtr}KTh_w)%T-#8(z=~-@s%bgYR^5 z$dn#NWt?V_&Y-(%^~#m$yHFJM+i$<^!~^H?Ja?-L%LKnJ@EbEiLn^YeG8dXxuUxhw z(0}GOUUEo$~S3scJ~_f&KOex<2icF=+O_x#>Rv#TedU? z!lUEj9t{~eVj}+UrO^m(dMv$d?rLIv9t+-J1P_n{xv28>^CLb10YqH);^~K_<%Y9B zjejwqMkp0F9cN5RCDy%6d}s9c_aj%lFzE=6V&d!TL&OzeG>Qx|@n^9?KR;h`y)L!> Y502Y>@xKNeSO5S307*qoM6N<$f|FcM$^ZZW diff --git a/recipes/icons/lesoir_be.png b/recipes/icons/lesoir_be.png deleted file mode 100644 index 9a0aaa786ad4be9e5636d93f4282c825a005418c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2022 zcmVT+VLTuTwV2y-SRj5d8sF0wdR4NVhl@jEnO&Ys-_&T<8eP7@G z?)|=*Irt$*bcIm)X>=Ad(mCfp6ja8lGbcx8A1Y1VZ3<=91|kp-BK%K8z)YmX5FD8tRhHE;A>C}tA5n{zGA`oE)fpX^= z=w!ZDEu5X5`ugHMvj@lVY3(HaV5NTUqZ@x+y0N_3C8cWRq6b;;K#IgW2#IHAEh2Ev zc@Kbywc@SZb~1Nzvi$8wW}a9)cBlIw&->{BumH-%`2Lv#^G7CYA>V4Y8cD(oQhVtg z#48bIr2%N>oeGEm0s>kCJEZmE(aCQr+VQFJ*@LxOwY0v~Tw7l+l8>~vE*CHe5C8%qz-tf*2;vy*y;#8HZb)+_RAFcU zxIBOJgG+yS>z`My-5@8U)yh`0^KPei{?aGTZ$D;TN8>}qIEn|EPz(it0gwFz07RGr zC}Ix-(Mnk-Jx@*;fHG!wdg}CvL*pTCw~`IZZ*L}O43Ov0jN!u3+URJtq@$SGh!B|e zCwK^Hh!9913=(3aIbd!LJlV9q)y1yIAA8`gk)iV+UVZ;c{X%_fxz%6MDYO}{7LHa* z#%N(hioDV!00GVl04KymXMX-N1kUGhJJ+!y0$pr0RqnoV|KabSUAT98GLB;aIdHXp z`&xZ#z1h6AnXGNKK3r>DZ>O1ep*BVZ&`K!+D+Ll}A_hRGfA*3Wm#2wMyDoQ{9K34` zGGwl5X#ViTnfYUnpIN+Xd<_2~?PW_>mw*4a^M8Ez(v3#95(gYcK@@8fsURYyISh>o zMVy*kJZsZl+HJXR$M&~%^M0!GT>I?$X7h4=BTEwREL;{Er36|l5E-MUYGVaLkzI4W zzOuI7>J3H$<6Lg@jPilAR=jmtpXQ!@QC#M%6F3q;1SA9ylegr(FDYM*bx~n#xG+9E za(rfbVQ%jJ6L*Iu0C0P&`O9Db?ia7Tmger^d#6(;IiQ7vSt-Lt)3GOiAiU+6SjKm6X4 z#+cFJ%5-gbqnEVPey&t8ib=7{$O8mu)*3_r1VRA30AQkOv2agqxEe*7wdeEHG& zA3XJyXTJJ{1GVAh+wJr9jhppGzS=>hvhe7_V~Y=j#sKJa(wpn+jdsGyYwfMG-sj>S zoP&r403wKBkM~gIJfg_VOdmY8a5DFKT!`kTr^LH{zn@tgnjF7(=D?}>lK`A`A6>q> zvbv7$ARw|z!+8)9fZd|;AG{YZSaX&;Yi%!0L0k;NCr&SJ9{}Q!iwl&(u6m>O##`^a ze(r;AzmG6dN(n0uz!OMd#S<8xricLoT&LGxy0Y?*_y5)DCfG-eJKZ};_fK#9{kO0F z<;|rlM(em7IcV&y?mR$Zlrn~9pMDO2hyZ)Z0C?+sq&;z!Net2YIne=i4YirLAIH6lg$R& zJ>)qe9Tp4KLI|ctGRT{4qzU4ok>NsEDaTQfv=(hxvt}ith&>5;n``W|)@tv;8b&Fl zb*u}l6Bi*$kY^AX5Z%fYw15dQ5S39Ws!AyuDg-8Gt%RB2nYAvIkPW)^mA66;u*xKwq6v~lIV*2rC4oab|MY}QKAGw0ANK7!l>l! zpnY>WS-+0$1jnEH@$A#j&wclW+3&n??CIwYo&DDM!)Hg1FX+(;d}f+ha~Ojt-&$?2 ze&VgonhlpFzPoO>w(yy4C-}*I&%SW{ndc`S`6BLMdR_#Owo5wrnRRrMVW%DJJDp|8}J!2p2K*T9HP+sW6!Fak_8 zK=Xy``viEaL91~bS3Q-akK?o7S4ptYna|~pDO5ek=JJ`{Rv;|F7!;`#F2f*qo&q?1mRnj diff --git a/recipes/icons/lidovky.png b/recipes/icons/lidovky.png deleted file mode 100644 index 52db59223d88ea55901a114969f923b67b686d96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1361 zcmV-X1+MyuP)}@GAP)iK14RM}2}b<^K?EaJV=BfdkBTuu z#77hnQ?){3X$^#s0GlQ}0u{+x9;KyeS(mo7+wRWXz)UkTrxNQ|v3Two#$D3c+^0jxnzq>yV z4-lEDo|~1gOkO7{Hr9I2HTx$c0VpZVI-_?6`tm_Y2yS-u=jnzd5G5u80fJ5h$i(Qg zuFmC8Pz6AMPKf*n2%9EI;;!(xH6Eb|xNTuWI%5}#r@IhCV~%u|n4f#xE)ci{mZ%B0 zdhwZ=qfj^`4Njk6k-dL3p}RL^J5Nb+V{v&gax;=_UPy_3Q}-8ogJI@{O~U-CBTzCT z+dgLk0_}l5{LpX_mbT8`L6Fi^FNQFELOy0pEKmVyEOhMLbsRcz8HQCINOoXBs(X;c z%8GFqrh-=BOf?Ott~tXz0g1kW5XKD8#Imx{%&9r%!^LZU)?}Noa&JrS!d;ZJU>9Z1 zucq-Ye?{jnchVh{zWyVnKDmQ(6el;<6hFOUC(U?mA2qk#vibh*Ag%tWjxy#|E1u=^ zGxC&gqk|{@Azy2N(&z59pDFEDjfg>F6Ib9=nol|#cAonBE*RDJt*d$0OlYTar~3#uj9H3;QcjaOsJST5~rHR z;EUf*LvSL*hNvE2c?v9xLOP~^$N-pgj|fQc#Z;V651hobM+)%Nlp>YA2k)(#iN=eq z@HVxwUvK~hDDnX<%=26}B(sZoZ`a7cg z#@6Gj4oQx_$8REH5m5XZ6?OnjgC>Bpz8iS+^Ll*0WeJi8xiM$b!+2*^DVo~?%pr== zBZ5Y7o^F8RGjwwJ;3au9Xc{|<5ed?8=xG2U#^PHb zB|uS*X&S1mMJUKk$3V#7j9o5)WRDKm6_mKybsJUR9)p;;-&%SyxaiG?atow*>%e!Lg1p>j_>ZU;kA zamQXEXaM(^h38Hy#@j1r{lOIO;l)z^kQ z5Sm~yt0=uH<6n-RMa>bw-_^^#J<@mye|lMfKVWI93hXm7B|W`iY}i?gt8IQ%KD7>->62qBcg#?YMfHc|ZS2OIz%JU9TI zBBwSnAn5i?CIVzaw?`ro;BnOw*8*u(ATJ}e<3>jyA%`$$aLT`8|6%Wo8>@fXuI73O z9w0K(k^@z*E?qBrdV?vo$4)P;-rumUGtiT#32~pxP8gDv-nn+!>>W!Uf9$}2<>*T4 T!3@-;00000NkvXXu0mjf>LGrv diff --git a/recipes/icons/lifehacker_pl.png b/recipes/icons/lifehacker_pl.png deleted file mode 100644 index 8cdce786e7bf586b062b4510c047ee9e3f186815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 832 zcmV-G1Hb%B2u9uRR{L7n=!qusf5;>H*{iv4?2sU)`s>L1x3Ldq49yuiW`1xw%{t$ulH0cLw(0-^04o1& zBedoIxjRC7&AQDzP{9EKPr&E#_aBE7E8YD5P3zBmdbsw=iT^Xo7=YUPv6~l8W#2-8 z3;0H?8a8tp7w~Y-;OJo!09y!FKY)MnluL!^ksH^LhKM-_H`WB<-pPx@to}=<&)K}L z$8TR^$e1x{%8s48EbjjCc)CAnPkxOLpFBBhLiqI$&&z#f`CX#-OK=2+YNG}ny>#L7 z#j7@&jY;(^gWY=a=+L^Ig-4&Hs`y#1kd}s?{g^Q0jAEije{)l=Zhk>Xk4PG zQnEOb^W&1HcMOuWJ9{Q;ER#1Z_JY{@T~}X4zD1I`a3Z7XWWFw!1l8v9sv06Y69cL6 zSI)xKYMth9(PVb~$mB*+uFu(A^``_jtQIN`(Cr@9TfvYv%!Mm1W@uFR?!lYagC|Z{v~(pj{>EQ?{{AUiY6$M&*p|mZ95{aBdmZ9%ho-xm2bk z*BJ*R{_Gn-+dsT~^&_8l%$~sbxNU1Ukb8MPK4eH(E&`#Is>N=y)I=JL_SAlThg5!~ zmp3uy?s%_t=7=%Afm>Oe#1z=GZ231rju>Ewg+E=@F?^sR76FG*vnEv{vEiZdcxb$v z_a9ubnic^=Eu@*@CxQ#N?p;JbxPBWUEa80000< KMNUMnLSTYIbe4qx diff --git a/recipes/icons/limes.png b/recipes/icons/limes.png deleted file mode 100644 index 104e15573616db13ed98c4c7364d5936917534a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf=K!A&*Z=?jzil#wquUiOuS?B< z+$XiRZ)!jcAgXnn+Tby%$#Y_}=Y$ro{%+sSUjO!K!3{G)>Sl%3E{rT&9#gnFK6g!g z?#86d?WxH-(~|aN#2?6tIh-ANG$-OjUg(*E!1G1^7mIx_m-t*M@xE2zcDus$u9f3m zYsdRlj*n{WA6r^Kwzht3WBtU=`iZ^O6DO;uE>=(LY@T^rKJ&4B=5P5d!18&p<@0*0 z7f}{3qAgy;SiDHEc$s4UGTr=TgT<>%^H*8sud>Zw<(a=KFn?WW_PWUIb&1*QGPBoJ z=5H#^-ZYuLZ7_Y?2=Y$(wGYNX@AH%d`2{obo6lale&flrXYc<`N>nicim&l>aSV}= zWIbr>#q21-aN&FHZ{uYXMUwK9^(z=|JM_(7UBTeUnc;OXC$0S0cP1mR7vA|CNmY}} z@9pm2Dt+`%m6*SMx}5&@d2P;%uXArZtnfMG@Yk+qGbD3@)?RW;Ni^Oa>bf{3WA>tT zYT6S`j(yCZ%l>!ro3LYtru=!ebHx!K&sD0sr{3AfZDxCW&tK+i58tS*I(Q?bX2FrB zfQAk0l;URJWpeNN!{FZgABKVazh^F7HG~^bHv3?QN%rDXJbn{DLlhClbJp%lf*asf zy=DtYkQAKLy>c?#fU0?iT1Yj(E^GRMA3uJuf(=-8@OlWT21teUJ$>`$jUd>7TTkAq zGPw2pCB*&^joWHq1HOF! z$;IZ?_k$G85&`W`cN{qG4$li(Df6!2Q*0LBaWbZS^5U-POG|d_+UThCJ6b} z&*2^bJZlSImjL@W8w$^7W$=vhMVihJ^-mg6lD^s%P&uA|{42kdWL{`&g<_x9>x zOye#R;Ufn4$ielvulm~6&n~m^|e(if{^sl7tdT92$vj6=2 z<1!cWpOXFX?&nfE_P)0Ey0QQM{`bPU;w%v3FB0M^4gKxw`O(Yvxv>BI`|WpS_{qWR zYF7H!(dSAs_PVg-H5%b02kwP*{`K?t%*E$UHsdZ4^suJ)!@J=n2(!1lbe z;Uos*EfM569pyYC5jEp>M{7Jwy@U{=66APf*1R%Ow3ShaYU%f%f0lRm>0awU8otQ;Aof>!esQU( zqQ1EkdMvX@634bTZ{OJ|Ok>Xc!SM;4SQ2-A{q`N9JA?h<_8{?gzyJLG#|tj`pF%{Z zrKW*L=wZ&h8NviQGb=lX7WK@{6E^S_Kw**ibRyco<%beh1)w!h2EmX@0$&MGrJ7I; zP-9dZVWzXPljZba}k98XeStu=A0jDjB5?o*Qd$*UU4fGYSpJ3@)h?_G2M6gD+F?=r>mdKI;Vst E0C;mv#Q*>R diff --git a/recipes/icons/losservatoreromano_it.png b/recipes/icons/losservatoreromano_it.png deleted file mode 100644 index 088ef6c2d7fd60d088046646f55b429931788f3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1574 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 LNkvXXu0mjfQOxv# diff --git a/recipes/icons/lyngby-taarbaeklokalavisen_dk.png b/recipes/icons/lyngby-taarbaeklokalavisen_dk.png deleted file mode 100644 index 70464fce89f6a09dfde9717982aa2e0b0901dfd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 801 zcmV++1K#|JP)K;?EmdAg2pJ4kv>DYmLC|x#>I*FbVwbW38eN z{}}HqGXVG9bP8yv2`_}&en372$`O%T%-WXzshDy#9J8(lVwb!hIy*aA|EvQP_<9Nj z4D$y9&IRoF^y^rAp?Da`KKf-lgTZg|KuHDrPRJX$f%|GA1)~lysy=o#>$;D!& zbU2pY48&o1H(0ty;+s{P*mK1MHGmR4AKMq&4LOE`E%Ag7=d z*A=bs;SWQ6td zKl648U}QA&%)*N$SwL+9B|(0{3<3%U4gm=T4gK@i z?>~S4y|PqO7f`On)5S5QBJS)3Z@xngJj?;-w>R>2zORoGTXE`GPe>zopr0Fe%DUjP6A diff --git a/recipes/icons/mac_world_uk.png b/recipes/icons/mac_world_uk.png deleted file mode 100644 index 5196c14635d7d02f50422f12d565e8756eb8d48b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1073 zcmV-11kU@3P)7%Q6rQ)cjuZdHY1F2Lwkc5sg@iWcUkHf0B7yb*Hpk^*VA0 z@%G{Li9^Yd1AJs40xCpAkJ1}Msnhw|ce53WX@@?Pj(s@V7q_DV2pLq1+8j?fFgDtE zFco8MYOn!57|D$8j<+jMuOOP_xqgzIiC|`e0%kH<_b4&>`s5V~JCD zd%pj(x>dwr()s9UrpJK}x6eoB!jca(2pTAwC^WULv16G7-K}7Y;_j|@hckNe6g*RO4SXLNx#gpyS;505UbkSI7Hqa1Bs0vyw`nQ*)&lc)evL&t&AD}yRy#LJO z>63?p(L^CGXG^~o>K24F&!o>C&zFnr?mTiQX?>-It67vo|qcyLx8@qYwaF z1YBx>20tlTC~tf@S*W-?P&;M~B!lLVivkMk4GT>b>8nDvnAA;#-RQH9&#qm|t+Fmsmz3JNwpXT>$R*R4JEVcY%?f~aL3z1Y1)i z5JUV-6)xoArLz0gPxDG`r7eA3EW0Y8U5lh$5=4ru?3)Vlo4J*1)62?9AI5V<*+UG% zLK!NTqXdYmK%zs-Q1|%PKg=E3lOV&zALr_BlUbnMDITssAvomoU6BrA+}%4= zrH>67wygaUed6G@l-&0G;_B?ezl!$~29Rk<7~ji)NUnEZ&-INl^a&Fg;c`vr%DAE& zOHE!;ZSIbm+#S_9MKy)HTk@9-S5RU#!0*ftMKgN$b(~kUp>Md_Wz&k}k`mk1f(vz- z1())QYI1+8O)IKDA3a@2k{w^HcKW8;h0^`I4A#|iBdgoCG?6d0I(9dA@9nS_oUh9& z_#<;i!-bfckD}qt812gx_UJ+tW*~?eUsji)cNo&)$>vAxF1KIV+0?bCrF(Z%7vE*e zI^S|)`}F5==vJ)uZY*;%iV@P7gY#8V-F^xoR%k*lDJ6O|Z~J7nnf4IqHDN%E}V~ zylq@*)2NcxF=cI|DmuKTB#9LaUzGqP_Z~83f+{43os8AfHIuS6Q&QByezYD)NtouO zJgepoFs|<5{V_w9Zvt87ltZq&0{LseP-q9^`ScVRS*&H-eXXj z6islpW^$(Z??tgdvJjc#G{YTaxDzVZ{j9+=${!R2CLc5im%$?|60QJSgKj2&YFMS! zcUF#Gw~6x#=e%OI#%1UgLrR0lK$uzbWmjHy1mpj%o~t#s7mWcgESZP+^F$ z^ufMAwxVY?@Ti9{9BtgcXC~?Np;#Taw81mf=oPQ!mWT<4?=rk7m;chbH!ndSL?_}xtqa2g4|khOt>gAxYN;i0;Mp0rS}bFPTUxCnVd+JgNDIm&`t0R}j4XNrLThcPNv}tH*ckqFW)z$vnR}mj+`jr+%sdc^9DpY>2 ze*G;5A)!(-xqsTh@ki{V4m9GD$2BvEcNA65_B9eAiu!m?eb?B8qIU}C!Kqc_4_im` z&4cz?`BU?S8^BSEeEYmw%Ri|89z&@fl6Ekt^2)vw3rU&wP?%w@1`-1z@KXj6@e(Ta z$;DHI+eH1DUEJ?CLD!!^=|aJuXCQG5dT2rIX@qsL`f~?-+6`7!dZPG2$VDav`?Cyu z=fZ%x)8r}$t1sm}Kt>Q{F_RI?N{nA|nZ+{T?~`!NK~In#Br6Pnc>%CkWN-=qe-Q)V zjS%if?F=FVJl{knxy20pnYY{N=gwTzQBg3)4`N242}b}1v%erkA2zy@f?@x~5&Rn8 lKfS1p3K(J#SLFAp{{stL9o;CB*@OT9002ovPDHLkV1nuX!XN+u diff --git a/recipes/icons/macleans.png b/recipes/icons/macleans.png deleted file mode 100644 index 8bf66c1b44ba6781b769b8121190323ea4384c88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVlOzAV32w0IXF2*g{oN1`+@= zt1z%lK!i=01On(zVVNvzcHO<$v!tr>YHogOA7R?n?9btIIKT7%{Evluvh;U=BuSV| zCd_8@AA`rT%#$OTcMdZ@Z(ruc$su=SX%`R(1ZXy!v|254xt!?T_dejmo45S9b%n1t zrA=AryDYrFerXqwNF>;*-ENEC<4_3JYo@PWqB$kLyG*FgBVJ!S+yz7;5w_Aa4Xf2k zCX)d`KR-u%^pKA?4tRPjZ)c1F)9Dnq+fA`pMCjWYpPoJE?&&F4jZ%n4qX4W{E7lv^ zKA(?TttQ@j_cLDJ;viP!{LxZp}=G^*#h=|VPjov1%#8|@y_S- ze+ML!Ny_CifN&BF23anb`vLKI9Dr0RMK+rSKv5LDUM~RsejkU!VGIa`Lc(e|9LDeW svsf%Bl}dO#9tMMfxK5jK3jbHX0P4Q-C76OTnn3McN1&DrgbUfg6kA%51ReXc4of zbAisExA6TjK*s{_jNqdM6`81{FZfY^KBB%q55JSYLRpFy#CPJJ5`46vwmA4#KVCyg z5~}DgD)Do;DNome_)eT-f{zv`g>!OD(77)*;J)67-q`iAKzCvv7JR6W1g?d1X*zMQ zIXw}Ks#u_Vu?`46&10XNM%-(TPoPM^)s2QG=>0!#X*cxYryShpNmAH&yw% o7h|W;7o=gE&=;hBv(OhB0oTUoM#Upsu>b%707*qoM6N<$f(-bZV*mgE diff --git a/recipes/icons/maharashtra_times.png b/recipes/icons/maharashtra_times.png deleted file mode 100644 index 44e25569414bd54c8d23ef187d47bbb4f63d1b36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 764 zcmVm4{r&(GKR-t9_x(3{Itgqt1Dn%CE-YEN!#w^!Wf)sPp&xz0c+S{{Hv+{MzL4vB=`t zg$O4_&Krn#i2E**tc)23DsMUaJO8 zqyS8#dZ5c=ki>wc&S;dy08OPwe!G^m)|9i=I(E13s>=BQ00AgTL_t(|Ue(Y;lWai{ zfYHjrb<@V!wr$(CZNK-!2aAc@71guvv#HG&8Ci+ahz;|&z%5xMGc`AA4v2j?+g0QD z`d#13y5My?39ukY;@bb#4ARx}Qb@-Jj3WA$~ZP?khTCMvDL4XdFLkO^=V@gky zQ_&8#v-1mp%ZMX-rHa2v-P-ld?Ooh<{~!(!CCZ~glMcm`G5NXV6JyV&fQKzF0IzSU u1Bdqh@$bJuP)gKLRXat0AQ%&rUOoYz@+pa;#opBb0000=)X71eG_1YV6*LG-Lt2RlS5THs$K!g`jqM`=EmqWlVcMXcby7=j_fCVZ@l2P{DN`8nhv zh64!kC+J5j7{+D|0-V4)+(QUp1y)cD!*uY)^PjJBs%WrOYz4Mm3nmBzm z5CL>zW@m3d{o@yJ?0ycFDnLjSLnTGSwSq5?4mV1>?q+uYVgj*ZPzd43lTSQdTee+S zBwiCBoBMC>PCuNUBGN=)CI*z^=4vC9cNRy+iaHqOAdVrvEocTbw7NMn`_ga!=$#i< zERLAG>ke1PP8`{R<=b8-fCIz^sSKEhWWL@cZHhs{+P#8vt{q%koEKOy07fh~NDw47 z=H120t!zOt2kC|3fp0yv|8SDo+#6^^u-)+0v81sy?@R><1nR%Mfe5q_Sv!Bi021YI ztrp*ytP^rXePRlEzI*Q@Cl44jmlZ2Rgg{>$k%^C*rJ)KSA_O5s2*Ly)U`>_Lhseh! z&RlKIFRrLWi3mUlL7UPuNB31*A9;{-A@kRh>kuMBe9LIQYbO#wP!eci`#kj~3>$1yGd`00RLzy3}c{l2Rfd zqL8~vwR-Z%b~G|@`lV`q<#rq8VSxh(pH?8^CD=6m({#9YD@*iRmP8P~_SC_{;om#A zaXDYOv^<1_MeykbsOMFLK|ZtT`H4(ix0fd(_i?NDes^EtSgmy{TWp(c2zdYl@|he& zf*?)KT+e6b7PL|l0zfSApkMstdq3EjpZjOKJUECD5c!M(Bml}oC+`rv5F@%{ zkxIFEZhU;2M+!;+`o9Dqpa20>^6LAmD=RBnu|!l-x^nsInd{Bs==MB!8~Z;Aky!Ej zVFkvhvvs;Wb(amQfx$U(3M0`7-EHojT$N^`$a27wq6LqI5;ow%EKI!vS! zoz2Z%c<%D1abq&6o8O5e&jWstcN8ifjnRs8?=cYGzJpf=aJV zTzz}FX3E>zJ_leBm|__=h6Z6)M)6vE1Q0d|hF~DJn zwJu(ou(bnV`@qL0AOpAqJJ*-mzVn$mpAhu9PA1R$W_E=~xPruJu0Kgsr z>Hk_i|NOUGzOgcXWd@IZ!@I5(wodKaKJfUi8hlRZ9Siu}jn*D|;rOB7)O|geSZ7Bk ze*OBRWjDlj_Yf98oXi$h^p3-vlyA;8Ud;+93?sM~lFMP{gR`Ce?S02>xAXlye0Zok zG5|MsZF*{kl?DV60dcC*9fu^TT=-XK%8$_Y)30gUbUvS5wQzs}5;a;-POwm@f)hiq zD@*7$Om)O^3WQN~jBVU*cyujvy6L0_XpE-1#Yv+$OgKFb5Qq$uA$UPs)@D8Ny+u(e z5VyVS#p8YjrZU3|HnIK&frL1lO1NjB+%$qoj1xAH2i-GTU$E{A+`D|>hlJKM4~8Mw iLIfHF2!Xb0eE%>04zys4BqGoN0000N diff --git a/recipes/icons/mandidner.png b/recipes/icons/mandidner.png deleted file mode 100644 index edfd965347ea93d0522b60dddfa305e74ac5a435..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 594 zcmV-Y0fX)S*ACR3pVlsx?h%ZHw-P zcKyv=`aoGnBcY0Dh5kHMpn~;nx|=)o3&Z4y@);yF?ezJ9#x1SaS=pd7uTleOB~Y*_ z1!TvPIxV2xoWd+UoPKYSLX+uLCp@=uC*kwQ&kS z$1Vk0(54$?Ck7Pc=V6#yq`szEcX_=I5E-cQ5cUK_8fd|4m<1E_RUumH;t>{vIe{$T z;bfRr47FfoqmHQtxfU>tT0nmb>-L*j@~%fT+Aia{#Xf;0RKFpbKJE gIj~M21;Z2o095(j874)TlmGw#07*qoM6N<$g1yQaCnwd3mBlJ*TIqYdkoDKRQ7*G{#CmI5;?>qN06$eWpb{ zwMRa5JvqBbKfXyn+1c6f@bILhq}JBfJTx?UJ~>Y}HMzOD<>lqAMm}sjI9Xa+NJvOn zIW}@VIlH^NKtMq0>FK>lKdr5;H8nNBNk3g)Uftc@KR-W!KRU!pKz2PjW;-{JK|9FE z$WAvkmO?zIMLndTptZHNh(J0tGc#~JIH^TFnVFe4H#e}butY>ehd??)Lqo2vu0cUT zO-)TpH#M4>nL;%*prD|eLp)7RPGx0fJUl#~L_AbfRKZCd&ia|S|nwpJ4JH*7qh=_>E$;pX8J7PLFv$M0hNIzp^W5dJ4!bw1Zfq_Fd zGMfD?RyybmWM`qwk6JHHLFGKhgPc?G}iI!!FV^Q7@SlcArHJ_BxHmP75L-yqdC>W^^A!k=2363l{HfQcTWTljGCiB7c! zKwZT&{`v9jw>Tot_#RosT?$iUsQdG0#$MiM^rPEJL%xxQbk+$_5*}9n z>8faT2Q--f{tW;tb(KO6I7Lo&44s`Bgh#m0*pP*4-kkpSUY6Dr=-Taxc6`fNUl*qk z1ai3?u~t5h18B+qjB)+TddxN6Q8};7Y#dxpaJ)n3-~a#s diff --git a/recipes/icons/matichon.png b/recipes/icons/matichon.png deleted file mode 100644 index b7bee6ed4fa3f5becdd29324f26c700e3c6f81d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 888 zcmV-;1Bd*HP)P`rO<8{{H#h-11UW^iosve}MOiiTK;wQ&Ur4UtfudiJY9AgM)*}#>VxGjQ5F( z_=$=4g@p81SMp3u`PJ3>;o2H2C=Us;a6I5)#zZ)Lvd*uCA_Z zY-~9>ImpP!U|?V-CMK1YmC(@83JMC7laqLOczSwz|Ns7Vb#+5SL;wE%_}13*HaPg# z*!5Xj_r1OM_xEOIW&i*H-QC@zqob#%r`6TffPjEiRaKy%paKE{P*6}D92{a|Vks#p z_{+=mOH2Oy`|>n4(b3UVR8*p(qI`UOtgNhletv|6gaZQuzP`S)va(oMSYcsd^gBHK z^z;4p_VhnMn3$MEL_}O%T!)8;FfcHEeSM#wpDr#gdwYBS|Niz(O#0~P@-#I3@$qPA zXp4)BCnqP<)6-5)P6r1E-rn8_2ne2@o@ZxgBO@c1mzUbw+WYtS@-Hv`{QUNnl=O0Q zPft$)0Ri9N-{a%sEiEl2B_;Ls^@4(e1Ox=TySuZqv-$b?9UUF>^YZn9fc1uk{rvp% zaB=fqUhmJ(n3tEw$H(yS@T;qXc);BWp?f-z<(Sbq>O0Mn$#4=J(e*IiXMp@fQ>gTGI&R zFSU?AR6{N6ffeA8Y;O!8Xj)Kf2cQ;p!5p)}vIk&JIicotfIa*S{FR@u7y)E&Fc=F6 zsyejhQ3Q1}X`~&lM?(A#g5GXDas0E?hzq&yg# zNf6wLSCBqc{0E>&gR;K#hEdQPuaL5GB54r-7!g4WSpmSypjMoNY4b(^hDk2MOh7o21YS7IEu>hS~6~G%|+<_Grvpl&?F08kfEw7cwPX{ z@tB&Nh0E#2_}C=*=kxhV7M6oTVEGx+e9}Z?$(^!ZQ4kZxt9)+&v+q9nPXMN$f#nKh z(?HT}di@nBm0ht)RNF^@0H0n1iVp7ND{yDuBM8I-h|0=3p!duqq#XS=C!JvTJqCOF zEug4L%|tG3U>d^XJc#%5AipewbiV-Hk>_A`-GyAz{x|YpKx(l_WVHI=94s%L(kEd@ W62S^c_8&w50000K!5tt&!&ftM1z-VA z7>_uiEWS?9$X8#JOF2uS$y{RQAVnrKrjOtL5Ht^BfmogcQ`S>Sng%|6{S9VC4lfSV zcR$k_Nn-@kc-AA{N+6Oe*lrOoJ|$Qz7LMaE@{h5^G|+!B=@ed#KURCd1l^)~4xOHn zYqS|!y?FOGUz2L|iWbTg0Cx~P|C9i=$z+k-g8{#M*uwwG+aKaip&}18Q*H+!n0EZiGnfIitP951P7=@ubIJGxq*EAj zh7T|471OkzE;qlB9!pgSV97f#-gJsI_OIrv6T2%R)%^6NMc@R*M&7RKJD}5-pMDEk z1+zf6VQACUggi{1Guu18;@4hGV4mrjm?{RZU=SUnq4oW1At<@{$ zTXGguG{U!@eR=aWnNFP|_?D2dWX~16@VT^P+j&xN3X%u;O4@`@ieFb$YJ!%oz_9N0 z)AzreBA{ndR8-P0aM{;{4BqF#tFNR@5RM2Oq~7GM$8O) zItHvzldNMHY@^a~xQFWJv@kH|vGI!|EYEYi`lneI`!#v*J}@SL`U2uA8w9;F}YCZ?}EBI&2fFD&7+OSR+>VJCDLKFdV{j`NtZ7}dD@ z(CNvUc@_@qwI0dV<9B1{@1e`bn3i3Df{LtdJ9I{7uF*9D*`!5?CutmT?a_Na3<;^( zaOUg;x1W7R*af{}+6E$6q-V6CRgiY^{>t|Roz7W(3=0^dt-kvILJ)yF0Ef`QPn(>TZ(lnHs`OkV@&`RjHR}#yoFaJk;g>Dn zVZ)*FPy*IlQ^VU@{mDoLT+Lg}_^2sCdR9K%VSw?~=Y(APFpUNXrVN&mXCVLwsWg?U0k*E!qOe*8~Ev= zg$f4Nw#rw#VAJWLJ`OFQ_~!SIx9|T4&I-$u2MLR1 P00000NkvXXu0mjfr=W;6 diff --git a/recipes/icons/melbourne_herald_sun.png b/recipes/icons/melbourne_herald_sun.png deleted file mode 100644 index 00f915f1e40341416677ca44b48a7734a10728cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1147 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 diff --git a/recipes/icons/mens_health.png b/recipes/icons/mens_health.png deleted file mode 100644 index 4ccf9be455fef6bd90b98d9a1f03125b7c9f4d4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmVC5l3+KKV>*>(K$&Vonru>{cvqx)S*CqstAuB*h-P-teL~RW+0*9R)#u#S z=-%4u;oIur+w0-o?Bm|-;}C#F;qK<+@95<4>F4q5=<@99^X}{O?(6jL?Dg>N^ziQW z@$mNZ@b~la_w)4l_4N4m2z)>lf=T)N`T6_$8ih^!{QLX-{QLd<9EMK){rw(?Q2+k^ zo5`@B%CZG}J>~G}wARBUidAm0j&HDxZ?TRWg-vs_kaM$4SqwB!>5wN zsFK8~lf*ExGM>~~eJeFtQ?Bw6=MBRHAq7_3-WW@l>ODRHJ!Sqj^=Ndh_`87K2Gx zrF>bXeD(SF_WJl1gG%`N`S|BABRv5e?%aNQXq*^zt#ts0007eNkl2Gng$+7zE(0uV?1i#@e=R+xl(Wwr$(Ewr$%s^6d7k`D_K%2XD~yp(!#3FiB#Q z0=CT?((^+?bf|BeW&*%0uj(+6W~Gab1&ZfPFzLmB@47v^#5#ztw~Pk8$*6zY)7T-Y zgvCMP_4idG&ps0LEn_yA%%OzH)QY%I7=MM4bDGH56iVKVYxn zNp7#h-4Rvb+562c_0JHIKYr2lf!(_1w>gWQqhT*t)cOA_B=*64{@1%j?Y2JP#n%$i z6WTCF{gWgLYJZQ2h2!2n5P}DY=wFhP*-iHyvIAA^SGR6+V$y-upb@Aaw@j>2J zq#HPpeuP@3Ql;Qq-pWF)k`M2Tb9sM>;y#dod_fS3kSp-))MxRYEtd1nL5U1lG&ULx zhGUq?yGxnr!-qBEqr5+bAOi};9Yo~9(cwwXf*)Fx_m#dC;m)E*;Aiw1v;0IVj6xQJnlE}#i1NjX_rd!9E`VRYFjr1zKEp60YEL? zz^}{J!oPo#D{#B@V?b-BK|uBj#56>uQ{)=Mk&RTy7|C$}0000TYR89enF9Ml->RY1r|gTc!Xw+66M!9Yv5vgGW^%_+UL=GkFv9{M0{STuO( zGdXL$k6*`}zCVr3bfH z&hE{f*p%2)Gj;Qdb;tI7|M|naI+MXc735%$1|K5^NA=L=qO*6dm(1$9{^Y^D9qZN| z+BJLY>U|ea?KpF^e(|)^x2`HgyD+%vfHim;FuCb&KXWv=IzuJIX8!Jtz7=WPPaK@S zWmRBp&aCZg7|f(*ZeCHnU=qk-APvr%3em3T?%s4NimRI0J#Etptq|KO>lPJGZ8wN@ z-*Do9Us-b5jILEj_At0;12r%){Qu9*!NJGH73~_}VFlE!5*MCirfuYIZWkXIqb4aI z;TdA3YsAIQ!NAPS00J&rQsE9jSL#GM$2S(VESt%1Dc`+xW>R~(n6uX6JzI6d?bACe zmL1y3;0z951}_7kt5zP`RWPMhCBkv*=_5t6dyieexc>P5#-%fs9oPY09eAcLbCEFPfg!T@NaO<^oBYVSRN zdiC+WyDy&HeEeY2hNV&wPN39X5&b$1`JN> l4ECxZ^mK^z(9r>6a`IsR2m?8O@ zA^Djj`I{*DoGJO8EBc))`kpNMpD+5LGWwx2`k^%Xr9JwlKl-Rb`l&_wtWEl@PW!P| z`>|L1wP5?UWBa&f`?+ZQxoP{mZ2P@%`@M1dzCye`)c)<+{_*1e@#FsU=l=BR z{`Kqr_U!)l?f&=f{`c?x`0@Vu^8Wer{`&R)`u6_&_x}6%{`~p={QCa=`~Lm>{{H>` z{{H{|{{R2~9I>J50003DNklhn3)3BycNfr`rg8>@ z^@l~PfS*P8Fm&Wu^yKJFvgpqS-2}^)d=w(z1D%IukH0LNgl>;@7N9#~oqgzTS?3rU z>la0VWqFEQXxeiW7bzCKTvB{mQ8P|uEy$vEA4RSWHS<(v`_dGz?iDIysM)15iZI0n zrm4)KCPtBIMt_EUbEBWiHfnAto-II>+ytB{iio!Sptu4sn0T3||b3jmywg^uMQ6o#K<-MyiKrZ+955F`b9b==+E-Dh5V&sRvQu8E)le8(_0YYmOuQ9(%otTa7Y65 zfzjTYJ@a}Kg~Z5(x;s;R!s&G_W~^Gx<%(4+noj}MstrP7gxz zWk&m1QWtE9vjL1TO^c-DfPq8Y0=&=IfHylJ*6Q_KEfwZKi5aJNwOFufEtktqZ@~bj z_iR4J(uR|(RxVfVi55#WcUCcbiqF*D1uYfcY|^v>p298wl)`o8+CdI#KNPB z&jGawSXX>DO>E7bV@#5g0b5$kR_v~kE7klsDQS@G^^P}tR<4GfjA#QSAF0}Xp7r!s z?-;Gr{h3ko-s~E&)YQHX{&KMlAJXtQGMn;dt74A@8v*TBZ`JI1Qc|CSSAq^V{55C& z_rVCsJ)jxx00sQ*EA#N-s}HY>r_bJgdRrklS7J1yy)qjCf0B=KI*4%uU#G=fniN{h zb2h96#AZ~9X-Gm8B9_)__5{YwAme*L9LFzSyx86Qtdji)_HEs|dGEg6bLY-Edh~E* zWto(W7=W=V;8Y}xqJJVllAdRh$&8^H8||a#k)}c{ue1sZ0VRltluFP~NCZKW2mz5& z1r;i)pxHzds-&tt?eehN-8VRHUw6*A_uex;m{LU&nmazj3oOghG)X8G_XTPg_y@6? zQZX8uV#t@T->{Omm+uVzxwA8O0j*Z6P$(ji$a1;7-EN||DHe-@@FSg0(=?;g>3H6R z3QQ(5$9+L2%X07UHkziNo}SfewcT!ieSK4@NSFt^fxE!_=ZD5|oJ1mVyWN+|B^(YL z3FoFWTCL{sc&5|oXfzrO2B7YCyW{bAI2?MtUV!0DP^nbPCyM9DnQ2ZKQrg!BL32hhMA zfiM{Yk|co?MJbg^#CU#B83Brge^4(_CX*on=byT8kO!}Q1V4u$!2n_kTm;GngP~m~ dk6JKl0RS$OJPQHTA^-pY002ovPDHLkV1jFp1a<%b diff --git a/recipes/icons/mlody_technik_pl.png b/recipes/icons/mlody_technik_pl.png deleted file mode 100644 index 4e3b29a332638317d88acb690afae0199956b33e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 496 zcmVsmzQJwS>a4>2Zq)rB5&_M%( zG9XEz72x!6{=AO~Oe`jR@C#Dxboh@d#w5gM6B)-xc6g{_{IWPt;*7&dmQ78Cm(SH~ zrHhO8*Kbr}!a?AUi*w56cz*w0r718`*&gL8tz_|#iRKIC)Vr5++4VON0&yc?QQn=lbIQ0<;qIAv@~>Z7{EoDrlhF~ zC~n-ex68G5+dY~LaE~A$o1ZVfeII`HBDBU278V*$pBWIZPA08ZJU&i8eu&wC7zeAL zW49}*HhCra`NQ)9Tsu43>l)w|kjS$5WzF;4-K&j_*zW7dim*jU`%&DXw`-92q? zQdL#&uMO2X$qiIOF+AcS2;3czL{Sg|W|rreRnybdhV=Va__L$()@^qOHvn;}0t3Sx m6HfGqM>8aOo^v67LH_`UnKQ{&Lj`020000UtP)siDt#of?caY}UR&uM>!LT; zrHOGdjT7W$<&rx%DkDwvFV;YzSrU42%+!|&;HEuwaUNm|$IJ=&IG-)Uysumko82o;J!k!qps9wH-^jnbrPniER%zqFiKZ^5TM%l09 k^beBxO*joq1K9@t0OoCRbqi4ZRR91007*qoM6N<$f<8EqhyVZp diff --git a/recipes/icons/moldovaazi.png b/recipes/icons/moldovaazi.png deleted file mode 100644 index 33c8626d84f8a7998f78f7e7a7de168298b7b816..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!O@L2`E0AU}nj_-0M8$83N!%Kj ztSupBds5ntluSC)v*^s6bywExy0hohlQY-e+=1h`IkYSG? zP(NcykY6x^!?PP{Ku)r!i(^Q|Et^x(LM;XyE*D=OU^(lZ^lg7QZ|fKF?;`v6?#wB^ zKhg1`qM%vzg&TkOy?K|g=v2n8X$KkqDW{%bpQGov+Cr9XQ&5m&xrRpC5li#;{an^LB{Ts5=c!@) diff --git a/recipes/icons/monbiot.png b/recipes/icons/monbiot.png deleted file mode 100644 index 2d8e1a91a85bd540bba6f442a83dbe041c22ce05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 665 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-G$+Qd;gjJKpuOE zr>`sfb2ecSecsyNhs_xn7#DiFIEHu}-+I+PTO?4V?PKEVnn{~odKL*?abgiRIMKzn zNUh7Q&{bfH%8eVH9lc43nW=&%|2k**>Zm5Db|hpfdp>oFa13z~_`LbX>!hC9hSpVi z#qX-0*%=q7S>#Vkja;^5(Xxm6ixd4^HM86Ff~`6=W6$m`FWb|pk*d|@qG}w@5peq2 z#a;H>jDrpS={}hJa?7jLdNF3Rv)G;x?K0|YT0)?)MZYy z&oS@uKJ;*!S#Ed#yY&}tF`bhaQnepnE z8K0fDTj^Oa%W*RQY?#dX;cnc+UFExM+521f)f^~n4=M|PQF^r@)j;{pDfS)-ubbj~ zoo4v_j!dk!OSsS&R_A=;C!q-&a}bi;UJOE7&wP+eAj%K0xAVYSbYk{PFSdv9aM|WB&N~ z>zbR`HaO^qh~|BM-cwc9DlFD3E%e98`s3s4mY3;{kK}T5-Azx`B`4G!ANuF$)-5mD zIXn5^-{yOK<$8Pm`1$98gVY@$@UgPsUt!fJDc3GA_Ri1aZg1sydEZ)G^1Hm)H8<^} zr00Z%7&X#r4U_@UXDnQdHSHJ@2ls^vB26D=hTJ#^;5G?x?Bm zsjBzW)Ah{F_}SY0@bKMGQtqXt{`dIuy1L?OYvN~V{O<1g;NaUuN8L?M?V+OMZEoIG zSNGP|=YWCXV`cvO`}4oR-cnQWv$OZs*YB&W>5Y!sKS2EN@84Nk_R`b#(bDN=)T;c=X80_}bd*n3?2sb<-Rl>5Pr$e16+QMdWpM_tn<%w6)hTGWgot?VzC3 z8y@PBk>`Yl**ZJ<;^OkWz2a+Z+CV|*iHhJ}VDh=S@wmA1ySw`4=jVfk`|0Z2M@ZBn zBCZgAjUU+R>V>XDM%NJ;+r`uEt_ zE(NT=6ikSe0}GDg5zpz?xv^kudwsK zztt!y+(${|adYK)d*g6%>5!4)W@p+yKj2?r`se51U0>Z!P~TZw*fTZSK|-F=mizz! z0$NE#K~#9!%#nkl*h~F#2qhMmnnaVzx z^bv8h_JF3vS4*Iu6)|oN43$*@+tHY4D>k!4WS*V9LlSW+%zt}aWVxkm8_-h{2&LKr`G3fCWU z)&l>aiI3t;cA@B{CnUrE0{#wHi&f~~2>jnpVmwj@9h5?fiiS?-7~95_Sk74-x^?GF z>Vcl|N`jP7-xttLiVPzr1rJCb^vfDZktOpa4Ed=RNsg&$!-3inBYApYWX71Wnd6bc z_yjE&Hv96htVue+isSJ$c7YgzkdtZZ#oc&)zap6^i$p9*8-}4;?;ov>dv}aUxx+w|g?&+p(n-@P|(6zsrR z?rR8`71&`<=YM6;awMx#M<`E5Q+fYFWx;E@OHoW$DokB z)25`5x2yxLD+F0HGK?jmjDrFHN5rJ)buANEMjv$0%&?*Mz#!WSzlKDZL(78!+4D+L z^t_A)_1i{JI)dN}0h&;DpZWv`1M-u)?qC$|7VT0txEC)gXw?4TQVs;P(M+I9PQ`C* z!e(3o{-YHFau!tw13oA9QpP3JKYpV+ekaD%a_Vp5#(RGaW?mVLd4UoP0I}(t{Zx*N Qe*gdg07*qoM6N<$f=6JaQUCw| diff --git a/recipes/icons/moneyro.png b/recipes/icons/moneyro.png deleted file mode 100644 index ebcbf2cf17ea459aa8c595326c0c3ad89c537492..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJPk>K|>;M1%*%wPYK8gPO|F7x1 zC%=H=#-1*YAr-fJj;~~FVBlfd5OcFWEv_{5$Wi{E2K-mpe}B8$Tou6o>L$Ot?ezpM d0X{XLnVByb_NtU!PC{xWt~$(695O&EGhs1 diff --git a/recipes/icons/more_intelligent_life.png b/recipes/icons/more_intelligent_life.png deleted file mode 100644 index 2955c71a475354fe5aae21aaa960810e47531679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1009 zcmV$;xjEx>)>uT(0- z!QlJRkqOJ?YP%he$4(TzVNX+It!J$ZK}KY)1()>@LC2GKamHG$HX4lpP5t)PnNGbR zC>1h@j0ucM9LG&l&lrsw#$Y;4($saFB8~&7!sgrA8R^(4N+nZe_x=05y}RArQMFn( zrqgV8Ivt7n?(XjX{+<8{v(swj@E{1P)hen{Rua=YKj)`tvsx{QqT9{QNu^TvysfRR zUav~ zo;mDfIGf$v+>Gfo$6@8e!vl4Il&8{2_|OTp$cVE@03#??(=Al#@$r$O3nSY|eRPh_ zm#9UOaVY^N*)U8UXMKHrdwZKmLD)&rkPXNFU4R8}HEXq3`ZEq>SsbVMypH00000NkvXXu0mjfxJun2 diff --git a/recipes/icons/movie_web.png b/recipes/icons/movie_web.png deleted file mode 100644 index 4925539f04dae07c8f5f517f293a9eb5de15d48f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1026 zcmV+d1pWJoP)3%Rl8O)3mMV>vBGM9};EO@AAc6%$YsrJ9R7Fq(K@@!{Rm3Ru zQnbYf`{D(QRjD^DD#cO}!BVM|l!P|7HGAL9ZZad^x8F`?H=D3Ra9=zy`^}tlzVkol z|IIl&+9Wu%K+Kk)3Sg~8zUzQBw|#uF2E??i zHQP^T73##ASHLAvc{(TWd-mK<^ySwjcm%i%Y&iA-o$-!JfK0{DuzIPFy#m;q*^&Yl zl22#k>MYv)GCTs~Q}TJ>xyOkA0zPaD4XASwW7!^@YV}YGCn`+R;&d&*QVMlwrVM1$R?An zC4SEkCnhiP6z-b(O;R;`7tPS1jZN85Ma8NaWR#7d)ign2& zcYUXlSvXiskqLKmx?~W!ZF^aK!ZSSL`PC?%c(+so}eFg>AongMs4?7$HTKsCXftjdXF{ z>|}dxkrEDfmlNDUUivfz+zosdi13{+Ml3ra|LTT;9bzzf{;$hw;OGkcH-8&RBSg87 zB~Fpsm0kGNPq2o-B2Y;)C~Ah>8ggtRjw2~;B#yeeR06h|`RN9qPiq2Kd)cot7SAQM wuGgo}ikHi+SY0()t`jJ&{Ji}i_`eb09~(D3rXkrk(EtDd07*qoM6N<$f&mEnBme*a diff --git a/recipes/icons/msdnmag_en.png b/recipes/icons/msdnmag_en.png deleted file mode 100644 index b295292caf4d56cde60e3238978f84210ab2ebbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 525 zcmV+o0`mQdP)H3y6YG-~(tcR!XpvU?CD41yN%smO>znU~R3BVJCux zM#Y4?n48_%ote+(iUnI6fBgTXeZ5g|a{X4n2>0{BUL!eV$&u7YEM;5qlx^AkF~@OTvL`j1Q9%?$3s}QkF4jXLW~d-q=Yy}j@7~+^dHr_i=xzGnIVTig4AJsfEXYK)FN4w z#ut0DFU>RmbFn))v+|&tjvf}ylmTa*$NGTv4a63)NbGtJf20qKS=x3L@2Be%+Jo>k zt2;iPj5Zk%|LW$P6sL48$$Oev``I6ao#rs_0^bdi-{062BSZiI0E0|g?;h#S^}7z_Ms-O9(+w4pU6fWCf# z@9_MR>&Gpy!hej{?Xk3hxp#sVCUlu_{Xtt0T=w_*K&UVQtu6y$$OgO{s)rNU07+Fc c3%)}G0MkSTN}pIp>Hq)$07*qoM6N<$f;GZ*ng9R* diff --git a/recipes/icons/nadacni_fond_proti_korupci.png b/recipes/icons/nadacni_fond_proti_korupci.png deleted file mode 100644 index 09bcdbfc11f289bf61a8200430e27e7d32b5a9d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmV1 z0SCfh5XSLonMEHYAQBJ}z#xEqnIKRV1(1ayOt5bhKtU7`u>LPDyxiURQG0sM+P%sD zy1mBOB2A2oe1jssIl>(sYNSf}gbp7p*Gl5P5^)46;pvj%00bY<2SM@I0$~zF zu^dt1=~_c@4TVJQhF{3(?h9fLTK9Rs!DQG6a`w1eoQ* zWr)sRfLT>MaWWto2b5;;boFyt=akR{07EJm A>;M1& diff --git a/recipes/icons/nationalgeoro.png b/recipes/icons/nationalgeoro.png deleted file mode 100644 index d6a052b7a221ae740df2f3e88bbff9a58bd90245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uK$7H48#93#{bXEd{(HG z0TgE}3GxeOaCmkj4akx4ba4!+xRsp1%d4A^5WRI(L*v}WMjxgmh8r3T`|`Nc=XK`y Q0o5^hy85}Sb4q9e06ujlI{*Lx diff --git a/recipes/icons/nationalreviewonline.png b/recipes/icons/nationalreviewonline.png deleted file mode 100644 index 940ca99c189f73878f0d090507e3151796610e65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 768 zcmV+b1ONPqP)3jhL;6cnjc6p>V*BB=x_2%(fhlHx6|2>t-1AOe*VA%uWy z?cKZgn7v8DInA9j&&)i{+-6jebNL2aHtsmRAx(peybsDcl(L9{_YRH6D2Fu`WvuGZ z(mr0dxbM#CqdB22-w2x*uh_F!TZ^&HAP1tgc0^w6oIteL#)x(f=RG=e9NIQ%x!$<_ z#jUfy2!31tMZ@p!o421k+1GF0x7NY@;)JAL$7xN{ zfDlBKqToCMNCZq$g%2r3YjaEw8&aWM?n5m}P!c?R#AsStx-fR^NM_HP%!nannk{Bo zVAzmuELt#-Ia9miohGek==SYfvv&1TI<|D6`u#ft23Cloh{~Y;e2=S4pEQC&1G+M0 z$}nb5FO#MTb7ypC*QN?q2XsBDQz}}PE?G#aRf%e~N~4iVa>kRVuXz3LGo3nhpnH!_ zoH}!zbC;j7^}t=qy-JK5)f!zWc<$YMz@vvxShiv*t%M}VtqJk$*|UkODfb`0P@Ci8P4PhJ!u=I>_7Sl z9rZ_b9=k6%2GFE3uJBWfpJ6Z!Fq2@d74zDuV|-)h!)6elkYGpJS__w1@KU*opk`JkOe y>3r*ct#h+ApSP!tRlR%n_^^C_=Y!M7aQr9C((@+tW@)$p0000 - - - - -''' - br = BasicNewsRecipe.get_browser(self) - if self.username is not None and self.password is not None: - br.open('http://jbpress.ismedia.jp/articles/print/5549') - response = br.response() - response.set_data(html) - br.set_response(response) - br.select_form(nr=0) - br["login"] = self.username - br['password'] = self.password - br.submit() - return br - - def print_version(self, url): - url = urlopen(url).geturl() # resolve redirect. - return url.replace('/-/', '/print/') - - def preprocess_html(self, soup): - # remove breadcrumb - h3s = soup.findAll('h3') - for h3 in h3s: - if re.compile('^JBpress>').match(h3.string): - h3.extract() - return soup diff --git a/recipes/jezebel.recipe b/recipes/jezebel.recipe deleted file mode 100644 index 2f67c6e369..0000000000 --- a/recipes/jezebel.recipe +++ /dev/null @@ -1,40 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, NA' -''' -jezebel.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Jezebel(BasicNewsRecipe): - title = 'Jezebel' - __author__ = 'NA' - description = "Jezebel, Celebrity, Sex, Fashion for Women. Without Airbrushing." - publisher = 'jezebel.com' - category = 'news, cars, spyshots' - oldest_article = 2 - max_articles_per_feed = 100 - no_stylesheets = True - encoding = 'utf-8' - use_embedded_content = True - language = 'en' - masthead_url = 'http://cache.gawkerassets.com/assets/jezebel.com/img/logo.png' - extra_css = ''' - body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} - img{margin-bottom: 1em} - h1{font-family :Arial,Helvetica,sans-serif; font-size:large} - h2{font-family :Arial,Helvetica,sans-serif; font-size:x-small} - ''' - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - feeds = [(u'Articles', u'http://feeds.gawker.com/jezebel/vip?format=xml')] - - remove_tags = [ - {'class': 'feedflare'}, - ] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/joelonsoftware.recipe b/recipes/joelonsoftware.recipe deleted file mode 100644 index 18aafa2d93..0000000000 --- a/recipes/joelonsoftware.recipe +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2008, Darko Miletic ' -''' -joelonsoftware.com -''' -from calibre.web.feeds.news import BasicNewsRecipe - - -class Joelonsoftware(BasicNewsRecipe): - - title = 'Joel on Software' - __author__ = 'Darko Miletic' - description = 'Painless Software Management' - language = 'en' - - no_stylesheets = True - use_embedded_content = True - oldest_article = 60 - - cover_url = 'http://www.joelonsoftware.com/RssJoelOnSoftware.jpg' - - extra_css = ''' - h1{font-size: x-small; color:#BF3306;} - h2{ color:#046380; font-size: large;} - .date{ color:#046380; font-size: x-small;} - .author{ color:#046380; font-size: small;} - body{font-family:Georgia,serif;font-size: small;} - ''' - - html2lrf_options = ['--comment', description, '--category', 'blog,software,news', '--author', 'Joel Spolsky' - ] - - feeds = [(u'Articles', u'http://www.joelonsoftware.com/rss.xml')] diff --git a/recipes/joongang.recipe b/recipes/joongang.recipe deleted file mode 100644 index 0dc56a77be..0000000000 --- a/recipes/joongang.recipe +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -__license__ = 'GPL v3' -__copyright__ = '2015, Hoje Lee ' -''' -Profile to download Joongang Ilbo -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class JoongangIlbo(BasicNewsRecipe): - language = 'ko' - title = u'중앙일보' - description = u'중앙일보 신문 기사' - __author__ = 'Hoje Lee' - oldest_article = 7 - max_articles_per_feed = 5 - auto_cleanup = True - - feeds = [ - # (u'전체기사', 'http://rss.joins.com/joins_news_list.xml'), - (u'주요기사', 'http://rss.joins.com/joins_homenews_list.xml'), - # (u'경제', 'http://rss.joins.com/joins_money_list.xml'), - # (u'사회', 'http://rss.joins.com/joins_life_list.xml'), - # (u'정치', 'http://rss.joins.com/joins_politics_list.xml'), - # 많이 본 뉴스 - (u'전체기사', 'http://rss.joins.com/sonagi/joins_sonagi_total_list.xml'), - (u'경제', 'http://rss.joins.com/sonagi/joins_sonagi_money_list.xml'), - (u'스포츠', 'http://rss.joins.com/sonagi/joins_sonagi_sports_list.xml'), - (u'연예', 'http://rss.joins.com/sonagi/joins_sonagi_star_list.xml'), - (u'사회', 'http://rss.joins.com/sonagi/joins_sonagi_life_list.xml'), - (u'정치', 'http://rss.joins.com/sonagi/joins_sonagi_politics_list.xml'), - (u'지구촌', 'http://rss.joins.com/sonagi/joins_sonagi_world_list.xml'), - (u'IT과학', 'http://rss.joins.com/sonagi/joins_sonagi_it_list.xml'), - (u'사설', 'http://rss.joins.com/sonagi/joins_sonagi_opinion_list.xml'), - ] diff --git a/recipes/journalgazette.recipe b/recipes/journalgazette.recipe deleted file mode 100644 index 4c8c8ec2aa..0000000000 --- a/recipes/journalgazette.recipe +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__author__ = 'somedayson & TonytheBookworm, revised by Cynthia Clavey' -__copyright__ = '2010, Cynthia Clavey cynvision@yahoo.com' -__version__ = '1.02' -__date__ = '05, september 2010' -__docformat__ = 'restructuredtext en' -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class AdvancedUserRecipe1283666183(BasicNewsRecipe): - title = u'Journal Gazette Ft. Wayne IN' - __author__ = 'cynvision' - oldest_article = 1 - language = 'en' - max_articles_per_feed = 8 - no_stylesheets = True - remove_javascript = True - use_embedded_content = False - auto_cleanup = True - - feeds = [(u'Opinion', u'http://www.journalgazette.net/opinion/rss/'), - (u'Local News', u'http://www.journalgazette.net/news/local/rss/'), - (u'Sports', u'http://www.journalgazette.net/sports/rss/'), - (u'Business', u'http://www.journalgazette.net/business/rss/'), - (u'Entertainment', - u'http://www.journalgazette.net/entertainment/rss/'), - (u'Food', u'http://www.journalgazette.net/food/'), - (u'Blogs', u'http://www.journalgazette.net/blog/rss/'), - ] diff --git a/recipes/jp_dk.recipe b/recipes/jp_dk.recipe deleted file mode 100644 index 65881cca5a..0000000000 --- a/recipes/jp_dk.recipe +++ /dev/null @@ -1,28 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, Darko Miletic ' -''' -jp.dk -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class JP_dk(BasicNewsRecipe): - title = 'Jyllands-Posten' - __author__ = 'Darko Miletic' - description = 'News from Denmark' - publisher = 'jp.dk' - category = 'news, politics, Denmark' - oldest_article = 2 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - language = 'da' - auto_cleanup = True - - feeds = [ - (u'Tophistorier', u'http://www.jp.dk/rss/topnyheder.jsp'), - (u'Seneste nyt', - u'http://jp.dk/index.jsp?service=rssfeed&submode=seneste'), - (u'Indland', u'http://www.jp.dk/rss/indland.jsp'), - ] diff --git a/recipes/jpost_fr.recipe b/recipes/jpost_fr.recipe deleted file mode 100644 index 98b8de67f2..0000000000 --- a/recipes/jpost_fr.recipe +++ /dev/null @@ -1,66 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class JerusalemPost(BasicNewsRecipe): - title = 'Jerusalem post' - language = 'fr' - __author__ = 'TonytheBookworm' - description = 'The Jerusalem Post (in French)' - publisher = 'jpost' - category = 'news' - oldest_article = 30 - max_articles_per_feed = 100 - linearize_tables = True - no_stylesheets = True - remove_javascript = True - - masthead_url = 'http://static.jpost.com/JPSITES/images/JFrench/2008/site/jplogo.JFrench.gif' - - remove_tags = [ - dict(name='a', attrs={'href': ['javascript:window.print()']}), - dict(name='div', attrs={'class': ['bot']}), - - ] - - feeds = [ - ('NEWS', 'http://fr.jpost.com/servlet/Satellite?collId=1216805762036&pagename=JFrench%2FPage%2FRSS'), - ('JFrench En route vers la paix', - 'http://fr.jpost.com/servlet/Satellite?collId=1216805762201&pagename=JFrench%2FPage%2FRSS'), - ('JFrench Politique', 'http://fr.jpost.com/servlet/Satellite?collId=1215356737334&pagename=JFrench%2FPage%2FRSS'), - ('JFrench Securite', 'http://fr.jpost.com/servlet/Satellite?collId=1215356737338&pagename=JFrench%2FPage%2FRSS'), - ('JFrench Moyen Orient', - 'http://fr.jpost.com/servlet/Satellite?collId=1215356737342&pagename=JFrench%2FPage%2FRSS'), - ('JFrench Diplomatie / Monde', - 'http://fr.jpost.com/servlet/Satellite?collId=1215356737346&pagename=JFrench%2FPage%2FRSS'), - ('JFrench Economie / Sciences', - 'http://fr.jpost.com/servlet/Satellite?collId=1215356737358&pagename=JFrench%2FPage%2FRSS'), - ('JFrench Societe', 'http://fr.jpost.com/servlet/Satellite?collId=1215356737354&pagename=JFrench%2FPage%2FRSS'), - ('JFrench Opinions', 'http://fr.jpost.com/servlet/Satellite?collId=1215356737350&pagename=JFrench%2FPage%2FRSS'), - ('JFrench Monde juif', - 'http://fr.jpost.com/servlet/Satellite?collId=1215356737366&pagename=JFrench%2FPage%2FRSS'), - ('JFrench Culture / Sport', - 'http://fr.jpost.com/servlet/Satellite?collId=1215356737362&pagename=JFrench%2FPage%2FRSS') - ] - - def print_version(self, url): - split1 = url.split("cid=") - # for testing only ------- - # print 'SPLIT IS: ', split1 - # print 'ORG URL IS: ', url - # --------------------------- - idnum = split1[1] # get the actual value of the id article - # for testing only -------------------- - # print 'the idnum is: ', idnum - # -------------------------------------- - print_url = 'http://fr.jpost.com/servlet/Satellite?cid=' + \ - idnum + '&pagename=JFrench%2FJPArticle%2FPrinter' - # for testing only ------------------------- - # print 'PRINT URL IS: ', print_url - # ------------------------------------------ - return print_url - - # example of how links should be formatted - # ------------------------------------------------------------------------- - # org version = http://fr.jpost.com/servlet/Satellite?pagename=JFrench/JPArticle/ShowFull&cid=1282804806075 - # print version = http://fr.jpost.com/servlet/Satellite?cid=1282804806075&pagename=JFrench%2FJPArticle%2FPrinter - # ------------------------------------------------------------------------- diff --git a/recipes/jsonline.recipe b/recipes/jsonline.recipe deleted file mode 100644 index 3da4bc930d..0000000000 --- a/recipes/jsonline.recipe +++ /dev/null @@ -1,58 +0,0 @@ -from calibre.ebooks.BeautifulSoup import BeautifulSoup -from calibre.web.feeds.news import BasicNewsRecipe - - -class JSOnline(BasicNewsRecipe): - title = u'Milwaukee Journal Sentinel' - language = 'en' - __author__ = 'Krittika Goyal' - oldest_article = 2 # days - max_articles_per_feed = 25 - - no_stylesheets = True - remove_tags_before = dict(name='div', attrs={'id': 'wrapper'}) - remove_tags = [ - dict(name='iframe'), - dict(name='div', attrs={'class': [ - 'right_float', 'headlines', 'side_section_container poll', 'side_section_container html']}), - ] - - feeds = [ - ('Main Headlines', - 'http://www.jsonline.com/rss?c=y&path=%2F'), - ('Business', - 'http://www.jsonline.com/rss?c=y&path=%2Fbusiness'), - ('Milwaukee marketplace', - 'http://www.jsonline.com/rss?c=y&path=%2Fmarketplace'), - ('Top Entertainment Stories', - 'http://www.jsonline.com/rss?c=y&path=%2Fentertainment%2Ftopstories'), - ('Arts and Books', - 'http://www.jsonline.com/rss?c=y&path=%2Fentertainment%2Farts'), - ('Movies', - 'http://www.jsonline.com/rss?c=y&path=%2Fentertainment%2Fmovies'), - ('Music and Nightlife', - 'http://www.jsonline.com/rss?c=y&path=%2Fentertainment%2Fmusicandnightlife'), - ('Dining', - 'http://www.jsonline.com/rss?c=y&path=%2Ffeatures%2Fdining'), - ('Fashion', - 'http://www.jsonline.com/rss?c=y&path=%2Ffeatures%2Ffashion'), - ('Health and Fitness', - 'http://www.jsonline.com/rss?c=y&path=%2Ffeatures%2Fhealth'), - ('Top Metro Stories', - 'http://www.jsonline.com/rss?c=y&path=%2Fnews%2Ftopstories'), - ('Crime', - 'http://www.jsonline.com/rss?c=y&path=%2Fnews%2Fcrime'), - ('Sports', - 'http://www.jsonline.com/rss?c=y&path=%2Fsports'), - ] - - # def print_version(self, url): - # return url+'/0' - - def preprocess_html(self, soup): - story = soup.find(name='div', attrs={'id': 'mainContent'}) - soup = BeautifulSoup( - 't') - body = soup.find(name='body') - body.insert(0, story) - return soup diff --git a/recipes/jurnalulnational.recipe b/recipes/jurnalulnational.recipe deleted file mode 100644 index 329ef77448..0000000000 --- a/recipes/jurnalulnational.recipe +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__license__ = 'GPL v3' -__copyright__ = u'2011, Silviu Cotoar\u0103' -''' -jurnalul.ro -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class JurnalulNational(BasicNewsRecipe): - title = u'Jurnalul Na\u0163ional' - __author__ = u'Silviu Cotoar\u0103' - description = u'\u0218tiri din Rom\u00e2nia' - publisher = 'Jurnalul National' - oldest_article = 5 - language = 'ro' - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - category = 'Ziare,Stiri,Romania' - encoding = 'utf-8' - cover_url = 'http://www.jurnalul.ro/images/sigla.png' - - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher - } - - keep_only_tags = [ - dict(name='h1', attrs={'class': 'h3 art_title'}), dict( - name='div', attrs={'class': 'only_text'}) - ] - - feeds = [ - - (u'\u0218tiri', u'http://www.jurnalul.ro/rss/stiri-3028.html'), - (u'Special', u'http://www.jurnalul.ro/rss/special-3001.html'), - (u'Sport', u'http://www.jurnalul.ro/rss/sport-3035.html'), - (u'Bani Afaceri', u'http://www.jurnalul.ro/rss/bani-afaceri-3006.html'), - (u'Viata Sanatoasa', u'http://www.jurnalul.ro/rss/viata-sanatoasa-3010.html'), - (u'Stiinta Tehnica', u'http://www.jurnalul.ro/rss/stiinta-tehnica-3019.html'), - (u'Timp Liber', u'http://www.jurnalul.ro/rss/timp-liber-3022.html'), - (u'Fun', u'http://www.jurnalul.ro/rss/fun-3038.html'), - (u'Acum 20 de ani', u'http://www.jurnalul.ro/rss/acum-20-de-ani-3073.html') - ] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/jutarnji.recipe b/recipes/jutarnji.recipe deleted file mode 100644 index 13019e95a5..0000000000 --- a/recipes/jutarnji.recipe +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2008-2009, Darko Miletic ' -''' -jutarnji.hr -''' - -import re - -from calibre.ebooks.BeautifulSoup import Tag -from calibre.web.feeds.news import BasicNewsRecipe - - -def new_tag(soup, name, attrs=()): - impl = getattr(soup, 'new_tag', None) - if impl is not None: - return impl(name, attrs=dict(attrs)) - return Tag(soup, name, attrs=attrs or None) - - -class Jutarnji(BasicNewsRecipe): - title = 'Jutarnji' - __author__ = 'Darko Miletic' - description = 'Hrvatski portal' - publisher = 'Jutarnji.hr' - category = 'news, politics, Croatia' - oldest_article = 2 - max_articles_per_feed = 100 - delay = 1 - language = 'hr' - - no_stylesheets = True - use_embedded_content = False - encoding = 'cp1250' - lang = 'hr-HR' - direction = 'ltr' - extra_css = '@font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)} @font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)} body{text-align: justify; font-family: serif1, serif} .article_description{font-family: sans1, sans-serif} .vijestnaslov{font-size: x-large; font-weight: bold}' # noqa - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': lang, 'pretty_print': True - } - - preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] - - remove_tags = [ - dict(name=['embed', 'hr', 'link', 'object']), dict( - name='a', attrs={'class': 'a11'}) - ] - - feeds = [ - - (u'Naslovnica', u'http://www.jutarnji.hr/rss'), - (u'Sport', u'http://www.jutarnji.hr/sport/rss'), - (u'Jutarnji2', u'http://www.jutarnji.hr/j2/rss'), - (u'Kultura', u'http://www.jutarnji.hr/kultura/rss'), - (u'Spektakli', u'http://www.jutarnji.hr/spektakli/rss'), - (u'Dom i nekretnine', u'http://www.jutarnji.hr/nekretnine/rss'), - (u'Uhvati ritam', u'http://www.jutarnji.hr/kalendar/rss') - ] - - def print_version(self, url): - main, split, rest = url.partition('.jl') - rmain, rsplit, rrest = main.rpartition(',') - return 'http://www.jutarnji.hr/ispis_clanka.jl?artid=' + rrest - - def preprocess_html(self, soup): - soup.html['lang'] = self.lang - soup.html['dir'] = self.direction - - attribs = ['style', 'font', 'valign', 'colspan', 'width', 'height', 'rowspan', 'summary', 'align', 'cellspacing', 'cellpadding', 'frames', 'rules', 'border' # noqa - ] - for item in soup.body.findAll(name=['table', 'td', 'tr', 'th', 'caption', 'thead', 'tfoot', 'tbody', 'colgroup', 'col']): - item.name = 'div' - for attrib in attribs: - item[attrib] = '' - del item[attrib] - - mlang = new_tag(soup, 'meta', [ - ("http-equiv", "Content-Language"), ("content", self.lang)]) - mcharset = new_tag(soup, 'meta', [ - ("http-equiv", "Content-Type"), ("content", "text/html; charset=UTF-8")]) - soup.head.insert(0, mlang) - soup.head.insert(1, mcharset) - return self.adeify_images(soup) diff --git a/recipes/juve_la_stampa.recipe b/recipes/juve_la_stampa.recipe deleted file mode 100644 index 20a047c65f..0000000000 --- a/recipes/juve_la_stampa.recipe +++ /dev/null @@ -1,20 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1336504510(BasicNewsRecipe): - title = u'Juve - La Stampa' - oldest_article = 1 - language = 'it' - max_articles_per_feed = 100 - auto_cleanup = True - masthead_url = 'http://www3.lastampa.it/fileadmin/media/sport/quijuve/top_quijuve.jpg' - feeds = [(u'Qui Juve - La Stampa', u'http://feed43.com/2352784107537677.xml')] - remove_tags = [dict(name='div', attrs={ - 'class': ['article-toolbar', 'sezione sezione-news', 'intestazione']})] - - description = 'News about Juventus from La Stampa' - __author__ = 'faber1971' - - -__version__ = 'v1.0' -__date__ = '8, May 2012' diff --git a/recipes/jv_dk.recipe b/recipes/jv_dk.recipe deleted file mode 100644 index 7514e281dd..0000000000 --- a/recipes/jv_dk.recipe +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -# https://manual.calibre-ebook.com/news_recipe.html -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - -''' -JydskeVestkysten | JV.dk | jv.dk -''' - - -class WwwJv_dk(BasicNewsRecipe): - __author__ = 'CoderAllan.github.com' - title = 'JydskeVestkysten | JV.dk | jv.dk' - description = 'JydskeVestkysten' - category = 'newspaper, news, localnews, lifestyle, culture, Denmark' - oldest_article = 7 - max_articles_per_feed = 25 - auto_cleanup = True - language = 'da' - - feeds = [ - ('Nyheder', 'http://www.jv.dk/rss/nyheder'), - ('Indland', 'http://www.jv.dk/rss/indland'), - ('Udland', 'http://www.jv.dk/rss/udland'), - ('Kultur', 'http://www.jv.dk/rss/kultur'), - ('Livsstil', 'http://www.jv.dk/rss/livsstil'), - ('Hus & Have', 'http://www.jv.dk/rss/husoghave'), - ('Billund', 'http://www.jv.dk/rss/billund'), - ('Esbjerg', 'http://www.jv.dk/rss/esbjerg'), - ('Haderslev', 'http://www.jv.dk/rss/haderslev'), - ('Kolding', 'http://www.jv.dk/rss/kolding'), - ('Sønderborg', 'http://www.jv.dk/rss/soenderborg'), - ('Skjern-Tarm', 'http://www.jv.dk/rss/tarm'), - ('Tønder', 'http://www.jv.dk/rss/toender'), - ('Varde', 'http://www.jv.dk/rss/varde'), - ('Vejen', 'http://www.jv.dk/rss/vejen'), - ('Aabenraa', 'http://www.jv.dk/rss/aabenraa'), - - ] - diff --git a/recipes/kahokushinpo.recipe b/recipes/kahokushinpo.recipe deleted file mode 100644 index 870af4b04e..0000000000 --- a/recipes/kahokushinpo.recipe +++ /dev/null @@ -1,25 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010,2014, Hiroshi Miura ' -''' -www.kahoku.co.jp -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class KahokuShinpoNews(BasicNewsRecipe): - title = u'\u6cb3\u5317\u65b0\u5831' - __author__ = 'Hiroshi Miura' - oldest_article = 2 - max_articles_per_feed = 20 - description = 'Tohoku regional news paper in Japan' - publisher = 'Kahoku Shinpo Sha' - category = 'news, japan' - language = 'ja' - encoding = 'Shift_JIS' - no_stylesheets = True - - feeds = [(u'news', u'http://www.kahoku.co.jp/rss/index_thk.xml')] - - keep_only_tags = [{'class': "category"}, {'class': "ttl"}, { - 'class': 'photoimg'}, {'class': "txt"}, {'class': "data"}] diff --git a/recipes/kaloeviglokalavisen_dk.recipe b/recipes/kaloeviglokalavisen_dk.recipe deleted file mode 100644 index a083e9f8c8..0000000000 --- a/recipes/kaloeviglokalavisen_dk.recipe +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -# https://manual.calibre-ebook.com/news_recipe.html -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - -''' -Lokalavisen Kalø Vig -''' - - -class KaloevigLokalavisen_dk(BasicNewsRecipe): - __author__ = 'CoderAllan.github.com' - title = 'Lokalavisen Kalø Vig' - description = 'Lokale og regionale nyheder, sport og kultur fra Hornslet og omegn på kaloevig.lokalavisen.dk' - category = 'newspaper, news, localnews, sport, culture, Denmark' - oldest_article = 7 - max_articles_per_feed = 50 - auto_cleanup = True - language = 'da' - - feeds = [ - ('Seneste nyt fra Lokalavisen Kalø Vig', 'http://kaloevig.lokalavisen.dk/section/senestenytrss'), - ('Seneste lokale nyheder fra Lokalavisen Kalø Vig', 'http://kaloevig.lokalavisen.dk/section/senestelokalenyhederrss'), - ('Seneste sport fra Lokalavisen Kalø Vig', 'http://kaloevig.lokalavisen.dk/section/senestesportrss'), - ('Seneste 112 nyheder fra Lokalavisen Kalø Vig', 'http://kaloevig.lokalavisen.dk/section/seneste112rss'), - ('Seneste kultur nyheder fra Lokalavisen Kalø Vig', 'http://kaloevig.lokalavisen.dk/section/senestekulturrss'), - ('Seneste læserbreve fra Lokalavisen Kalø Vig', 'http://kaloevig.lokalavisen.dk/section/senestelaeserbreverss'), - - ] - diff --git a/recipes/kamikaze.recipe b/recipes/kamikaze.recipe deleted file mode 100644 index 8153c5ac96..0000000000 --- a/recipes/kamikaze.recipe +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__license__ = 'GPL v3' -__copyright__ = u'2011, Silviu Cotoar\u0103' -''' -kamikazeonline.ro -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Kamikaze(BasicNewsRecipe): - title = u'Kamikaze' - __author__ = u'Silviu Cotoar\u0103' - description = u'S\u0103pt\u0103m\u00e2nal sc\u0103pat de sub control' - publisher = 'Kamikaze' - oldest_article = 5 - language = 'ro' - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - category = 'Ziare,Reviste' - encoding = 'utf-8' - cover_url = 'http://www.kamikazeonline.ro/wp-content/themes/kamikaze/images/kamikazeonline_header.gif' - - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher - } - - keep_only_tags = [ - dict(name='div', attrs={'id': 'content'}) - ] - - remove_tags = [ - dict(name='div', attrs={'class': ['connect_confirmation_cell connect_confirmation_cell_no_like']}), dict(name='h3', attrs={ - 'id': ['comments']}), dict(name='ul', attrs={'class': ['addtoany_list']}), dict(name='p', attrs={'class': ['postmetadata']}) - ] - - remove_tags_after = [ - dict(name='p', attrs={'class': ['postmetadata']}) - ] - - feeds = [ - (u'Feeds', u'http://www.kamikazeonline.ro/feed/') - ] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/karsi_gazete.recipe b/recipes/karsi_gazete.recipe deleted file mode 100644 index 8c2115d46e..0000000000 --- a/recipes/karsi_gazete.recipe +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1441607918(BasicNewsRecipe): - title = 'Karsi Gazete' - __author__ = 'Voltran' - language = 'tr' - oldest_article = 1 - max_articles_per_feed = 100 - auto_cleanup = True - - feeds = [ - ('G\xfcndem', 'http://www.karsigazete.com.tr/rss/post/1.xml'), - ('Yazarlar', 'http://www.karsigazete.com.tr/rss/columnist'), - ('Bilim & Teknoloji', 'http://www.karsigazete.com.tr/rss/post/4.xml'), - ('Asayi\u015f', 'http://www.karsigazete.com.tr/rss/post/23.xml'), - ('\xc7evre', 'http://www.karsigazete.com.tr/rss/post/17.xml'), - ('D\xfcnya', 'http://www.karsigazete.com.tr/rss/post/2.xml'), - ('E\u011fitim', 'http://www.karsigazete.com.tr/rss/post/10.xml'), - ('Ekonomi', 'http://www.karsigazete.com.tr/rss/post/3.xml'), - ('Genel', 'http://www.karsigazete.com.tr/rss/post/18.xml'), - ('Kad\u0131n', 'http://www.karsigazete.com.tr/rss/post/12.xml'), - ('K\xfclt\xfcr & Sanat', 'http://www.karsigazete.com.tr/rss/post/6.xml'), - ('Magazin', 'http://www.karsigazete.com.tr/rss/post/20.xml'), - ('Politika', 'http://www.karsigazete.com.tr/rss/post/22.xml'), - ('R\xf6portaj', 'http://www.karsigazete.com.tr/rss/post/11.xml'), - ('Sa\u011fl\u0131k', 'http://www.karsigazete.com.tr/rss/post/8.xml'), - ('Spor', 'http://www.karsigazete.com.tr/rss/post/5.xml'), - ('Televizyon', 'http://www.karsigazete.com.tr/rss/post/26.xml'), - ('Ya\u015fam', 'http://www.karsigazete.com.tr/rss/post/7.xml'), - ] diff --git a/recipes/kathemerini.recipe b/recipes/kathemerini.recipe deleted file mode 100644 index a4c4b522f2..0000000000 --- a/recipes/kathemerini.recipe +++ /dev/null @@ -1,68 +0,0 @@ -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class Kathimerini(BasicNewsRecipe): - title = 'Kathimerini' - __author__ = 'jenniepet' - description = 'News from Greece' - max_articles_per_feed = 100 - oldest_article = 1 - publisher = 'Kathimerini' - category = 'news, GR' - language = 'el' - encoding = 'utf-8' - conversion_options = {'linearize_tables': True} - no_stylesheets = True - remove_tags_before = dict(id='site-body') - remove_tags_after = [dict(id='social')] - remove_tags = [ - dict(attrs={'class': ['post-tools', 'edition edition_PRINT']})] -# to remove images comment the line above and uncomment the line below -# remove_tags = [dict(attrs={'class':['post-tools', 'edition edition_PRINT', 'clearing-featured-img']})] - -# Categories In order of Appearance: Politics-1-2-3, Greece-1-2, World-1-2, People-Specials -# Greek Economy-1-2, Business, International Economy, Real Estate - feeds = [( - u'\u03A0\u03BF\u03BB\u03B9\u03C4\u03B9\u03BA\u03AE', 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=2&type=&edition=PRINT&author=0&fromDate=&toDate='), # noqa - (u'\u03A0\u03BF\u03BB\u03B9\u03C4\u03B9\u03BA\u03AE 2', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=2&type=&edition=PRINT&author=0&fromDate=&toDate=&page=1'), - (u'\u03A0\u03BF\u03BB\u03B9\u03C4\u03B9\u03BA\u03AE 3', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=2&type=&edition=PRINT&author=0&fromDate=&toDate=&page=2'), - (u'\u0395\u03BB\u03BB\u03AC\u03B4\u03B1', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=4&type=&edition=PRINT&author=0&fromDate=&toDate='), - (u'\u0395\u03BB\u03BB\u03AC\u03B4\u03B1 2', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=4&type=&edition=PRINT&author=0&fromDate=&toDate=&page=1'), - (u'\u039A\u03CC\u03C3\u03BC\u03BF\u03C2', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=5&type=&edition=PRINT&author=0&fromDate=&toDate='), - (u'\u039A\u03CC\u03C3\u03BC\u03BF\u03C2 2', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=5&type=&edition=PRINT&author=0&fromDate=&toDate=&page=1'), - (u'\u03A0\u03C1\u03CC\u03C3\u03C9\u03C0\u03B1', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=41&cat=42&cat=43&cat=24&cat=25&type=&edition=PRINT&author=0&fromDate=&toDate='), - (u'\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AE \u039F\u03B9\u03BA\u03BF\u03BD\u03BF\u03BC\u03AF\u03B1', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=17&type=&edition=PRINT&author=0&fromDate=&toDate='), - (u'\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AE \u039F\u03B9\u03BA\u03BF\u03BD\u03BF\u03BC\u03AF\u03B1 2', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=17&type=&edition=PRINT&author=0&fromDate=&toDate=&page=1'), - (u'\u0395\u03C0\u03B9\u03C7\u03B5\u03B9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=18&type=&edition=PRINT&author=0&fromDate=&toDate='), - (u'\u0394\u03B9\u03B5\u03B8\u03BD\u03AE\u03C2 \u039F\u03B9\u03BA\u03BF\u03BD\u03BF\u03BC\u03AF\u03B1', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=19&type=&edition=PRINT&author=0&fromDate=&toDate='), - (u'Real Estate', 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=21&type=&edition=PRINT&author=0&fromDate=&toDate='), - (u'\u03A0\u03B5\u03C1\u03B9\u03B2\u03AC\u03BB\u03BB\u03BF\u03BD', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=6&type=&edition=PRINT&author=0&fromDate=&toDate='), - (u'\u0395\u03C0\u03B9\u03C3\u03C4\u03AE\u03BC\u03B7', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=7&type=&edition=PRINT&author=0&fromDate=&toDate='), - (u'\u03A4\u03B5\u03C7\u03BD\u03BF\u03BB\u03BF\u03B3\u03AF\u03B1', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=47&cat=48&cat=49&cat=50&cat=51&type=&edition=PRINT&author=0&fromDate=&toDate='), - (u'\u03A0\u03BF\u03BB\u03B9\u03C4\u03B9\u03C3\u03BC\u03CC\u03C2', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=31&cat=32&cat=33&cat=34&cat=35&cat=36&cat=37&cat=38&cat=39&type=&edition=PRINT&author=0&fromDate=&toDate='), # noqa - (u'\u03A0\u03BF\u03BB\u03B9\u03C4\u03B9\u03C3\u03BC\u03CC\u03C2 2', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=31&cat=32&cat=33&cat=34&cat=35&cat=36&cat=37&cat=38&cat=39&type=&edition=PRINT&author=0&fromDate=&toDate=&page=1'), # noqa - (u'\u03A4\u03B1\u03BE\u03AF\u03B4\u03B9\u03B1', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=11&cat=10&cat=12&cat=14&cat=15&cat=13&type=&edition=PRINT&author=0&fromDate=&toDate='), # noqa - (u'\u0391\u03B8\u03BB\u03B7\u03C4\u03B9\u03C3\u03BC\u03CC\u03C2', - 'http://www.kathimerini.gr/rss?i=news.el.search&q=&t=0&w=&c=&s=p&cat=3&type=&edition=PRINT&author=0&fromDate=&toDate=') - ] - - def get_cover_url(self): - import time - return 'http://s.kathimerini.gr/resources/issue-cover/%s.jpg' % time.strftime('%d-%m-%Y') diff --git a/recipes/kellog_insight.recipe b/recipes/kellog_insight.recipe deleted file mode 100644 index 955b530d8e..0000000000 --- a/recipes/kellog_insight.recipe +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -from __future__ import with_statement - -__license__ = 'GPL v3' -__copyright__ = '2009, Kovid Goyal ' -__docformat__ = 'restructuredtext en' - - -from calibre.web.feeds.news import BasicNewsRecipe - - -class KellogInsight(BasicNewsRecipe): - - title = 'Kellog Insight' - __author__ = 'Kovid Goyal and Sujata Raman' - description = 'Articles from the Kellog School of Management' - no_stylesheets = True - encoding = 'utf-8' - language = 'en' - auto_cleanup = True - use_embedded_content = False - - oldest_article = 60 - - extra_css = ''' - h1{font-family:arial; font-size:medium; color:#333333;} - .col-one{font-family:arial; font-size:xx-small;} - .col-two{font-family:arial; font-size:x-small; } - h2{font-family:arial; font-size:small; color:#666666;} - h3{font-family:arial; font-size:small; color:#333333;text-transform: uppercase; font-weight:normal;} - h4{color:#660000;font-family:arial; font-size:x-small;} - .col-two-text{font-family:arial; font-size:x-small; color:#333333;} - ''' - - feeds = [ - ('Articles', 'http://insight.kellogg.northwestern.edu/index.php/Kellogg/RSS')] - - def get_article_url(self, article): - # Get only article not blog links - link = BasicNewsRecipe.get_article_url(self, article) - if link and '/article/' in link: - return link - self.log('Skipping non-article', link) - return None - - def preprocess_html(self, soup): - - for tag in soup.findAll(name=['span']): - tag.nextSibling.name = 'h4' - - return soup diff --git a/recipes/kerrang.recipe b/recipes/kerrang.recipe deleted file mode 100644 index ca245dc95c..0000000000 --- a/recipes/kerrang.recipe +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class kerrang(BasicNewsRecipe): - title = u'Kerrang!' - __author__ = 'Artur Stachecki ' - language = 'en_GB' - description = u'UK-based magazine devoted to rock music published by Bauer Media Group' - oldest_article = 7 - masthead_url = 'http://images.kerrang.com/design/kerrang/kerrangsite/logo.gif' - max_articles_per_feed = 100 - simultaneous_downloads = 5 - remove_javascript = True - no_stylesheets = True - use_embedded_content = False - recursions = 0 - - keep_only_tags = [] - keep_only_tags.append(dict(attrs={'class': ['headz', 'blktxt']})) - - extra_css = ''' img { display: block; margin-right: auto;} - h1 {text-align: left; font-size: 22px;}''' - - feeds = [(u'News', u'http://www.kerrang.com/blog/rss.xml')] - - def preprocess_html(self, soup): - for alink in soup.findAll('a'): - if alink.string is not None: - tstr = alink.string - alink.replaceWith(tstr) - return soup diff --git a/recipes/kgsenghavebladet_dk.recipe b/recipes/kgsenghavebladet_dk.recipe deleted file mode 100644 index 2cda9bd779..0000000000 --- a/recipes/kgsenghavebladet_dk.recipe +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -# https://manual.calibre-ebook.com/news_recipe.html -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - -''' -Kgs. Enghave Bladet -''' - - -class KgsEnghaveBladet_dk(BasicNewsRecipe): - __author__ = 'CoderAllan.github.com' - title = 'Kgs. Enghave Bladet' - description = 'lokalavisen med alle dine lokale nyheder' - category = 'newspaper, news, localnews, sport, culture, Denmark' - oldest_article = 7 - max_articles_per_feed = 50 - auto_cleanup = True - language = 'da' - - feeds = [ - ('Kgs. Enghave Bladet', 'http://minby.dk/kgs-enghave-bladet/feed/'), - ('Kommentarer til Kgs. Enghave Bladet', 'http://minby.dk/kgs-enghave-bladet/comments/feed/'), - - ] - diff --git a/recipes/kholod.recipe b/recipes/kholod.recipe deleted file mode 100644 index e2af0a55e2..0000000000 --- a/recipes/kholod.recipe +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Kholod(BasicNewsRecipe): - title = u'\u0425\u043E\u043B\u043E\u0434' - description = u'\u0418\u0441\u0442\u043E\u0440\u0438\u0438 \u043E \u0420\u043E\u0441\u0441\u0438\u0438: \u043C\u044B \u0438\u0449\u0435\u043C \u0437\u0430\u0445\u0432\u0430\u0442\u044B\u0432\u0430\u044E\u0449\u0438\u0435 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u043F\u043E \u0432\u0441\u0435\u0439 \u0420\u043E\u0441\u0441\u0438\u0438, \u0430 \u043F\u043E\u0442\u043E\u043C \u0440\u0430\u0441\u0441\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u043C \u0432\u0430\u043C.' # noqa - __author__ = 'bugmen00t' - publisher = '\u0422\u0430\u0438\u0441\u0438\u044F \u0411\u0435\u043A\u0431\u0443\u043B\u0430\u0442\u043E\u0432\u0430' - publication_type = 'blog' - oldest_article = 14 - max_articles_per_feed = 200 - language = 'ru' - cover_url = 'https://image.simplecastcdn.com/images/93a97011-6988-4787-8242-e202b2840fde/08e85f64-9901-44e1-b20c-7da01c5ce0c0/holodpodcastlogo.jpg' - auto_cleanup = False - no_stylesheets = False - - remove_tags_before = dict(name='h1') - - remove_tags_after = dict( - name='div', attrs={'class': 'article__content the-content text-column'} - ) - - remove_tags = [dict(name='div', attrs={'class': 'inlinemore'})] - - feeds = [( - u'\u0410\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u043E', - 'https://holod.media/sections/daily/feed/' - ), - ( - u'\u0418\u0441\u0442\u043E\u0440\u0438\u0438', - 'https://holod.media/sections/stories/feed/' - ), - ( - u'\u041C\u043D\u0435\u043D\u0438\u044F', - 'https://holod.media/sections/opinions/feed/' - ), - ( - u'\u0418\u043D\u0442\u0435\u0440\u0432\u044C\u044E', - 'https://holod.media/sections/interviews/feed/' - ), - ( - u'\u041E\u0431\u044A\u044F\u0441\u043D\u044F\u0435\u043C', - 'https://holod.media/sections/explainers/feed/' - )] diff --git a/recipes/kholod_en.recipe b/recipes/kholod_en.recipe deleted file mode 100644 index 3224a51da5..0000000000 --- a/recipes/kholod_en.recipe +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Kholod(BasicNewsRecipe): - title = u'Holod Media' - description = u'Internet media whose authors search for exciting stories all over Russia and then tell them to readers.' - __author__ = 'bugmen00t' - publisher = 'Taisiya Bekbulatova' - publication_type = 'blog' - oldest_article = 60 - max_articles_per_feed = 100 - language = 'en_RU' - cover_url = 'https://image.simplecastcdn.com/images/93a97011-6988-4787-8242-e202b2840fde/08e85f64-9901-44e1-b20c-7da01c5ce0c0/holodpodcastlogo.jpg' - auto_cleanup = False - no_stylesheets = False - - remove_tags_before = dict(name='h1') - - remove_tags_after = dict( - name='div', attrs={'class': 'article__content the-content text-column'} - ) - - remove_tags = [dict(name='div', attrs={'class': 'inlinemore'})] - - feeds = [(u'Holod Media', 'https://holod.media/en/feed/'), - (u'Opinion', 'https://holod.media/en/sections/opinion/feed/'), - (u'Q&A', 'https://holod.media/en/sections/qa/feed/'), - (u'Magazine', 'https://holod.media/en/sections/magazine/feed/')] diff --git a/recipes/kidney.recipe b/recipes/kidney.recipe deleted file mode 100644 index 4048dcbc1c..0000000000 --- a/recipes/kidney.recipe +++ /dev/null @@ -1,115 +0,0 @@ -# -*- coding: utf-8 -*- - -import time - -from calibre.ebooks.BeautifulSoup import BeautifulSoup -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class JASN(BasicNewsRecipe): - title = u'Journal of the American Society of Nephrology' - language = 'en' - __author__ = 'Krittika Goyal' - oldest_article = 31 # days - max_articles_per_feed = 25 - delay = 5 - needs_subscription = True - - INDEX = 'http://jasn.asnjournals.org/current.shtml' - no_stylesheets = True - remove_tags_before = dict(name='h2') - remove_tags = [ - dict(name='iframe'), - dict(name='td', attrs={'id': ['jasnFooter']}), - dict(name='table', attrs={'id': "jasnNavBar"}), - dict(name='table', attrs={'class': 'content_box_outer_table'}), - dict(name='th', attrs={'align': 'left'}) - ] - - # TO LOGIN - def get_browser(self): - br = BasicNewsRecipe.get_browser(self) - self.kidney_toc_soup = BeautifulSoup(br.open(self.INDEX).read()) - toc = self.kidney_toc_soup.find(id='tocTable') - t = toc.find(text=lambda x: x and '[Full Text]' in x) - a = t.findParent('a', href=True) - url = a.get('href') - if url.startswith('/'): - url = 'http://jasn.asnjournals.org' + url - br.open(url) - br.select_form(name='UserSignIn') - br['username'] = self.username - br['code'] = self.password - response = br.submit() - raw = response.read() - if b'Sign Out' not in raw: - raise ValueError('Failed to log in, is your account expired?') - return br - - # TO GET ARTICLE TOC - def jasn_get_index(self): - return self.index_to_soup('http://jasn.asnjournals.org/current.shtml') - - # To parse article toc - def parse_index(self): - parse_soup = self.jasn_get_index() - - div = parse_soup.find(id='tocBody') - - current_section = None - current_articles = [] - feeds = [] - for x in div.findAll(True): - if x.name == 'h2': - # Section heading found - if current_articles and current_section: - feeds.append((current_section, current_articles)) - current_section = self.tag_to_string(x) - current_articles = [] - self.log('\tFound section:', current_section) - if current_section is not None and x.name == 'strong': - title = self.tag_to_string(x) - a = x.parent.parent.find( - 'a', href=lambda x: x and '/full/' in x) - if a is None: - continue - url = a.get('href', False) - if not url or not title: - continue - if url.startswith('/'): - url = 'http://jasn.asnjournals.org' + url - self.log('\t\tFound article:', title) - self.log('\t\t\t', url) - current_articles.append({'title': title, 'url': url, - 'description': '', 'date': ''}) - - if current_articles and current_section: - feeds.append((current_section, current_articles)) - - return feeds - - def preprocess_html(self, soup): - for a in soup.findAll(text=lambda x: x and '[in this window]' in x): - a = a.findParent('a') - url = a.get('href', None) - if not url: - continue - if url.startswith('/'): - url = 'http://jasn.asnjournals.org' + url - img = isoup = None - try: - isoup = self.index_to_soup(url) - except: - time.sleep(5) - try: - isoup = self.index_to_soup(url) - except: - continue - img = isoup.find( - 'img', src=lambda x: x and x.startswith('/content/')) - - if img is not None: - img.extract() - table = a.findParent('table') - table.replaceWith(img) - return soup diff --git a/recipes/kitsapun.recipe b/recipes/kitsapun.recipe deleted file mode 100644 index 55b9e5c4cd..0000000000 --- a/recipes/kitsapun.recipe +++ /dev/null @@ -1,31 +0,0 @@ - -__license__ = 'GPL v3' -__copyright__ = '2010, Darko Miletic ' -''' -www.kitsapun.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Kitsapsun(BasicNewsRecipe): - title = 'Kitsap Sun' - __author__ = 'Darko Miletic' - description = 'News from Kitsap County' - publisher = 'Scripps Interactive Newspapers Group' - category = 'news, Kitsap county, USA' - language = 'en' - oldest_article = 7 - max_articles_per_feed = 50 - no_stylesheets = True - encoding = 'cp1252' - use_embedded_content = False - auto_cleanup = True - - feeds = [(u'News', u'http://www.kitsapsun.com/feeds/rss/news'), - (u'Sports', u'http://www.kitsapsun.com/feeds/rss/sports'), - (u'Entertainment', - u'http://www.kitsapsun.com/feeds/rss/entertainment'), - (u'Lifestyles', u'http://www.kitsapsun.com/feeds/rss/lifestyle'), - (u'Opinion', u'http://www.kitsapsun.com/feeds/rss/opinion'), - ] diff --git a/recipes/klubknjige.recipe b/recipes/klubknjige.recipe deleted file mode 100644 index c653036ac1..0000000000 --- a/recipes/klubknjige.recipe +++ /dev/null @@ -1,41 +0,0 @@ - -__license__ = 'GPL v3' -__copyright__ = '2012, Darko Miletic ' -''' -klub-knjige.blogspot.com -''' - -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class KlubKnjige(BasicNewsRecipe): - title = 'Klub knjige' - __author__ = 'Darko Miletic' - description = 'literarni blog' - oldest_article = 30 - max_articles_per_feed = 100 - language = 'sr' - encoding = 'utf-8' - no_stylesheets = True - use_embedded_content = True - publication_type = 'blog' - extra_css = """ - @font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)} - body{font-family: Arial,Tahoma,Helvetica,FreeSans,sans1,sans-serif} - img{margin-bottom: 0.8em; border: 1px solid #333333; padding: 4px } - """ - - conversion_options = { - 'comment': description, 'tags': 'knjige, blog, srbija, sf', 'publisher': 'Klub Knjige', 'language': language - } - - preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] - - feeds = [(u'Posts', u'http://klub-knjige.blogspot.com/feeds/posts/default')] - - def preprocess_html(self, soup): - for item in soup.findAll(style=True): - del item['style'] - return self.adeify_images(soup) diff --git a/recipes/km_blog.recipe b/recipes/km_blog.recipe deleted file mode 100644 index 545d27d6a2..0000000000 --- a/recipes/km_blog.recipe +++ /dev/null @@ -1,29 +0,0 @@ - -__license__ = 'GPL v3' -__author__ = 'teepel , Artur Stachecki ' - -''' -korwin-mikke.pl/blog -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class km_blog(BasicNewsRecipe): - title = u'Korwin-Mikke Blog' - __author__ = 'teepel ' - language = 'pl' - description = 'Wiadomości z bloga korwin-mikke.pl/blog' - INDEX = 'https://korwin-mikke.pl/blog' - remove_empty_feeds = True - oldest_article = 7 - max_articles_per_feed = 100 - remove_javascript = True - no_stylesheets = True - remove_empty_feeds = True - - feeds = [(u'blog', u'https://korwin-mikke.pl/blog/rss')] - - keep_only_tags = [dict(name='div', attrs={'class': ['header-standard header-classic single-header', 'post-image', 'post-entry blockquote-style-1']})] - - remove_tags = [dict(name='div', attrs={'class': 'penci-hide-tagupdated'})] diff --git a/recipes/knack_be.recipe b/recipes/knack_be.recipe deleted file mode 100644 index 167d1ed75a..0000000000 --- a/recipes/knack_be.recipe +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env python - -from calibre.web.feeds.news import BasicNewsRecipe - - -class KnackBE(BasicNewsRecipe): - title = u'Knack.be' - __author__ = u'erkfuizfeuadjfjzefzfuzeff' - description = u'News from Belgium in Dutch' - oldest_article = 7 - language = 'nl_BE' - - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - - keep_only_tags = [ - dict(name='title'), dict(name='h1', attrs={'itemprop': 'name'}), - dict(name='figure', attrs={'class': 'image'}), - dict(name='p', attrs={'class': 'lead'}), - dict(name='div', attrs={'class': 'article-body span8'}) - ] - - remove_tags = [ - dict(name='div', attrs={'class': 'Paywall'}), - dict(name='div', attrs={'class': 'teaser header-opinion'}) - ] - - feeds = [(u'Nieuws', u'http://www.knack.be/nieuws/feed.rss'), - (u'België', u'http://www.knack.be/nieuws/belgie/feed.rss'), - (u'Wetenschap', u'http://www.knack.be/nieuws/wetenschap/feed.rss'), - (u'Planet Earth', u'http://www.knack.be/nieuws/planet-earth/feed.rss'), - (u'Mensen', u'http://www.knack.be/nieuws/mensen/feed.rss'), - (u'Boeken', u'http://www.knack.be/nieuws/boeken/feed.rss'), - (u'Opinie', u'http://www.knack.be/nieuws/opinie/feed.rss'), - (u'Wereld', u'http://www.knack.be/nieuws/wereld/feed.rss'), - (u'Gezondheid', u'http://www.knack.be/nieuws/gezondheid/feed.rss'), - (u'Auto', u'http://www.knack.be/nieuws/auto/feed.rss'), - (u'Ondertussen', u'http://www.knack.be/nieuws/ondertussen/feed.rss')] diff --git a/recipes/koegelokalavisen_dk.recipe b/recipes/koegelokalavisen_dk.recipe deleted file mode 100644 index a43f4c78e7..0000000000 --- a/recipes/koegelokalavisen_dk.recipe +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -# https://manual.calibre-ebook.com/news_recipe.html -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - -''' -Lørdagsavisen -''' - - -class KoegeLokalavisen_dk(BasicNewsRecipe): - __author__ = 'CoderAllan.github.com' - title = 'Lørdagsavisen' - description = 'Lokale, regionale nyheder, bolig, motor og job i Køge, Greve, Ringsted og Stevns på koege.lokalavisen.dk' - category = 'newspaper, news, localnews, sport, culture, Denmark' - oldest_article = 7 - max_articles_per_feed = 50 - auto_cleanup = True - language = 'da' - - feeds = [ - ('Seneste nyt fra Lørdagsavisen', 'http://koege.lokalavisen.dk/section/senestenytrss'), - ('Seneste lokale nyheder fra Lørdagsavisen', 'http://koege.lokalavisen.dk/section/senestelokalenyhederrss'), - ('Seneste sport fra Lørdagsavisen', 'http://koege.lokalavisen.dk/section/senestesportrss'), - ('Seneste 112 nyheder fra Lørdagsavisen', 'http://koege.lokalavisen.dk/section/seneste112rss'), - ('Seneste kultur nyheder fra Lørdagsavisen', 'http://koege.lokalavisen.dk/section/senestekulturrss'), - ('Seneste læserbreve fra Lørdagsavisen', 'http://koege.lokalavisen.dk/section/senestelaeserbreverss'), - - ] - diff --git a/recipes/koldinglokalavisen_dk.recipe b/recipes/koldinglokalavisen_dk.recipe deleted file mode 100644 index e57397e607..0000000000 --- a/recipes/koldinglokalavisen_dk.recipe +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -# https://manual.calibre-ebook.com/news_recipe.html -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - -''' -Lokalavisen Kolding -''' - - -class KoldingLokalavisen_dk(BasicNewsRecipe): - __author__ = 'CoderAllan.github.com' - title = 'Lokalavisen Kolding' - description = 'Lokale og regionale nyheder, sport, kultur fra Kolding og omegn på kolding.lokalavisen.dk' - category = 'newspaper, news, localnews, sport, culture, Denmark' - oldest_article = 7 - max_articles_per_feed = 50 - auto_cleanup = True - language = 'da' - - feeds = [ - ('Seneste nyt fra Lokalavisen Kolding', 'http://kolding.lokalavisen.dk/section/senestenytrss'), - ('Seneste lokale nyheder fra Lokalavisen Kolding', 'http://kolding.lokalavisen.dk/section/senestelokalenyhederrss'), - ('Seneste sport fra Lokalavisen Kolding', 'http://kolding.lokalavisen.dk/section/senestesportrss'), - ('Seneste 112 nyheder fra Lokalavisen Kolding', 'http://kolding.lokalavisen.dk/section/seneste112rss'), - ('Seneste kultur nyheder fra Lokalavisen Kolding', 'http://kolding.lokalavisen.dk/section/senestekulturrss'), - ('Seneste læserbreve fra Lokalavisen Kolding', 'http://kolding.lokalavisen.dk/section/senestelaeserbreverss'), - - ] - diff --git a/recipes/komchadluek.recipe b/recipes/komchadluek.recipe deleted file mode 100644 index e05afe4eae..0000000000 --- a/recipes/komchadluek.recipe +++ /dev/null @@ -1,66 +0,0 @@ -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class KomChadLuek(BasicNewsRecipe): - - title = 'KomChadLuek' - description = 'Komchadluek News' - __author__ = 'ballsaii and Chotechai' - __license__ = 'GPL v3' - publisher = 'Nation Media Group' - category = 'news, Thai' - language = 'th' - - oldest_article = 1 - max_articles_per_feed = 100 - no_stylesheets = True - remove_javascript = True - - cover_url = 'http://www.komchadluek.net/images_layout2/komchadluek_headerlogo.png' - - keep_only_tags = [] - keep_only_tags.append(dict(name='h2')) - keep_only_tags.append(dict(name='div', attrs={'id': 'news_detail_news'})) - - remove_tags_after = [dict(name='hr')] - - feeds = ( - (u'\u0e01\u0e32\u0e23\u0e40\u0e21\u0e37\u0e2d\u0e07', - 'http://www.komchadluek.net/rss/politic.xml'), - (u'\u0e15\u0e48\u0e32\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28', - 'http://www.komchadluek.net/rss/sport.xml'), - (u'\u0e40\u0e01\u0e29\u0e15\u0e23', - 'http://www.komchadluek.net/rss/agriculture.xml'), - (u'\u0e15\u0e48\u0e32\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28', - 'http://www.komchadluek.net/rss/foreign.xml'), - (u'\u0e1a\u0e31\u0e19\u0e40\u0e17\u0e34\u0e07', - 'http://www.komchadluek.net/rss/entertainment.xml'), - (u'\u0e1c\u0e39\u0e49\u0e2b\u0e0d\u0e34\u0e07-\u0e41\u0e1f\u0e0a\u0e31\u0e48\u0e19', - 'http://www.komchadluek.net/rss/fashion.xml'), - (u'\u0e1e\u0e23\u0e30\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07', - 'http://www.komchadluek.net/rss/amulet.xml'), - (u'\u0e20\u0e39\u0e21\u0e34\u0e20\u0e32\u0e04-\u0e1b\u0e23\u0e30\u0e0a\u0e32\u0e04\u0e21\u0e17\u0e49\u0e2d\u0e07\u0e16\u0e34\u0e48\u0e19', - 'http://www.komchadluek.net/rss/local.xml'), - (u'\u0e25\u0e38\u0e07\u0e41\u0e08\u0e48\u0e21', - 'http://www.komchadluek.net/rss/unclecham.xml'), - (u'\u0e44\u0e25\u0e1f\u0e4c\u0e2a\u0e44\u0e15\u0e25\u0e4c', - 'http://www.komchadluek.net/rss/lifestyle.xml'), - (u'\u0e40\u0e28\u0e23\u0e29\u0e10\u0e01\u0e34\u0e08-\u0e01\u0e32\u0e23\u0e15\u0e25\u0e32\u0e14', - 'http://www.komchadluek.net/rss/economic.xml'), - (u'\u0e2d\u0e32\u0e2b\u0e32\u0e23', - 'http://www.komchadluek.net/rss/food.xml'), - (u'\u0e04\u0e19\u0e23\u0e31\u0e01\u0e1a\u0e49\u0e32\u0e19-\u0e22\u0e32\u0e19\u0e22\u0e19\u0e15\u0e4c', - 'http://www.komchadluek.net/rss/homecar.xml'), - (u'\u0e14\u0e39\u0e14\u0e27\u0e07-\u0e42\u0e2b\u0e23\u0e32\u0e28\u0e32\u0e2a\u0e15\u0e23\u0e4c', - 'http://www.komchadluek.net/rss/horoscope.xml'), - (u'\u0e27\u0e34\u0e17\u0e22\u0e4c\u0e28\u0e32\u0e2a\u0e15\u0e23\u0e4c-\u0e44\u0e2d\u0e17\u0e35', - 'http://www.komchadluek.net/rss/scienceit.xml'), - (u'\u0e28\u0e32\u0e2a\u0e19\u0e32 \u0e28\u0e34\u0e25\u0e1b\u0e30-\u0e27\u0e31\u0e12\u0e19\u0e18\u0e23\u0e23\u0e21 \u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e2a\u0e38\u0e02', # noqa - 'http://www.komchadluek.net/rss/artculture.xml'), - (u'\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32', - 'http://www.komchadluek.net/rss/education.xml'), - (u'\u0e1a\u0e17\u0e04\u0e27\u0e32\u0e21', - 'http://www.komchadluek.net/rss/article.xml'), - (u'\u0e2d\u0e32\u0e0a\u0e0d\u0e32\u0e01\u0e23\u0e23\u0e21', - 'http://www.komchadluek.net/rss/crime.xml') - ) diff --git a/recipes/kompas.recipe b/recipes/kompas.recipe deleted file mode 100644 index ad9ab3d539..0000000000 --- a/recipes/kompas.recipe +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__copyright__ = '2011, Adrian Gunawan ' -__author__ = 'Adrian Gunawan' -__version__ = 'v1.0' -__date__ = '02 February 2011' - -''' -http://www.kompas.com/ -''' - -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Kompas(BasicNewsRecipe): - title = u'Kompas' - masthead_url = 'http://stat.k.kidsklik.com/data/2k10/kompascom2011/images/logo_kompas.png' - cover_url = 'http://stat.k.kidsklik.com/data/2k10/kompascom2011/images/logo_kompas.png' - - __author__ = u'Adrian Gunawan' - description = u'Indonesian News from Kompas Online Edition' - category = 'local news, international, business, Indonesia' - language = 'id' - oldest_article = 5 - max_articles_per_feed = 100 - - no_stylesheets = True - use_embedded_content = False - no_javascript = True - remove_empty_feeds = True - - timefmt = ' [%A, %d %B, %Y]' - encoding = 'utf-8' - - keep_only_tags = [dict(name='div', attrs={'class': 'content_kiri_detail'})] - - extra_css = ''' - h1{font-family:Georgia,"Times New Roman",Times,serif; font-weight:bold; font-size:large;} - .cT-storyDetails{font-family:Arial,Helvetica,sans-serif; color:#666666;font-size:x-small;} - .articleBody{font-family:Arial,Helvetica,sans-serif; color:black;font-size:small;} - .cT-imageLandscape{font-family:Arial,Helvetica,sans-serif; color:#333333 ;font-size:x-small;} - .source{font-family:Arial,Helvetica,sans-serif; color:#333333 ;font-size:xx-small;} - #content{font-family:Arial,Helvetica,sans-serif;font-size:x-small;} - .pageprint{font-family:Arial,Helvetica,sans-serif;font-size:small;} - #bylineDetails{font-family:Arial,Helvetica,sans-serif; color:#666666;font-size:x-small;} - .featurePic-wide{font-family:Arial,Helvetica,sans-serif;font-size:x-small;} - #idfeaturepic{font-family:Arial,Helvetica,sans-serif;font-size:x-small;} - h3{font-family:Georgia,"Times New Roman",Times,serif; font-size:small;} - h2{font-family:Georgia,"Times New Roman",Times,serif; font-size:small;} - h4{font-family:Georgia,"Times New Roman",Times,serif; font-size:small;} - h5{font-family:Georgia,"Times New Roman",Times,serif; font-size:small;} - body{font-family:Arial,Helvetica,sans-serif; font-size:x-small;} - ''' - - remove_tags = [ - dict(name='div', attrs={'class': [ - 'c_biru_kompas2011', 'c_abu01_kompas2011', 'c_abu_01_kompas2011', 'right', 'clearit']}), - dict(name='div', attrs={ - 'id': ['comment_list', 'comment_paging', 'share']}), - dict(name='form'), - dict(name='ul'), - ] - - preprocess_regexps = [ - (re.compile(r'.*', - re.DOTALL | re.IGNORECASE), lambda match: ''), - (re.compile(r'Sent Using.*', - re.DOTALL | re.IGNORECASE), lambda match: ''), - (re.compile(r'Kirim Komentar Anda', - re.DOTALL | re.IGNORECASE), lambda match: ''), - (re.compile(r']*>Kembali ke Index Topik Pilihan', - re.DOTALL | re.IGNORECASE), lambda match: ''), - ] - - feeds = [ - (u'Nasional', u'http://www.kompas.com/getrss/nasional'), - (u'Regional', u'http://www.kompas.com/getrss/regional'), - (u'Internasional', u'http://www.kompas.com/getrss/internasional'), - (u'Megapolitan', u'http://www.kompas.com/getrss/megapolitan'), - (u'Bisnis Keuangan', - u'http://www.kompas.com/getrss/bisniskeuangan'), - (u'Kesehatan', u'http://www.kompas.com/getrss/kesehatan'), - (u'Olahraga', u'http://www.kompas.com/getrss/olahraga'), - ] diff --git a/recipes/kotaku.recipe b/recipes/kotaku.recipe deleted file mode 100644 index 917572ff8d..0000000000 --- a/recipes/kotaku.recipe +++ /dev/null @@ -1,39 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, NA' -''' -kotaku.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Kotaku(BasicNewsRecipe): - title = 'Kotaku' - __author__ = 'NA' - description = "Kotaku, the Gamer's Guide." - publisher = 'kotaku.com' - category = 'news, games, Internet, xbox 360, playstation 3, tips and tricks' - oldest_article = 2 - max_articles_per_feed = 100 - no_stylesheets = True - encoding = 'utf-8' - use_embedded_content = True - language = 'en' - masthead_url = 'http://cache.gawkerassets.com/assets/kotaku.com/img/logo.png' - extra_css = ''' - body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} - img{margin-bottom: 1em} - h1{font-family :Arial,Helvetica,sans-serif; font-size:large} - ''' - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - feeds = [(u'Articles', u'http://feeds.gawker.com/kotaku/vip?format=xml')] - - remove_tags = [ - {'class': 'feedflare'}, - ] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/kp.recipe b/recipes/kp.recipe deleted file mode 100644 index 00f878a8f3..0000000000 --- a/recipes/kp.recipe +++ /dev/null @@ -1,29 +0,0 @@ - -from calibre.web.feeds.news import BasicNewsRecipe - - -class KrytykaPolitycznaRecipe(BasicNewsRecipe): - __author__ = u'Artur Stachecki ' - language = 'pl' - version = 1 - - title = u'Krytyka Polityczna' - category = u'News' - description = u' Lewicowe pismo zaangażowane w bieg spraw publicznych w Polsce.' - cover_url = '' - masthead_url = 'https://krytykapolityczna.pl/file/2015/09/krytyka-logo.png' - remove_empty_feeds = True - no_stylesheets = True - oldest_article = 7 - max_articles_per_feed = 50 - recursions = 0 - - simultaneous_downloads = 3 - - keep_only_tags = [(dict(name='h1')), - (dict(name='div', attrs={'class': ['entry-meta','post-preview','entry-details', 'entry-content']}))] - - remove_tags = [(dict(attrs={'class': ['_ning_zone_inner','book-item site-commerc','wp-embedded-content', - 'read-also','meta-date-modified updated', 'textwidget']}))] - - feeds = [('Wszystkie', 'https://www.krytykapolityczna.pl/rss')] diff --git a/recipes/kristeligt_dagblad_dk.recipe b/recipes/kristeligt_dagblad_dk.recipe deleted file mode 100644 index 95b14d39c4..0000000000 --- a/recipes/kristeligt_dagblad_dk.recipe +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - - -class KristeligtDagblad(BasicNewsRecipe): - title = 'Kristeligt Dagblad' - language = 'da' - oldest_article = 7 - max_articles_per_feed = 50 - auto_cleanup = True - - # All feeds are found here: http://www.kristeligt-dagblad.dk/rss - feeds = [ - ('Leder', 'http://www.kristeligt-dagblad.dk/rss/leder'), - ('Danmark', 'http://www.kristeligt-dagblad.dk/rss/danmark'), - ('Udland', 'http://www.kristeligt-dagblad.dk/rss/udland'), - ('Liv & Sjæl', 'http://www.kristeligt-dagblad.dk/rss/liv'), - ('Familieliv', 'http://www.kristeligt-dagblad.dk/rss/familieliv'), - ('Kronik', 'http://www.kristeligt-dagblad.dk/rss/kronik'), - ('Kirke & Tro', 'http://www.kristeligt-dagblad.dk/rss/kirke'), - ('Debat', 'http://www.kristeligt-dagblad.dk/rss/debat'), - ('Kultur', 'http://www.kristeligt-dagblad.dk/rss/kultur'), - ('B\xf8ger', 'http://www.kristeligt-dagblad.dk/rss/boganmeldelse'), - ('Film', 'http://www.kristeligt-dagblad.dk/rss/filmanmeldelse'), - ] diff --git a/recipes/krstarica_en.recipe b/recipes/krstarica_en.recipe deleted file mode 100644 index 6454c4790a..0000000000 --- a/recipes/krstarica_en.recipe +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -vesti.krstarica.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Krstarica_en(BasicNewsRecipe): - title = 'Krstarica - news in english' - __author__ = 'Darko Miletic' - description = 'News from Serbia and world' - publisher = 'Krstarica' - category = 'news, politics, Serbia' - oldest_article = 1 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - remove_javascript = True - encoding = 'utf-8' - language = 'en' - - html2lrf_options = [ - '--comment', description, '--category', category, '--publisher', publisher - ] - - html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + \ - category + \ - '"\noverride_css=" p {text-indent: 0em; margin-top: 0em; margin-bottom: 0.5em}"' - - feeds = [ - - (u'Daily news', u'http://vesti.krstarica.com/index.php?rss=1&rubrika=aktuelno&lang=1'), - (u'Serbia', u'http://vesti.krstarica.com/index.php?rss=1&rubrika=scg&lang=1'), - (u'Politics', u'http://vesti.krstarica.com/index.php?rss=1&rubrika=politika&lang=1'), - (u'Economy', u'http://vesti.krstarica.com/index.php?rss=1&rubrika=ekonomija&lang=1'), - (u'Culture', u'http://vesti.krstarica.com/index.php?rss=1&rubrika=kultura&lang=1'), - (u'Sports', u'http://vesti.krstarica.com/index.php?rss=1&rubrika=sport&lang=1') - ] - - def preprocess_html(self, soup): - mtag = '' - soup.head.insert(0, mtag) - titletag = soup.find('h4') - if titletag: - realtag = titletag.parent.parent - realtag.extract() - for item in soup.findAll(['table', 'center']): - item.extract() - soup.body.insert(1, realtag) - realtag.name = 'div' - for item in soup.findAll(style=True): - del item['style'] - for item in soup.findAll(align=True): - del item['align'] - return soup diff --git a/recipes/ksiazka_pl.recipe b/recipes/ksiazka_pl.recipe deleted file mode 100644 index b383805052..0000000000 --- a/recipes/ksiazka_pl.recipe +++ /dev/null @@ -1,33 +0,0 @@ -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Ksiazka_net_pl(BasicNewsRecipe): - title = u'książka.net.pl' - __author__ = 'fenuks' - description = u'Portal Księgarski - tematyczny serwis o książkach. Wydarzenia z rynku księgarsko-wydawniczego, nowości, zapowiedzi, bestsellery, setki recenzji. Niezbędne informacje dla każdego miłośnika książek, księgarza, bibliotekarza i wydawcy.' # noqa - cover_url = 'http://www.ksiazka.net.pl/fileadmin/templates/ksiazka.net.pl/images/1PortalKsiegarski-logo.jpg' - category = 'books' - language = 'pl' - oldest_article = 8 - max_articles_per_feed = 100 - no_stylesheets = True - remove_empty_feeds = True - preprocess_regexps = [ - (re.compile(u'Podoba mi się, kupuję:'), lambda match: '
')] - remove_tags_before = dict(name='div', attrs={'class': 'm-body'}) - remove_tags_after = dict(name='div', attrs={'class': 'm-body-link'}) - remove_tags = [ - dict(attrs={'class': ['mk_library-icon', 'm-body-link', 'tagi']})] - feeds = [(u'Wiadomości', u'http://www.ksiazka.net.pl/?id=wiadomosci&type=100'), - (u'Książki', u'http://www.ksiazka.net.pl/?id=ksiazki&type=100'), - (u'Rynek', u'http://www.ksiazka.net.pl/?id=rynek&type=100')] - - def image_url_processor(self, baseurl, url): - if (('file://' in url) and ('www.ksiazka.net.pl/' not in url)): - return 'http://www.ksiazka.net.pl/' + url[8:] - elif 'http://' not in url: - return 'http://www.ksiazka.net.pl/' + url - else: - return url diff --git a/recipes/kukuburi.recipe b/recipes/kukuburi.recipe deleted file mode 100644 index 1a8df56d7e..0000000000 --- a/recipes/kukuburi.recipe +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__author__ = 'Mori' -__version__ = 'v. 0.1' -''' -Kukuburi.com -''' - -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class KukuburiRecipe(BasicNewsRecipe): - __author__ = 'Mori' - language = 'en' - - title = u'Kukuburi' - publisher = u'Ramón Pérez' - description = u'KUKUBURI by Ram\xc3\xb3n P\xc3\xa9rez' - - no_stylesheets = True - remove_javascript = True - - oldest_article = 100 - max_articles_per_feed = 100 - - feeds = [ - (u'Kukuburi', u'http://feeds2.feedburner.com/Kukuburi') - ] - - preprocess_regexps = [ - (re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in - [ - (r'', lambda match: ''), - (r'

', lambda match: '') - ] - ] diff --git a/recipes/kurier_poranny.recipe b/recipes/kurier_poranny.recipe deleted file mode 100644 index 1a33ecf713..0000000000 --- a/recipes/kurier_poranny.recipe +++ /dev/null @@ -1,58 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class KurierPoranny(BasicNewsRecipe): - title = u'Kurier Poranny' - __author__ = 'fenuks' - description = u'Kurier Poranny | poranny.pl - portal miejski Białegostoku,informacje,wydarzenia' - category = 'newspaper' - language = 'pl' - encoding = 'iso-8859-2' - extra_css = 'ul {list-style: none; padding:0; margin:0;}' - INDEX = 'http://www.poranny.pl' - masthead_url = INDEX + '/images/top_logo.png' - oldest_article = 7 - max_articles_per_feed = 100 - remove_empty_feeds = True - no_stylesheets = True - ignore_duplicate_articles = {'title', 'url'} - use_embedded_content = False - - feeds = [(u'Wszystkie', u'http://www.poranny.pl/rss.xml'), - (u'Białystok', u'http://www.poranny.pl/bialystok.xml'), - (u'Bielsk Podlaski', u'http://www.poranny.pl/bielskpodlaski.xml'), - (u'Czarna Białostocka', - u'http://www.poranny.pl/czarnabialostocka.xml'), - (u'Hajnówka', u'http://www.poranny.pl/hajnowka.xml'), - (u'Łapy', u'http://www.poranny.pl/lapy.xml'), - (u'Sokółka', u'http://www.poranny.pl/sokolka.xml'), - (u'Supraśl', u'http://www.poranny.pl/suprasl.xml'), - (u'Wasilków', u'http://www.poranny.pl/wasilkow.xml'), - (u'Sport', u'http://www.poranny.pl/sport.xml'), - (u'Praca', u'http://www.poranny.pl/praca.xml'), - (u'Kultura', u'http://www.poranny.pl/kultura.xml'), - (u'Dom', u'http://www.poranny.pl/dom.xml'), - (u'Auto', u'http://www.poranny.pl/auto.xml'), - (u'Polityka', u'http://www.poranny.pl/polityka.xml')] - - keep_only_tags = [dict(id='article')] - - def get_cover_url(self): - soup = self.index_to_soup( - self.INDEX + '/apps/pbcs.dll/section?Category=JEDYNKI') - nexturl = self.INDEX + soup.find(id='covers').find('a')['href'] - soup = self.index_to_soup(nexturl) - self.cover_url = self.INDEX + \ - soup.find(id='cover').find(name='img')['src'] - return getattr(self, 'cover_url', self.cover_url) - - def decode_feedportal_url(self, url): - link = url.rpartition('l/0L0S')[2][:-12] - replaces = (('0B', '.'), ('0C', '/'), ('0H', ','), - ('0D', '?'), ('0F', '='), ('0A', '0'), ('0I', '_')) - for t in replaces: - link = link.replace(*t) - return 'http://' + link - - def print_version(self, url): - return self.decode_feedportal_url(url) + '&Template=printpicart' diff --git a/recipes/kurier_szczecinski.recipe b/recipes/kurier_szczecinski.recipe deleted file mode 100644 index ae57a03644..0000000000 --- a/recipes/kurier_szczecinski.recipe +++ /dev/null @@ -1,51 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class KurierSzczecinski(BasicNewsRecipe): - title = u'Kurier Szczeci\u0144ski' - __author__ = 'fenuks' - description = u'24Kurier jest portalem Kuriera Szczecińskiego. Zawiera aktualności ze Szczecina oraz wiadomości regionalne z województwa zachodniopomorskiego.' # noqa - category = 'newspaper' - language = 'pl' - cover_url = 'http://www.24kurier.pl/Administracja/Img/24kurier_logo-copy-po-zapis' - use_embedded_content = False - oldest_article = 7 - max_articles_per_feed = 100 - no_stylesheets = True - remove_empty_feeds = True - remove_javascript = True - remove_attributes = ['style', 'font'] - ignore_duplicate_articles = {'title', 'url'} - - keep_only_tags = [dict(attrs={'class': 'section'})] - remove_tags = [dict(attrs={'class': ['Ikonki', 'rek', 'artComments']})] - remove_tags_after = dict(attrs={'class': 'artComments'}) - feeds = [ - (u'Aktualno\u015bci', u'http://www.24kurier.pl/cmspages/articles_rss.aspx'), - (u'Kraj', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=kraj'), - (u'\u015awiat', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=swiat'), - (u'Sport', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=sport'), - (u'Kultura', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=kultura'), - (u'Gospodarka', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=gospodarka'), - (u'Nauka', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=nauka'), - (u'Region', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=region'), - (u'Szczecin', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=szczecin'), - (u'Bia\u0142ogard', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=bialogard'), - (u'Choszczno', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=choszczno'), - (u'Drawsko', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=drawsko'), - (u'Goleni\xf3w', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=goleniow'), - (u'Gryfice', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=gryfice'), - (u'Gryfino', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=gryfino'), - (u'Kamie\u0144 Pomorski', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=kamien'), - (u'Ko\u0142obrzeg', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=kolobrzeg'), - (u'Koszalin', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=koszalin'), - (u'\u0141obez', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=lobez'), - (u'My\u015blib\xf3rz', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=mysliborz'), - (u'Police', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=police'), - (u'Pyrzyce', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=pyrzyce'), - (u'S\u0142awno', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=slawno'), - (u'Stargard', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=stargard'), - (u'Szczecinek', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=szczecinek'), - (u'\u015awidwin', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=swidwin'), - (u'\u015awinouj\u015bcie', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=swinoujscie'), - (u'Wa\u0142cz', u'http://www.24kurier.pl/cmspages/articles_rss.aspx?dzial=walcz')] diff --git a/recipes/kyivpost_ar.recipe b/recipes/kyivpost_ar.recipe deleted file mode 100644 index 39e0fc949f..0000000000 --- a/recipes/kyivpost_ar.recipe +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 - -from calibre.web.feeds.news import BasicNewsRecipe - - -class KyivPost(BasicNewsRecipe): - title = '\u0643\u064A\u064A\u0641 \u0628\u0648\u0633\u062A (Kyiv Post)' - __author__ = 'bugmen00t' - description = '\u0643\u064A\u064A\u0641 \u0628\u0648\u0633\u062A \u0647\u064A \u0635\u062D\u064A\u0641\u0629 \u0623\u0648\u0643\u0631\u0627\u0646\u064A\u0629 \u062A\u0635\u062F\u0631 \u0628\u0627\u0644\u0644\u063A\u0629 \u0627\u0644\u0625\u0646\u062C\u0644\u064A\u0632\u064A\u0629 \u0648\u0647\u064A \u0641\u0627\u0626\u0632\u0629 \u0628\u0645\u064A\u062F\u0627\u0644\u064A\u0629 Missouri Honor 2014 \u0644\u0644\u062E\u062F\u0645\u0629 \u0627\u0644\u0645\u062A\u0645\u064A\u0632\u0629 \u0641\u064A \u0627\u0644\u0635\u062D\u0627\u0641\u0629. \u0635\u062F\u0631\u062A \u0627\u0644\u0646\u0633\u062E\u0629 \u0627\u0644\u0645\u0637\u0628\u0648\u0639\u0629 \u0627\u0644\u0623\u0648\u0644\u0649 \u0645\u0646 \u0627\u0644\u0635\u062D\u064A\u0641\u0629 \u0641\u064A 18 \u0623\u0643\u062A\u0648\u0628\u0631 1995\u060C \u0648\u062A\u0645 \u0646\u0634\u0631\u0647\u0627 \u0639\u0644\u0649 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A \u0641\u064A \u0639\u0627\u0645 1997. \u0648\u0643\u0627\u0646 \u062C\u0645\u0647\u0648\u0631\u0647\u0627 \u0627\u0644\u0639\u0627\u0644\u0645\u064A \u064A\u0646\u0645\u0648 \u0628\u0627\u0637\u0631\u0627\u062F \u0645\u0646\u0630 \u0630\u0644\u0643 \u0627\u0644\u062D\u064A\u0646 \u060C \u0648\u0628\u0644\u063A \u0630\u0631\u0648\u062A\u0647 \u0628\u0623\u0643\u062B\u0631 \u0645\u0646 65 \u0645\u0644\u064A\u0648\u0646 \u0645\u0634\u0627\u0647\u062F\u0629 \u0644\u0644\u0635\u0641\u062D\u0629 \u0641\u064A \u0639\u0627\u0645 2014. \u0634\u0639\u0627\u0631 \u0627\u0644\u0635\u062D\u064A\u0641\u0629 \u0647\u0648 \u201C\u0635\u0648\u062A \u0623\u0648\u0643\u0631\u0627\u0646\u064A\u0627 \u0644\u0644\u0639\u0627\u0644\u0645\u201D\u060C \u0648\u0627\u0644\u0630\u064A \u062D\u0644 \u0641\u064A \u0639\u0627\u0645 2018 \u0645\u062D\u0644 \u0627\u0644\u0634\u0639\u0627\u0631 \u0627\u0644\u0633\u0627\u0628\u0642 \u201C\u0627\u0644\u0627\u0633\u062A\u0642\u0644\u0627\u0644. \u062A\u0648\u0627\u0635\u0644 \u0627\u062C\u062A\u0645\u0627\u0639\u064A. \u0627\u0644\u062B\u0642\u0629\u201D. \u0643\u0644\u0627 \u0627\u0644\u0634\u0639\u0627\u0631\u064A\u0646 \u064A\u0639\u0643\u0633\u0627\u0646 \u0627\u0644\u062A\u0632\u0627\u0645 \u0627\u0644\u0635\u062D\u064A\u0641\u0629 \u0628\u0623\u0639\u0644\u0649 \u0627\u0644\u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u0635\u062D\u0641\u064A\u0629 \u0648\u0627\u0644\u0623\u062E\u0644\u0627\u0642\u064A\u0629.' # noqa - publisher = 'BIZNESGRUPP TOV' - category = 'newspaper' - cover_url = u'https://www.kyivpost.com/wp-content/themes/kyivpost/assets/img/svg/logo-foot.svg' - language = 'ar_uk' - no_stylesheets = False - remove_javascript = True - auto_cleanup = False - oldest_article = 7 - max_articles_per_feed = 20 - - remove_tags_before = dict(attrs={'class': 'single-article'}) - - remove_tags_after = dict(attrs={'class': 'post-author-block'}) - - remove_tags = [ - dict(attrs={'class': 'post-label-and-topic'}), - dict(attrs={'class': 'sidebar-start'}), - dict(attrs={'class': 'correction'}), - dict(attrs={'id': 'correction'}), - dict(attrs={'class': 'ad_between_paragraphs'}), - dict(attrs={'id': 'insert-post-by-topic'}) - ] - - feeds = [( - '\u0627\u0644\u0625\u062E\u0628\u0627\u0631\u064A\u0629', - 'https://www.kyivpost.com/ar/feed' - )] diff --git a/recipes/l_espresso.recipe b/recipes/l_espresso.recipe deleted file mode 100644 index 1888b9b963..0000000000 --- a/recipes/l_espresso.recipe +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__author__ = 'Lorenzo Vigentini, Gabriele Marini' -__copyright__ = '2009, Lorenzo Vigentini ' -__version__ = 'v1.02' -__date__ = '10, January 2010' -__description__ = 'Italian weekly magazine' - -'''espresso.repubblica.it''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Espresso(BasicNewsRecipe): - __author__ = 'Lorenzo Vigentini, Gabriele Marini, Krittika Goyal' - description = 'Italian weekly magazine' - - cover_url = 'http://espresso.repubblica.it/images/logo_espresso.gif' - title = 'L\'Espresso ' - publisher = 'Gruppo editoriale L\'Espresso' - category = 'News, politics, culture, economy, general interest' - - language = 'it' -# encoding = 'cp1252' - timefmt = '[%a, %d %b, %Y]' - - oldest_article = 16 - max_articles_per_feed = 100 - use_embedded_content = False - - no_stylesheets = True - auto_cleanup = True - - feeds = [ - (u'Homepage', u'http://kpm.data.kataweb.it/kpm3eolx/rss/home'), - (u'Local', u'http://kpm.data.kataweb.it/kpm3eolx/rss/local'), - (u'Style & Design', - u'http://kpm.data.kataweb.it/kpm3eolx/rss/style_design'), - (u'Opinioni', u'http://kpm.data.kataweb.it/kpm3eolx/rss/opinioni'), - (u'Rubriche', u'http://kpm.data.kataweb.it/kpm3eolx/rss/rubriche'), - (u'Limes', u'http://temi.repubblica.it/limes/feed/'), - (u'Chiesa: HomePage', - u'http://data.kataweb.it/rss/chiesa/homepage/it'), - (u'Chiesa: Speciali e Focus', - u'http://data.kataweb.it/rss/chiesa/speciali_e_focus/it') - ] diff --git a/recipes/l_vivs_ghazieta.recipe b/recipes/l_vivs_ghazieta.recipe deleted file mode 100644 index 2d22d9f3df..0000000000 --- a/recipes/l_vivs_ghazieta.recipe +++ /dev/null @@ -1,40 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1356270446(BasicNewsRecipe): - title = u'\u041b\u044c\u0432\u0456\u0432\u0441\u044c\u043a\u0430 \u0433\u0430\u0437\u0435\u0442\u0430' - oldest_article = 7 - __author__ = 'rpalyvoda' - max_articles_per_feed = 100 - language = 'uk' - cover_url = 'http://lvivska.com/sites/all/themes/biblos/images/logo.png' - masthead_url = 'http://lvivska.com/sites/all/themes/biblos/images/logo.png' - auto_cleanup = True - feeds = [ - (u'\u041d\u043e\u0432\u0438\u043d\u0438', - u'http://lvivska.com/rss/news.xml'), - (u'\u041f\u043e\u043b\u0456\u0442\u0438\u043a\u0430', - u'http://lvivska.com/rss/politic.xml'), - (u'\u0415\u043a\u043e\u043d\u043e\u043c\u0456\u043a\u0430', - u'http://lvivska.com/rss/economic.xml'), - (u'\u041f\u0440\u0430\u0432\u043e', u'http://lvivska.com/rss/law.xml'), - (u'\u0421\u0432\u0456\u0442', u'http://lvivska.com/rss/world.xml'), - (u'\u0416\u0438\u0442\u0442\u044f', - u'http://lvivska.com/rss/life.xml'), - (u'\u041a\u0443\u043b\u044c\u0442\u0443\u0440\u0430', - u'http://lvivska.com/rss/culture.xml'), - - (u'\u041b\u0430\u0441\u0443\u043d', - u'http://lvivska.com/rss/cooking.xml'), - (u'\u0421\u0442\u0438\u043b\u044c', - u'http://lvivska.com/rss/style.xml'), - (u'Galicia Incognita', u'http://lvivska.com/rss/galiciaincognita.xml'), - (u'\u0421\u043f\u043e\u0440\u0442', - u'http://lvivska.com/rss/sport.xml'), - (u'\u0415\u043a\u043e\u043b\u043e\u0433\u0456\u044f', - u'http://lvivska.com/rss/ecology.xml'), - (u"\u0417\u0434\u043e\u0440\u043e\u0432'\u044f", - u'http://lvivska.com/rss/health.xml'), - (u'\u0410\u0432\u0442\u043e', u'http://lvivska.com/rss/auto.xml'), - (u'\u0411\u043b\u043e\u0433\u0438', u'http://lvivska.com/rss/blog.xml') - ] diff --git a/recipes/la_cuarta.recipe b/recipes/la_cuarta.recipe deleted file mode 100644 index 63cb46583e..0000000000 --- a/recipes/la_cuarta.recipe +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -lacuarta.cl -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LaCuarta(BasicNewsRecipe): - title = 'La Cuarta' - __author__ = 'Darko Miletic' - description = 'La Cuarta Cibernetica: El Diario popular' - publisher = 'CODISA, Consorcio Digital S.A.' - category = 'news, politics, entertainment, Chile' - oldest_article = 2 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'cp1252' - remove_javascript = True - - html2lrf_options = [ - '--comment', description, '--category', category, '--publisher', publisher - ] - - html2epub_options = 'publisher="' + publisher + \ - '"\ncomments="' + description + '"\ntags="' + category + '"' - - keep_only_tags = [dict(name='div', attrs={'class': 'articulo desplegado'})] - - remove_tags = [ - dict(name='ul'), dict(name='div', attrs={'id': ['toolbox', 'articleImageDisplayer', 'enviarAmigo']}), dict(name='div', attrs={'class': [ - 'par ad-1', 'par ad-2']}), dict(name='input'), dict(name='p', attrs={'id': ['mensajeError', 'mensajeEnviandoNoticia', 'mensajeExito']}), dict(name='strong', text='PUBLICIDAD') # noqa - ] - - def preprocess_html(self, soup): - mtag = '' - soup.head.insert(0, mtag) - for item in soup.findAll(style=True): - del item['style'] - return soup - - feeds = [(u'Noticias', u'http://lacuarta.cl/app/rss?sc=TEFDVUFSVEE=')] - - language = 'es_CL' diff --git a/recipes/la_gazetta_del_mezzogiorno.recipe b/recipes/la_gazetta_del_mezzogiorno.recipe deleted file mode 100644 index e559c58199..0000000000 --- a/recipes/la_gazetta_del_mezzogiorno.recipe +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__copyright__ = '2012, faber1971' -__version__ = 'v1.01' -__date__ = '29, May 2012' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1324038402(BasicNewsRecipe): - title = u'La Gazzetta del Mezzogiorno' - language = 'it' - __author__ = 'faber1971' - description = 'Italian regional magazine - Apulia' - oldest_article = 1 - max_articles_per_feed = 100 - auto_cleanup = False - masthead_url = 'http://www.lagazzettadelmezzogiorno.it/images/GdM_Nuova_Testata_Interna.gif' - feeds = [ - (u'Home page', u'http://www.lagazzettadelmezzogiorno.it/rss.php?IDCategoria=1')] - remove_tags = [ - dict(name='table', attrs={'width': '100%'}), - dict(name='div', attrs={'style': [ - 'text-align:center; padding:5px; background-color:#B51C1F;', 'float:right; margin:0px 0px 4px 7px; border-left:2px dotted #B0CBE6; width:200px;']}), - dict(name='td', attrs={'colspan': '5'}), dict(name='td', attrs={'width': '300'}) - ] - - def get_article_url(self, article): - link = BasicNewsRecipe.get_article_url(self, article) - if link.split('/')[-1] == "story01.htm": - link = link.split('/')[-2] - a = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'I', 'L', 'N', 'S'] - b = ['0', '.', '/', '?', '-', '=', '&', - '_', 'http://', '.com', 'www.'] - for i in range(0, len(a)): - link = link.replace('0' + a[-i], b[-i]) - return link - - remove_javascript = True - conversion_options = {'linearize_tables': True} - extra_css = ''' - .font7 {color: #555555; font-family: "Verdana"; font-size: 23px; font-weight: 700; height: auto; text-align: left; text-decoration: none; } - .font16 { color: #000000; font-family: "Arial"; font-size: 14px; font-weight: 400; text-align: left; } - ''' diff --git a/recipes/la_gazzeta_dello_sport.recipe b/recipes/la_gazzeta_dello_sport.recipe deleted file mode 100644 index 3d8f47fafb..0000000000 --- a/recipes/la_gazzeta_dello_sport.recipe +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env python -from __future__ import print_function - -__license__ = 'GPL v3' -__author__ = 'Lorenzo Vigentini' -__copyright__ = '2009, Lorenzo Vigentini ' -__version__ = 'v1.02' -__date__ = '10, January 2010' -__description__ = 'Sport news from the most read sport newspaper in Italy' - -'''www.gazzetta.it''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class laGazzetta(BasicNewsRecipe): - __author__ = 'Lorenzo Vigentini' - description = 'Sport news from the most read sport newspaper in Italy' - - cover_url = 'http://www.gazzetta.it/primapagina/images/prima_pagina_grande.png' - title = 'La Gazzetta dello Sport ' - publisher = 'RCS Digital' - category = 'Sport News' - - language = 'it' - encoding = 'cp1252' - timefmt = '[%a, %d %b, %Y]' - - oldest_article = 2 - max_articles_per_feed = 20 - use_embedded_content = False - recursion = 10 - - remove_javascript = True - no_stylesheets = True - - keep_only_tags = [dict(name='div', attrs={'id': 'articolo'})] - - remove_tags = [ - dict(name='ul', attrs={'id': ['service-toolbar', 'sections-menu']}), - dict(name='div', attrs={'id': [ - 'header', 'rightcol', 'sponsored', 'vxFlashPlayer', 'footer', 'print-box']}), - dict(name='iframe', attrs={'id': 'mirago-feed'}), - dict(name='a', attrs={'id': 'commenta-up'}), - dict(name='cite', attrs={'class': ['signature', 'parag-title']}), - dict(name='a', attrs={'class': ['last-comment', 'button-bold2']}), - dict(name=['base', 'object', 'link', 'a', 'script', 'noscript']) - ] - - extra_css = ''' - h1 {font: sans-serif large;} - h2 {font: sans-serif medium;} - h3 {font: sans-serif small;} - h4 {font: sans-serif bold small;} - p {font:10pt helvetica} - dd {font:8pt helvetica} - ''' - - feeds = [ - (u'Calcio', u'http://www.gazzetta.it/rss/Calcio.xml'), - (u'Formula 1', u'http://www.gazzetta.it/rss/Formula1.xml'), - (u'Motomodiale', u'http://www.gazzetta.it/rss/Motomondiale.xml'), - (u'Motori', u'http://www.gazzetta.it/rss/Motori.xml'), - (u'Ciclismo', u'http://www.gazzetta.it/rss/Ciclismo.xml'), - (u'Basket', u'http://www.gazzetta.it/rss/Basket.xml'), - (u'Tennis', u'http://www.gazzetta.it/rss/Tennis.xml'), - (u'Pallavolo', u'http://www.gazzetta.it/rss/Pallavolo.xml'), - (u'Vela', u'http://www.gazzetta.it/rss/Vela.xml'), - (u'Atletica', u'http://www.gazzetta.it/rss/Atletica.xml'), - (u'Altri Sport', u'http://www.gazzetta.it/rss/Sport_Vari.xml') - ] - - def print_version(self, url): - segments = url.split('/') - basename = '/'.join(segments[:3]) + '/' - subPath = '/'.join(segments[3:7]) + '/' - articleURL = (segments[len(segments) - 1])[:-6] - myArticleSegs = articleURL.split('.') - myArticle = myArticleSegs[0] - printVerString = myArticle + '_print.html' - myURL = basename + subPath + printVerString - print('this is the url: ' + myURL) - return basename + subPath + printVerString diff --git a/recipes/la_pausa_caffe.recipe b/recipes/la_pausa_caffe.recipe deleted file mode 100644 index f7ccaf707c..0000000000 --- a/recipes/la_pausa_caffe.recipe +++ /dev/null @@ -1,17 +0,0 @@ -__version__ = 'v1.0' -__date__ = '13, February 2011' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1329125921(BasicNewsRecipe): - title = u'La pausa caff\xe8' - __author__ = 'faber1971' - description = 'An Italian satirical blog' - language = 'it' - - oldest_article = 7 - max_articles_per_feed = 100 - auto_cleanup = True - no_stylesheets = True - feeds = [(u'La pausa caff\xe8', u'http://feeds.feedburner.com/LapausaCaffe')] diff --git a/recipes/la_razon_bo.recipe b/recipes/la_razon_bo.recipe deleted file mode 100644 index bd0e5b4686..0000000000 --- a/recipes/la_razon_bo.recipe +++ /dev/null @@ -1,68 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010-2011, Darko Miletic ' -''' -www.la-razon.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LaRazon_Bol(BasicNewsRecipe): - title = u'La Razón - Bolivia' - __author__ = 'Darko Miletic' - description = 'El diario nacional de Bolivia' - publisher = 'Praxsis S.R.L.' - category = 'news, politics, Bolivia' - oldest_article = 1 - max_articles_per_feed = 200 - no_stylesheets = True - encoding = 'utf8' - use_embedded_content = False - language = 'es_BO' - publication_type = 'newspaper' - remove_empty_feeds = True - masthead_url = 'http://www.la-razon.com/static/LRZRazon/images/lrz-logo.png' - extra_css = """ body{font-family: Georgia,"Times New Roman",Times,serif} - img{margin-bottom: 0.4em; display: block} - .meta{font-size: small; font-family: Arial,Helvetica,sans-serif} - """ - INDEX = 'http://www.la-razon.com/' - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - keep_only_tags = [dict(name='div', attrs={'class': ['pg-hd', 'pg-bd']})] - remove_tags = [ - dict(name=['meta', 'link', 'form', 'iframe', 'embed', 'object']), dict( - name='div', attrs={'class': 'bd'}) - ] - remove_attributes = ['width', 'height'] - - feeds = [ - - (u'Editorial', u'http://www.la-razon.com/rss/opinion/editorial/'), - (u'Nacional', u'http://www.la-razon.com/rss/nacional/'), - (u'Economia', u'http://www.la-razon.com/rss/economia/'), - (u'Ciudades', u'http://www.la-razon.com/rss/ciudades/'), - (u'Sociedad', u'http://www.la-razon.com/rss/sociedad/'), - (u'Mundo', u'http://www.la-razon.com/rss/mundo/'), - (u'La Revista', u'http://www.la-razon.com/rss/la_revista/'), - (u'Sociales', u'http://www.la-razon.com/rss/sociales/'), - (u'Mia', u'http://www.la-razon.com/rss/suplementos/mia/'), - (u'Marcas', u'http://www.la-razon.com/rss/marcas/'), - (u'Escape', u'http://www.la-razon.com/rss/suplementos/escape/'), - (u'El Financiero', u'http://www.la-razon.com/rss/suplementos/financiero/'), - (u'Tendencias', u'http://www.la-razon.com/rss/suplementos/tendencias/') - ] - - def preprocess_html(self, soup): - for item in soup.findAll(style=True): - del item['style'] - return soup - - def get_cover_url(self): - soup = self.index_to_soup(self.INDEX) - lightbox = soup.find( - 'div', attrs={'class': 'lightbox lightbox-frontpage'}) - return lightbox.img['src'] diff --git a/recipes/la_rioja.recipe b/recipes/la_rioja.recipe deleted file mode 100644 index 2be158053d..0000000000 --- a/recipes/la_rioja.recipe +++ /dev/null @@ -1,51 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, Darko Miletic ' -''' -www.larioja.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LaRioja(BasicNewsRecipe): - title = 'La Rioja' - __author__ = 'Arturo Martinez Nieves' - description = 'Noticias de La Rioja y el resto del mundo' - publisher = 'La Rioja' - category = 'news, politics, Spain' - oldest_article = 2 - max_articles_per_feed = 200 - no_stylesheets = True - encoding = 'cp1252' - use_embedded_content = False - language = 'es' - remove_empty_feeds = True - masthead_url = 'http://www.larioja.com/includes/manuales/larioja/include-lariojapapeldigital-zonac-fondocabecera01.jpg' - extra_css = ' body{font-family: Arial,Helvetica,sans-serif } img{margin-bottom: 0.4em} .photo-caption{font-size: x-small} ' - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - keep_only_tags = [ - dict(attrs={'id': 'title'}), dict(attrs={'class': [ - 'overhead', 'headline', 'subhead', 'date', 'text', 'noticia_cont', 'desarrollo']}) - ] - remove_tags = [dict(name='ul')] - remove_attributes = ['width', 'height'] - - feeds = [ - - (u'Ultimas Noticias', u'http://www.larioja.com/rss/feeds/ultima.xml'), - (u'Portada', u'http://www.larioja.com/rss/feeds/portada.xml'), - (u'Mundo', u'http://www.larioja.com/rss/feeds/mundo.xml'), - (u'Espana', u'http://www.larioja.com/rss/feeds/espana.xml'), - (u'Region', u'http://www.larioja.com/rss/feeds/region.xml'), - (u'Comarcas', u'http://www.larioja.com/rss/feeds/comarcas.xml'), - (u'Deportes', u'http://www.larioja.com/rss/feeds/deportes.xml'), - (u'Economia', u'http://www.larioja.com/rss/feeds/economia.xml'), - (u'Cultura', u'http://www.larioja.com/rss/feeds/cultura.xml'), - (u'Opinion', u'http://www.larioja.com/rss/feeds/opinion.xml'), - (u'Sociedad', u'http://www.larioja.com/rss/feeds/sociedad.xml') - - ] diff --git a/recipes/la_segunda.recipe b/recipes/la_segunda.recipe deleted file mode 100644 index f201850913..0000000000 --- a/recipes/la_segunda.recipe +++ /dev/null @@ -1,50 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2009-2010, Darko Miletic ' -''' -lasegunda.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LaSegunda(BasicNewsRecipe): - title = 'La Segunda' - __author__ = 'Darko Miletic' - description = 'El sitio de noticias online de Chile' - publisher = 'La Segunda' - category = 'news, politics, Chile' - oldest_article = 2 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'cp1252' - masthead_url = 'http://www.lasegunda.com/imagenes/logotipo_lasegunda_Oli.gif' - remove_empty_feeds = True - language = 'es_CL' - extra_css = ' .titulonegritastop{font-size: xx-large; font-weight: bold} ' - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language, 'linearize_tables': True - } - - remove_tags_before = dict(attrs={'class': 'titulonegritastop'}) - remove_tags = [dict(name='img')] - remove_attributes = ['width', 'height'] - - feeds = [ - - (u'Noticias de ultima hora', u'http://www.lasegunda.com/rss20/index.asp?canal=0'), - (u'Politica', u'http://www.lasegunda.com/rss20/index.asp?canal=21'), - (u'Cronica', u'http://www.lasegunda.com/rss20/index.asp?canal=20'), - (u'Internacional', u'http://www.lasegunda.com/rss20/index.asp?canal=23'), - (u'Deportes', u'http://www.lasegunda.com/rss20/index.asp?canal=24'), - (u'Epectaculos/Cultura', u'http://www.lasegunda.com/rss20/index.asp?canal=25'), - (u'Educacion', u'http://www.lasegunda.com/rss20/index.asp?canal=26'), - (u'Ciencia y Tecnologia', u'http://www.lasegunda.com/rss20/index.asp?canal=27'), - (u'Solidaridad', u'http://www.lasegunda.com/rss20/index.asp?canal=28'), - (u'Buena Vida', u'http://www.lasegunda.com/rss20/index.asp?canal=32') - ] - - def print_version(self, url): - rest, sep, article_id = url.partition('index.asp?idnoticia=') - return u'http://www.lasegunda.com/edicionOnline/include/secciones/_detalle_impresion.asp?idnoticia=' + article_id diff --git a/recipes/la_tercera.recipe b/recipes/la_tercera.recipe deleted file mode 100644 index 04caf952d7..0000000000 --- a/recipes/la_tercera.recipe +++ /dev/null @@ -1,59 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2009-2010, Darko Miletic ' -''' -latercera.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LaTercera(BasicNewsRecipe): - news = True - title = 'La Tercera' - __author__ = 'Darko Miletic and Alex Mitrani' - description = 'El sitio de noticias online de Chile' - publisher = 'La Tercera' - category = 'news, politics, Chile' - oldest_article = 2 - max_articles_per_feed = 100 - no_stylesheets = True - encoding = 'cp1252' - use_embedded_content = False - remove_empty_feeds = True - language = 'es_CL' - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language, 'linearize_tables': True - } - - keep_only_tags = [ - dict(name='h1', attrs={'class': ['titularArticulo']}), dict(name='h4', attrs={'class': ['bajadaArt']}), dict( - name='h5', attrs={'class': ['autorArt']}), dict(name='div', attrs={'class': ['articleContent']}) - ] - - remove_tags = [ - dict(name='div', attrs={'class': ['boxCompartir', 'keywords']}) - ] - - remove_tags_after = [ - dict(name='div', attrs={'class': ['keywords']}) - ] - - feeds = [ - (u'La Tercera', u'http://www.latercera.com/app/rss?sc=TEFURVJDRVJB&ul=1'), - (u'Politica', u'http://www.latercera.com/app/rss?sc=TEFURVJDRVJB&category=674'), - (u'Nacional', u'http://www.latercera.com/app/rss?sc=TEFURVJDRVJB&category=680'), - (u'Mundo', u'http://www.latercera.com/app/rss?sc=TEFURVJDRVJB&category=678'), - (u'Negocios', u'http://www.latercera.com/app/rss?sc=TEFURVJDRVJB&category=655'), - (u'Santiago', u'http://www.latercera.com/feed/manager?type=rss&sc=TEFURVJDRVJB&citId=9&categoryId=1731'), - (u'Tendencias', u'http://www.latercera.com/app/rss?sc=TEFURVJDRVJB&category=659'), - (u'Educacion', u'http://www.latercera.com/app/rss?sc=TEFURVJDRVJB&category=657'), - (u'Cultura', u'http://www.latercera.com/feed/manager?type=rss&sc=TEFURVJDRVJB&citId=9&categoryId=1453'), - (u'Entretención', u'http://www.latercera.com/app/rss?sc=TEFURVJDRVJB&category=661'), - (u'Deportes', u'http://www.latercera.com/app/rss?sc=TEFURVJDRVJB&category=656') - ] - - def preprocess_html(self, soup): - for item in soup.findAll(style=True): - del item['style'] - return soup diff --git a/recipes/la_tribuna.recipe b/recipes/la_tribuna.recipe deleted file mode 100644 index 8e5d5ea54b..0000000000 --- a/recipes/la_tribuna.recipe +++ /dev/null @@ -1,73 +0,0 @@ -# -*- coding: utf-8 -*- -__license__ = 'GPL v3' -__author__ = 'Luis Hernandez' -__copyright__ = 'Luis Hernandez' -__version__ = 'v1.0' -__date__ = '01 Feb 2011' - -''' -http://www.promecal.es/ -''' -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1294946868(BasicNewsRecipe): - - title = u'La Tribuna de' - publisher = u'Grupo PROMECAL' - - __author__ = 'Luis Hernández' - description = 'Varios diarios locales del grupo PROMECAL' - - oldest_article = 3 - max_articles_per_feed = 50 - - remove_javascript = True - no_stylesheets = True - use_embedded_content = False - - encoding = 'utf-8' - language = 'es' - timefmt = '[%a, %d %b, %Y]' - - keep_only_tags = [ - dict(name='div', attrs={'id': ['articulo']}), dict(name='div', attrs={ - 'class': ['foto']}), dict(name='p', attrs={'id': ['texto']}) - ] - - remove_tags_before = dict(name='div', attrs={'class': ['comparte']}) - remove_tags_after = dict(name='div', attrs={'id': ['relacionadas']}) - - remove_tags = [ - dict(name='div', attrs={'id': ['relacionadas']}), dict( - name='h3'), dict(name='h5') - ] - - extra_css = """ - p{text-align: justify; font-size: 100%} - body{text-align: left; font-family: serif; font-size: 100%} - h1{font-family: sans; font-size:150%; font-weight: bold; text-align: justify;} - h2{font-family: sans-serif; font-size:85%; font-style: italic; text-align: justify;} - h4{font-family: sans; font-size:75%; font-weight: bold; text-align: center;} - img{margin-bottom: 0.4em} - """ - - def preprocess_html(self, soup): - for alink in soup.findAll('a'): - if alink.string is not None: - tstr = alink.string - alink.replaceWith(tstr) - return soup - - feeds = [ - - (u'Albacete', u'http://www.latribunadealbacete.es/rss.html'), - (u'Avila', u'http://www.diariodeavila.es/rss.html'), - (u'Burgos', u'http://www.diariodeburgos.es/rss.html'), - (u'Ciudad Real', u'http://www.latribunadeciudadreal.es/rss.html'), - (u'Palencia', u'http://www.diariopalentino.es/rss.html'), - (u'Puertollano', u'http://www.latribunadepuertollano.es/rss.html'), - (u'Talavera de la Reina', u'http://www.latribunadetalavera.es/rss.html'), - (u'Toledo', u'http://www.latribunadetoledo.es/rss.html'), - (u'Valladolid', u'http://www.eldiadevalladolid.com/rss.html') - ] diff --git a/recipes/lameuse_be.recipe b/recipes/lameuse_be.recipe deleted file mode 100644 index 08bb05f42c..0000000000 --- a/recipes/lameuse_be.recipe +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2008-2011, Lionel Bergeret ' -''' -lameuse.be -''' - -from calibre import strftime -from calibre.web.feeds.news import BasicNewsRecipe - - -class LaMeuse(BasicNewsRecipe): - title = u'La Meuse' - __author__ = u'Lionel Bergeret' - description = u'News from Belgium in French' - publisher = u'lameuse.be' - category = 'news, Belgium' - oldest_article = 3 - language = 'fr' - masthead_url = 'http://www.lameuse.be/images/SPV3/logo_header_LM.gif' - - max_articles_per_feed = 20 - no_stylesheets = True - use_embedded_content = False - timefmt = ' [%d %b %Y]' - - keep_only_tags = [ - dict(name='div', attrs={'id': 'article'}) - ] - - remove_tags = [ - dict(name='div', attrs={'class': 'sb-group'}), dict(name='div', attrs={'id': 'share'}), dict(name='div', attrs={'id': 'commentaires'}), dict(name='ul', attrs={'class': 'right liensutiles'}), dict(name='ul', attrs={'class': 'bas liensutiles'}), dict(name='p', attrs={'class': 'ariane'}), dict(name='div', attrs={'class': 'inner-bloc'}), dict(name='div', attrs={'class': 'block-01'}) # noqa - ] - - feeds = [ - - (u'Actualite', u'http://www.lameuse.be/services/fils_rss/actualite/index.xml'), - (u'Belgique', u'http://www.lameuse.be/services/fils_rss/actualite/belgique/index.xml'), - (u'Monde', u'http://www.lameuse.be/services/fils_rss/actualite/monde/index.xml'), - (u'Societe', u'http://www.lameuse.be/services/fils_rss/actualite/societe/index.xml'), - (u'Faits Divers', u'http://www.lameuse.be/services/fils_rss/actualite/faits_divers/index.xml'), - (u'Economie', u'http://www.lameuse.be/services/fils_rss/actualite/economie/index.xml'), - (u'Science', u'http://www.lameuse.be/services/fils_rss/actualite/science/index.xml'), - (u'Sante', u'http://www.lameuse.be/services/fils_rss/actualite/sante/index.xml'), - (u'Insolite', u'http://www.lameuse.be/services/fils_rss/magazine/insolite/index.xml'), - (u'Cinema', u'http://www.lameuse.be/services/fils_rss/culture/cinema/index.xml'), - (u'Musique', u'http://www.lameuse.be/services/fils_rss/culture/musique/index.xml'), - (u'Livres', u'http://www.lameuse.be/services/fils_rss/culture/livres/index.xml') - ] - - def get_cover_url(self): - cover_url = strftime( - 'http://pdf.lameuse.be/pdf/lameuse_%Y-%m-%d_LIEG_ACTUALITE_1.PDF') - return cover_url diff --git a/recipes/lanacion_chile.recipe b/recipes/lanacion_chile.recipe deleted file mode 100644 index aa68660c41..0000000000 --- a/recipes/lanacion_chile.recipe +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -lanacion.cl -''' -try: - from urllib.parse import quote -except ImportError: - from urllib import quote - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LaNacionChile(BasicNewsRecipe): - title = 'La Nacion Chile' - __author__ = 'Darko Miletic' - description = 'El sitio de noticias online de Chile' - publisher = 'La Nacion' - category = 'news, politics, Chile' - oldest_article = 2 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'cp1252' - cover_url = 'http://www.lanacion.cl/prontus_noticias_v2/imag/site/logo.gif' - remove_javascript = True - - html2lrf_options = [ - '--comment', description, '--category', category, '--publisher', publisher - ] - - html2epub_options = 'publisher="' + publisher + \ - '"\ncomments="' + description + '"\ntags="' + category + '"' - - keep_only_tags = [dict(name='div', attrs={'class': 'bloque'})] - - feeds = [(u'Noticias', u'http://www.lanacion.cl/rss.xml')] - - def print_version(self, url): - toprint = quote(url, ':/') - return u'http://www.lanacion.cl/cgi-bx/imprimir.cgi?_URL=' + toprint - - def preprocess_html(self, soup): - del soup.body['onload'] - soup.head.base.extract() - item = soup.find('a', attrs={'href': 'javascript:window.close()'}) - if item: - item.extract() - mtag = '' - soup.head.insert(0, mtag) - for item in soup.findAll(style=True): - del item['style'] - return soup - - language = 'es_CL' diff --git a/recipes/laprensa_hn.recipe b/recipes/laprensa_hn.recipe deleted file mode 100644 index b3f44b908a..0000000000 --- a/recipes/laprensa_hn.recipe +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -www.laprensahn.com -''' - -from calibre.ebooks.BeautifulSoup import Tag -from calibre.web.feeds.news import BasicNewsRecipe - - -def new_tag(soup, name, attrs=()): - impl = getattr(soup, 'new_tag', None) - if impl is not None: - return impl(name, attrs=dict(attrs)) - return Tag(soup, name, attrs=attrs or None) - - -class LaPrensaHn(BasicNewsRecipe): - title = 'La Prensa - Honduras' - __author__ = 'Darko Miletic' - description = 'Noticias de Honduras y mundo' - publisher = 'La Prensa' - category = 'news, politics, Honduras' - oldest_article = 2 - max_articles_per_feed = 100 - use_embedded_content = False - no_stylesheets = True - remove_javascript = True - encoding = 'utf-8' - language = 'es_HN' - - lang = 'es-HN' - direction = 'ltr' - - html2lrf_options = [ - '--comment', description, '--category', category, '--publisher', publisher - ] - - html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + \ - '"\npretty_print=True\noverride_css=" p {text-indent: 0cm; margin-top: 0em; margin-bottom: 0.5em} "' - - remove_tags = [dict(name=['form', 'object', 'embed'])] - - keep_only_tags = [ - dict(name='h1', attrs={'class': 'titulo1'}), dict( - name='div', attrs={'class': ['sumario11', 'hora', 'texto']}) - ] - - feeds = [(u'Noticias', u'http://feeds.feedburner.com/laprensa_titulares')] - - def preprocess_html(self, soup): - soup.html['lang'] = self.lang - soup.html['dir'] = self.direction - mlang = new_tag(soup, 'meta', [ - ("http-equiv", "Content-Language"), ("content", self.lang)]) - mcharset = new_tag(soup, 'meta', [ - ("http-equiv", "Content-Type"), ("content", "text/html; charset=utf-8")]) - soup.head.insert(0, mlang) - soup.head.insert(1, mcharset) - for item in soup.findAll(style=True): - del item['style'] - return soup diff --git a/recipes/laprensa_ni.recipe b/recipes/laprensa_ni.recipe deleted file mode 100644 index 53c2b8ac50..0000000000 --- a/recipes/laprensa_ni.recipe +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -laprensa.com.ni -''' - -import datetime -import time - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LaPrensa_ni(BasicNewsRecipe): - title = 'La Prensa - Nicaragua' - __author__ = 'Darko Miletic' - description = 'LA PRENSA - EL Diario de los Nicaraguenses' - publisher = 'La Prensa' - oldest_article = 1 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'cp1252' - remove_javascript = True - language = 'es_NI' - - months_es = ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'] - current_month = months_es[datetime.date.today().month - 1] - current_index = time.strftime( - "http://www.laprensa.com.ni/archivo/%Y/" + current_month + "/%d/noticias/") - - feeds = [(u'Portada', current_index + 'portada/')] - - def print_version(self, url): - return url.replace('.shtml', '_print.shtml') - - def preprocess_html(self, soup): - del soup.body['onload'] - mtag = '' - soup.head.insert(0, mtag) - atag = soup.find('span', attrs={'class': 'mas_noticias'}) - if atag: - atag.extract() - btag = soup.find('a', attrs={'href': '/archivo'}) - if btag: - btag.extract() - for item in soup.findAll(style=True): - del item['style'] - return soup - - def parse_index(self): - totalfeeds = [] - lfeeds = self.get_feeds() - for feedobj in lfeeds: - feedtitle, feedurl = feedobj - self.report_progress(0, _('Fetching feed') + ' %s...' % - (feedtitle if feedtitle else feedurl)) - articles = [] - soup = self.index_to_soup(feedurl) - for item in soup.findAll('a', attrs={'class': ['titular', 'titulonotamed']}): - description = '' - url = feedurl + item['href'] - title = self.tag_to_string(item) - date = time.strftime(self.timefmt) - articles.append({ - 'title': title, 'date': date, 'url': url, 'description': description - }) - totalfeeds.append((feedtitle, articles)) - return totalfeeds diff --git a/recipes/latribuna.recipe b/recipes/latribuna.recipe deleted file mode 100644 index 4fd1fb0c02..0000000000 --- a/recipes/latribuna.recipe +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -www.latribuna.hn -''' - -from calibre.ebooks.BeautifulSoup import Tag -from calibre.web.feeds.news import BasicNewsRecipe - - -def new_tag(soup, name, attrs=()): - impl = getattr(soup, 'new_tag', None) - if impl is not None: - return impl(name, attrs=dict(attrs)) - return Tag(soup, name, attrs=attrs or None) - - -class LaTribuna(BasicNewsRecipe): - title = 'La Tribuna - Honduras' - __author__ = 'Darko Miletic' - description = 'Noticias de Honduras y mundo' - publisher = 'La Tribuna' - category = 'news, politics, Honduras' - oldest_article = 2 - max_articles_per_feed = 100 - use_embedded_content = False - no_stylesheets = True - remove_javascript = True - encoding = 'utf-8' - language = 'es_HN' - - lang = 'es_HN' - direction = 'ltr' - - html2lrf_options = [ - '--comment', description, '--category', category, '--publisher', publisher - ] - - html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + \ - '"\npretty_print=True\noverride_css=" p {text-indent: 0cm; margin-top: 0em; margin-bottom: 0.5em} "' - - remove_tags = [dict(name=['form', 'object', 'embed'])] - - keep_only_tags = [ - dict(name='p', attrs={'id': ['BlogTitle', 'BlogDate']}), dict( - name='div', attrs={'id': 'BlogContent'}) - ] - - feeds = [(u'Noticias', u'http://www.latribuna.hn/web2.0/?feed=rss')] - - def print_version(self, url): - return url + '&print=1' - - def preprocess_html(self, soup): - soup.html['lang'] = self.lang - soup.html['dir'] = self.direction - mlang = new_tag(soup, 'meta', [ - ("http-equiv", "Content-Language"), ("content", self.lang)]) - mcharset = new_tag(soup, 'meta', [ - ("http-equiv", "Content-Type"), ("content", "text/html; charset=utf-8")]) - soup.head.insert(0, mlang) - soup.head.insert(1, mcharset) - for item in soup.findAll(style=True): - del item['style'] - return soup - - def get_cover_url(self): - cover_url = None - soup = self.index_to_soup('http://www.latribuna.hn/web2.0/') - cover_item = soup.find('div', attrs={'class': 'portada_impresa'}) - if cover_item: - cover_url = cover_item.a.img['src'] - return cover_url diff --git a/recipes/lavanguardia.recipe b/recipes/lavanguardia.recipe deleted file mode 100644 index c156064b07..0000000000 --- a/recipes/lavanguardia.recipe +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -www.lavanguardia.es -''' - -from calibre.ebooks.BeautifulSoup import Tag -from calibre.web.feeds.news import BasicNewsRecipe - - -def new_tag(soup, name, attrs=()): - impl = getattr(soup, 'new_tag', None) - if impl is not None: - return impl(name, attrs=dict(attrs)) - return Tag(soup, name, attrs=attrs or None) - - -class LaVanguardia(BasicNewsRecipe): - title = 'La Vanguardia Digital' - __author__ = 'Darko Miletic' - description = u'Noticias desde España' - publisher = 'La Vanguardia' - category = 'news, politics, Spain' - oldest_article = 2 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - delay = 5 - language = 'es' - - direction = 'ltr' - - html2lrf_options = [ - '--comment', description, '--category', category, '--publisher', publisher - ] - - html2epub_options = 'publisher="' + publisher + \ - '"\ncomments="' + description + '"\ntags="' + category + '"' - - feeds = [ - - (u'Portada', u'http://feeds.feedburner.com/lavanguardia/home'), - (u'Cultura', u'http://feeds.feedburner.com/lavanguardia/cultura'), - (u'Deportes', u'http://feeds.feedburner.com/lavanguardia/deportes'), - (u'Economia', u'http://feeds.feedburner.com/lavanguardia/economia'), - (u'El lector opina', u'http://feeds.feedburner.com/lavanguardia/lectoropina'), - (u'Gente y TV', u'http://feeds.feedburner.com/lavanguardia/gente'), - (u'Internacional', u'http://feeds.feedburner.com/lavanguardia/internacional'), - (u'Internet y tecnologia', u'http://feeds.feedburner.com/lavanguardia/internet'), - (u'Motor', u'http://feeds.feedburner.com/lavanguardia/motor'), - (u'Politica', u'http://feeds.feedburner.com/lavanguardia/politica'), - (u'Sucesos', u'http://feeds.feedburner.com/lavanguardia/sucesos') - ] - - keep_only_tags = [ - dict(name='div', attrs={'class': 'detalle noticia'}) - ] - - remove_tags = [ - dict(name=['object', 'link', 'script']), dict( - name='div', attrs={'class': ['colC', 'peu', 'jstoolbar']}) - ] - - remove_tags_after = [dict(name='div', attrs={'class': 'text'})] - - def preprocess_html(self, soup): - soup.html['dir'] = self.direction - mcharset = new_tag(soup, 'meta', [ - ("http-equiv", "Content-Type"), ("content", "text/html; charset=utf-8")]) - soup.head.insert(0, mcharset) - for item in soup.findAll(style=True): - del item['style'] - return soup diff --git a/recipes/lavanguardia_corresponsales_es.recipe b/recipes/lavanguardia_corresponsales_es.recipe deleted file mode 100644 index b576890f85..0000000000 --- a/recipes/lavanguardia_corresponsales_es.recipe +++ /dev/null @@ -1,59 +0,0 @@ -# vim:fileencoding=utf-8 -from __future__ import unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LaVanguardiaCorresponsalesRecipe (BasicNewsRecipe): - __author__ = 'Marc Busqué ' - __url__ = 'http://www.lamarciana.com' - __version__ = '1.0.2' - __license__ = 'GPL v3' - __copyright__ = '2012, Marc Busqué ' - title = u'La Vanguardia - Blogs de los corresponsales' - description = u'Blogs de los corresponsales de La Vanguardia en este mismo periódico' - url = 'http://www.lavanguardia.com/blogs/index.html' - language = 'es' - tags = 'información, internacional ' - oldest_article = 30 - remove_empty_feeds = True - no_stylesheets = True - - def get_extra_css(self): - if not self.extra_css: - br = self.get_browser() - self.extra_css = br.open_novisit( - 'https://raw.githubusercontent.com/laMarciana/gutenweb/master/dist/gutenweb.css').read().replace('@charset "UTF-8";', '') - return self.extra_css - - feeds = [ - (u'Marc Bassets - Diario de Washington', - u'http://blogs.lavanguardia.com/washington/feed'), - (u'Rafael Poch - Diario de Berlín', - u'http://blogs.lavanguardia.com/berlin/feed'), - (u'Eusebio Val - Diario de Roma', u'http://blogs.lavanguardia.com/roma/feed'), - (u'Robert Mur - Diario de Buenos Aires', - u'http://blogs.lavanguardia.com/buenos-aires/feed'), - (u'Isidre Ambrós - Diario de Pekín', - u'http://blogs.lavanguardia.com/pekin/feed'), - (u'Beatriz Navarro - Diario de Bruselas', - u'http://blogs.lavanguardia.com/bruselas-navarro/feed'), - (u'Lluis Uría - Diario de París', - u'http://blogs.lavanguardia.com/paris-uria/feed'), - (u'Tomás Alcoverro - Diario de Beirut', - u'http://blogs.lavanguardia.com/beirut/feed'), - (u'Enrique Cymerman - Diario de Jerusalén', - u'http://blogs.lavanguardia.com/jerusalen-cymerman/feed'), - (u'Jordi Joan Baños - Diario de India', - u'http://blogs.lavanguardia.com/india/feed'), - (u'Gonzalo Aragonés - Diario de Moscú', - u'http://blogs.lavanguardia.com/moscu/feed'), - (u'Andy Robinson - Diario itinerante', - u'http://blogs.lavanguardia.com/diario-itinerante/feed'), - (u'Rafael Ramos - Diario de Londres', - u'http://blogs.lavanguardia.com/londres/feed'), - (u'Rafael Ramos - El cocinero de Downing Street', - u'http://blogs.lavanguardia.com/el-cocinero-de-downing-street/feed'), - (u'Ricardo Ginés Echevarría - Diario de Estambul', - u'http://blogs.lavanguardia.com/estambul/feed'), - ] diff --git a/recipes/lavenir_be.recipe b/recipes/lavenir_be.recipe deleted file mode 100644 index 8d541ef888..0000000000 --- a/recipes/lavenir_be.recipe +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2008-2011, Lionel Bergeret ' -''' -lavenir.net -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LAvenir(BasicNewsRecipe): - title = u'L\'Avenir' - __author__ = u'Lionel Bergeret' - description = u'News from Belgium in French' - publisher = u'lavenir.net' - category = 'news, Belgium' - oldest_article = 3 - language = 'fr' - - max_articles_per_feed = 20 - no_stylesheets = True - use_embedded_content = False - timefmt = ' [%d %b %Y]' - - keep_only_tags = [ - dict(name='div', attrs={'class': 'photo'}), dict(name='p', attrs={ - 'class': 'intro'}), dict(name='div', attrs={'class': 'article-body'}) - ] - - feeds = [ - - (u'Belgique', u'http://www.lavenir.net/rss.aspx?foto=1&intro=1§ion=info&info=df156511-c24f-4f21-81c3-a5d439a9cf4b'), - (u'Monde', u'http://www.lavenir.net/rss.aspx?foto=1&intro=1§ion=info&info=1642237c-66b9-4e8a-a8c1-288d61fefe7e'), - (u'Societe', u'http://www.lavenir.net/rss.aspx?foto=1&intro=1§ion=info&info=12e1a2f4-7e03-4cf1-afec-016869072317') - ] - - def preprocess_html(self, soup): - for alink in soup.findAll('a'): - if alink.string is not None: - tstr = alink.string - alink.replaceWith(tstr) - return soup - - def get_cover_url(self): - cover_url = 'http://www.lavenir.net/extra/Static/journal/Pdf/1/UNE_Nationale.PDF' - return cover_url diff --git a/recipes/le_journal.recipe b/recipes/le_journal.recipe deleted file mode 100644 index 7345756088..0000000000 --- a/recipes/le_journal.recipe +++ /dev/null @@ -1,43 +0,0 @@ -__author__ = ' (lrfurtado@yahoo.com.br)' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LeJournalDeMontrealRecipe(BasicNewsRecipe): - - title = u'Le Journal de Montreal' - description = u'Le Journal de Montreal' - __author__ = 'Luciano Furtado' - language = 'fr' - - oldest_article = 7 - use_embedded_content = 0 - max_articles_per_feed = 15 - - remove_tags = [ - dict(name='ul', attrs={'id': 'mainNav'}), - dict(name='div', attrs={'id': 'boxPolitique'}), - dict(name='div', attrs={'id': 'boxScoop'}), - dict(name='div', attrs={'id': 'DossierSpec'}), - dict(name='div', attrs={'id': 'channelBoxes'}), - dict(name='div', attrs={'id': 'sectionBoxes'}), - dict(name='div', attrs={'id': 'header'}), - dict(name='div', attrs={'id': 'footer'}), - dict(name='div', attrs={'id': 'navbarCanoe_container'}), - dict(name='div', attrs={'id': 'popularCanoe'}), - dict(name='div', attrs={'id': 'textAds'}), - dict(name='div', attrs={'id': '24heures'}), - dict(name='div', attrs={'class': 'bottomBox clear'}), - dict(name='div', attrs={'class': 'articleControls thin'}), - ] - - feeds = [ - (u'Actualites', - u'http://www.canoe.com/rss/feed/nouvelles/ljm_actualites.xml'), - (u'Arts et spectacle', - u'http://www.canoe.com/rss/feed/nouvelles/ljm_arts.xml'), - (u'Sports', - u'http://www.canoe.com/rss/feed/nouvelles/ljm_sports.xml'), - (u'Chroniques', - u'http://www.canoe.com/rss/feed/nouvelles/ljm_chroniques.xml'), - ] diff --git a/recipes/le_temps.recipe b/recipes/le_temps.recipe deleted file mode 100644 index 1bdd674a28..0000000000 --- a/recipes/le_temps.recipe +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -# License: GPLv3 Copyright: 2009, Kovid Goyal - -from calibre.web.feeds.news import BasicNewsRecipe - - -def classes(classes): - q = frozenset(classes.split(' ')) - return dict( - attrs={'class': lambda x: x and frozenset(x.split()).intersection(q)} - ) - - -class LeTemps(BasicNewsRecipe): - title = u'Le Temps' - oldest_article = 7 - max_articles_per_feed = 100 - __author__ = 'Kovid Goyal' - description = 'French news. Needs a subscription from https://www.letemps.ch' - no_stylesheets = True - remove_javascript = True - encoding = 'UTF-8' - language = 'fr' - needs_subscription = True - use_embedded_content = False - remove_empty_feeds = True - - def get_browser(self): - br = BasicNewsRecipe.get_browser(self) - br.open('https://www.letemps.ch/user/login') - br.select_form(action='/user/login') - br['name'] = self.username - br['pass'] = self.password - raw = br.submit().read() - if b'href="/subscribe"' in raw: - raise ValueError( - 'Failed to login to letemps.ch. Check ' - 'your username and password' - ) - return br - - keep_only_tags = [ - classes('picture-cover article-content'), - ] - - remove_tags = [ - dict(name=['button', 'source']), - classes('share related-news'), - ] - - feeds = [ - (u'Actualité', u'https://letemps.ch/rss/site/'), - (u'Actualité - Monde', u'https://letemps.ch/rss/site/actualite/monde'), - ( - u'Actualité - Suisse & régions', - u'https://letemps.ch/rss/site/actualite/suisse_regions' - ), (u'Actualité - Sport', u'https://letemps.ch/rss/site/actualite/sports'), - ( - u'Actualité - Sciences & Environnement', - u'https://letemps.ch/rss/site/actualite/sciences_environnement' - ), - ( - u'Actualité - Multimédia', - u'https://letemps.ch/rss/site/actualite/multimedia' - ), - (u'Actualité - Société', u'https://letemps.ch/rss/site/actualite/societe'), - ( - u'Actualité - Société | Quoi de neuf', - u'https://letemps.ch/rss/site/actualite/societe/quoi_de_neuf' - ), (u'Economie & Finance', u'https://letemps.ch/rss/site/economie_finance'), - ( - u'Economie & Finance - Finance', - u'https://letemps.ch/rss/site/economie_finance/finance' - ), - ( - u'Economie & Finance - Fonds de placement', - u'https://letemps.ch/rss/site/economie_finance/fonds_placement' - ), - ( - u'Economie & Finance - Carrières', - u'https://letemps.ch/rss/site/economie_finance/carrieres' - ), (u'Culture', u'http://letemps.ch/rss/site/culture'), - (u'Culture - Cinémas', u'https://letemps.ch/rss/site/culture/cinema'), - (u'Culture - Musiques', u'https://letemps.ch/rss/site/culture/musiques'), - (u'Culture - Scènes', u'https://letemps.ch/rss/site/culture/scenes'), - ( - u'Culture - Arts plastiques', - u'https://letemps.ch/rss/site/culture/arts_plastiques' - ), (u'Culture - Livres', u'https://letemps.ch/rss/site/culture/livres'), - (u'Lifestyle - Luxe', u'https://letemps.ch/rss/site/lifestyle/luxe'), - (u'Lifestyle - Mode', u'https://letemps.ch/rss/site/lifestyle/mode'), - ( - u'Lifestyle - Horlogerie & Joaillerie', - u'https://letemps.ch/rss/site/lifestyle/horlogerie_joaillerie' - ), (u'Lifestyle - Design', u'https://letemps.ch/rss/site/lifestyle/design'), - (u'Lifestyle - Voyages', u'https://letemps.ch/rss/site/lifestyle/voyages'), - ( - u'Lifestyle - Gastronomie', - u'https://letemps.ch/rss/site/lifestyle/gastronomie' - ), - ( - u'Lifestyle - Architecture & Immobilier', - u'https://letemps.ch/rss/site/lifestyle/architecture_immobilier' - ), - ( - u'Lifestyle - Automobile', - u'https://letemps.ch/rss/site/lifestyle/automobile' - ), (u'Opinions', u'http://letemps.ch/rss/site/opinions'), - ( - u'Opinions - Editoriaux', - u'https://letemps.ch/rss/site/opinions/editoriaux' - ), (u'Opinions - Invités', u'https://letemps.ch/rss/site/opinions/invites'), - ( - u'Opinions - Chroniques', - u'https://letemps.ch/rss/site/opinions/chroniques' - ), - (u'Opinions - Chappatte', u'https://letemps.ch/rss/site/opinions/chappatte') - ] diff --git a/recipes/leduc.recipe b/recipes/leduc.recipe deleted file mode 100644 index f763d880f1..0000000000 --- a/recipes/leduc.recipe +++ /dev/null @@ -1,52 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1292550626(BasicNewsRecipe): - title = 'Leduc - Wetaskiwin Pipestone Flyer' - __author__ = 'Brian Hahn' - description = '''Provides news from central Alberta, Canada. This is a - weekly publication that provides coverage from the Cities of Leduc and - Wetaskiwin, including news from two complete counties, plus the towns and - villages within. The counties of Leduc and Wetaskiwin provide news - coverage of agriculture, sports, government, family, events and opinion. - This publication updated weekly every Thursday.''' - oldest_article = 13 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - publisher = 'Pipestone Publishing' - category = 'News, Alberta, Canada' - language = 'en_CA' - encoding = 'iso-8859-1' - cover_url = 'http://www.pipestoneflyer.ca/images/calibre-cover.jpg' - remove_tags_before = dict(id='ContentPanel') - remove_tags_after = dict(id='ContentPanel') - remove_tags = [dict(name='div', - attrs={'id': 'StoryNav'}), dict(name='div', - attrs={'id': 'BottomAds'}), dict(name='div', attrs={'id': 'MoreStoryLinks'})] - extra_css = 'img { margin:5px }' - feeds = [ - ('Feature', 'http://www.pipestoneflyer.ca/Feature.rss'), - ('Editors Desk', 'http://www.pipestoneflyer.ca/Editor%27s%20Desk.rss'), - ('Letters', 'http://www.pipestoneflyer.ca/Letters.rss'), - ('A Loco Viewpoint', - 'http://www.pipestoneflyer.ca/A%20Loco%20Viewpoint.rss'), - ('Lifes Doorway', 'http://www.pipestoneflyer.ca/Life%27s%20Doorway.rss'), - ('From the Otherside', - 'http://www.pipestoneflyer.ca/From%20the%20Otherside.rss'), - ('Opinion', 'http://www.pipestoneflyer.ca/Opinion.rss'), - ('Community', 'http://www.pipestoneflyer.ca/Community.rss'), - ('Sports', 'http://www.pipestoneflyer.ca/Sports.rss'), - ('Chambers', 'http://www.pipestoneflyer.ca/Chambers.rss'), - ('Government', 'http://www.pipestoneflyer.ca/Government.rss'), - ('Travel ', 'http://www.pipestoneflyer.ca/Travel%20.rss'), - ('Environment', 'http://www.pipestoneflyer.ca/Environment.rss'), - ('Health', 'http://www.pipestoneflyer.ca/Health.rss'), - ('Funnies', 'http://www.pipestoneflyer.ca/Funnies.rss'), - ('Events', 'http://www.pipestoneflyer.ca/Events.rss'), - ('Faith', 'http://www.pipestoneflyer.ca/Faith.rss'), - ('News and Views', 'http://www.pipestoneflyer.ca/News%20and%20Views.rss'), - ('Obituaries', 'http://www.pipestoneflyer.ca/Obituaries.rss'), - ('Police Blotter', 'http://www.pipestoneflyer.ca/Police%20Blotter.rss'), - ('Careers', 'http://www.pipestoneflyer.ca/Careers.rss'), - ] diff --git a/recipes/legitymizm.recipe b/recipes/legitymizm.recipe deleted file mode 100644 index fa7a341c0b..0000000000 --- a/recipes/legitymizm.recipe +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = u'2010, Tomasz Dlugosz ' -''' -legitymizm.org -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Legitymizm(BasicNewsRecipe): - title = u'Organizacja Monarchist\xf3w Polskich' - description = u'Portal legitymistyczny' - language = 'pl' - oldest_article = 7 - __author__ = u'Tomasz D\u0142ugosz' - max_articles_per_feed = 100 - cover_url = 'http://www.legitymizm.org/img_omp/logo.gif' - no_stylesheets = True - - feeds = [(u'Aktualno\u015bci i publicystyka', - u'http://www.legitymizm.org/rss.php')] - - keep_only_tags = [dict(name='div', attrs={'id': 'szeroka_kolumna'})] - remove_tags = [dict(name='div', attrs={'class': 'koniec_tresci_wlasciwej'}), - dict(name='div', attrs={'class': 'return'})] - - extra_css = ''' - body { font-family: Georgia, 'Times New Roman', Times, serif; } - h1 { color: #898981; font-weight: normal; font-size: 26px; letter-spacing: -1px; line-height: 23px; text-align: left; } - h2, h3 { font-weight: normal; font-size: 20px; line-height: 23px; letter-spacing: -1px; margin: 0 0 3px 0; text-align: left; } - #szeroka_kolumna { float: left; line-height: 20px; } - #szeroka_kolumna ul.wykaz { list-style-type: none; margin: 0 0 1.2em 0; padding: 0; } - #szeroka_kolumna ul.wykaz li.wykaz_2 { font-weight: bold; margin: 0.6em 0 0 0; } - #szeroka_kolumna ul.wykaz a { text-decoration: none; } - #szeroka_kolumna ul.wykaz li.wykaz_1 { margin: 0 0 0 1.3em; } - #szeroka_kolumna ul.wykaz li.wykaz_2 ul { margin: 0; padding: 0 0 0 1.3em; } - #szeroka_kolumna h3.autor { background-color: #898981; color: #f9f9f8; margin: -25px 0px 30px 0; text-align: left; padding: 0 0 0 2px; } - .tresc_wlasciwa { border-top: 1px solid #898981; padding: 30px 0px 0px 0px; position: relative; } - #cytat { font-size: 11px; line-height: 19px; font-style: italic; text-align: justify; } - #cytat img { width: 100px; height: 105px; float: right; margin: 3px 0 0 10px; } - .duzy_cytat { padding: 20px 20px 10px 20px; margin: 0 0 1.2em 0; } - #szeroka_kolumna img, #szeroka_kolumna object { padding: 3px; border: 1px solid #898981; } - #szeroka_kolumna img.ilustracja { margin: 0px 10px 0 0; float: left; } - p { margin: 0 0 1.2em 0; } - #cytat p.sentencja { margin: 0; } - #cytat p.sentencja:first-letter { font-size: 44px; line-height: 33px; margin: 0 2px 0 0; font-style: normal; float: left; display: block; } - p.autor { text-transform: uppercase; color: #898981; font-style: normal; text-align: left; } - ''' diff --git a/recipes/leipzer_volkszeitung.recipe b/recipes/leipzer_volkszeitung.recipe deleted file mode 100644 index 90696c4807..0000000000 --- a/recipes/leipzer_volkszeitung.recipe +++ /dev/null @@ -1,41 +0,0 @@ -from calibre.web.feeds.recipes import BasicNewsRecipe - -'''Calibre recipe to convert the RSS feeds of the Leipziger Volkszeitung to an ebook.''' - - -class SportsIllustratedRecipe(BasicNewsRecipe): - __author__ = 'a.peter' - __copyright__ = 'a.peter' - __license__ = 'GPL v3' - language = 'de' - description = 'Leipziger Volkszeitung Online RSS' - version = 1 - title = u'Leipziger Volkszeitung Online RSS' - timefmt = ' [%d.%m.%Y]' - - no_stylesheets = True - remove_javascript = True - use_embedded_content = False - publication_type = 'newspaper' - - keep_only_tags = [dict(name='div', attrs={'class': 'article'})] - remove_tags = [ - dict(name='div', attrs={'class': ['ARTICLE_MORE', 'clearfloat']})] - - feeds = [(u'Leipzig', u'http://nachrichten.lvz-online.de/rss/leipzig-rss.xml'), - (u'Mitteldeutschland', - u'http://nachrichten.lvz-online.de/rss/mitteldeutschland-rss.xml'), - (u'Brennpunkte', - u'http://nachrichten.lvz-online.de/rss/brennpunkte-rss.xml'), - (u'Polizeiticker', - u'http://nachrichten.lvz-online.de/rss/polizeiticker-rss.xml'), - (u'Boulevard', - u'http://nachrichten.lvz-online.de/rss/boulevard-rss.xml'), - (u'Kultur', u'http://nachrichten.lvz-online.de/rss/kultur-rss.xml'), - (u'Sport', u'http://nachrichten.lvz-online.de/rss/sport-rss.xml'), - (u'Regionalsport', - u'http://nachrichten.lvz-online.de/rss/regionalsport-rss.xml'), - (u'Knipser', u'http://nachrichten.lvz-online.de/rss/knipser-rss.xml')] - - def get_masthead_url(self): - return 'http://www.lvz-online.de/resources/themes/standard/images/global/logo.gif' diff --git a/recipes/lequipe.recipe b/recipes/lequipe.recipe deleted file mode 100644 index 619bf318bb..0000000000 --- a/recipes/lequipe.recipe +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class leequipe(BasicNewsRecipe): - title = u'l\'equipe' - __author__ = 'Artur Stachecki ' - language = 'fr' - description = u'Retrouvez tout le sport en direct sur le site de L\'EQUIPE et suivez l\'actualité du football, rugby, basket, cyclisme, f1, volley, hand, tous les résultats sportifs' # noqa - oldest_article = 1 - masthead_url = 'http://static.lequipe.fr/v6/img/logo-lequipe.png' - max_articles_per_feed = 100 - simultaneous_downloads = 5 - remove_javascript = True - no_stylesheets = True - use_embedded_content = False - recursions = 0 - - keep_only_tags = [] - keep_only_tags.append(dict(attrs={'id': ['article']})) - - remove_tags = [] - remove_tags.append(dict(attrs={ - 'id': ['partage', 'ensavoirplus', 'bloc_bas_breve', 'commentaires', 'tools']})) - remove_tags.append(dict(attrs={'class': ['partage_bis', 'date']})) - - feeds = [(u'Football', u'http://www.lequipe.fr/rss/actu_rss_Football.xml'), - (u'Auto-Moto', u'http://www.lequipe.fr/rss/actu_rss_Auto-Moto.xml'), - (u'Tennis', u'http://www.lequipe.fr/rss/actu_rss_Tennis.xml'), - (u'Golf', u'http://www.lequipe.fr/rss/actu_rss_Golf.xml'), - (u'Rugby', u'http://www.lequipe.fr/rss/actu_rss_Rugby.xml'), - (u'Basket', u'http://www.lequipe.fr/rss/actu_rss_Basket.xml'), - (u'Hand', u'http://www.lequipe.fr/rss/actu_rss_Hand.xml'), - (u'Cyclisme', u'http://www.lequipe.fr/rss/actu_rss_Cyclisme.xml'), - (u'Autres Sports', u'http://pipes.yahoo.com/pipes/pipe.run?_id=2039f7f4f350c70c5e4e8633aa1b37cd&_render=rss') - ] - - def preprocess_html(self, soup): - for alink in soup.findAll('a'): - if alink.string is not None: - tstr = alink.string - alink.replaceWith(tstr) - return soup diff --git a/recipes/les_echos.recipe b/recipes/les_echos.recipe deleted file mode 100644 index cecb872053..0000000000 --- a/recipes/les_echos.recipe +++ /dev/null @@ -1,18 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class HindustanTimes(BasicNewsRecipe): - title = u'Les Echos' - language = 'fr' - __author__ = 'Krittika Goyal' - oldest_article = 1 # days - max_articles_per_feed = 25 - use_embedded_content = False - - no_stylesheets = True - auto_cleanup = True - - feeds = [ - ('Articles', - 'http://rss.feedsportal.com/c/499/f/413824/index.rss'), - ] diff --git a/recipes/lescienze.recipe b/recipes/lescienze.recipe deleted file mode 100644 index 3b1ade36d2..0000000000 --- a/recipes/lescienze.recipe +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__author__ = 'Daniele Forsi' - -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class LeScienze(BasicNewsRecipe): - title = 'Le Scienze' - description = 'Edizione italiana di Scientific American' - publication_type = 'magazine' - language = 'it' - conversion_options = { - 'publisher': 'Le Scienze S.p.A.', - 'tags': 'science', - } - - INDEX = 'http://www.lescienze.it/utility/2011/10/17/news/lista_rss-589690/' - masthead_url = 'http://www.lescienze.it/static/images/logo-le-scienze.png' - no_stylesheets = True - extra_css = ''' - .img-left,.img-right{font-style:italic;font-size:75%;padding:1em;margin:auto;} - .summary{font-style:italic;font-size:120%;} - ''' - keep_only_tags = [ - dict(name='article', attrs={'class': 'main-article'}), - ] - remove_tags = [ - dict(attrs={'class': [ - 'adv adv-middle', - 'colsx', - 'correlati', - 'social-toolbar-foot', - 'tags', - ]}), - ] - remove_empty_feeds = True - - def get_feeds(self): - soup = self.index_to_soup(self.INDEX) - feeds = [] - - for link in soup.findAll('a'): - href = link.get('href') - if href.endswith('.xml'): - title = link.string - feeds.append((title, href)) - - return feeds diff --git a/recipes/lesoir_be.recipe b/recipes/lesoir_be.recipe deleted file mode 100644 index ca56f2d0d7..0000000000 --- a/recipes/lesoir_be.recipe +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2008-2011, Lionel Bergeret ' -''' -lesoir.be -''' - -from calibre import strftime -from calibre.web.feeds.news import BasicNewsRecipe - - -class LeSoirBe(BasicNewsRecipe): - title = u'Le Soir' - __author__ = u'Lionel Bergeret' - description = u'News from Belgium in French' - publisher = u'lesoir.be' - category = 'news, Belgium' - oldest_article = 3 - language = 'fr' - masthead_url = 'http://pdf.lesoir.be/pdf/images/SOIR//logo.gif' - - max_articles_per_feed = 20 - no_stylesheets = True - use_embedded_content = False - timefmt = ' [%d %b %Y]' - - keep_only_tags = [ - dict(name='div', attrs={'id': 'story_head'}), dict( - name='div', attrs={'id': 'story_body'}) - ] - - remove_tags = [ - dict(name='form', attrs={'id': 'story_actions'}), dict(name='div', attrs={ - 'id': 'sb-share'}), dict(name='div', attrs={'id': 'sb-subscribe'}) - ] - - feeds = [ - - (u'Belgique', u'http://www.lesoir.be/actualite/belgique/rss.xml'), - (u'France', u'http://www.lesoir.be/actualite/france/rss.xml'), - (u'Monde', u'http://www.lesoir.be/actualite/monde/rss.xml'), - (u'Regions', u'http://www.lesoir.be/regions/rss.xml'), - (u'Vie du Net', u'http://www.lesoir.be/actualite/vie_du_net/rss.xml'), - (u'Petite Gazette', u'http://www.lesoir.be/actualite/sciences/rss.xml') - ] - - def get_cover_url(self): - cover_url = strftime( - 'http://pdf.lesoir.be/pdf/%Y-%m-%d_BRUX_UNE_1.PDF') - return cover_url diff --git a/recipes/letsgetcritical.recipe b/recipes/letsgetcritical.recipe deleted file mode 100644 index 39d47c4ff9..0000000000 --- a/recipes/letsgetcritical.recipe +++ /dev/null @@ -1,96 +0,0 @@ -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LetsGetCritical(BasicNewsRecipe): - title = u"Let's Get Critical" - description = 'Curation / aggregation of criticisms of the arts and culture ' - language = 'en' - __author__ = 'barty on mobileread.com forum' - max_articles_per_feed = 100 - no_stylesheets = False - timefmt = ' [%a, %d %b, %Y]' - oldest_article = 365 - auto_cleanup = True - INDEX = 'http://www.letsgetcritical.org' - CATEGORIES = [ - # comment out categories you don't want - # (user friendly name, system name, max number of articles to load) - ('Architecture', 'architecture', 30), - ('Art', 'art', 30), - ('Books', 'books', 30), - ('Design', 'design', 30), - ('Digital', 'digital', 30), - ('Food', 'food', 30), - ('Movies', 'movies', 30), - ('Music', 'music', 30), - ('Television', 'television', 30), - ('Other articles', '', 10) - ] - - def parse_index(self): - self.cover_url = 'http://www.letsgetcritical.org/wp-content/themes/lets_get_critical/images/lgc.jpg' - feeds = [] - seen_urls = set() - regex = re.compile(r'http://(www\.)?([^/:]+)', re.I) - - for category in self.CATEGORIES: - - (cat_name, tag, max_articles) = category - - tagurl = '' if tag == '' else '/category/' + tag.lower() - self.log('Reading category:', cat_name) - - articles = [] - pageno = 1 - - while len(articles) < max_articles and pageno < 100: - - page = "%s%s/page/%d" % (self.INDEX, tagurl, - pageno) if pageno > 1 else self.INDEX + tagurl - pageno += 1 - - self.log('\tReading page:', page) - try: - soup = self.index_to_soup(page) - except: - break - - posts = soup.findAll('div', attrs={'class': 'post_multi'}) - if len(posts) == 0: - break - - for post in posts: - dt = post.find('div', attrs={'class': 'title'}) - atag = dt.find('a') - url = atag['href'] - # skip promotionals and duplicate - if url.startswith('http://letsgetcritical') or url.startswith('/') or url in seen_urls: - continue - seen_urls.add(url) - title = self.tag_to_string(atag) - self.log('\tFound article:', title) - self.log('\t', url) - desc = post.find('blockquote') - desc = self.tag_to_string(desc) if desc else '' - m = regex.match(url) - if m: - desc = "[%s] %s" % (m.group(2), desc) - date = '' - p = post.previousSibling - # navigate up sibling to find date - while p: - if ''.join(p.get('class') or '') == 'singledate': - date = self.tag_to_string(p) - break - p = p.previousSibling - articles.append( - {'title': title, 'url': url, 'description': desc, 'date': date}) - if len(articles) >= max_articles: - break - - if articles: - feeds.append((cat_name, articles)) - - return feeds diff --git a/recipes/levante.recipe b/recipes/levante.recipe deleted file mode 100644 index eb4d09e581..0000000000 --- a/recipes/levante.recipe +++ /dev/null @@ -1,105 +0,0 @@ -from calibre.ebooks.BeautifulSoup import Tag -from calibre.web.feeds.news import BasicNewsRecipe - - -def new_tag(soup, name, attrs=()): - impl = getattr(soup, 'new_tag', None) - if impl is not None: - return impl(name, attrs=dict(attrs)) - return Tag(soup, name, attrs=attrs or None) - - -class LevanteRecipe(BasicNewsRecipe): - __license__ = 'GPL v3' - __author__ = 'kwetal' - version = 1 - language = 'es' - description = u'El Mercantil Valenciano' - title = u'Levante' - - oldest_article = 2 - max_articles_per_feed = 100 - encoding = 'latin1' - no_stylesheets = True - remove_javascript = True - - # Feeds taken from http://www.levante-emv.com/servicios/rss/rss.jsp?pServicio=rss - # Feed titles are without accented characters for now. Hope to resolve - # this in the future. - feeds = [] - feeds.append( - (u'Portada Valencia', u'http://www.levante-emv.com/elementosInt/rss/1')) - feeds.append( - (u'Portada Castello', u'http://www.levante-emv.com/elementosInt/rss/2')) - feeds.append( - (u'Portada Alacant', u'http://www.levante-emv.com/elementosInt/rss/3')) - feeds.append( - (u'Lo Mas Leido', u'http://www.levante-emv.com/elementosInt/rss/LoMas')) - feeds.append( - (u'Seccion al minuto', u'http://www.levante-emv.com/elementosInt/rss/AlMinuto')) - feeds.append((u'Comunidad Valenciana', - u'http://www.levante-emv.com/elementosInt/rss/19')) - feeds.append( - (u'Valencia', u'http://www.levante-emv.com/elementosInt/rss/16')) - feeds.append( - (u'Castello', u'http://www.levante-emv.com/elementosInt/rss/4')) - feeds.append( - (u'Alacant', u'http://www.levante-emv.com/elementosInt/rss/17')) - feeds.append( - (u'Comarcas', u'http://www.levante-emv.com/elementosInt/rss/12')) - feeds.append((u'Espana', u'http://www.levante-emv.com/elementosInt/rss/6')) - feeds.append( - (u'Internacional', u'http://www.levante-emv.com/elementosInt/rss/7')) - feeds.append( - (u'Opinion', u'http://www.levante-emv.com/elementosInt/rss/5')) - feeds.append( - (u'Economia', u'http://www.levante-emv.com/elementosInt/rss/8')) - feeds.append( - (u'Sociedad', u'http://www.levante-emv.com/elementosInt/rss/9')) - feeds.append( - (u'Sucesos', u'http://www.levante-emv.com/elementosInt/rss/10')) - feeds.append( - (u'Deportes', u'http://www.levante-emv.com/elementosInt/rss/11')) - feeds.append((u'Motor', u'http://www.levante-emv.com/elementosInt/rss/31')) - feeds.append( - (u'Panorama', u'http://www.levante-emv.com/elementosInt/rss/18')) - feeds.append( - (u'Salud y Vida', u'http://www.levante-emv.com/elementosInt/rss/20')) - feeds.append( - (u'Ciencia y Salud', u'http://www.levante-emv.com/elementosInt/rss/44')) - feeds.append((u'Ciencia e Investigacion', - u'http://www.levante-emv.com/elementosInt/rss/23')) - feeds.append( - (u'Ensenanza', u'http://www.levante-emv.com/elementosInt/rss/22')) - feeds.append((u'Fiestas y Tradiciones', - u'http://www.levante-emv.com/elementosInt/rss/24')) - feeds.append( - (u'Club Diario', u'http://www.levante-emv.com/elementosInt/rss/26')) - feeds.append( - (u'Juntos', u'http://www.levante-emv.com/elementosInt/rss/33')) - feeds.append( - (u'Integrados', u'http://www.levante-emv.com/elementosInt/rss/35')) - feeds.append( - (u'Agenda', u'http://www.levante-emv.com/elementosInt/rss/36')) - feeds.append( - (u'Cultura', u'http://www.levante-emv.com/elementosInt/rss/39')) - feeds.append( - (u'Tecnologia', u'http://www.levante-emv.com/elementosInt/rss/40')) - feeds.append((u'Gente', u'http://www.levante-emv.com/elementosInt/rss/41')) - feeds.append( - (u'Television', u'http://www.levante-emv.com/elementosInt/rss/42')) - feeds.append( - (u'Participa', u'http://www.levante-emv.com/elementosInt/rss/45')) - - keep_only_tags = [dict(name='div', attrs={'class': 'noticia_titular'}), - dict(name='div', attrs={'class': 'subtitulo'}), - dict(name='div', attrs={'id': 'noticia_texto', 'class': 'noticia_texto'})] - - def preprocess_html(self, soup): - # Nuke some real crappy html - theirHead = soup.head - theirHead.extract() - myHead = new_tag(soup, 'head') - soup.insert(0, myHead) - - return soup diff --git a/recipes/liberation.recipe b/recipes/liberation.recipe index dd1821330d..a81bd5a93a 100644 --- a/recipes/liberation.recipe +++ b/recipes/liberation.recipe @@ -87,7 +87,7 @@ class Liberation(BasicNewsRecipe): oldest_article = 1.15 remove_empty_feeds = True articles_are_obfuscated = True - timefmt = '[ %s]' % datetime.now().strftime(m_fr[datetime.now().month] + ' %d, %Y') + timefmt = ' [%s]' % datetime.now().strftime(m_fr[datetime.now().month] + ' %d, %Y') ignore_duplicate_articles = {'title', 'url'} key = 'ZWplZVBlaW5nZWl0YWVnaG8zd2VlbmdlZXlvaHB1' masthead_url = 'https://journal.liberation.fr/img/logo.svg' diff --git a/recipes/libero.recipe b/recipes/libero.recipe deleted file mode 100644 index 09713d894d..0000000000 --- a/recipes/libero.recipe +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__author__ = 'Gabriele Marini, based on Darko Miletic' -__copyright__ = '2009-2010, Darko Miletic ' -description = 'Italian daily newspaper - 13-05-2010' - -''' -http://www.libero-news.it/ -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LiberoNews(BasicNewsRecipe): - __author__ = 'Marini Gabriele' - description = 'Italian daily newspaper' - - cover_url = 'http://www.edicola.liberoquotidiano.it/vnlibero/fpcut.jsp?testata=milano' - title = u'Libero ' - publisher = 'EDITORIALE LIBERO s.r.l 2006' - category = 'News, politics, culture, economy, general interest' - - language = 'it' - timefmt = '[%a, %d %b, %Y]' - - oldest_article = 7 - max_articles_per_feed = 50 - use_embedded_content = False - recursion = 100 - - no_stylesheets = True - conversion_options = {'linearize_tables': True} - remove_javascript = True - - keep_only_tags = [ - dict(name='div', attrs={'class': 'Articolo'}), - dict(name='article') - ] - remove_tags = [ - dict(name='div', attrs={ - 'class': ['CommentaFoto', 'Priva2', 'login_commenti', 'box_16']}), - dict(name='div', attrs={'id': ['commentigenerale']}) - ] - feeds = [ - (u'Politica', u'http://www.libero-news.it/rss.jsp?sezione=14'), - (u'Italia', u'http://www.libero-news.it/rss.jsp?sezione=15'), - (u'Esteri', u'http://www.libero-news.it/rss.jsp?sezione=16'), - (u'Economia', u'http://www.libero-news.it/rss.jsp?sezione=17'), - (u'Cultura', u'http://www.libero-news.it/rss.jsp?sezione=18'), - (u'Scienze', u'http://www.libero-news.it/rss.jsp?sezione=19'), - (u'Tecnologia', u'http://www.libero-news.it/rss.jsp?sezione=20'), - (u'LifeStyle', u'http://www.libero-news.it/rss.jsp?sezione=22'), - (u'Sport', u'http://www.libero-news.it/rss.jsp?sezione=23'), - (u'Costume e Societ\xc3\xa0', u' http://www.libero-news.it/rss.jsp?sezione=24'), - (u'Milano', u'http://www.libero-news.it/rss.jsp?sezione=26'), - (u'Roma', u'http://www.libero-news.it/rss.jsp?sezione=27'), - (u'Alimentazione', u'http://www.libero-news.it/rss.jsp?sezione=29') - ] diff --git a/recipes/lidovky.recipe b/recipes/lidovky.recipe deleted file mode 100644 index 173cbd2768..0000000000 --- a/recipes/lidovky.recipe +++ /dev/null @@ -1,37 +0,0 @@ -# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -from __future__ import unicode_literals - -import re - -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class lnRecipe(BasicNewsRecipe): - __author__ = 'bubak' - title = u'lidovky' - publisher = u'' - description = 'lidovky.cz' - oldest_article = 1 - max_articles_per_feed = 20 - - feeds = [ - (u'Události', u'http://www.lidovky.cz/export/rss.asp?r=ln_domov'), - (u'Svět', u'http://www.lidovky.cz/export/rss.asp?r=ln_zahranici'), - (u'Byznys', u'http://www.lidovky.cz/export/rss.asp?c=ln_byznys'), - (u'Věda', u'http://www.lidovky.cz/export/rss.asp?r=ln_veda'), - (u'Názory', u'http://www.lidovky.cz/export/rss.asp?r=ln_nazory'), - (u'Relax', u'http://www.lidovky.cz/export/rss.asp?c=ln_relax') - ] - - language = 'cs' - cover_url = 'http://g.lidovky.cz/o/lidovky_ln3b/lidovky-logo.png' - remove_javascript = True - no_stylesheets = True - use_embedded_content = False - remove_attributes = [] - remove_tags_before = dict(name='div', attrs={'id': ['content']}) - remove_tags_after = dict(name='div', attrs={'class': ['authors']}) - preprocess_regexps = [(re.compile( - r'
')] - - keep_only_tags = [] diff --git a/recipes/lifehacker_pl.recipe b/recipes/lifehacker_pl.recipe deleted file mode 100644 index c3fbdfb7c1..0000000000 --- a/recipes/lifehacker_pl.recipe +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = 'MrStefan' - -''' -www.lifehacking.pl -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class lifehacking(BasicNewsRecipe): - title = u'Lifehacker Polska' - __author__ = 'MrStefan ' - language = 'pl' - description = u'Lifehacking - sposoby na zwiększanie własnej wydajności. Ułatwiaj sobie życie, wykorzystując wiedzę, metody, technologie, przydatne strony ...' # noqa - masthead_url = 'http://lifehacking.pl/wp-content/themes/lifehacking/images/lifehackerlogo.png' - remove_empty_feeds = True - oldest_article = 7 - max_articles_per_feed = 100 - remove_javascript = True - no_stylesheets = True - - feeds = [(u'Lifehacker polska', u'http://feeds.feedburner.com/pl_lh')] - - keep_only_tags = [ - dict(name='header', attrs={'class': 'td-post-title'}), - dict(name='div', attrs={'class': 'td-post-content'})] diff --git a/recipes/limes.recipe b/recipes/limes.recipe deleted file mode 100644 index 5936b8475a..0000000000 --- a/recipes/limes.recipe +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__copyright__ = '2012, faber1971' -__version__ = 'v1.00' -__date__ = '16, April 2012' -__description__ = 'Geopolitical Italian magazine' - - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Limes(BasicNewsRecipe): - description = 'Italian weekly magazine' - __author__ = 'faber1971' - - cover_url = 'http://temi.repubblica.it/UserFiles/limes/Image/Loghi/logo-limes.gif' - title = 'Limes' - category = 'Geopolitical news' - - language = 'it' -# encoding = 'cp1252' - timefmt = '[%a, %d %b, %Y]' - - oldest_article = 16 - max_articles_per_feed = 100 - use_embedded_content = False - recursion = 10 - - remove_javascript = True - no_stylesheets = True - masthead_url = 'http://temi.repubblica.it/UserFiles/limes/Image/Loghi/logo-limes.gif' - - feeds = [ - (u'Limes', u'http://temi.repubblica.it/limes/feed/') - ] - - keep_only_tags = [ - dict(name='div', attrs={'class': ['testo', 'copertina', 'occhiello', 'firma', 'didascalia', - 'content-second-right', 'detail-articles', 'titolo-local', 'generic-articles']}), - dict(name='div', attrs={ - 'class': ['generic-articles', 'summary', 'detail-articles']}), - dict(name='div', attrs={'id': ['content-second-right', 'content2']}) - ] - - remove_tags = [ - dict(name='div', attrs={'class': ['servizi', 'aggiungi', 'label-web', - 'bottom-mobile', 'box-abbonamenti', 'box-cerca', 'big', 'little', 'stampaweb']}), - dict(name='div', attrs={'id': [ - 'topheader', 'header', 'navigation-new', 'navigation', 'content-second-left', 'menutext']}), - dict(name='ul', attrs={'id': 'user-utility'}), - dict(name=['script', 'noscript', 'iframe']) - ] diff --git a/recipes/living_stones.recipe b/recipes/living_stones.recipe deleted file mode 100644 index 64d910df6d..0000000000 --- a/recipes/living_stones.recipe +++ /dev/null @@ -1,27 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2012, Peter Grungi

' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LivingStonesPastorsBlog(BasicNewsRecipe): - title = u'Living Stones Pastors Blog' - __author__ = 'Peter Grungi' - language = 'en' - - oldest_article = 90 - max_articles_per_feed = 10 - auto_cleanup = True - cover_url = 'http://blogs.livingstonesreno.com/wp-content/uploads/2011/08/blogBGRD_norepeat.jpg' - masthead_url = 'http://www.livingstonesreno.com/podcast/LSpodcastnew.jpg' - publisher = 'Living Stones Church of Reno, NV' - language = 'en' - author = 'Living Stones Church of Reno, NV' - - feeds = [ - (u'LS Blog', u'http://blogs.livingstonesreno.com/feed?utm_source=calibre&utm_medium=rss')] - - def full_version(self, url): - import re - newurl = re.sub(r'\?.*', '', url) - return newurl diff --git a/recipes/london_free_press.recipe b/recipes/london_free_press.recipe deleted file mode 100644 index c19079fbc3..0000000000 --- a/recipes/london_free_press.recipe +++ /dev/null @@ -1,39 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class LondonFreePress(BasicNewsRecipe): - title = u'London Free Press' - __author__ = 'rty' - oldest_article = 4 - max_articles_per_feed = 100 - - publisher = 'lfpress.com' - description = 'Ontario Canada Newspaper' - category = 'News, Ontario, Canada' - remove_javascript = True - use_embedded_content = False - no_stylesheets = True - language = 'en_CA' - encoding = 'utf-8' - conversion_options = {'linearize_tables': True} - - feeds = [ - (u'News', u'http://www.lfpress.com/news/rss.xml'), - (u'Comment', u'http://www.lfpress.com/comment/rss.xml'), - (u'Entertainment', u'http://www.lfpress.com/entertainment/rss.xml '), - (u'Money', u'http://www.lfpress.com/money/rss.xml '), - (u'Life', u'http://www.lfpress.com/life/rss.xml '), - (u'Sports', u'http://www.lfpress.com/sports/rss.xml ') - ] - - keep_only_tags = [ - dict(name='div', attrs={'id': 'article'}), - ] - remove_tags = [ - dict(name='div', attrs={'id': 'commentsBottom'}), - dict(name='div', attrs={'class': ['leftBox', 'bottomBox clear']}), - dict(name='ul', attrs={'class': 'tabs dl contentSwap'}), - ] - remove_tags_after = [ - dict(name='div', attrs={'class': 'bottomBox clear'}), - ] diff --git a/recipes/los_danieles.recipe b/recipes/los_danieles.recipe deleted file mode 100644 index 095d9308ac..0000000000 --- a/recipes/los_danieles.recipe +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1618167843(BasicNewsRecipe): - title = 'Los Danieles – Columnas sin techo' - __author__ = 'CAVALENCIA' - oldest_article = 7 - max_articles_per_feed = 100 - auto_cleanup = True - language = 'es_CO' - - feeds = [ - ('Los Danieles – Columnas sin techo', 'https://losdanieles.com/feed/'), - ] diff --git a/recipes/los_tiempos_bo.recipe b/recipes/los_tiempos_bo.recipe deleted file mode 100644 index d9784f6a20..0000000000 --- a/recipes/los_tiempos_bo.recipe +++ /dev/null @@ -1,62 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, Darko Miletic ' -''' -www.lostiempos.com -''' - -from calibre import strftime -from calibre.web.feeds.news import BasicNewsRecipe - - -class LosTiempos_Bol(BasicNewsRecipe): - title = 'Los Tiempos - Bolivia' - __author__ = 'Darko Miletic' - description = 'El periódico de mayor circulación en la ciudad de Cochabamba, Bolivia' - publisher = 'Los Tiempos' - category = 'news, politics, Bolivia' - oldest_article = 1 - max_articles_per_feed = 200 - no_stylesheets = True - encoding = 'cp1252' - use_embedded_content = False - language = 'es_BO' - publication_type = 'newspaper' - delay = 1 - remove_empty_feeds = True - cover_url = strftime( - 'http://www.lostiempos.com/media_recortes/%Y/%m/%d/portada_gd_1.jpg') - masthead_url = 'http://www.lostiempos.com/img_stat/logo_tiempos_sin_beta.jpg' - extra_css = """ body{font-family: Arial,Helvetica,sans-serif } - img{margin-bottom: 0.4em} - h1,.hora,.breadcum,.pie_foto{font-family: Georgia,"Times New Roman",Times,serif} - .hora,.breadcum,.pie_foto{font-size: small} - .en_gris,.pie_foto{color: #666666} - """ - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - keep_only_tags = [dict(name='div', attrs={'id': 'articulo'})] - remove_tags = [ - dict(name=['meta', 'link', 'form', 'iframe', 'embed', 'object', 'hr']), dict( - attrs={'class': ['caja_fonts sin_border_bot', 'pub', 'twitter-share-button']}) - ] - remove_attributes = ['width', 'height'] - - feeds = [ - - (u'Nacional', u'http://www.lostiempos.com/rss/lostiempos-nacional.xml'), - (u'Local', u'http://www.lostiempos.com/rss/lostiempos-local.xml'), - (u'Deportes', u'http://www.lostiempos.com/rss/lostiempos-deportes.xml'), - (u'Economía', u'http://www.lostiempos.com/rss/lostiempos-economia.xml'), - (u'Internacional', u'http://www.lostiempos.com/rss/lostiempos-internacional.xml'), - (u'Vida y Futuro', u'http://www.lostiempos.com/rss/lostiempos-vida-y-futuro.xml'), - (u'Tragaluz', u'http://www.lostiempos.com/rss/lostiempos-tragaluz.xml'), - (u'Opiniones', u'http://www.lostiempos.com/rss/lostiempos-opiniones.xml') - ] - - def preprocess_html(self, soup): - for item in soup.findAll(style=True): - del item['style'] - return soup diff --git a/recipes/losservatoreromano_it.recipe b/recipes/losservatoreromano_it.recipe deleted file mode 100644 index ef9a5cf40a..0000000000 --- a/recipes/losservatoreromano_it.recipe +++ /dev/null @@ -1,40 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, Darko Miletic ' -''' -www.vatican.va/news_services/or/or_quo -''' - - -from calibre.web.feeds.news import BasicNewsRecipe - - -class LOsservatoreRomano_it(BasicNewsRecipe): - title = "L'Osservatore Romano" - __author__ = 'Darko Miletic' - description = 'Quiornale quotidiano, politico, religioso del Vaticano' - publisher = 'La Santa Sede' - category = 'news, politics, religion, Vatican' - no_stylesheets = True - INDEX = 'http://www.vatican.va' - FEEDPAGE = INDEX + '/news_services/or/or_quo/index.html' - CONTENTPAGE = INDEX + '/news_services/or/or_quo/text.html' - use_embedded_content = False - encoding = 'cp1252' - language = 'it' - publication_type = 'newspaper' - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language, 'linearize_tables': True - } - - def parse_index(self): - articles = [] - articles.append({ - 'title': self.title, 'date': '', 'url': self.CONTENTPAGE, 'description': '' - }) - return [(self.title, articles)] - - def preprocess_html(self, soup): - for item in soup.findAll(style=True): - del item['style'] - return self.adeify_images(soup) diff --git a/recipes/luns_a_venres.recipe b/recipes/luns_a_venres.recipe deleted file mode 100644 index b205ca8d41..0000000000 --- a/recipes/luns_a_venres.recipe +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -from calibre.web.feeds.news import BasicNewsRecipe - - -class LV_gl(BasicNewsRecipe): - title = u'De Luns a Venres (RSS)' - __author__ = u'Susana Sotelo Docío' - description = u'O gratuíto galego' - publisher = u'Galiciaé' - category = u'news' - encoding = 'utf-8' - language = 'gl' - direction = 'ltr' - cover_url = 'http://lv.galiciae.com/new_estilos/lv/logo.gif' - oldest_article = 2 - max_articles_per_feed = 200 - center_navbar = False - - feeds = [ - (u'Galicia', u'http://lv.galiciae.com/cache/rss/sec_galicia_gl.rss'), - (u'Cultura', u'http://lv.galiciae.com/cache/rss/sec_cultura_gl.rss'), - (u'Mundo', u'http://lv.galiciae.com/cache/rss/sec_mundo_gl.rss'), - (u'Cidadanía', u'http://lv.galiciae.com/cache/rss/sec_ciudadania_gl.rss'), - (u'Tecnoloxía', u'http://lv.galiciae.com/cache/rss/sec_tecnologia_gl.rss'), - (u'España', u'http://lv.galiciae.com/cache/rss/sec_espana_gl.rss'), - (u'Deportes', u'http://lv.galiciae.com/cache/rss/sec_deportes_gl.rss'), - (u'Economía', u'http://lv.galiciae.com/cache/rss/sec_economia_gl.rss'), - (u'Lercheo', u'http://lv.galiciae.com/cache/rss/sec_gente_gl.rss'), - (u'Medio ambiente', u'http://lv.galiciae.com/cache/rss/sec_medioambiente_gl.rss'), - (u'España/Mundo', u'http://lv.galiciae.com/cache/rss/sec_espanamundo_gl.rss'), - (u'Sociedade', u'http://lv.galiciae.com/cache/rss/sec_sociedad_gl.rss'), - (u'Ciencia', u'http://lv.galiciae.com/cache/rss/sec_ciencia_gl.rss'), - (u'Motor', u'http://lv.galiciae.com/cache/rss/sec_motor_gl.rss'), - (u'Coches', u'http://lv.galiciae.com/cache/rss/sec_coches_gl.rss'), - (u'Motos', u'http://lv.galiciae.com/cache/rss/sec_motos_gl.rss'), - (u'Industriais', u'http://lv.galiciae.com/cache/rss/sec_industriales_gl.rss') - ] - - extra_css = u' p{text-align:left} ' - html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\nencoding="' + \ - encoding + '"\ntags="' + category + \ - '"\noverride_css=" p {text-align:left; text-indent: 0cm} "' - - def print_version(self, url): - url += '?imprimir&lang=gl' - return url diff --git a/recipes/lvivs_ks_ghazieta.recipe b/recipes/lvivs_ks_ghazieta.recipe deleted file mode 100644 index 026971beda..0000000000 --- a/recipes/lvivs_ks_ghazieta.recipe +++ /dev/null @@ -1,29 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1356270446(BasicNewsRecipe): - title = u'\u041b\u044c\u0432\u0456\u0432\u0441\u044c\u043a\u0430 \u0433\u0430\u0437\u0435\u0442\u0430' - __author__ = 'rpalyvoda' - oldest_article = 7 - max_articles_per_feed = 100 - language = 'uk' - cover_url = 'http://lvivska.com/sites/all/themes/biblos/images/logo.png' - masthead_url = 'http://lvivska.com/sites/all/themes/biblos/images/logo.png' - auto_cleanup = True - feeds = [ - (u'\u041d\u043e\u0432\u0438\u043d\u0438', u'http://lvivska.com/rss/news.xml'), - (u'\u041f\u043e\u043b\u0456\u0442\u0438\u043a\u0430', u'http://lvivska.com/rss/politic.xml'), - (u'\u0415\u043a\u043e\u043d\u043e\u043c\u0456\u043a\u0430', u'http://lvivska.com/rss/economic.xml'), - (u'\u041f\u0440\u0430\u0432\u043e', u'http://lvivska.com/rss/law.xml'), - (u'\u0421\u0432\u0456\u0442', u'http://lvivska.com/rss/world.xml'), - (u'\u0416\u0438\u0442\u0442\u044f', u'http://lvivska.com/rss/life.xml'), - (u'\u041a\u0443\u043b\u044c\u0442\u0443\u0440\u0430', u'http://lvivska.com/rss/culture.xml'), - - (u'\u041b\u0430\u0441\u0443\u043d', u'http://lvivska.com/rss/cooking.xml'), - (u'\u0421\u0442\u0438\u043b\u044c', u'http://lvivska.com/rss/style.xml'), - (u'Galicia Incognita', u'http://lvivska.com/rss/galiciaincognita.xml'), - (u'\u0421\u043f\u043e\u0440\u0442', u'http://lvivska.com/rss/sport.xml'), - (u'\u0415\u043a\u043e\u043b\u043e\u0433\u0456\u044f', u'http://lvivska.com/rss/ecology.xml'), - (u"\u0417\u0434\u043e\u0440\u043e\u0432'\u044f", u'http://lvivska.com/rss/health.xml'), - (u'\u0410\u0432\u0442\u043e', u'http://lvivska.com/rss/auto.xml'), - (u'\u0411\u043b\u043e\u0433\u0438', u'http://lvivska.com/rss/blog.xml')] diff --git a/recipes/lyngby-taarbaeklokalavisen_dk.recipe b/recipes/lyngby-taarbaeklokalavisen_dk.recipe deleted file mode 100644 index 7641eb743f..0000000000 --- a/recipes/lyngby-taarbaeklokalavisen_dk.recipe +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -# https://manual.calibre-ebook.com/news_recipe.html -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - -''' -Det grønne område -''' - - -class Lyngby_taarbaekLokalavisen_dk(BasicNewsRecipe): - __author__ = 'CoderAllan.github.com' - title = 'Det grønne område' - description = 'Lokale, regionale nyheder, sport og kultur i Lyngby-Taarbæk, Virum, Holte, Nærum, Vedbæk og Skodsborg på lyngby-taarbaek.lokalavisen.dk' - category = 'newspaper, news, localnews, sport, culture, Denmark' - oldest_article = 7 - max_articles_per_feed = 50 - auto_cleanup = True - language = 'da' - - feeds = [ - ('Seneste nyt fra Det grønne område', 'http://lyngby-taarbaek.lokalavisen.dk/section/senestenytrss'), - ('Seneste lokale nyheder fra Det grønne område', 'http://lyngby-taarbaek.lokalavisen.dk/section/senestelokalenyhederrss'), - ('Seneste sport fra Det grønne område', 'http://lyngby-taarbaek.lokalavisen.dk/section/senestesportrss'), - ('Seneste 112 nyheder fra Det grønne område', 'http://lyngby-taarbaek.lokalavisen.dk/section/seneste112rss'), - ('Seneste kultur nyheder fra Det grønne område', 'http://lyngby-taarbaek.lokalavisen.dk/section/senestekulturrss'), - ('Seneste læserbreve fra Det grønne område', 'http://lyngby-taarbaek.lokalavisen.dk/section/senestelaeserbreverss'), - - ] - diff --git a/recipes/mac_world.recipe b/recipes/mac_world.recipe deleted file mode 100644 index 97e48f99e5..0000000000 --- a/recipes/mac_world.recipe +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__author__ = 'Lorenzo Vigentini' -__copyright__ = '2009, Lorenzo Vigentini ' -__version__ = 'v1.01' -__date__ = '14, January 2010' -__description__ = 'Macworld is an independent journal not affiliated with Apple Computer.' - -''' -http://www.macworld.co.uk/ -''' - -from calibre.web.feeds.news import BasicNewsRecipe - -temp_files = [] -articles_are_obfuscated = True - - -class macWorld(BasicNewsRecipe): - __author__ = 'Lorenzo Vigentini' - description = 'Macworld is an independent journal not affiliated with Apple Computer.' - cover_url = 'http://images.macworld.com/images/templates/v4/mw-logo.gif' - - title = 'Mac World ' - publisher = 'IDG Communication' - category = 'Apple, Mac, video, computing, product reviews, editing, cameras, production' - - language = 'en' - timefmt = '[%a, %d %b, %Y]' - - oldest_article = 7 - max_articles_per_feed = 20 - use_embedded_content = False - recursion = 10 - - remove_javascript = True - no_stylesheets = True - auto_cleanup = True - - feeds = [ - (u'MacWorld Headlines', u'http://rss.macworld.com/macworld/news'), - (u'How-To', u'http://rss.macworld.com/macworld/howto'), - (u'Security', u'http://rss.macworld.com/macworld/topics/security'), - (u'MAC IT', u'http://rss.macworld.com/macworld/topics/mac_it'), - (u'Business Mac', u'http://rss.macworld.com/macworld/topics/business_mac'), - (u'Reviews', u'http://rss.macworld.com/macworld/reviews'), - (u'Products: Mac', u'http://rss.macworld.com/macworld/products/mac'), - (u'Products: iPod', u'http://rss.macworld.com/macworld/products/ipod'), - (u'Products: iPhone', u'http://rss.macworld.com/macworld/products/iphone'), - (u'Products: Software', u'http://rss.macworld.com/macworld/products/mac/software'), - (u'OSX Hints', u'http://rss.macworld.com/macworld/weblogs/macosxhints'), - (u'Mac Gems', u'http://rss.macworld.com/macworld/weblogs/macgems'), - (u'Mac 911', u'http://rss.macworld.com/macworld/weblogs/mac911'), - (u'Game Room', u'http://rss.macworld.com/macworld/topics/games'), - (u'Editos notes', u'http://rss.macworld.com/macworld/weblogs/editors'), - (u'Creative notes', u'http://rss.macworld.com/macworld/weblogs/creative'), - (u'Playlist', u'http://rss.macworld.com/macworld/weblogs/ipodblog'), - (u'Mobile', u'http://rss.macworld.com/macworld/weblogs/mobile'), - (u'From the lab', u'http://rss.macworld.com/macworld/weblogs/macworldlab'), - (u'MacUser', u'http://rss.macworld.com/macworld/weblogs/macuser') - ] diff --git a/recipes/mac_world_uk.recipe b/recipes/mac_world_uk.recipe deleted file mode 100644 index 6ac402ebda..0000000000 --- a/recipes/mac_world_uk.recipe +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__author__ = 'Lorenzo Vigentini' -__copyright__ = '2009, Lorenzo Vigentini ' -__version__ = 'v1.01' -__date__ = '14, January 2010' -__description__ = 'Macworld is a publication of IDG Communication in the UK specifically on the Apple Mac.' - -''' -http://www.macworld.co.uk/ -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class pcMag(BasicNewsRecipe): - __author__ = 'Lorenzo Vigentini' - description = 'Macworld is a publication of IDG Communication in the UK specifically on the Apple Mac.' - cover_url = 'http://media.macworld.co.uk/images/masthead.jpg' - - title = 'Mac World UK ' - publisher = 'IDG Communication' - category = 'Apple, Mac, computing, product reviews, UK' - - language = 'en_GB' - timefmt = '[%a, %d %b, %Y]' - - max_articles_per_feed = 25 - use_embedded_content = False - recursion = 10 - - remove_javascript = True - no_stylesheets = True - auto_cleanup = True - - feeds = [ - (u'MacWorld Headlines', u'http://www.macworld.co.uk/latest/rss'), - (u'Reviews', u'http://www.macworld.co.uk/news/rss'), - (u'Masterclass', u'http://www.macworld.co.uk/how-to/rss'), - (u'MacWorld Team', u'http://www.macworld.co.uk/review/rss'), - (u'Andy Ihnatko', u'http://www.macworld.co.uk/latest/iphone/rss'), - (u'Andy Penfold', u'http://www.macworld.co.uk/latest/ipad/rss'), - (u'Jonny Evans', u'http://www.macworld.co.uk/latest/mac/rss'), - (u'Karen Haslam', u'http://www.macworld.co.uk/latest/apple/rss') - ] diff --git a/recipes/macity.recipe b/recipes/macity.recipe deleted file mode 100644 index 4a67ea3415..0000000000 --- a/recipes/macity.recipe +++ /dev/null @@ -1,25 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1325766771(BasicNewsRecipe): - title = u'Macity' - language = 'it' - oldest_article = 7 - max_articles_per_feed = 100 - auto_cleanup = True - - def get_article_url(self, article): - link = BasicNewsRecipe.get_article_url(self, article) - if link.split('/')[-1] == "story01.htm": - link = link.split('/')[-2] - a = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'I', 'L', 'N', 'S'] - b = ['0', '.', '/', '?', '-', '=', '&', - '_', 'http://', '.com', 'www.'] - for i in range(0, len(a)): - link = link.replace('0' + a[-i], b[-i]) - return link - - feeds = [ - (u'Macity', u'http://www.macitynet.it.feedsportal.com/c/33714/f/599513/index.rss')] - __author__ = 'faber1971' - description = 'Apple and hi-tech news' diff --git a/recipes/macleans.recipe b/recipes/macleans.recipe deleted file mode 100644 index 0b0873b86a..0000000000 --- a/recipes/macleans.recipe +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1308306308(BasicNewsRecipe): - title = u'Macleans Magazine' - language = 'en_CA' - __author__ = 'Medius' - oldest_article = 7 - cover_url = 'http://www.rogersmagazines.com/rms_covers/md/CLE_md.jpg' - - use_embedded_content = False - - remove_empty_feeds = True - no_stylesheets = True - remove_javascript = True - remove_tags = [dict(id='header'), {'class': 'comment'}] - remove_tags_after = {'class': 'pagination'} - - feeds = [ - (u'Canada', u'http://www2.macleans.ca/category/canada/feed/'), - - (u'World', u'http://www2.macleans.ca/category/news-politics/world/feed/'), - (u'Business', u'http://www2.macleans.ca/category/business/feed/'), - (u'Arts & Culture', u'http://www2.macleans.ca/category/arts/feed/'), - (u'Opinion', u'http://www2.macleans.ca/category/opinion/feed/'), - (u'Health', u'http://www2.macleans.ca/category/life/health/feed/'), - (u'Sports', u'http://www2.macleans.ca/category/life/sports/feed/'), - (u'Environment', u'http://www2.macleans.ca/category/life/environment/feed/'), - (u'Technology', u'http://www2.macleans.ca/category/life/technology/feed/'), - (u'Travel', u'http://www2.macleans.ca/category/life/travel/feed/'), - (u'Blog Central', u'http://www2.macleans.ca/category/blog-central/feed/')] diff --git a/recipes/maekyung.recipe b/recipes/maekyung.recipe deleted file mode 100644 index 5362d7d7dd..0000000000 --- a/recipes/maekyung.recipe +++ /dev/null @@ -1,35 +0,0 @@ -# -*- coding: utf-8 -*- -__license__ = 'GPL v3' -__copyright__ = '2015, Hoje Lee ' -''' -Profile to download Maeil Business -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class MaeilBusiness(BasicNewsRecipe): - language = 'ko' - title = u'매일경제' - description = u'매일경제 신문 기사' - __author__ = 'Hoje Lee' - oldest_article = 7 - max_articles_per_feed = 10 - auto_cleanup = True - - feeds = [ - (u'헤드라인', 'http://file.mk.co.kr/news/rss/rss_30000001.xml'), - # (u'전체뉴스', 'http://file.mk.co.kr/news/rss/rss_40300001.xml'), - (u'경제', 'http://file.mk.co.kr/news/rss/rss_30100041.xml'), - (u'정치', 'http://file.mk.co.kr/news/rss/rss_30200030.xml'), - (u'사회', 'http://file.mk.co.kr/news/rss/rss_50400012.xml'), - (u'국제', 'http://file.mk.co.kr/news/rss/rss_30300018.xml'), - (u'기업ㆍ경영', 'http://file.mk.co.kr/news/rss/rss_50100032.xml'), - (u'증권', 'http://file.mk.co.kr/news/rss/rss_50200011.xml'), - (u'부동산', 'http://file.mk.co.kr/news/rss/rss_50300009.xml'), - (u'문화ㆍ연예', 'http://file.mk.co.kr/news/rss/rss_30000023.xml'), - (u'패션', 'http://file.mk.co.kr/news/rss/rss_72000001.xml'), - (u'스포츠', 'http://file.mk.co.kr/news/rss/rss_71000001.xml'), - (u'게임', 'http://file.mk.co.kr/news/rss/rss_50700001.xml'), - (u'오피니언', 'http://file.mk.co.kr/news/rss/rss_30500041.xml'), - ] diff --git a/recipes/maharashtra_times.recipe b/recipes/maharashtra_times.recipe deleted file mode 100644 index cd028c7317..0000000000 --- a/recipes/maharashtra_times.recipe +++ /dev/null @@ -1,18 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class HindustanTimes(BasicNewsRecipe): - title = u'Maharashtra Times' - language = 'mr' - __author__ = 'Krittika Goyal' - oldest_article = 1 # days - max_articles_per_feed = 25 - use_embedded_content = False - - no_stylesheets = True - auto_cleanup = True - - feeds = [ - ('News', - 'http://maharashtratimes.indiatimes.com/rssfeeds/2429656.cms'), - ] diff --git a/recipes/malaya_business_insight.recipe b/recipes/malaya_business_insight.recipe deleted file mode 100644 index 1adbcb1b26..0000000000 --- a/recipes/malaya_business_insight.recipe +++ /dev/null @@ -1,69 +0,0 @@ -import time - -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class MalayaBusinessInsight(BasicNewsRecipe): - title = u'Malaya Business Insight' - custom_title = "Malaya Business Insight - " + \ - time.strftime('%d %b %Y %I:%M %p') - __author__ = 'jde' - __date__ = '07 June 2012' - __version__ = '1.2' - description = "The Malaya Business Insight is a broadsheet newspaper in the Philippines. The newspaper's name was derived from the Filipino word that means 'freedom'." # noqa - language = 'en_PH' - publisher = 'Malaya Business Insight' - category = 'news, Philippines' - tags = 'news, Philippines' - cover_url = 'http://www.malaya.com.ph/templates/ja_teline_iv/images/logo.png' - masthead_url = 'http://www.malaya.com.ph/templates/ja_teline_iv/images/logo.png' - oldest_article = 1.5 # days - max_articles_per_feed = 25 - simultaneous_downloads = 20 - publication_type = 'newspaper' - timefmt = ' [%a, %d %b %Y %I:%M %p]' - no_stylesheets = True - use_embedded_content = False - encoding = None - recursions = 0 - needs_subscription = False - remove_javascript = True - remove_empty_feeds = True - auto_cleanup = False - - keep_only_tags = [ - dict(name='div', attrs={'id': 'ja-main'}) - ] - - remove_tags = [ - dict(name='a', attrs={'class': 'ja-back-btn'}), dict(name='li', attrs={'class': 'print-icon'}), dict(name='li', attrs={'class': 'email-icon'}), dict(name='p', attrs={'class': 'dnn'}), dict(name='span', attrs={'class': 'breadcrumbs pathway'}), dict(name='dt', attrs={'class': 'article-info-term'}), dict(name='div', attrs={'class': 'ja-articles-mainwrap'}), dict(name='h1', attrs={'class': 'componentheading'}), dict(name='div', attrs={'id': 'ja-content-mass-top'}) # noqa - ] - - conversion_options = {'title': custom_title, - 'comments': description, - 'tags': tags, - 'language': language, - 'publisher': publisher, - 'authors': publisher, - 'smarten_punctuation': True - } - - feeds = [ - - (u'Business', u'http://www.malaya.com.ph/index.php/business?format=feed&type=rss'), - (u'Market', u'http://www.malaya.com.ph/index.php/business/market?format=feed&type=rss'), - (u'Shipping and Transportation', u'http://www.malaya.com.ph/index.php/business/shipping-and-transportation?format=feed&type=rss'), - (u'Business Incidental', u'http://www.malaya.com.ph/index.php/business/business-incidental?format=feed&type=rss'), - (u'Banking and Finance', u'http://www.malaya.com.ph/index.php/special-features/banking-and-finance?format=feed&type=rss'), - (u'Motoring', u'http://www.malaya.com.ph/index.php/special-features/motoring?format=feed&type=rss'), - (u'Info Tech - Telecoms', u'http://www.malaya.com.ph/index.php/special-features/infotech-telecoms?format=feed&type=rss'), - (u'Property', u'http://www.malaya.com.ph/index.php/special-features/property?format=feed&type=rss'), - (u'Environment', u'http://www.malaya.com.ph/index.php/special-features/environment?format=feed&type=rss'), - (u'Agriculture', u'http://www.malaya.com.ph/index.php/special-features/agriculture?format=feed&type=rss'), - (u'News - National', u'http://www.malaya.com.ph/index.php/news/nation?format=feed&type=rss'), - (u'News - International', u'http://www.malaya.com.ph/index.php/news/international?format=feed&type=rss'), - (u'Sports', u'http://www.malaya.com.ph/index.php/sports?format=feed&type=rss'), - (u'Entertainment', u'http://www.malaya.com.ph/index.php/entertainment?format=feed&type=rss'), - (u'Living', u'http://www.malaya.com.ph/index.php/living?format=feed&type=rss'), - (u'Opinion', u'http://www.malaya.com.ph/index.php/opinion?format=feed&type=rss') - ] diff --git a/recipes/malaysian_mirror.recipe b/recipes/malaysian_mirror.recipe deleted file mode 100644 index cd2c0fe1c8..0000000000 --- a/recipes/malaysian_mirror.recipe +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__author__ = 'Tony Stegall' -__copyright__ = '2010, Tony Stegall or Tonythebookworm on mobiread.com' -__version__ = '1' -__date__ = '16, October 2010' -__docformat__ = 'English' - - -from calibre.web.feeds.news import BasicNewsRecipe - - -class MalaysianMirror(BasicNewsRecipe): - title = 'MalaysianMirror' - __author__ = 'Tonythebookworm' - description = 'The Pulse of the Nation' - language = 'en' - no_stylesheets = True - publisher = 'Tonythebookworm' - category = 'news' - use_embedded_content = False - no_stylesheets = True - oldest_article = 24 - - remove_javascript = True - remove_empty_feeds = True - conversion_options = {'linearize_tables': True} - extra_css = ''' - #content_heading{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;} - - td{text-align:right; font-size:small;margin-top:0px;margin-bottom: 0px;} - - #content_body{font-family:Helvetica,Arial,sans-serif;font-size:small;} - ''' - - keep_only_tags = [dict(name='table', attrs={'class': ['contentpaneopen']}) - ] - remove_tags = [dict(name='table', attrs={'class': ['buttonheading']})] - ########################################################################## - - max_articles_per_feed = 10 - - ''' - Make a variable that will hold the url for the main site because our links do not include the index - ''' - - INDEX = 'http://www.malaysianmirror.com' - - def parse_index(self): - feeds = [] - for title, url in [ - (u"Media Buzz", u"http://www.malaysianmirror.com/media-buzz-front"), - (u"Life Style", u"http://www.malaysianmirror.com/lifestylefront"), - (u"Features", u"http://www.malaysianmirror.com/featurefront"), - - - ]: - articles = self.make_links(url) - if articles: - feeds.append((title, articles)) - return feeds - - def make_links(self, url): - title = 'Temp' - current_articles = [] - soup = self.index_to_soup(url) - for item in soup.findAll('div', attrs={'class': 'contentheading'}): - # print 'item is: ', item - link = item.find('a') - # print 'the link is: ', link - if link: - url = self.INDEX + link['href'] - title = self.tag_to_string(link) - # print 'the title is: ', title - # print 'the url is: ', url - # print 'the title is: ', title - current_articles.append( - {'title': title, 'url': url, 'description': '', 'date': ''}) # append all this - return current_articles - - def preprocess_html(self, soup): - for item in soup.findAll(attrs={'style': True}): - del item['style'] - return soup diff --git a/recipes/mandidner.recipe b/recipes/mandidner.recipe deleted file mode 100644 index da8541dfc1..0000000000 --- a/recipes/mandidner.recipe +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import AutomaticNewsRecipe - - -class BasicUserRecipe1541708734(AutomaticNewsRecipe): - title = 'Mandiner' - language = 'hu' - __author__ = 'pofa' - oldest_article = 1 - max_articles_per_feed = 100 - auto_cleanup = True - - feeds = [ - ('Mandiner', 'http://mandiner.hu/rss/'), - ] diff --git a/recipes/manila_standard_today.recipe b/recipes/manila_standard_today.recipe deleted file mode 100644 index 965133d307..0000000000 --- a/recipes/manila_standard_today.recipe +++ /dev/null @@ -1,57 +0,0 @@ -import time - -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class ManilaStandardToday(BasicNewsRecipe): - title = u'Manila Standard Today' - custom_title = "Manila Standard Today - " + \ - time.strftime('%d %b %Y %I:%M %p') - __author__ = 'jde' - __date__ = '06 June 2012' - __version__ = '1.0' - description = 'The Manila Standard Today is the fourth-largest broadsheet newspaper in the Philippines as of 2006. Initially established as the Manila Standard, it merged with another newspaper of record, Today, on March 6, 2005. It was the first newspaper merger in the Philippines.' # noqa - language = 'en_PH' - publisher = 'Manila Standard Today' - category = 'news, Philippines' - tags = 'news, Philippines' - cover_url = 'http://www.manilastandardtoday.com/wp-content/uploads/Manila-Standard-Today-June-06-12.jpg' - masthead_url = 'http://www.manilastandardtoday.com/wp-content/uploads/Manila-Standard-Today-June-06-12.jpg' - oldest_article = 1.5 # days - max_articles_per_feed = 25 - simultaneous_downloads = 20 - publication_type = 'newspaper' - timefmt = ' [%a, %d %b %Y %I:%M %p]' - no_stylesheets = True - use_embedded_content = False - encoding = None - recursions = 0 - needs_subscription = False - remove_javascript = True - remove_empty_feeds = True - auto_cleanup = False - - keep_only_tags = [ - dict(name='div', attrs={'id': 'main'}) - ] - - conversion_options = {'title': custom_title, - 'comments': description, - 'tags': tags, - 'language': language, - 'publisher': publisher, - 'authors': publisher, - 'smarten_punctuation': True - } - - feeds = [ - - (u'Headlines', u'http://news.manilastandardtoday.com/feed/'), - (u'Nation', u'http://news.manilastandardtoday.com/archives/nation/feed/'), - (u'Business', u'http://business.manilastandardtoday.com/feed/'), - (u'Metro', u'http://news.manilastandardtoday.com/archives/metro/feed/'), - (u'Sports', u'http://sports.manilastandardtoday.com/feed/'), - (u'Entertainment', u'http://entertainment.manilastandardtoday.com/feed/'), - (u'Opinion', u'http://opinion.manilastandardtoday.com/feed/'), - (u'Lifestyle', u'http://lifestyle.manilastandardtoday.com/feed/') - ] diff --git a/recipes/marine_corps_times.recipe b/recipes/marine_corps_times.recipe deleted file mode 100644 index e8175c0fd0..0000000000 --- a/recipes/marine_corps_times.recipe +++ /dev/null @@ -1,38 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class MarineCorpsTimes(BasicNewsRecipe): - title = 'Marine Corps Times' - __author__ = 'jde' - __date__ = '16 May 2012' - __version__ = '1.0' - description = 'News of the U.S. Marine Corps' - language = 'en' - publisher = 'MarineCorpsTimes.com' - category = 'news, U.S. Marine Corps' - tags = 'news, U.S. Marine Corps' - cover_url = 'http://www.marinecorpstimes.com/images/logo_marinetimes-alert.jpg' - masthead_url = 'http://www.marinecorpstimes.com/images/logo_marinetimes-alert.jpg' - oldest_article = 7 # days - max_articles_per_feed = 25 - publication_type = 'newspaper' - no_stylesheets = True - use_embedded_content = False - encoding = None - recursions = 0 - needs_subscription = False - remove_javascript = True - remove_empty_feeds = True - auto_cleanup = True - - feeds = [ - - ('News', 'http://www.MarineCorpstimes.com/rss_news.php'), - ('Benefits', 'http://www.MarineCorpstimes.com/rss_benefits.php'), - ('Money', 'http://www.MarineCorpstimes.com/rss_money.php'), - ('Careers & Education', 'http://www.MarineCorpstimes.com/rss_careers.php'), - ('Community', 'http://www.MarineCorpstimes.com/rss_community.php'), - ('Off Duty', 'http://www.MarineCorpstimes.com/rss_off_duty.php'), - ('Entertainment', 'http://www.MarineCorpstimes.com/rss_entertainment.php'), - ('Guard & Reserve', 'http://www.MarineCorpstimes.com/rss_guard.php'), - ] diff --git a/recipes/marketing_sensoriale.recipe b/recipes/marketing_sensoriale.recipe deleted file mode 100644 index d1b68ba6c8..0000000000 --- a/recipes/marketing_sensoriale.recipe +++ /dev/null @@ -1,58 +0,0 @@ -from calibre.ptempfile import PersistentTemporaryFile -from calibre.utils.ipc.simple_worker import fork_job -from calibre.web.feeds.news import BasicNewsRecipe - -js_fetcher = ''' - -import calibre.web.jsbrowser.browser as jsbrowser - -def grab(url): - browser = jsbrowser.Browser() - #10 second timeout - browser.visit(url, 10) - browser.run_for_a_time(10) - html = browser.html - browser.close() - return html - - ''' - - -class MarketingSensoriale(BasicNewsRecipe): - - title = u'Marketing sensoriale' - __author__ = 'NotTaken' - description = 'Marketing Sensoriale, il Blog' - category = 'Blog' - oldest_article = 7 - max_articles_per_feed = 200 - no_stylesheets = True - encoding = 'utf8' - use_embedded_content = False - language = 'it' - remove_empty_feeds = True - recursions = 0 - requires_version = (0, 8, 58) - auto_cleanup = False - simultaneous_downloads = 1 - articles_are_obfuscated = True - - remove_tags_after = [dict(name='div', attrs={'class': ['article-footer']})] - - def get_article_url(self, article): - return article.get('feedburner_origlink', None) - - def get_obfuscated_article(self, url): - result = fork_job(js_fetcher, 'grab', (url,), - module_is_source_code=True) - - html = result['result'] - if isinstance(html, type(u'')): - html = html.encode('utf-8') - pt = PersistentTemporaryFile('.html') - pt.write(html) - pt.close() - return pt.name - - feeds = [(u'Marketing sensoriale', - u'http://feeds.feedburner.com/MarketingSensoriale?format=xml')] diff --git a/recipes/matichon.recipe b/recipes/matichon.recipe deleted file mode 100644 index 24d56b3eee..0000000000 --- a/recipes/matichon.recipe +++ /dev/null @@ -1,23 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1290412756(BasicNewsRecipe): - __author__ = 'Anat R.' - title = u'Matichon' - oldest_article = 7 - language = 'th' - max_articles_per_feed = 100 - no_stylesheets = True - remove_javascript = True - use_embedded_content = False - feeds = [(u'News', u'http://www.matichon.co.th/rss/news_article.xml'), - (u'Columns', u'http://www.matichon.co.th/rss/news_columns.xml'), - (u'Politics', u'http://www.matichon.co.th/rss/news_politic.xml'), - (u'Business', u'http://www.matichon.co.th/rss/news_business.xml'), - (u'World', u'http://www.matichon.co.th/rss/news_world.xml'), - (u'Sports', u'http://www.matichon.co.th/rss/news_sport.xml'), - (u'Entertainment', u'http://www.matichon.co.th/rss/news_entertainment.xml')] - keep_only_tags = [] - keep_only_tags.append(dict(name='h3', attrs={'class': 'read-h'})) - keep_only_tags.append(dict(name='p', attrs={'class': 'read-time'})) - keep_only_tags.append(dict(name='div', attrs={'class': 'news-content'})) diff --git a/recipes/mayra.recipe b/recipes/mayra.recipe deleted file mode 100644 index bd83cd0149..0000000000 --- a/recipes/mayra.recipe +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__license__ = 'GPL v3' -__copyright__ = u'2011, Silviu Cotoar\u0103' -''' -mayra.ro -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Mayra(BasicNewsRecipe): - title = u'Mayra' - language = 'ro' - __author__ = u'Silviu Cotoar\u0103' - description = u'Traieste urban, cool, sexy' - publisher = 'Mayra' - category = 'Ziare,Stiri,Reviste' - oldest_article = 5 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'utf-8' - remove_javascript = True - cover_url = 'http://img.konkurs.ro/img/concursuri-cu-premii/147/14672_front.jpg' - - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher - } - - keep_only_tags = [ - dict(name='div', attrs={'id': 'article_details'}) - ] - - remove_tags = [ - dict(name='div', attrs={'id': 'LikePluginPagelet'}), dict(name='p', attrs={ - 'id': 'tags'}), dict(name='span', attrs={'id': 'tweet-button'}) - ] - - remove_tags_after = [ - dict(name='div', attrs={'id': 'LikePluginPagelet'}) - ] - - feeds = [(u'\u0218tiri', u'http://www.mayra.ro/rss')] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/mediterraneo.recipe b/recipes/mediterraneo.recipe deleted file mode 100644 index cc23b93dce..0000000000 --- a/recipes/mediterraneo.recipe +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__license__ = 'GPL v3' -__copyright__ = 'benages, based on elperidicodearagon.com by desUBIKado' -__author__ = 'benages' -__description__ = 'Daily newspaper from Castellón' -__version__ = 'v0.10' -__date__ = '07, March 2019' -''' -elperiodicomediterraneo.com -''' -from calibre.web.feeds.news import BasicNewsRecipe - - -class elperiodicomediterraneo(BasicNewsRecipe): - title = u'El Periódico Mediterráneo' - __author__ = u'benages' - description = u'Noticias desde Castellón' - publisher = u'elperiodicomediterraneo.com' - category = u'news, politics, Spain, Castellón' - oldest_article = 1 - delay = 1 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - language = 'es' - masthead_url = 'http://pdf.elperiodicomediterraneo.com/img/logotipo.gif' - encoding = 'iso-8859-1' - remove_empty_feeds = True - remove_javascript = True - - # The index of feeds is in https://www.elperiodicomediterraneo.com/info/rss.php - feeds = [ - (u'Portada', u'https://est.zetaestaticos.com/mediterraneo/rss/portada_es.xml'), - (u'Ultima hora', u'https://est.zetaestaticos.com/mediterraneo/rss/ultimahora_es.xml'), - (u'Castell\xf3n', u'https://est.zetaestaticos.com/mediterraneo/rss/2_es.xml'), - (u'Vila-Real', u'https://est.zetaestaticos.com/mediterraneo/rss/102_es.xml'), - (u'Comarcas', u'https://est.zetaestaticos.com/mediterraneo/rss/10_es.xml'), - (u'Comunitat', u'https://est.zetaestaticos.com/mediterraneo/rss/230_es.xml'), - (u'Espa\xf1a', u'https://est.zetaestaticos.com/mediterraneo/rss/3_es.xml'), - (u'Opini\xf3n', u'https://est.zetaestaticos.com/mediterraneo/rss/103_es.xml'), - (u'Internacional', u'https://est.zetaestaticos.com/mediterraneo/rss/4_es.xml'), - (u'Econom\xeda', u'https://est.zetaestaticos.com/mediterraneo/rss/5_es.xml'), - (u'Deportes', u'https://est.zetaestaticos.com/mediterraneo/rss/7_es.xml'), - (u'Villarreal', u'https://est.zetaestaticos.com/mediterraneo/rss/288_es.xml'), - (u'Castell\xf3n CF', u'https://est.zetaestaticos.com/mediterraneo/rss/319_es.xml'), - (u'Sucesos', u'https://est.zetaestaticos.com/mediterraneo/rss/105_es.xml'), - (u'Sociedad', u'https://est.zetaestaticos.com/mediterraneo/rss/106_es.xml'), - (u'Espectaculos', u'https://est.zetaestaticos.com/mediterraneo/rss/107_es.xml'), - (u'Televisi\xf3n', u'https://est.zetaestaticos.com/mediterraneo/rss/324_es.xml'), - ] - - remove_tags_before = dict(name='div', attrs={'class': 'Pagina'}) - remove_tags_after = dict(name='div', attrs={'class': 'ComentariosNew'}) - - keep_only_tags = [dict(name='div', attrs={'class': 'Pagina'})] - - remove_tags = [ - dict( - name='nav', - attrs={'class': ['Compartir', 'HerramientasConversacion Herramientas']} - ), - dict(name='h5', attrs={'class': ['CintilloBox']}), - dict( - name='div', - attrs={ - 'class': [ - 'BoxMenu BoxMenuConFoto', 'BxGalerias', 'ConStick', - 'HerramientasComentarioNew Herramientas', 'NumeroComentarioNew' - ] - } - ), - dict( - name='div', - attrs={ - 'class': [ - 'BoxPestanas', 'Box', 'ColumnaDerecha', - 'NoticiasRelacionadasDeNoticia', - 'CintilloNoticiasRelacionadasDeNoticia' - ] - } - ), - dict(name='a', attrs={'class': ['IrA BotonLink']}) - ] - - # Recuperamos la portada de papel (la imagen format=1 tiene mayor resolucion) - - def get_cover_url(self): - index = 'http://pdf.elperiodicomediterraneo.com/edicion.php' - soup = self.index_to_soup(index) - for image in soup.findAll('img', src=True): - if image['src'].startswith('/funciones/img-public.php?key='): - return 'http://pdf.elperiodicomediterraneo.com' + image['src'] - return None - - extra_css = ''' - h1 {font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:28px;} - h2 {font-family:Arial,Helvetica,sans-serif; font-style:italic;font-size:14px;color:#4D4D4D;} - h3 {font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:18px;} - ''' diff --git a/recipes/melbourne_herald_sun.recipe b/recipes/melbourne_herald_sun.recipe deleted file mode 100644 index fcd16a21f0..0000000000 --- a/recipes/melbourne_herald_sun.recipe +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__copyright__ = '2009, Matthew Briggs' -__docformat__ = 'restructuredtext en' - -''' -http://www.herald sun.com.au/ -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class DailyTelegraph(BasicNewsRecipe): - title = u'Melbourne Herald Sun' - __author__ = u'Ray Hartley' - description = (u'Victorian and National News' - '. You will need to have a subscription to ' - 'http://www.heraldsun.com.au to get full articles.') - language = 'en_AU' - - oldest_article = 2 - needs_subscription = 'optional' - max_articles_per_feed = 30 - remove_javascript = True - no_stylesheets = True - encoding = 'utf8' - use_embedded_content = False - language = 'en_AU' - remove_empty_feeds = True - publication_type = 'newspaper' - masthead_url = 'http://resources2.news.com.au/cs/heraldsun/images/header-and-footer/logo.gif' - extra_css = """ - body{font-family: Arial,Helvetica,sans-serif } - img{margin-bottom: 0.4em; display:block} - .caption{display: inline; font-size: x-small} - """ - - conversion_options = { - 'comment': description, 'language': language - } - - keep_only_tags = [dict(attrs={'id': 'story'})] - remove_tags_before = dict(attrs={'class': 'story-header'}) - remove_tags_after = dict(attrs={'class': 'story-footer'}) - remove_tags = [ - dict(name=['meta', 'link', 'base', 'iframe', 'embed', 'object', 'media-metadata', 'media-reference', 'media-producer'] - ), dict(attrs={'class': ['story-header-tools', 'story-sidebar', 'story-footer', 'story-summary-list']}) - ] - remove_attributes = ['lang'] - - feeds = [ - (u'Breaking News', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_breakingnews_206.xml'), - (u'Business', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_business_207.xml'), - (u'Entertainment', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_entertainment_208.xml'), - (u'Health Science', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_health_212.xml'), - (u'Music', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_music_449.xml'), - (u'National News', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_national_209.xml'), - (u'Sport News', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_sport_213.xml'), - (u'AFL News', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_afl_205.xml'), - - (u'State News', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_vic_214.xml'), - (u'Technology', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_tech_215.xml'), - (u'World News', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_world_216.xml'), - (u'Opinion', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_opinion_210.xml'), - (u'Andrew Bolt', u'http://blogs.news.com.au/heraldsun/andrewbolt/index.php/xml/rss_2.0/heraldsun/hs_andrewbolt/'), - (u'Afl - St Kilda', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_afl_stkilda_565.xml'), - (u'Terry McCrann', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_tmccrann_224.xml'), - (u'The Other side', u'http://feeds.news.com.au/public/rss/2.0/heraldsun_otherside_211.xml')] - - def get_browser(self): - br = BasicNewsRecipe.get_browser(self) - if self.username and self.password: - br.open('http://www.heraldsun.com.au') - br.select_form(nr=1) - br['username'] = self.username - br['password'] = self.password - raw = br.submit().read() - if b'>log out' not in raw.lower(): - raise ValueError('Failed to log in to www.heralsun' - ' are your username and password correct?') - return br - - def get_article_url(self, article): - return article.id diff --git a/recipes/men24_gr.recipe b/recipes/men24_gr.recipe deleted file mode 100644 index 6eee068037..0000000000 --- a/recipes/men24_gr.recipe +++ /dev/null @@ -1,53 +0,0 @@ -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class Men24(BasicNewsRecipe): - title = 'Men24.gr' - __author__ = 'Stelios' - description = 'Greek Mens portal' - oldest_article = 14 - max_articles_per_feed = 100 - language = 'el' - cover_url = 'http://www.men24.gr/ast/img/men24Logo.jpg' - category = 'magazines, GR' - language = 'el' - encoding = 'windows-1253' - no_stylesheets = True - use_embedded_content = False - remove_empty_feeds = True - extra_css = ''' - .artPrintTitle{font-family :Arial,Helvetica,sans-serif; font-weight: bold; font-size:large;} - .artPrintSubtitle{font-family :Arial,Helvetica,sans-serif; font-size:x-small;} - ''' - remove_tags = [ - dict(name='td', attrs={'class': ['artPrintCategory']}), - dict(name='table', attrs={'class': ['footer']}), - dict(name='img') - ] - feeds = [ - (u'\u038C\u03BB\u03B5\u03C2 \u03BF\u03B9 \u03B5\u03B9\u03B4\u03AE\u03C3\u03B5\u03B9\u03C2', - 'http://www.men24.gr/svc/rss/lastNews/'), - (u'\u03A3\u03C4\u03C5\u03BB', - 'http://www.men24.gr/svc/rss/categoryNews/?category=style'), - (u'Fitness', 'http://www.men24.gr/svc/rss/categoryNews/?category=fitness'), - (u'Gadgets', 'http://www.men24.gr/svc/rss/categoryNews/?category=gadgets'), - (u'\u0394\u03B9\u03B1\u03C3\u03BA\u03AD\u03B4\u03B1\u03C3\u03B7', - 'http://www.men24.gr/svc/rss/categoryNews/?category=fun'), - (u'\u03A7\u03C1\u03AE\u03BC\u03B1 \u03BA\u03B1\u03B9 \u039A\u03B1\u03C1\u03B9\u03AD\u03C1\u03B1', - 'http://www.men24.gr/svc/rss/categoryNews/?category=money'), - (u'Special Edition', 'http://www.men24.gr/svc/rss/categoryNews/?category=special'), - (u'\u0388\u03C1\u03C9\u03C4\u03B1\u03C2 \u03BA\u03B1\u03B9 Sex', - 'http://www.men24.gr/svc/rss/categoryNews/?category=love'), - (u'\u0386\u03BD\u03C4\u03C1\u03B5\u03C2 \u03C4\u03BF\u03C5 24', - 'http://www.men24.gr/svc/rss/categoryNews/?category=men'), - (u'\u0393\u03C5\u03BD\u03B1\u03AF\u03BA\u03B5\u03C2', - 'http://www.men24.gr/svc/rss/categoryNews/?category=women'), - (u'\u039F\u03B4\u03B7\u03B3\u03BF\u03AF', - 'http://www.men24.gr/svc/rss/categoryNews/?category=guides'), - (u'\u03A4\u03B6\u03CC\u03B3\u03BF\u03C2', - 'http://www.men24.gr/svc/rss/categoryNews/?category=gamble') - - ] - - def print_version(self, url): - return url.replace('.asp', '.print.asp') diff --git a/recipes/mens_day_out.recipe b/recipes/mens_day_out.recipe deleted file mode 100644 index 4d80e000e4..0000000000 --- a/recipes/mens_day_out.recipe +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -from calibre.web.feeds.news import BasicNewsRecipe - - -def classes(classes): - q = frozenset(classes.split(' ')) - return dict( - attrs={'class': lambda x: x and frozenset(x.split()).intersection(q)}) - - -class MensDayOut(BasicNewsRecipe): - title = 'Mens Day Out' - __author__ = 'Vishvas Vasuki' - language = 'en_IN' - oldest_article = 7 - max_articles_per_feed = 100 - auto_cleanup = True - - feeds = [ - ('MDO main', 'https://mensdayout.com/feed/'), - ] diff --git a/recipes/mens_health.recipe b/recipes/mens_health.recipe deleted file mode 100644 index eac730a9de..0000000000 --- a/recipes/mens_health.recipe +++ /dev/null @@ -1,11 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1305636254(BasicNewsRecipe): - title = u'Mens Health (US)' - language = 'en' - __author__ = 'Anonymous' - oldest_article = 14 - max_articles_per_feed = 100 - - feeds = [(u'News', u'http://blogs.menshealth.com/health-headlines/feed')] diff --git a/recipes/metro_montreal.recipe b/recipes/metro_montreal.recipe deleted file mode 100644 index bd7bb3a0e7..0000000000 --- a/recipes/metro_montreal.recipe +++ /dev/null @@ -1,31 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class Metro_Montreal(BasicNewsRecipe): - - title = u'M\xe9tro Montr\xe9al' - __author__ = 'Jerry Clapperton' - description = 'Le quotidien le plus branch\xe9 sur le monde' - language = 'fr' - - oldest_article = 7 - max_articles_per_feed = 20 - use_embedded_content = False - remove_javascript = True - no_stylesheets = True - auto_cleanup = True - encoding = 'utf-8' - extra_css = '.headline {font-size: x-large;} \n .fact {padding-top: 10pt}' - - remove_tags = [dict(attrs={'id': 'buttons'})] - - feeds = [ - (u"L'info", u'http://journalmetro.com/linfo/rss'), - (u'Monde', u'http://journalmetro.com/monde/rss'), - (u'Culture', u'http://journalmetro.com/culture/rss'), - (u'Sports', u'http://journalmetro.com/sports/rss'), - (u'Paroles', u'http://journalmetro.com/paroles/rss') - ] - - def print_version(self, url): - return url.replace('article', 'ArticlePrint') + '?language=fr' diff --git a/recipes/metro_news_nl.recipe b/recipes/metro_news_nl.recipe deleted file mode 100644 index c3e16c0b41..0000000000 --- a/recipes/metro_news_nl.recipe +++ /dev/null @@ -1,234 +0,0 @@ -# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -from __future__ import print_function - -import re - -from calibre.utils.magick import Image -from calibre.web.feeds.news import BasicNewsRecipe - -''' Version 1.2, updated cover image to match the changed website. - added info date on title - version 1.4 Updated tags, delay and added autoclean 22-09-2011 - version 1.5 Changes due to changes in site - version 1.6 Added css, removed auto cleanup, added buitenland section, added use_embedded_content, added remove_attributes - Added some processing on pictures - Removed links in html - Removed extre white characters - changed handling of self closing span - Version 1.7 11-11-2011 Changed oldest_article back to 1.5 - changed è into è - updated remove tags - removed keep_only tags - Version 1.8 26-11-2022 - added remove tag: article-slideshow - Version 1.9 31-1-2012 - removed some left debug settings - extended timeout from 2 to 10 - changed oldest article from 10 to 1.2 - changed max articles from 15 to 25 - Version 1.9.1 18-04-2012 - removed some debug settings - updated code to match new metro-layout - Version 1.9.2 24-04-2012 - updated code to match new metro-layout - Version 1.9.3 25-04-2012 - Changed a lot of custom code into calibre code as the default code of calibre has become much faster since the first version fo this recipe - Added new feeds - Updated css - Changed order of regex to speedup process - Version 1.9.3 23-05-2012 - Updated Cover image - Version 1.9.4 19-04-2013 - Added regex filter for mailto - Updated for new layout of metro-site - Version 1.9.5 28-05-2013 - Added some extra id's and classes to remove -''' - - -class AdvancedUserRecipe1306097511(BasicNewsRecipe): - title = u'Metro Nieuws NL' - oldest_article = 1.2 - max_articles_per_feed = 25 - __author__ = u'DrMerry' - description = u'Metro Nederland v1.9.5 2013-05-28, Download nieuws van de Nederlandse editie van de krant Metro' - language = u'nl' - simultaneous_downloads = 5 - masthead_url = 'http://blog.metronieuws.nl/wp-content/themes/metro/images/header.gif' - timeout = 10 - center_navbar = True - timefmt = ' [%A, %d %b %Y]' - no_stylesheets = True - remove_javascript = True - remove_empty_feeds = True - cover_url = 'http://www.readmetro.com/en/holland/metro-holland/image/large/last/' - publication_type = 'newspaper' - encoding = 'utf-8' - remove_attributes = ['style', 'font', 'width', 'height', - 'itemtype', 'itemprop', 'itemscope'] # , 'href'] - use_embedded_content = False - extra_css = 'body{font-size:1em;padding:5px 0}body,a,h2{background-color:#fff;text-decoration:none;color:#000}#date,div.byline,p.article-image-caption .credits,.calibrenavbar,.calibre5{font-size:.5em}.article-box-fact.module-title,#date,div.byline{clear:both}.article-box-fact{font-size:0.7em}.article-box-fact.module-title{margin:8px 0; font-size:0.8em}h2{font-size:1em}h1.title{font-size:1.4em}h1.title,.article-body p,div.article-image-caption-2column,div.article-image-caption-3column,#date,div.byline{margin-bottom:.6em}div.article-box-fact div.subtitle,.article-box-fact.module-title,h1.title,p.article-image-caption{font-weight:700}div.column-1-3{margin-left:19px}div.column-1-2{display:inline}div.column-1-2,div.column-1-3{margin-right:7px}p.article-image-caption{font-size:.6em;margin-top:5px}p.article-image-caption,#date,div.byline{color:#616262}p.article-image-caption .credits{font-style:italic}div.article-image-caption{width:246px}div.article-image-caption-2column{width:373px}div.column-3{background-color:#eee;float:right;width:50%}div.column-3 module-title{border:1px solid #aaa}div.article-box-fact div.subtitle,.article-box-fact.module-title{color:#24763b}div.byline{border-top:2px solid #24763b}div.column-3,img,div.column-3,p.small,div.article-image-caption{margin:.5em}img,p.small,.column1,h2,.calibre5,.calibrenavbar{border:0;padding:0}.column1,h1,h2,.calibrenavbar{margin:0}' # noqa - - preprocess_regexps = [ - (re.compile(r'( |\s|]+metronieuws\.nl/([^>]+/templates/[^>]+\.jpe?g|internal\-roxen\-unit\.gif)[^>]+>)', - re.DOTALL | re.IGNORECASE), lambda match: ' '), - ] - - remove_tags_before = dict(id='subwrapper') - remove_tags_after = dict( - name='div', attrs={'class': ['body-area', 'article-main-area']}) -# name='div', attrs={'class':['subwrapper']})] -# 'column-1-3','gallery-text']})]#id='share-and-byline')] - - filter_regexps = [r'mailto:.*'] - - remove_tags = [ - dict(name=['iframe', 'script', 'noscript', 'style']), - dict(name='div', attrs={'class': ['fact-related-box', 'aside clearfix', 'aside clearfix middle-col-line', 'comments', 'share-tools', 'article-right-column', 'column-4-5', 'column-1-5', 'ad-msg', 'col-179 ', 'col-373 ', 'clear', 'ad', 'navigation', re.compile('share-tools(-top)?'), 'tools', 'metroCommentFormWrap', 'article-tools-below-title', 'related-links', 'padding-top-15', re.compile('^promo.*?$'), 'teaser-component', re.compile('fb(-comments|_iframe_widget)'), 'promos', 'header-links', 'promo-2']}), # noqa - dict(id=['super-carousel', 'article-2', 'googleads', 'column-1-5-bottom', 'column-4-5', re.compile('^ad(\\d+|adcomp.*?)?$'), 'adadcomp-4', 'margin-5', 'sidebar', re.compile('^article-\\d'), 'comments', 'gallery-1', 'sharez_container', 'ts-container', 'topshares', 'ts-title']), # noqa - dict(name='a', attrs={'name': 'comments'}), - dict(name='img', attrs={'class': 'top-line', - 'title': 'volledig scherm'}), - dict(attrs={'style': re.compile('^(.*(display\\s?:\\s?none|img-mask|white)\\s?;?.*)$'), 'title': 'volledig scherm'})] - - '''removed by before/after: - id: - column-1-5-top,'hidden_div','footer', - class: - 'header',re.compile('^footer-[a-zA-Z0-9]+$),'header-links', - ''' - - def preprocess_html(self, soup): - myProcess = MerryProcess() - myProcess.moveTitleAndAuthor(soup) - myProcess.removeUnwantedTags(soup) - return soup - - def postprocess_html(self, soup, first): - myProcess = MerryProcess() - myProcess.optimizeLayout(soup) - return soup - - feeds = [ - (u'Binnenland', u'http://www.metronieuws.nl/rss.xml?c=1277377288-3'), - (u'Economie', u'http://www.metronieuws.nl/rss.xml?c=1278070988-0'), - (u'Den Haag', u'http://www.metronieuws.nl/rss.xml?c=1289013337-3'), - (u'Rotterdam', u'http://www.metronieuws.nl/rss.xml?c=1289013337-2'), - (u'Amsterdam', u'http://www.metronieuws.nl/rss.xml?c=1289013337-1'), - (u'Buitenland', u'http://www.metronieuws.nl/rss.xml?c=1277377288-4'), - (u'Columns', u'http://www.metronieuws.nl/rss.xml?c=1277377288-17'), - (u'Entertainment', u'http://www.metronieuws.nl/rss.xml?c=1277377288-2'), - (u'Strips', u'http://www.metronieuws.nl/rss.xml?c=1325037714-0'), - (u'Tech', u'http://www.metronieuws.nl/rss.xml?c=1283166782-12'), - (u'Familie', u'http://www.metronieuws.nl/rss.xml?c=1283166782-9'), - (u'Blogs', u'http://www.metronieuws.nl/rss.xml?c=1295586825-6'), - (u'Reizen', u'http://www.metronieuws.nl/rss.xml?c=1277377288-13'), - (u'Carrière', u'http://www.metronieuws.nl/rss.xml?c=1278070988-1'), - (u'Wetenschap', u'http://www.metronieuws.nl/rss.xml?c=1303088437-0'), - (u'Planeet', u'http://www.metronieuws.nl/rss.xml?c=1277377288-14'), - (u'Gezondheid', u'http://www.metronieuws.nl/rss.xml?c=1277377288-15'), - (u'Sport', u'http://www.metronieuws.nl/rss.xml?c=1277377288-12') - ] - - -class MerryPreProcess(): - - def optimizePicture(self, soup): - for tag in soup.findAll('img', src=True): - try: - iurl = tag['src'] - img = Image() - img.open(iurl) - img.trim(0) - img.save(iurl) - except: - print('\n!!image optimize failed!!\n') - continue - return soup - - -class MerryExtract(): - - def safeRemovePart(self, killingSoup, soupIsArray): - if killingSoup and killingSoup is not None: - try: - if soupIsArray is True: - for killer in killingSoup: - killer.extract() - else: - killingSoup.extract() - except: - return False - else: - return False - return killingSoup - - -class MerryProcess(object): - myKiller = MerryExtract() - myPrepare = MerryPreProcess() - - def optimizeLayout(self, soup): - self.myPrepare.optimizePicture(soup) - return soup - - def insertFacts(self, soup): - thefactpart = re.compile('^article-box-fact.*$') - allfacts = soup.findAll('div', {'class': thefactpart}) - if allfacts and allfacts is not None: - allfactsparent = soup.find('div', {'class': thefactpart}).parent - for part in allfactsparent: - if part not in allfacts: - self.myKiller.safeRemovePart(part, True) - articlefacts = soup.find('div', {'class': 'article-box-fact column'}) - if (articlefacts and articlefacts is not None): - try: - contenttag = soup.find('div', {'class': 'article-body'}) - foundrighttag = False - if contenttag and contenttag is not None: - foundrighttag = True - if foundrighttag is True: - contenttag.insert(0, allfactsparent) - except: - pass - return soup - - def moveTitleAndAuthor(self, soup): - moveitem = soup.h1 - pubdate = soup.find(id="date") - if moveitem and moveitem is not None and pubdate and pubdate is not None: - try: - pubdate.parent.insert(0, moveitem) - except: - print('\n!!error in moving title!!\n') - pass - moveitem = None - moveitem = soup.find('div', {'class': 'byline'}) - if moveitem and moveitem is not None: - try: - moveitem.parent.parent.insert(-1, moveitem) - except: - print('\n!!error in moving byline!!\n') - pass - return soup - - def removeUnwantedTags(self, soup): - self.insertFacts(soup) - self.removeEmptyTags(soup) - # at end to keep author - self.removeArrayOfTags(soup.findAll( - attrs={'class': 'share-tools-bottom'})) - return soup - - def removeArrayOfTags(self, souparray): - return self.myKiller.safeRemovePart(souparray, True) - - def removeEmptyTags(self, soup, run=0): - emptymatches = re.compile('^[ \\s\n\r\t ]*$') - emptytags = soup.findAll(lambda tag: tag.find(True) is None and ( - tag.string is None or tag.string.strip() == "" or tag.string.strip() == emptymatches) and not tag.isSelfClosing) - if emptytags and not (emptytags is None or emptytags == []): - self.removeArrayOfTags(emptytags) - # recursive in case removing empty tag creates new empty tag - self.removeEmptyTags(soup, run=run) - return soup diff --git a/recipes/metro_uk.recipe b/recipes/metro_uk.recipe deleted file mode 100644 index 22b02b9583..0000000000 --- a/recipes/metro_uk.recipe +++ /dev/null @@ -1,62 +0,0 @@ -from __future__ import print_function - -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1390146870(BasicNewsRecipe): - title = u'Metro UK' - language = 'en_GB' - __author__ = 'D Asbury' - # 20.6.2015 rss using feed 43 - D Asbury - # item repeatable string =

{%}

- oldest_article = 1 - max_articles_per_feed = 10 - scale_news_images_to_device = True - compress_news_images = True - compress_news_images_max_size = 16 - ignore_duplicate_articles = {'title', 'url'} - masthead_url = 'http://cdn.images.dailyexpress.co.uk/img/page/express_logo.png' - auto_cleanup = True - no_stylesheets = True - cover_url = 'https://lh4.ggpht.com/aaKY88SbQyB-vK-pgjo22-QVi6dUnOt7aVsRueTU8Fg-zPwOdsDdOVElGM8O0BBDSIsuB9rciyc=w300' - masthead_url = 'http://s1.wp.com/wp-content/themes/vip/metrouk/img/branding/metro_logo_300x95.png?m=1363331170g' - - preprocess_regexps = [ - (re.compile(r'\| Metro News', re.IGNORECASE | re.DOTALL), lambda match: ''), - - ] - - feeds = [ - # 'http://metro.co.uk/news/uk/rss'), - (u'UK', 'http://feed43.com/5636207287684703.xml'), - (u'World News', 'http://feed43.com/4555301018714738.xml'), - (u'Weird', 'http://feed43.com/0483673464615441.xml'), - (u'Sport', 'http://feed43.com/4655536887165433.xml'), - (u'Entertainment', 'http://feed43.com/6342124113153248.xml'), - (u'Lifestyle', 'http://feed43.com/7603240345000555.xml'), - ] - -# starsons code - def parse_feeds(self): - feeds = BasicNewsRecipe.parse_feeds(self) - for feed in feeds: - for article in feed.articles[:]: - print('article.title is: ', article.title) - if 'VIDEO:' in article.title.upper(): - feed.articles.remove(article) - - return feeds - - extra_css = ''' - h1{font-weight:bold;font-size:175%;} - h2{display: block;margin-left: auto;margin-right: auto;width:125%;font-weight:bold;font-size:150%;} - #p{font-size:14px;} - #body{font-size:14px;} - .figcaption {display: block;margin-left: auto;margin-right: auto;width:100%;font-size:40%;} - .alignnone{display: block;margin-left: auto;margin-right: auto;width:100%;font-size:40%;} - .publish-info {font-size:50%;} - .aligncenter{display: block;margin-left: auto;margin-right: auto;width:100%;} - ''' diff --git a/recipes/metropol_tv.recipe b/recipes/metropol_tv.recipe deleted file mode 100644 index 6a2d6e9b88..0000000000 --- a/recipes/metropol_tv.recipe +++ /dev/null @@ -1,29 +0,0 @@ -# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -from __future__ import unicode_literals - -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class metropolRecipe(BasicNewsRecipe): - __author__ = 'bubak' - title = u'Metropol TV' - publisher = u'' - description = 'metropol.cz' - oldest_article = 1 - max_articles_per_feed = 20 - use_embedded_content = False - - feeds = [ - (u'Metropolcv.cz', u'http://www.metropol.cz/rss/') - ] - - language = 'cs' - cover_url = 'http://www.metropol.cz/public/css/../images/logo/metropoltv.png' - remove_javascript = True - no_stylesheets = True - extra_css = """ - """ - - remove_attributes = [] - - keep_only_tags = [dict(name='div', attrs={'id': ['art-full']})] diff --git a/recipes/military_times.recipe b/recipes/military_times.recipe deleted file mode 100644 index c2e98cfbf5..0000000000 --- a/recipes/military_times.recipe +++ /dev/null @@ -1,39 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class MilitaryTimes(BasicNewsRecipe): - title = 'Military Times' - __author__ = 'jde' - __date__ = '16 May 2012' - __version__ = '1.0' - description = 'News of the U.S. Military' - language = 'en' - publisher = 'MilitaryTimes.com' - category = 'news, U.S. Military' - tags = 'news, U.S. Military' - cover_url = 'http://www.militarytimes.com/images/logo_militarytimes_landing-s.gif' - masthead_url = 'http://www.militarytimes.com/images/logo_militarytimes_landing-s.gif' - oldest_article = 7 # days - max_articles_per_feed = 25 - publication_type = 'newspaper' - no_stylesheets = True - use_embedded_content = False - encoding = None - recursions = 0 - needs_subscription = False - remove_javascript = True - remove_empty_feeds = True - auto_cleanup = True - - feeds = [ - - ('News', 'http://www.militarytimes.com/rss_news.php'), - ('Benefits', 'http://www.militarytimes.com/rss_benefits.php'), - ('Money', 'http://www.militarytimes.com/rss_money.php'), - ('Careers & Education', 'http://www.militarytimes.com/rss_careers.php'), - ('Community', 'http://www.militarytimes.com/rss_community.php'), - ('Off Duty', 'http://www.militarytimes.com/rss_off_duty.php'), - ('Entertainment', 'http://www.militarytimes.com/rss_entertainment.php'), - ('Guard & Reserve', 'http://www.militarytimes.com/rss_guard.php'), - - ] diff --git a/recipes/mlody_technik_pl.recipe b/recipes/mlody_technik_pl.recipe deleted file mode 100644 index 535f900ca8..0000000000 --- a/recipes/mlody_technik_pl.recipe +++ /dev/null @@ -1,38 +0,0 @@ -# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Mlody_technik(BasicNewsRecipe): - title = u'Młody technik' - __author__ = 'fenuks' - description = u'Młody technik' - category = 'science' - language = 'pl' - no_stylesheets = True - extra_css = 'img.alignleft {float: left; margin-right: 5px;}' - preprocess_regexps = [ - (re.compile(r"

Podobne

", re.IGNORECASE), lambda m: '')] - oldest_article = 7 - max_articles_per_feed = 100 - remove_empty_feeds = True - use_embedded_content = False - keep_only_tags = [dict(id='content')] - remove_tags = [dict(attrs={'class': 'st-related-posts'})] - remove_tags_after = dict(attrs={'class': 'entry-content clearfix'}) - feeds = [(u'Wszystko', u'http://www.mt.com.pl/feed'), - # (u'MT NEWS 24/7', u'http://www.mt.com.pl/kategoria/mt-newsy-24-7/feed'), - (u'Info zoom', u'http://www.mt.com.pl/kategoria/info-zoom/feed'), - (u'm.technik', u'http://www.mt.com.pl/kategoria/m-technik/feed'), - (u'Szkoła', u'http://www.mt.com.pl/kategoria/szkola-2/feed'), - (u'Na Warsztacie', u'http://www.mt.com.pl/kategoria/na-warsztacie/feed'), - (u'Z pasji do...', u'http://www.mt.com.pl/kategoria/z-pasji-do/feed'), - (u'MT testuje', u'http://www.mt.com.pl/kategoria/mt-testuje/feed')] - - def get_cover_url(self): - soup = self.index_to_soup('http://www.mt.com.pl/') - tag = soup.find(attrs={'class': 'xoxo'}) - if tag: - self.cover_url = tag.find('img')['src'] - return getattr(self, 'cover_url', self.cover_url) diff --git a/recipes/mobilenations.recipe b/recipes/mobilenations.recipe deleted file mode 100644 index d4a13af10f..0000000000 --- a/recipes/mobilenations.recipe +++ /dev/null @@ -1,18 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class HindustanTimes(BasicNewsRecipe): - title = u'Mobile Nations' - language = 'en' - __author__ = 'Krittika Goyal' - oldest_article = 1 # days - max_articles_per_feed = 25 - use_embedded_content = False - - no_stylesheets = True - auto_cleanup = True - - feeds = [ - ('News', - 'http://www.mobilenations.com/about?format=RSS'), - ] diff --git a/recipes/moldovaazi.recipe b/recipes/moldovaazi.recipe deleted file mode 100644 index 5629de19ef..0000000000 --- a/recipes/moldovaazi.recipe +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__license__ = 'GPL v3' -__copyright__ = u'2011, Silviu Cotoar\u0103' -''' -azi.md -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class MoldovaAzi(BasicNewsRecipe): - title = u'Moldova Azi' - language = 'ro' - __author__ = u'Silviu Cotoar\u0103' - description = u'Moldova pe internet' - publisher = 'Moldova Azi' - category = 'Ziare,Stiri,Moldova' - oldest_article = 5 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'utf-8' - remove_javascript = True - cover_url = 'http://www.azi.md/images/logo.gif' - - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher - } - - keep_only_tags = [dict(name='div', attrs={'id': 'in'}) - ] - - remove_tags = [ - dict(name='div', attrs={'class': 'in-more-stories'}) - ] - - remove_tags_after = [ - dict(name='div', attrs={'id': 'comment_wrapper'}), dict( - name='div', attrs={'class': 'box-title4'}) - ] - - feeds = [(u'\u0218tiri', u'http://www.azi.md/ro/feeds/0/rss201')] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/monbiot.recipe b/recipes/monbiot.recipe deleted file mode 100644 index 80c0e816f3..0000000000 --- a/recipes/monbiot.recipe +++ /dev/null @@ -1,41 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2012, Darko Miletic ' -''' -www.monbiot.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class GeorgeMonbiot(BasicNewsRecipe): - title = 'George Monbiot - blog' - __author__ = 'Darko Miletic' - description = 'Tell people something they know already and they will thank you for it. Tell people something new and they will hate you for it.' - publisher = 'George Monbiot' - category = 'news, politics, UK, World' - oldest_article = 15 - max_articles_per_feed = 200 - no_stylesheets = True - encoding = 'utf8' - use_embedded_content = False - language = 'en_GB' - remove_empty_feeds = True - publication_type = 'blog' - extra_css = """ - body{font-family: Arial,Helvetica,sans-serif } - img{margin-bottom: 0.4em; display:block} - """ - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - remove_tags = [ - dict(name=['meta', 'link']), - dict(attrs={'class': 'shareinpost'}), - dict(attrs={'id': 'paging'}) - ] - remove_attributes = ['lang'] - keep_only_tags = [dict(attrs={'id': 'content'})] - - feeds = [(u'Articles', u'http://www.monbiot.com/feed/atom/')] diff --git a/recipes/mondedurable.recipe b/recipes/mondedurable.recipe deleted file mode 100644 index 2e3c30bc2b..0000000000 --- a/recipes/mondedurable.recipe +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -mondedurable.science-et-vie.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdventureGamers(BasicNewsRecipe): - title = 'Monde durable' - language = 'fr' - - __author__ = 'Darko Miletic' - description = 'science news' - publisher = 'Monde durable' - category = 'environnement, developpement durable, science & vie, science et vie' - oldest_article = 30 - delay = 2 - max_articles_per_feed = 100 - no_stylesheets = True - auto_cleanup = True - encoding = 'utf-8' - remove_javascript = True - use_embedded_content = False - - html2lrf_options = [ - '--comment', description, '--category', category, '--publisher', publisher - ] - - html2epub_options = 'publisher="' + publisher + \ - '"\ncomments="' + description + '"\ntags="' + category + '"' - - feeds = [(u'Articles', u'http://mondedurable.science-et-vie.com/comments/feed/')] - - def preprocess_html(self, soup): - mtag = '' - soup.head.insert(0, mtag) - for item in soup.findAll(style=True): - del item['style'] - return soup diff --git a/recipes/money_pl.recipe b/recipes/money_pl.recipe deleted file mode 100644 index bc0275ef8e..0000000000 --- a/recipes/money_pl.recipe +++ /dev/null @@ -1,82 +0,0 @@ -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class FocusRecipe(BasicNewsRecipe): - __license__ = 'GPL v3' - __author__ = u'Artur Stachecki ' - language = 'pl' - version = 1 - - title = u'Money.pl' - category = u'News' - description = u'Informacje finansowe z kraju i ze świata. Aktualne i archiwalne: notowania giełdowe, kursy walut, wskaźniki gospodarcze.' - remove_empty_feeds = True - no_stylesheets = True - oldest_article = 1 - max_articles_per_feed = 100000 - recursions = 0 - - no_stylesheets = True - remove_javascript = True - - simultaneous_downloads = 2 - - r = re.compile( - r'.*(?Phttp:\/\/(www.money.pl)|(rss.feedsportal.com\/c)\/.*\.html?).*') - keep_only_tags = [] - keep_only_tags.append(dict(name='div', attrs={'class': 'artykul'})) - remove_tags = [dict(name='ul', attrs={'class': 'socialStuff'})] - - extra_css = ''' - body {font-family: Arial,Helvetica,sans-serif ;} - h1{text-align: left;} - h2{font-size: medium; font-weight: bold;} - p.lead {font-weight: bold; text-align: left;} - .authordate {font-size: small; color: #696969;} - .fot{font-size: x-small; color: #666666;} - ''' - - feeds = [ - ('Wiadomosci z kraju', 'http://money.pl.feedsportal.com/c/33900/f/612847/index.rss'), - ('Wiadomosci ze swiata', - 'http://money.pl.feedsportal.com/c/33900/f/612848/index.rss'), - ('Gospodarka', 'http://money.pl.feedsportal.com/c/33900/f/612849/index.rss'), - ('Waluty', 'http://money.pl.feedsportal.com/c/33900/f/612850/index.rss'), - ('Gielda', 'http://money.pl.feedsportal.com/c/33900/f/612851/index.rss'), - ('Banki', 'http://money.pl.feedsportal.com/c/33900/f/612852/index.rss'), - ('Fundusze', 'http://money.pl.feedsportal.com/c/33900/f/612853/index.rss'), - ('Emerytury', 'http://money.pl.feedsportal.com/c/33900/f/612854/index.rss'), - ('Podatki', 'http://money.pl.feedsportal.com/c/33900/f/612855/index.rss'), - ('Ubezpieczenia', - 'http://money.pl.feedsportal.com/c/33900/f/612856/index.rss'), - ('Poradniki', 'http://money.pl.feedsportal.com/c/33900/f/612857/index.rss'), - ('Raporty', 'http://money.pl.feedsportal.com/c/33900/f/612858/index.rss'), - ('Motoryzacja', 'http://money.pl.feedsportal.com/c/33900/f/612859/index.rss'), - ('Manager', 'http://money.pl.feedsportal.com/c/33900/f/612860/index.rss'), - ('Dla firm', 'http://money.pl.feedsportal.com/c/33900/f/612861/index.rss'), - ('Prawo', 'http://money.pl.feedsportal.com/c/33900/f/612862/index.rss'), - ('Nieruchomosci', - 'http://money.pl.feedsportal.com/c/33900/f/612863/index.rss'), - ('Praca', 'http://money.pl.feedsportal.com/c/33900/f/612864/index.rss'), - - - ] - - def print_version(self, url): - if url.count('money.pl.feedsportal.com'): - u = url.find('0Cartykul0C') - u = 'http://www.m.money.pl/wiadomosci/artykul/' + url[u + 21:] - u = u.replace('0C', '/') - u = u.replace('A', '') - u = u.replace('0E', '-') - u = u.replace('0P', ';') - u = u.replace('0H', ',') - u = u.replace('0B', '.') - u = u.replace(',0,', ',-1,') - u = u.replace( - '0Tutm0Isource0Frss0Gutm0Imedium0Frss0Gutm0Icampaign0Frss/story01.htm', '') - else: - u = url.replace('/nc/1', '/do-druku/1') - return u diff --git a/recipes/moneyro.recipe b/recipes/moneyro.recipe deleted file mode 100644 index fe22bddcac..0000000000 --- a/recipes/moneyro.recipe +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__license__ = 'GPL v3' -__copyright__ = u'2011, Silviu Cotoar\u0103' -''' -money.ro -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class MoneyRo(BasicNewsRecipe): - title = 'Money Ro' - __author__ = u'Silviu Cotoar\u0103' - description = u'\u0218tiri din Rom\u00e2nia' - publisher = 'MoneyRo' - oldest_article = 5 - language = 'ro' - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - category = 'Ziare,Stiri,Romania' - encoding = 'utf-8' - remove_javascript = True - cover_url = 'http://assets.moneyweb.ro/images/logo_money.jpg' - - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher - } - - keep_only_tags = [dict(name='div', attrs={'id': 'titluArticol'}), dict(name='img', attrs={'id': 'objImage'}), dict(name='div', attrs={'class': 'leftColumnArticle'}) # noqa - ] - - remove_tags_after = [dict(name='div', attrs={'id': 'articleTags'})] - - remove_tags = [dict(name='div', attrs={'id': 'ads'}), dict(name='div', attrs={'id': 'aus'}), dict(name='div', attrs={'id': 'bb-comment-create-form'}), dict(name='div', attrs={'id': 'articleTags'}), dict(name='div', attrs={'class': 'breadcrumb'}) # noqa - ] - - feeds = [ - (u'\u0218tiri', u'http://moneyro.feedsportal.com/c/32533/fe.ed/rss.money.ro/stiri.xml')] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/more_intelligent_life.recipe b/recipes/more_intelligent_life.recipe deleted file mode 100644 index f060df077a..0000000000 --- a/recipes/more_intelligent_life.recipe +++ /dev/null @@ -1,34 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2013 - 2015, Darko Miletic ' -''' -moreintelligentlife.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class MoreIntelligentLife(BasicNewsRecipe): - title = 'More Intelligent Life' - __author__ = 'Darko Miletic' - description = "More Intelligent Life (moreintelligentlife.com) is the online version of Intelligent Life, a lifestyle and culture magazine from The Economist. The website offers not only content from the print edition, trickled out over the course of its shelf-life, but also the Editors' Blog, which carries daily posts from the editorial team-quickfire observations and opinions that allow readers to eavesdrop on the conversation in the office." # noqa - publisher = 'The Economist Newspaper ltd' - category = 'arts,lifestyle,intelligent life,the economist,ideas,style,culture' - oldest_article = 60 - max_articles_per_feed = 200 - no_stylesheets = True - encoding = 'utf8' - use_embedded_content = False - language = 'en' - remove_empty_feeds = True - publication_type = 'website' - auto_cleanup = True - extra_css = """ - body{font-family: "DTL Fleischmann-Regular", serif} - img{margin-bottom: 0.4em; display:block} - """ - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - feeds = [(u'Articles', u'http://www.intelligentlifemagazine.com/rss/content')] diff --git a/recipes/movie_web.recipe b/recipes/movie_web.recipe deleted file mode 100644 index c9a2cb0318..0000000000 --- a/recipes/movie_web.recipe +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1716109041(BasicNewsRecipe): - title = 'MovieWeb' - description = ( - 'MovieWeb was one of the first digital publications to appear on the web.' - ' Covering the industry from our teams in NY, LA, and beyond, MovieWeb continues' - ' to be one of the most trusted movie and TV entertainment destinations for the connected generation.' - ' MovieWeb is the go-to for enthusiasts, providing the latest news on movie and TV castings and development,' - ' release dates, trailers, interviews, and more.') - __author__ = 'Spicy Poison' - encoding = 'utf-8' - use_embedded_content = False - masthead_url = 'https://www.valnetinc.com/images/brand/mw-logo-full-colored-dark.svg' - no_stylesheets = True - ignore_duplicate_articles = {'title', 'url'} - oldest_article = 30 - max_articles_per_feed = 100 - auto_cleanup = True - - feeds = [ - ('Trailers', 'https://movieweb.com/feed/trailers/'), - ('Movie News', 'https://movieweb.com/feed/movie-news/'), - ('TV News', 'https://movieweb.com/feed/tv-news/'), - ('Marvel Cinematic Universe News', 'https://movieweb.com/feed/mcu-news/'), - ('DC Universe News', 'https://movieweb.com/feed/tag/dcu-news/'), - ('Action', 'https://movieweb.com/feed/tag/action/'), - ('Comedy', 'https://movieweb.com/feed/tag/comedy/'), - ('Fantasy', 'https://movieweb.com/feed/tag/fantasy/'), - ('Horror', 'https://movieweb.com/feed/tag/horror/'), - ('Sci-Fi', 'https://movieweb.com/feed/tag/sci-fi/'), - ('Western', 'https://movieweb.com/feed/tag/western/'), - ('Apple TV+', 'https://movieweb.com/feed/tag/apple-tv-plus/'), - ('Criterion Collection', 'https://movieweb.com/feed/tag/criterion-collection/'), - ('Disney+', 'https://movieweb.com/feed/tag/disney-plus/'), - ('Hulu', 'https://movieweb.com/feed/tag/hulu/'), - ('HBO Max', 'https://movieweb.com/feed/tag/hbo-max/'), - ('Netflix', 'https://movieweb.com/feed/tag/netflix/'), - ('Paramount+', 'https://movieweb.com/feed/tag/paramount-plus/'), - ('Amazon Prime Video', 'https://movieweb.com/feed/tag/prime-video/'), - ('Shudder', 'https://movieweb.com/feed/tag/shudder/'), - ('Tubi', 'https://movieweb.com/feed/tag/tubi/'), - ('Features', 'https://movieweb.com/feed/features/'), - ('Movie Lists', 'https://movieweb.com/feed/movie-lists/'), - ('TV Lists', 'https://movieweb.com/feed/tv-lists/'), - ('Interviews', 'https://movieweb.com/feed/celebrity-interviews/'), - ('Movie and TV Reviews', 'https://movieweb.com/feed/movie-reviews/'), - ] diff --git a/recipes/msdnmag_en.recipe b/recipes/msdnmag_en.recipe deleted file mode 100644 index 3b0191f750..0000000000 --- a/recipes/msdnmag_en.recipe +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -msdn.microsoft.com/en-us/magazine -''' -from calibre.ebooks.BeautifulSoup import BeautifulSoup, BeautifulStoneSoup -from calibre.web.feeds.news import BasicNewsRecipe - - -class MSDNMagazine_en(BasicNewsRecipe): - title = 'MSDN Magazine' - __author__ = 'Darko Miletic' - description = 'The Microsoft Journal for Developers' - masthead_url = 'http://i3.msdn.microsoft.com/Platform/MasterPages/MsdnMagazine/smalllogo.png' - publisher = 'Microsoft Press' - category = 'news, IT, Microsoft, programming, windows' - oldest_article = 31 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'utf-8' - language = 'en' - - base_url = 'http://msdn.microsoft.com/en-us/magazine/default.aspx' - rss_url = 'http://msdn.microsoft.com/en-us/magazine/rss/default.aspx?z=z&iss=1' - - keep_only_tags = [dict(name='div', attrs={'id': 'MainContent'})] - - remove_tags = [ - dict(name='div', attrs={'class': 'DivRatingsOnly'}), dict( - name='div', attrs={'class': 'ShareThisButton4'}) - ] - - def find_articles(self): - idx_contents = self.browser.open(self.rss_url).read() - idx = BeautifulStoneSoup( - idx_contents, convertEntities=BeautifulStoneSoup.XML_ENTITIES) - - for article in idx.findAll('item'): - desc_html = self.tag_to_string(article.find('description')) - description = self.tag_to_string(BeautifulSoup(desc_html)) - - a = { - 'title': self.tag_to_string(article.find('title')), - 'url': self.tag_to_string(article.find('link')), - 'description': description, - 'date': self.tag_to_string(article.find('pubdate')), - } - yield a - - def parse_index(self): - soup = self.index_to_soup(self.base_url) - - # find issue name, eg "August 2011" - issue_name = self.tag_to_string(soup.find('h1')) - - # find cover pic - img = soup.find('img', attrs={'alt': issue_name}) - if img is not None: - self.cover_url = img['src'] - - return [(issue_name, list(self.find_articles()))] diff --git a/recipes/msnsankei.recipe b/recipes/msnsankei.recipe deleted file mode 100644 index ae9781c6a3..0000000000 --- a/recipes/msnsankei.recipe +++ /dev/null @@ -1,25 +0,0 @@ - -__license__ = 'GPL v3' -__copyright__ = '2010,2014, Hiroshi Miura ' -''' -sankei.jp.msn.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class MSNSankeiNewsProduct(BasicNewsRecipe): - title = u'MSN\u7523\u7d4c\u30cb\u30e5\u30fc\u30b9(\u65b0\u5546\u54c1)' - __author__ = 'Hiroshi Miura' - description = 'Products release from Japan' - oldest_article = 7 - max_articles_per_feed = 100 - encoding = 'utf-8' - language = 'ja' - cover_url = 'http://sankei.jp.msn.com/images/common/sankeShinbunLogo.jpg' - masthead_url = 'http://sankei.jp.msn.com/images/common/sankeiNewsLogo.gif' - - feeds = [(u'\u65b0\u5546\u54c1', - u'http://sankei.jp.msn.com/rss/news/release.xml')] - - keep_only_tags = [dict(id=['MainContent'])] diff --git a/recipes/nacionred.recipe b/recipes/nacionred.recipe deleted file mode 100644 index 5450c78197..0000000000 --- a/recipes/nacionred.recipe +++ /dev/null @@ -1,11 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1291022049(BasicNewsRecipe): - title = u'NacionRed.com' - oldest_article = 7 - max_articles_per_feed = 100 - language = 'es' - __author__ = 'Arturo Martinez Nieves' - - feeds = [(u'NacionRed.com', u'http://feeds.weblogssl.com/nacionred?format=xml')] diff --git a/recipes/nadacni_fond_proti_korupci.recipe b/recipes/nadacni_fond_proti_korupci.recipe deleted file mode 100644 index 8d841d316e..0000000000 --- a/recipes/nadacni_fond_proti_korupci.recipe +++ /dev/null @@ -1,29 +0,0 @@ -# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -from __future__ import unicode_literals - -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class nfpkRecipe(BasicNewsRecipe): - __author__ = 'bubak' - title = u'Nadační fond proti korupci' - publisher = u'' - description = 'nfpk.cz' - oldest_article = 7 - max_articles_per_feed = 20 - use_embedded_content = False - remove_empty_feeds = True - - feeds = [ - (u'Aktuality', u'http://feeds.feedburner.com/nfpk') - ] - - language = 'cs' - cover_url = 'http://www.nfpk.cz/_templates/nfpk/_images/logo.gif' - remove_javascript = True - no_stylesheets = True - extra_css = """ - """ - - remove_attributes = [] - keep_only_tags = [dict(name='div', attrs={'id': 'content'})] diff --git a/recipes/nation_ke.recipe b/recipes/nation_ke.recipe deleted file mode 100644 index e4fad18ea3..0000000000 --- a/recipes/nation_ke.recipe +++ /dev/null @@ -1,58 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, Hans Donner ' -''' -www.standardmedia.co.ke -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NationKeRecipe(BasicNewsRecipe): - - __author__ = 'Hans Donner' - - title = u'Sunday Nation' - description = 'News from Kenia' - language = 'en' - country = 'KE' - publication_type = 'newspaper' - publisher = 'nation.co.ke' - category = 'news, politics, Kenia' - - masthead_url = 'http://www.nation.co.ke/image/view/-/465228/medRes/33884/-/maxh/85/-/12e8pptz/-/Sunday_Logo.gif' - - max_articles_per_feed = 200 - oldest_article = 2 - - use_embedded_content = False - remove_empty_feeds = True - - no_stylesheets = True - extra_css = ' body{font-family: Verdana,Arial,Helvetica,sans-serif; font-size:0.7em } ' + \ - ' .image{margin-bottom: 1em} ' - - keep_only_tags = dict(id='articlebody') - - feeds = [(u'News', u'http://www.nation.co.ke/News/-/1056/1056/-/view/asFeed/-/14nfs48z/-/index.xml'), - (u'Business', u'http://www.nation.co.ke/business/-/996/996/-/view/asFeed/-/14lpkvc/-/index.xml'), - (u'InDepth', u'http://www.nation.co.ke/InDepth/-/452898/452898/-/view/asFeed/-/14ndbk6/-/index.xml'), - (u'Sports', u'http://www.nation.co.ke/sports/-/1090/1090/-/view/asFeed/-/hlukmj/-/index.xml'), - (u'Magazines', u'http://www.nation.co.ke/magazines/-/1190/1190/-/view/asFeed/-/fcxm6jz/-/index.xml'), - (u'Op/Ed', u'http://www.nation.co.ke/oped/-/1192/1192/-/view/asFeed/-/unsp8mz/-/index.xml'), - (u'Blogs', u'http://www.nation.co.ke/blogs/-/620/620/-/view/asFeed/-/28ia05z/-/index.xml')] - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - def print_version(self, url): - from calibre.ebooks.BeautifulSoup import BeautifulSoup - soup = BeautifulSoup(self.browser.open(url).read()) - printversion = soup.find('a', text='Print') - if printversion is None: - return url - else: - return 'http://www.nation.co.ke' + printversion.parent['href'] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/national_geographic_it.recipe b/recipes/national_geographic_it.recipe deleted file mode 100644 index b981252a95..0000000000 --- a/recipes/national_geographic_it.recipe +++ /dev/null @@ -1,18 +0,0 @@ -__version__ = 'v1.0' -__date__ = '5, May 2012' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1336226255(BasicNewsRecipe): - title = u'National Geographic' - __author__ = 'faber1971' - description = 'Science magazine' - language = 'it' - - oldest_article = 15 - max_articles_per_feed = 100 - auto_cleanup = True - remove_tags = [dict(name='div', attrs={'class': 'banner-abbonamenti'})] - feeds = [(u'National Geographic', - u'http://www.nationalgeographic.it/rss/all/rss2.0.xml')] diff --git a/recipes/nationalgeoro.recipe b/recipes/nationalgeoro.recipe deleted file mode 100644 index f0d14312df..0000000000 --- a/recipes/nationalgeoro.recipe +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__license__ = 'GPL v3' -__copyright__ = u'2011, Silviu Cotoar\u0103' -''' -natgeo.ro -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NationalGeoRo(BasicNewsRecipe): - title = u'National Geographic RO' - __author__ = u'Silviu Cotoar\u0103' - description = u'S\u0103 avem grij\u0103 de planet\u0103' - publisher = 'National Geographic' - oldest_article = 35 - language = 'ro' - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - category = 'Reviste' - encoding = 'utf-8' - cover_url = 'http://wiki.benecke.com/images/c/c4/NatGeographic_Logo.jpg' - - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher - } - - keep_only_tags = [ - dict(name='h2', attrs={'class': 'contentheading clearfix'}), dict( - name='div', attrs={'class': 'article-content'}) - - ] - - remove_tags = [ - dict(name='div', attrs={'class': ['phocagallery']}) - ] - - feeds = [ - (u'Feeds', u'http://www.natgeo.ro/index.php?format=feed&type=rss') - ] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/nationalreviewonline.recipe b/recipes/nationalreviewonline.recipe deleted file mode 100644 index 38ad5e3cf3..0000000000 --- a/recipes/nationalreviewonline.recipe +++ /dev/null @@ -1,49 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, Walt Anthony ' -''' -www.nationalreview.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NRO(BasicNewsRecipe): - title = u'National Review Online' - __author__ = 'Walt Anthony' - description = "National Review is America's most widely read and influential magazine and web site for Republican/conservative news, commentary, and opinion." # noqa - publisher = 'National Review, Inc.' - category = 'news, politics, USA' - oldest_article = 3 - max_articles_per_feed = 100 - summary_length = 150 - language = 'en' - encoding = 'utf-8' - use_embedded_content = True - remove_javascript = True - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - remove_tags = [ - dict(name=['embed', 'object', 'iframe']), - - ] - - feeds = [ - - (u'National Review', u'http://www.nationalreview.com/articles/feed'), - (u'The Corner', u'http://www.nationalreview.com/corner/feed'), - (u'The Agenda', u'http://www.nationalreview.com/agenda/feed'), - (u'Bench Memos', u'http://www.nationalreview.com/bench-memos/feed'), - (u'Campaign Spot', u'http://www.nationalreview.com/campaign-spot/feed'), - (u'Battle 10', u'http://www.nationalreview.com/battle10/feed'), - (u'Critical Care', u'http://www.nationalreview.com/critical-condition/feed'), - (u"Kudlow's Money Politic$", - u'http://www.nationalreview.com/kudlows-money-politics/feed'), - (u'Media Blog', u'http://www.nationalreview.com/media-blog/feed'), - (u'Exchequer', u'http://www.nationalreview.com/exchequer/feed'), - (u'Phi Beta Cons', u'http://www.nationalreview.com/phi-beta-cons/feed'), - (u'Planet Gore', u'http://www.nationalreview.com/planet-gore/feed') - - ]