Last active
May 6, 2021 16:22
-
-
Save Konstantinusz/f6db235f9a43549f583199447c07f621 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# unnepnap.rb | |
require "json" | |
nn=JSON.load(File.read(File.expand_path(File.dirname())+"/nevnapok.json")) | |
td=Time.now.to_s[5,5] | |
jj=[["01-01", "Újév"], ["01-06", "Vízkereszt, a farsang kezdete"], ["01-07", "Karácsony a keleti keresztény egyházakban"], ["01-08", "A világirodalom napja"], ["01-21", "A vallások világnapja"], ["01-22", "A magyar kultúra napja"], ["01-26", "Nemzetközi vámnap"], ["01-27", "A holokauszt nemzetközi emléknapja"], ["01-30", "A lepra elleni harc világnapja"], ["02-01", "A Tisza élővilágának emléknapja"], ["02-01", "A civilek napja"], ["02-01", "Választások világnapja"], ["02-02", "Szerzetesek világnapja, a vizes élőhelyek napja"], ["02-03", "Rejtvényfejtők világnapja"], ["02-04", "Rákellenes világnap"], ["02-06", "A magyar rádiótechnikai fegyvernem napja"], ["02-11", "Betegek világnapja"], ["02-13", "Budapest ostroma végének emléknapja"], ["02-14", "Valentin-nap"], ["02-14", "Szerelmesek napja, az epilepszia világnapja"], ["02-18", "A kínai újév kezdete"], ["02-21", "Hamvazószerda, az anyanyelv nemzetközi napja"], ["02-22", "Bűncselekmények áldozatainak napja"], ["02-24", "Idegenvezetői világnap"], ["02-25", "A kommunista diktatúrák áldozatainak emléknapja"], ["02-25", "A kommunista diktatúrák áldozatainak emléknapja"], ["02-29", "A fókák nemzetközi napja"], ["03-01", "Haditechnikai kutatók és fejlesztők napja"], ["03-01", "A polgári nemzetbiztonsági szolgálatok napja"], ["03-01", "A meteorológiai tavasz kezdete, a polgári védelem világnapja"], ["03-02", "Az ima világnapja"], ["03-03", "A békéért küzdő írók világnapja"], ["03-06", "Energiatakarékossági világnap"], ["03-08", "Nőnap"], ["03-08", "Nemzetközi nőnap"], ["03-14", "Nemzetközi pi nap, Gátellenes világnap"], ["03-15", "Az 1848-as forradalom ünnepe"], ["03-15", "A magyar sajtó napja"], ["03-15", "Fogyasztóvédelmi világnap"], ["03-22", "Fordítók és tolmácsolók napja"], ["03-22", "A víz világnapja"], ["03-23", "A magyar–lengyel barátság napja"], ["03-23", "Meteorológiai világnap"], ["03-24", "A tuberkulózis (tbc) elleni küzdelem világnapja"], ["03-25", "A magzatgyermek napja"], ["03-26", "Szent István vértanú ünnepe, a dokumentumszabadság világnapja"], ["03-27", "Színházi világnap"], ["04-01", "Bolondok napja"], ["04-02", "Szakszervezeti akciónap, gyermekkönyvek nemzetközi napja"], ["04-07", "Az egészség világnapja"], ["04-08", "Romák világnapja"], ["04-10", "Nemzeti rákellenes nap"], ["04-11", "A magyar költészet napja"], ["04-11", "A Parkinson-kór világnapja"], ["04-12", "Az űrhajózás világnapja"], ["04-14", "A könyvtárosok világnapja"], ["04-16", "A holokauszt áldozatainak emléknapja"], ["04-18", "Műemlékvédelmi világnap"], ["04-22", "A Föld napja"], ["04-23", "A könyv és a szerzői jogok világnapja"], ["04-24", "A rendőrség napja"], ["04-26", "A szellemi tulajdon világnapja"], ["04-28", "Halott és megrokkant dolgozók nemzetközi emléknapja"], ["04-29", "Nemzetközi táncnap"], ["04-30", "A méhek napja"], ["05-01", "A munka ünnepe (a munkavállalók szolidaritási napja)"], ["05-03", "A Nap napja, a nemzetközi sajtószabadság napja"], ["05-04", "Tűzoltók napja"], ["05-06", "A magyar sport napja"], ["05-08", "A Nemzetközi Vöröskereszt (és Vörös Félhold) napja, a méltányos kereskedelem (fair trade) világnapja, a második világháború befejeződésének emléknapja"], ["05-09", "Európa-nap (az Európai Unió ünnepe)"], ["05-10", "Mentők napja"], ["05-10", "Madarak és Fák Napja"], ["05-12", "Az ápolók nemzetközi napja"], ["05-15", "Az állat- és növényszeretet napja Magyarországon[forrás?]"], ["05-15", "A család nemzetközi napja, nemzetközi klímaváltozási akciónap"], ["05-17", "Az információs társadalom világnapja, homofóbia-ellenes világnap"], ["05-18", "A múzeumok nemzetközi napja, az Internet világnapja"], ["05-19", "Nemzetközi férfinap · a tömegtájékoztatás világnapja"], ["05-21", "A magyar honvédelem napja"], ["05-22", "A biológiai sokféleség nemzetközi napja"], ["05-24", "Európai nemzeti parkok napja"], ["05-25", "Afrika napja, Szent Orbán ünnepe"], ["05-30", "A Szent Jobb megtalálásának ünnepe"], ["05-31", "A nemdohányzók világnapja"], ["06-04", "A trianoni békeszerződés emléknapja"], ["06-04", "Az erőszak gyermekáldozatainak világnapja"], ["06-05", "Környezetvédelmi világnap"], ["06-08", "Az óceánok világnapja, Medárd napja"], ["06-10", "Az ügyészség napja"], ["06-12", "A gyermekmunka elleni világnap"], ["06-13", "Páduai Szent Antal ünnepe"], ["06-14", "Véradók világnapja"], ["06-16", "A megbékélés napja, a független Magyarország napja"], ["06-16", "Az afrikai gyermekek világnapja"], ["06-17", "A sivatagosodás és aszály elleni küzdelem világnapja"], ["06-20", "A menekültek világnapja"], ["06-21", "A zene ünnepe, litha"], ["06-23", "Olimpiai világnap, spamellenes világnap, nemzetközi SOS-gyermekfalvak napja, a közalkalmazottak napja"], ["06-24", "Keresztelő Szent János ünnepe (Szent Iván)"], ["06-25", "A barlangok napja[forrás?]"], ["06-26", "Kábítószer-ellenes világnap, a kínzás áldozatai támogatásának világnapja"], ["06-27", "A magyar határőrség napja"], ["06-29", "Szent Péter napja (Péter-Pál)"], ["06-29", "Szent Péter és Szent Pál napja (Péter-Pál napja), nemzetközi Duna nap"], ["06-30", "A magyar szabadság napja"], ["06-30", "A keresztény vértanúk emléknapja"], ["07-01", "Semmelweis-nap, a magyar egészségügy napja"], ["07-02", "Sarlós Boldogasszony ünnepe, a sportújságírók napja"], ["07-11", "Népesedési világnap"], ["07-15", "A bíróságok napja"], ["07-20", "A Hold napja"], ["08-01", "A forint születésnapja"], ["08-01", "Lughnasad, az anyatejes táplálás világnapja"], ["08-02", "A cigány holokauszt emléknapja"], ["08-06", "Jézus Krisztus színeváltozása, a nukleáris fegyverek betiltásáért folyó harc világnapja"], ["08-09", "Az állatkertek napja"], ["08-09", "A világ őslakosainak nemzetközi napja"], ["08-12", "A fiatalok világnapja"], ["08-13", "Balkezesek világnapja"], ["08-15", "Nagyboldogasszony napja, repülősök napja"], ["08-16", "A hontalan állatok világnapja"], ["08-20", "Az államalapítás ünnepe"], ["08-20", "Szent István ünnepe"], ["08-20", "Az új kenyér ünnepe"], ["08-23", "Emléknap a rabszolga-kereskedelemről és annak felszámolásáról"], ["08-29", "A magyar fotográfia napja"], ["08-30", "Az eltűntek világnapja"], ["09-01", "A második világháború emléknapja"], ["09-08", "A Büntetés-Végrehajtási Szervezet napja"], ["09-08", "Kisboldogasszony ünnepe (Szűz Mária születésnapja), az írástudatlanság elleni küzdelem nemzetközi napja, a fizioterápia világnapja"], ["09-10", "Az öngyilkosság megelőzésének világnapja"], ["09-13", "Epulum Iovis (római ünnep)"], ["09-14", "A keresztény egység napja"], ["09-15", "A demokrácia nemzetközi napja, a mozdonyvezetők napja"], ["09-16", "Az ózon világnapja, a hangzáskultúra napja"], ["09-20", "Európai kultúra napja, a gyermekek világnapja, biztosítási világnap"], ["09-21", "A magyar dráma ünnepe"], ["09-21", "ENSZ nemzetközi békenap, a hála világnapja, Alzheimer-világnap"], ["09-22", "Európai autómentes nap"], ["09-26", "Nyelvek európai napja, a tiszta hegyek napja"], ["09-27", "Turisztikai világnap"], ["09-30", "A népmese napja"], ["09-30", "A helyi önkormányzatok napja"], ["10-01", "A zene világnapja, az idősek világnapja"], ["10-02", "Az erőszakmentesség világnapja, a sztómások világnapja"], ["10-04", "Az állatok világnapja"], ["10-05", "Raoul Wallenberg-emléknap, pedagógusjogok világnapja"], ["10-06", "Az aradi vértanúk emléknapja."], ["10-09", "Postai világnap, Leif Eriksson Napja"], ["10-10", "A halálbüntetés elleni harc világnapja, a lelki egészség világnapja"], ["10-11", "Boldog XXIII János emléknapja"], ["10-12", "Kolumbusz napja"], ["10-14", "Szabványosítási világnap"], ["10-15", "A fehér bot (a vakok és gyengénlátók) nemzetközi napja, falusi nők világnapja"], ["10-16", "élelmezési világnap, a kenyér világnapja"], ["10-17", "A szegénység elleni küzdelem világnapja"], ["10-18", "A magyar festészet napja"], ["10-20", "A csontritkulás nemzetközi napja"], ["10-21", "Földünkért világnap"], ["10-22", "A dadogás elfogadásának nemzetközi világnapja"], ["10-23", "Az 1956-os forradalom ünnepe A 3 magyar köztársaság kikiáltásának napja"], ["10-24", "A magyar operett napja"], ["10-24", "Az ENSZ világnapja"], ["10-28", "Az animáció világnapja"], ["10-31", "A reformáció napja"], ["10-31", "őszirózsás forradalom"], ["10-31", "A reformáció emléknapja"], ["11-01", "Mindenszentek"], ["11-02", "Halottak napja"], ["11-03", "A magyar tudomány napja"], ["11-03", "A szociális munka napja"], ["11-04", "Az 1956-os forradalom leverésének emléknapja"], ["11-04", "Szent Imre ünnepe"], ["11-05", "Európai kereskedelmi nap"], ["11-06", "Nemzetközi nap a környezet háború és fegyveres konfliktus során történő kifosztásának megelőzéséért"], ["11-09", "Feltalálók napja, világszabadság napja"], ["11-10", "A tudomány világnapja a békéért és fejlődésért"], ["11-11", "Szent Márton napja (az újbor ünnepe), a katonai felderítők napja,az első világháború végének emléknapja"], ["11-12", "Minőségügyi világnap"], ["11-14", "A cukorbetegek világnapja"], ["11-15", "Feronia (római ünnep)"], ["11-16", "A tolerancia nemzetközi napja"], ["11-17", "Nemzetközi diáknap"], ["11-20", "A gyermekek jogainak világnapja, ifjú zenebarátok világnapja"], ["11-21", "A televíziózás nemzetközi napja"], ["11-22", "A magyar közoktatás napja"], ["11-25", "A magyar labdarúgás napja"], ["11-25", "A nők elleni erőszak megszüntetéséért világnap"], ["11-27", "A magyar véradók napja"], ["11-27", "A Nobel-díj alapításának napja"], ["12-01", "A magyar rádiózás napja"], ["12-01", "Az igazságtalanul bebörtönzöttek nemzetközi napja"], ["12-03", "Fogyatékos emberek nemzetközi napja"], ["12-04", "Bányásznap"], ["12-04", "Az ölelés napja"], ["12-06", "Szent Miklós püspök ünnepe"], ["12-09", "A labdarúgás világnapja"], ["12-10", "Emberi jogok napja"], ["12-14", "A megvilágosodás világnapja"], ["12-16", "A magyar kórusok napja"], ["12-18", "A kisebbségek napja"], ["12-24", "Szenteste"], ["12-25", "Karácsony"], ["12-26", "Karácsony"], ["12-29", "Canterburyi Szent Tamás ünnepe"], ["12-31", "Szilveszter"]] | |
n=td | |
m=jj.find{|a,b| a==n} | |
k=jj.find{|a,b| a>n}||jj.find{|a,b| a<n} | |
u=[m,k].compact.map{|a,b| [a+":",b.split.flat_map{|z| [z," "]}[0..-2]]}.flat_map{|z| [z,", "]}[0..-2].flatten | |
w="1rfiíjltIÍ ".chars.yield_self{|z| z.zip(Array.new(z.size){1.0})}.to_h | |
w.default=1.5 | |
nntd=nn.select{|k,v| v["n"][td]==1 && v["t"]==nil}.keys.sort_by{|z| z.chars.map{|q| w[q]}.sum}.reverse | |
nntd=[td+":"]+nntd.flat_map{|z| [z,", "]}[0..-2] | |
nntd=u+[", "]+nntd | |
ind=nntd.collect.with_index.find_index{|z,i| nntd[0..i].join.chars.map{|q| w[q]}.sum >=nntd.join.chars.map{|q| w[q]}.sum/2} | |
t=[nntd[0..ind],nntd[ind+1..-1]].map{|z| z.join("").strip}.join("\n") | |
puts t | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment