From: Isidor Zeuner Date: Sat, 3 Apr 2021 16:02:07 +0000 (+0200) Subject: configure and apply time intervals for all weekdays X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=4d0fb07067f6da183a2ba2a74d35e81b11f776a9;p=lmz_opening_hours.git configure and apply time intervals for all weekdays --- diff --git a/init.lua b/init.lua index bf3deba..85d91c2 100644 --- a/init.lua +++ b/init.lua @@ -47,11 +47,6 @@ local function get_date_formated() return os.date("%d.%m.%y") end -local function is_weekend() - local d = os.date("%w") - return d == "0" or d == "6" -end - local function upgrade_configuration(old) local new = { version = 2, @@ -118,10 +113,9 @@ local function opening_today() local day_key if exception and exception == get_date_formated() then day_key = "exception" - elseif is_weekend() then - day_key = "day0" else - day_key = "day1" + local d = os.date("%w") + day_key = "day" .. d end return { start_hour = opening_hours[day_key .. "_start_hour"], @@ -192,16 +186,45 @@ local function show_gui(name) local inline_off = 0.2427394885132 local lab_close_y = 6.3935847420893 local fld_close_y = lab_close_y + 0.2427394885132 - local lab_day1_x = 0.1 local pre_colon_off = 0.4 - local fld_day1_f_hour_x = 0.64 local minute_off = 0.04 local to_off = 1.24 + local day_off = 3.6 + local lab_day1_x = 0.1 + local fld_day1_f_hour_x = 0.64 local fld_day1_f_minute_x = fld_day1_f_hour_x + fld_w - minute_off local lab_day1_f_colon_x = fld_day1_f_minute_x - pre_colon_off local fld_day1_t_hour_x = lab_day1_f_colon_x + to_off local fld_day1_t_minute_x = fld_day1_t_hour_x + fld_w - minute_off local lab_day1_t_colon_x = fld_day1_t_minute_x - pre_colon_off + local lab_day2_x = lab_day1_x + day_off + local fld_day2_f_hour_x = fld_day1_f_hour_x + day_off + local fld_day2_f_minute_x = fld_day1_f_minute_x + day_off + local lab_day2_f_colon_x = lab_day1_f_colon_x + day_off + local fld_day2_t_hour_x = fld_day1_t_hour_x + day_off + local fld_day2_t_minute_x = fld_day1_t_minute_x + day_off + local lab_day2_t_colon_x = lab_day1_t_colon_x + day_off + local lab_day3_x = lab_day2_x + day_off + local fld_day3_f_hour_x = fld_day2_f_hour_x + day_off + local fld_day3_f_minute_x = fld_day2_f_minute_x + day_off + local lab_day3_f_colon_x = lab_day2_f_colon_x + day_off + local fld_day3_t_hour_x = fld_day2_t_hour_x + day_off + local fld_day3_t_minute_x = fld_day2_t_minute_x + day_off + local lab_day3_t_colon_x = lab_day2_t_colon_x + day_off + local lab_day4_x = lab_day3_x + day_off + local fld_day4_f_hour_x = fld_day3_f_hour_x + day_off + local fld_day4_f_minute_x = fld_day3_f_minute_x + day_off + local lab_day4_f_colon_x = lab_day3_f_colon_x + day_off + local fld_day4_t_hour_x = fld_day3_t_hour_x + day_off + local fld_day4_t_minute_x = fld_day3_t_minute_x + day_off + local lab_day4_t_colon_x = lab_day3_t_colon_x + day_off + local lab_day5_x = lab_day4_x + day_off + local fld_day5_f_hour_x = fld_day4_f_hour_x + day_off + local fld_day5_f_minute_x = fld_day4_f_minute_x + day_off + local lab_day5_f_colon_x = lab_day4_f_colon_x + day_off + local fld_day5_t_hour_x = fld_day4_t_hour_x + day_off + local fld_day5_t_minute_x = fld_day4_t_minute_x + day_off + local lab_day5_t_colon_x = lab_day4_t_colon_x + day_off local below_off = 1.1530125704378 local lab_b_y = 0.28175119202427 local fld_b_y = lab_b_y + below_off @@ -213,25 +236,71 @@ local function show_gui(name) local fld_e_y = lab_e_y + below_off local lab_e_colon_y = fld_e_y - inline_off local o = opening_hours - local formspec = "size[10.01,7.9267895878525]" - .. "label[-0.14,-0.23840485478977;Öffnungszeiten]" - .. "label[" .. lab_day1_x .. "," .. lab_b_y .. ";Mo.-Fr.]" + local formspec_day1 = "" + .. "label[" .. lab_day1_x .. "," .. lab_b_y .. ";Mo.]" .. "field[" .. fld_day1_f_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day1_start_hour;von;" .. string.format("%02d", o.day1_start_hour) .. "]" .. "label[" .. lab_day1_f_colon_x .. "," .. lab_b_colon_y .. ";:]" .. "field[" .. fld_day1_f_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day1_start_minute;;" .. string.format("%02d", o.day1_start_minute) .. "]" .. "field[" .. fld_day1_t_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day1_end_hour;bis;" .. string.format("%02d", o.day1_end_hour) .. "]" .. "label[" .. lab_day1_t_colon_x .. "," .. lab_b_colon_y .. ";:]" .. "field[" .. fld_day1_t_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day1_end_minute;;" .. string.format("%02d", o.day1_end_minute) .. "]" - .. "label[" .. lab_day1_x .. "," .. lab_w_y .. ";Sa.-So.]" - .. "field[" .. fld_day1_f_hour_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_start_hour;von;" .. string.format("%02d", o.day0_start_hour) .. "]" + local formspec_day2 = "" + .. "label[" .. lab_day2_x .. "," .. lab_b_y .. ";Di.]" + .. "field[" .. fld_day2_f_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day2_start_hour;von;" .. string.format("%02d", o.day2_start_hour) .. "]" + .. "label[" .. lab_day2_f_colon_x .. "," .. lab_b_colon_y .. ";:]" + .. "field[" .. fld_day2_f_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day2_start_minute;;" .. string.format("%02d", o.day2_start_minute) .. "]" + .. "field[" .. fld_day2_t_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day2_end_hour;bis;" .. string.format("%02d", o.day2_end_hour) .. "]" + .. "label[" .. lab_day2_t_colon_x .. "," .. lab_b_colon_y .. ";:]" + .. "field[" .. fld_day2_t_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day2_end_minute;;" .. string.format("%02d", o.day2_end_minute) .. "]" + local formspec_day3 = "" + .. "label[" .. lab_day3_x .. "," .. lab_b_y .. ";Mi.]" + .. "field[" .. fld_day3_f_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day3_start_hour;von;" .. string.format("%02d", o.day3_start_hour) .. "]" + .. "label[" .. lab_day3_f_colon_x .. "," .. lab_b_colon_y .. ";:]" + .. "field[" .. fld_day3_f_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day3_start_minute;;" .. string.format("%02d", o.day3_start_minute) .. "]" + .. "field[" .. fld_day3_t_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day3_end_hour;bis;" .. string.format("%02d", o.day3_end_hour) .. "]" + .. "label[" .. lab_day3_t_colon_x .. "," .. lab_b_colon_y .. ";:]" + .. "field[" .. fld_day3_t_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day3_end_minute;;" .. string.format("%02d", o.day3_end_minute) .. "]" + local formspec_day4 = "" + .. "label[" .. lab_day4_x .. "," .. lab_b_y .. ";Do.]" + .. "field[" .. fld_day4_f_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day4_start_hour;von;" .. string.format("%02d", o.day4_start_hour) .. "]" + .. "label[" .. lab_day4_f_colon_x .. "," .. lab_b_colon_y .. ";:]" + .. "field[" .. fld_day4_f_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day4_start_minute;;" .. string.format("%02d", o.day4_start_minute) .. "]" + .. "field[" .. fld_day4_t_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day4_end_hour;bis;" .. string.format("%02d", o.day4_end_hour) .. "]" + .. "label[" .. lab_day4_t_colon_x .. "," .. lab_b_colon_y .. ";:]" + .. "field[" .. fld_day4_t_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day4_end_minute;;" .. string.format("%02d", o.day4_end_minute) .. "]" + local formspec_day5 = "" + .. "label[" .. lab_day5_x .. "," .. lab_b_y .. ";Fr.]" + .. "field[" .. fld_day5_f_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day5_start_hour;von;" .. string.format("%02d", o.day5_start_hour) .. "]" + .. "label[" .. lab_day5_f_colon_x .. "," .. lab_b_colon_y .. ";:]" + .. "field[" .. fld_day5_f_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day5_start_minute;;" .. string.format("%02d", o.day5_start_minute) .. "]" + .. "field[" .. fld_day5_t_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day5_end_hour;bis;" .. string.format("%02d", o.day5_end_hour) .. "]" + .. "label[" .. lab_day5_t_colon_x .. "," .. lab_b_colon_y .. ";:]" + .. "field[" .. fld_day5_t_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day5_end_minute;;" .. string.format("%02d", o.day5_end_minute) .. "]" + local formspec_business_days = "" + .. formspec_day1 + .. formspec_day2 + .. formspec_day3 + .. formspec_day4 + .. formspec_day5 + local formspec_day6 = "" + .. "label[" .. lab_day1_x .. "," .. lab_w_y .. ";Sa.]" + .. "field[" .. fld_day1_f_hour_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day6_start_hour;von;" .. string.format("%02d", o.day6_start_hour) .. "]" .. "label[" .. lab_day1_f_colon_x .. "," .. lab_w_colon_y .. ";:]" - .. "field[" .. fld_day1_f_minute_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_start_minute;;" .. string.format("%02d", o.day0_start_minute) .. "]" - .. "field[" .. fld_day1_t_hour_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_end_hour;bis;" .. string.format("%02d", o.day0_end_hour) .. "]" + .. "field[" .. fld_day1_f_minute_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day6_start_minute;;" .. string.format("%02d", o.day6_start_minute) .. "]" + .. "field[" .. fld_day1_t_hour_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day6_end_hour;bis;" .. string.format("%02d", o.day6_end_hour) .. "]" .. "label[" .. lab_day1_t_colon_x .. "," .. lab_w_colon_y .. ";:]" - .. "field[" .. fld_day1_t_minute_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_end_minute;;" .. string.format("%02d", o.day0_end_minute) .. "]" - .. "label[" .. lab_day1_x .. "," .. lab_e_y .. ";Heute]" - .. (o.exception_today + .. "field[" .. fld_day1_t_minute_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day6_end_minute;;" .. string.format("%02d", o.day6_end_minute) .. "]" + local formspec_day0 = "" + .. "label[" .. lab_day2_x .. "," .. lab_w_y .. ";So.]" + .. "field[" .. fld_day2_f_hour_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_start_hour;von;" .. string.format("%02d", o.day0_start_hour) .. "]" + .. "label[" .. lab_day2_f_colon_x .. "," .. lab_w_colon_y .. ";:]" + .. "field[" .. fld_day2_f_minute_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_start_minute;;" .. string.format("%02d", o.day0_start_minute) .. "]" + .. "field[" .. fld_day2_t_hour_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_end_hour;bis;" .. string.format("%02d", o.day0_end_hour) .. "]" + .. "label[" .. lab_day2_t_colon_x .. "," .. lab_w_colon_y .. ";:]" + .. "field[" .. fld_day2_t_minute_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_end_minute;;" .. string.format("%02d", o.day0_end_minute) .. "]" + local formspec_exception = (o.exception_today and "" + .. "label[" .. lab_day1_x .. "," .. lab_e_y .. ";Heute]" .. "field[" .. fld_day1_f_hour_x .. "," .. fld_e_y .. ";" .. fld_sz .. ";fld_exception_start_hour;von;" .. string.format("%02d", o.exception_start_hour) .. "]" .. "label[" .. lab_day1_f_colon_x .. "," .. lab_e_colon_y .. ";:]" .. "field[" .. fld_day1_f_minute_x .. "," .. fld_e_y .. ";" .. fld_sz .. ";fld_exception_start_minute;;" .. string.format("%02d", o.exception_start_minute) .. "]" @@ -240,6 +309,12 @@ local function show_gui(name) .. "field[" .. fld_day1_t_minute_x .. "," .. fld_e_y .. ";" .. fld_sz .. ";fld_exception_end_minute;;" .. string.format("%02d", o.exception_end_minute) .. "]" or "image_button[0.34,4.5296922410056;4.205,0.7835;;add_exception;Ausnahmeregelung hinzufügen]" ) + local formspec = "size[18.01,7.9267895878525]" + .. "label[-0.14,-0.23840485478977;Öffnungszeiten]" + .. formspec_business_days + .. formspec_day6 + .. formspec_day0 + .. formspec_exception .. "label[" .. lab_day1_x .. ",5.4833116601647;Einstellungen]" .. "label[0.34," .. lab_close_y .. ";Spieler ]" .. "field[1.6," .. fld_close_y .. ";" .. fld_sz .. ";fld_warn_offset;;" .. o.warn_offset .. "]"