Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
-- This file: -- http://anggtwu.net/LUA/LsQuadros1.lua.html -- http://anggtwu.net/LUA/LsQuadros1.lua -- (find-angg "LUA/LsQuadros1.lua") -- Author: Eduardo Ochs <eduardoochs@gmail.com> -- -- (defun e () (interactive) (find-angg "LUA/LsQuadros1.lua")) -- Supersedes: -- (find-angg "LUA/Caepro1.lua" "Quadros") -- (find-angg "LUA/Caepro1.lua" "Semestre") -- (find-angg "LUA/Caepro1.lua" "Sems-tests") -- «.VList» (to "VList") -- «.VList-tests» (to "VList-tests") -- «.LsQuadros» (to "LsQuadros") -- «.LsQuadros-tests» (to "LsQuadros-tests") -- «.AllQuadros» (to "AllQuadros") -- «.AllQuadros-tests» (to "AllQuadros-tests") -- «.LsQuadros1-cache.lua» (to "LsQuadros1-cache.lua") -- Based on: (find-angg "LUA/lua50init.lua" "mytostring") mytostringm = function (o) local mt = getmetatable(o) if mt and mt.__tostring then return tostring(o) end return mytostring(o) end -- __ ___ _ _ -- \ \ / / | (_)___| |_ -- \ \ / /| | | / __| __| -- \ V / | |___| \__ \ |_ -- \_/ |_____|_|___/\__| -- -- «VList» (to ".VList") -- Also here: (find-angg "LUA/lua50init.lua" "VList") VList = Class { type = "VList", __tostring = function (vl) return vl:tostring() end, __index = { tostring0 = function (vl) return mapconcat(mytostringm, vl, ',\n ') end, tostring = function (vl) return "VList{\n "..vl:tostring0().."\n}" end, }, } -- «VList-tests» (to ".VList-tests") --[[ * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile "LsQuadros1.lua" v = VList {2, 3.45, "foo"} = v = v:tostring() --]] -- _ ___ _ -- | | ___ / _ \ _ _ __ _ __| |_ __ ___ ___ -- | | / __| | | | | | |/ _` |/ _` | '__/ _ \/ __| -- | |___\__ \ |_| | |_| | (_| | (_| | | | (_) \__ \ -- |_____|___/\__\_\\__,_|\__,_|\__,_|_| \___/|___/ -- -- «LsQuadros» (to ".LsQuadros") LsQuadros = Class { type = "LsQuadros", from = function (dir) return LsQuadros {dir=dir} end, __tostring = function (lsq) return lsq:tostring() end, __index = { cmd = function (lsq) return format("cd ~/%s/; ls *.jpg", lsq.dir) end, run0 = function (lsq) return getoutput(lsq:cmd()) end, run = function (lsq) return VList(split((lsq:run0():gsub(".jpg", "")))) end, read = function (lsq) lsq.stems = lsq:run(); return lsq end, tostring = function (lsq) local fmt = 'LsQuadros {dir="%s", stems=%s}' return format(fmt, lsq.dir, tostring(lsq.stems)) end, }, } -- «LsQuadros-tests» (to ".LsQuadros-tests") --[==[ * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile "LsQuadros1.lua" lsq = LsQuadros.from "2022.1-C2" = lsq = lsq:run() = lsq:read() = lsq --]==] -- _ _ _ ___ _ -- / \ | | |/ _ \ _ _ __ _ __| |_ __ ___ ___ -- / _ \ | | | | | | | | |/ _` |/ _` | '__/ _ \/ __| -- / ___ \| | | |_| | |_| | (_| | (_| | | | (_) \__ \ -- /_/ \_\_|_|\__\_\\__,_|\__,_|\__,_|_| \___/|___/ -- -- «AllQuadros» (to ".AllQuadros") AllQuadros = Class { type = "AllQuadros", __index = { read = function (aq, dirs, verbose) aq.list = VList {} for _,dir in ipairs(dirs) do if verbose then print(dir) end table.insert(aq.list, LsQuadros.from(dir):read()) end return aq end, writefile = function (aq, fname) local prefix = "-- Generated by LsQuadros1.lua\nreturn " ee_writefile(fname, prefix..tostring(aq.list)) end, }, } AllQuadros.dirs = VList(split [[ 2019.1-C2 2019.1-C3 2019.2-C2 2019.2-C3 2022.1-C2 2022.1-C3 2022.2-C2 2022.2-C3 2022.2-C2 2022.2-C3 ]]) -- «AllQuadros-tests» (to ".AllQuadros-tests") -- «LsQuadros1-cache.lua» (to ".LsQuadros1-cache.lua") --[==[ * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile "LsQuadros1.lua" aq = AllQuadros {} = AllQuadros.dirs aq:read(AllQuadros.dirs, "verbose") = aq = aq.list * (find-sh0 "rm -fv LsQuadros1-cache.lua") aq:writefile "LsQuadros1-cache.lua" ** (find-fline "LsQuadros1-cache.lua") aq = AllQuadros {} aq.list = require "LsQuadros1-cache" aq.list = dofile "LsQuadros1-cache.lua" = aq.list --]==] --[[ * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) require "LsQuadros1" require "LsQuadros1-cache" aq = AllQuadros {} aq.list = require "LsQuadros1-cache" = aq.list --]] -- Local Variables: -- coding: utf-8-unix -- End: