Skip to content

Instantly share code, notes, and snippets.

@Konstantinusz
Last active May 6, 2021 16:22
Show Gist options
  • Save Konstantinusz/f6db235f9a43549f583199447c07f621 to your computer and use it in GitHub Desktop.
Save Konstantinusz/f6db235f9a43549f583199447c07f621 to your computer and use it in GitHub Desktop.
# 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