Modül:Solar eclipse
local p = {}local args = {}local data_module_prefix = "Modül:Solar eclipse/db/"local function ifnotempty(s,a,b)if (s and s ~= '') thenreturn aelsereturn bendendlocal function ifexist(page)if not page then return false endif mw.title.new(page).exists then return true endreturn falseendlocal function parsedate(y,m,d)local lang = mw.language.getContentLanguage()d = (tonumber(d) < 10) and ('0' .. tonumber(d)) or (d)m = (tonumber(m) < 10) and ('0' .. tonumber(m)) or (m)local success, result = pcall(lang.formatDate, lang, 'j F Y', y .. '-' .. m .. '-' .. d)return success and result or nilendlocal function parsecoord(frame, s)local lat = s:match('^%s*([%d][%d.]*)%s*[NS]%s*[%d][%d.]*[EW]%s*$')local NS = s:match('^%s*[%d][%d.]*%s*([NS])%s*[%d][%d.]*[EW]%s*$')local lon = s:match('^%s*[%d][%d.]*%s*[NS]%s*([%d][%d.]*)[EW]%s*$')local EW = s:match('^%s*[%d][%d.]*%s*[NS]%s*[%d][%d.]*([EW])%s*$')if( lat and NS and lon and EW ) thenreturn frame:expandTemplate{ title = 'coord', args = {lat, NS, lon, EW, 'type:landmark'} }elsereturn sendendlocal function parsekm(frame, s)if(s and s:match('^%s*[%d][%d.]*%s*$')) thenreturn frame:expandTemplate{ title = 'convert', args = {s, 'km', 'mi', abbr = 'on'} }elseif(s and s ~= '') thenreturn s .. ' km'elsereturn nilendendendlocal function parsetime(s)if(s and s ~= '') thenlocal min = s:match('^%s*(%d+)m%s*%d+s%s*$')local sec = s:match('^%s*%d+m%s*(%d+)s%s*$')if( min and sec ) thenreturn tostring(tonumber(min)*60 + tonumber(sec)) .. ' saniye' ..' (' .. min .. ' d ' .. sec .. ' s)'endendreturn sendlocal function cataloglink(c, y, m, d)y, m, d = tonumber(y), tonumber(m), tonumber(d)if tonumber(c) and y and m and d thend = (d < 10) and ('0' .. d) or dm = (m < 10) and ('0' .. m) or mreturn '[https://eclipse.gsfc.nasa.gov/SEsearch/SEdata.php?Ecl=+' .. y .. m .. d .. ' ' .. c .. ']'elsereturn cendendlocal function loadsolardb(frame, s)local yearstr = s:match('^%s*(%d%d%d%d)[A-Z][a-z][a-z]%d%d%s*$') or ''local function setarg(k, v)if(v and v ~= '') thenv = mw.ustring.gsub(v, '^%s*%-(%d)', '−%1')args[k] = vendendif( yearstr ~= '' ) thenlocal dbsubpage = math.floor( (tonumber(yearstr) - 1) / 50 ) * 5local dbpage = data_module_prefix .. tostring( dbsubpage )if (ifexist(dbpage)) thenlocal data = mw.loadData(dbpage)local dargs = data[s] or error('Hata: Güneş tutulması bilgi kutusunda bilinmeyen tarih ' .. s .. ' ' , 0)setarg('date', parsedate(dargs['y'], dargs['m'] or dargs['m3'] or dargs['m2'], dargs['d'] or dargs['d2']))setarg('image', (dargs['Ph'] and dargs['Ph'] ~= '') and '[[Dosya:' .. dargs['Ph'] .. '|300px]]' or nil)setarg('caption', dargs['PhCap'])setarg('map', (dargs['Map'] and dargs['Map'] ~= '') and '[[Dosya:' .. dargs['Map'] .. '|300px]]' or nil)setarg('map_caption', 'Harita')setarg('type_ref', '')setarg('cat', cataloglink(dargs['Cat'], dargs['y'], dargs['m'] or dargs['m3'] or dargs['m2'], dargs['d'] or dargs['d2']) )setarg('nature', dargs['Ty'])setarg('gamma', dargs['Gam'])setarg('magnitude', dargs['Mag'])setarg('saros', dargs['Saros'] and '[[Güneş Sarosu ' .. dargs['Saros'] .. '|' .. dargs['Saros'] .. ']]')setarg('saros_sequence', dargs['Mem'])setarg('saros_total', dargs['Max'])setarg('max_eclipse_ref', '')setarg('duration', parsetime(dargs['Dur']))setarg('location', '')setarg('coords', parsecoord(frame,dargs['Loc']))setarg('max_width', parsekm(frame,dargs['Wid']))setarg('times_ref', '')setarg('start_partial', dargs['TiPB'])setarg('start_total', dargs['TiTB'])setarg('start_central', '')setarg('greatest_eclipse', dargs['TiG'])setarg('end_central', '')setarg('end_total', dargs['TiTE'])setarg('end_partial', dargs['TiPE'])endendendlocal function infobox(frame)local abovestr = ifnotempty(args['date'], (args['date'] or '') .. " Güneş tutulması","Kullanım talimatları için bkz. [[Şablon:Güneş tutulması bilgi kutusu]]")local bgcolor = args['background'] or args['bgcolour'] or ''local mapstr = ifnotempty(args['map'],"<div style='padding-bottom:0.5em;'>" ..(args['map'] or '') .. ifnotempty(args['map_caption'],"<div style='line-height:1.2em; padding-top:0.1em;'>" ..(args['map_caption'] or '') .. "</div>", '') .. '</div>')return frame:expandTemplate{ title = 'infobox', args = {["gövdesınıfı"] = "vevent",["gövdebiçimi"] = "width:25em; text-align:left; font-size:88%;",["üst"] = abovestr,["üstsınıf"] = "summary",["üstbiçim"] = "padding-bottom:0.25em; background:" .. bgcolor .. "; line-height:1.2em; text-align:center; font-size:115%;",------------------ Images and maps ------------------["resim"] = args['image'] or '',["resimbiçimi"] = "padding-bottom:0.5em;",["altyazı"] = args['caption'] or '',["başlıkbiçimi"] = "background:#eee; font-size:105%;",["veri1"] = mapstr,------------- Tutulmanın türü ve saros -------------["başlık2"] = "Tutulmanın türü" .. (args['type_ref'] or ''),["etiket3"] = "Tür",["veri3"] = args['nature'] or '',["etiket4"] = "[[Gama (tutulma)|Gama]]",["veri4"] = args['gamma'] or '',["etiket5"] = "[[Tutulma büyüklüğü|Büyüklük]]",["veri5"] = args['magnitude'] or '',------------------ Maksimum tutulma ------------------["başlık7"] = "Maksimum tutulma" .. (args['max_eclipse_ref'] or ''),["etiket8"] = "Süre",["veri8"] = args['duration'] or '',["etiket9"] = "Yer",["veri9"] = args['location'] or '',["sınıf9"] = "location",["etiket10"] = "Koordinatlar",["veri10"] = args['coords'] or '',["etiket11"] = "Maks. kuşak genişliği",["veri11"] = args['max_width'] or '',----------------------- Zaman -----------------------["başlık12"] = "Zaman ([[UTC]])" .. (args['times_ref'] or ''),["etiket13"] = "(P1) Parçalı tutulmanın başlangıcı",["veri13"] = args['start_partial'] or '',["etiket14"] = "(U1) Tam tutulmanın başlangıcı",["veri14"] = args['start_total'] or '',["etiket15"] = "(U2) Merkezi tutulmanın başlangıcı",["veri15"] = args['start_central'] or '',["etiket16"] = "En büyük tutulma",["veri16"] = args['greatest_eclipse'] or '',["etiket17"] = "(U3) Merkezi tutulmanın sonu",["veri17"] = args['end_central'] or '',["etiket18"] = "(U4) Tam tutulmanın sonu",["veri18"] = args['end_total'] or '',["etiket19"] = "(P4) Parçalı tutulmanın sonu",["veri19"] = args['end_partial'] or '',------------------------ Event references -------------------------["başlık20"] = "Kaynaklar",["etiket21"] = "[[Saros döngüsü|Saros]]",["veri21"] = (args['saros'] or '').. " (" .. (args['saros_sequence'] or '') .. " - " .. (args['saros_total'] or '') .. ")",["etiket22"] = "Katalog # (SE5000)",["veri22"] = args['cat'] or '',} }endfunction p.box(frame)args = require('Modül:Bağımsız değişkenler').getArgs(frame, {wrappers = 'Şablon:Güneş tutulması bilgi kutusu'})if( args['2'] and args['2'] ~= '') thenloadsolardb(frame,args['2'])elseif( args['1'] and args['1'] ~= '') thenloadsolardb(frame,args['1'])endreturn infobox(frame)endreturn p
🔥 Top keywords: AnasayfaKobani OlaylarıYeni KaledonyaÖzel:Ara2024 FIVB Voleybol Kadınlar Milletler LigiAziz YıldırımSelahattin DemirtaşFIVB Dünya SıralamasıFigen YüksekdağYasin Börü'nün öldürülmesiHurûfilikSüper Lig şampiyonları listesiAziz Sancar19 Mayıs Atatürk'ü Anma, Gençlik ve Spor BayramıAhmet Türk28 Şubat SüreciTürkiyeÇevik BirII. MehmedFethi Şahin ve Sefter Taş'ın yakılmasıTürkiye kadın millî voleybol takımıJosé MourinhoJön TürklerSurvivor 2024: All StarAyten GökçerMustafa Kemal AtatürkAbdullah ÖcalanMelissa VargasHPV aşısıOsmanlı padişahları listesiÜlkeler listesiSırrı Süreyya ÖnderKobaniVikipedi:Vikibahar 2024Gibi bölümleri listesiI. KleopatraÖtanazi28 Şubat davasıOsmanlı İmparatorluğu