From 178cb9aa422893db3ec5cebdfc991381b8bcf1cf Mon Sep 17 00:00:00 2001 From: href Date: Tue, 7 Sep 2021 15:32:34 +0200 Subject: alcoolog: time migration --- lib/lsg_irc/alcolog_plugin.ex | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lib/lsg_irc') diff --git a/lib/lsg_irc/alcolog_plugin.ex b/lib/lsg_irc/alcolog_plugin.ex index f00f7f4..8a7bcb9 100644 --- a/lib/lsg_irc/alcolog_plugin.ex +++ b/lib/lsg_irc/alcolog_plugin.ex @@ -66,14 +66,26 @@ defmodule LSG.IRC.AlcoologPlugin do {:ok, meta} = :dets.open_file(dets_meta_filename, [{:type,:set}]) traverse_fun = fn(obj, dets) -> case obj do + object = {nick, naive = %NaiveDateTime{}, volumes, active, cl, deg, name, comment, meta} -> + date = naive + |> DateTime.from_naive!("Etc/UTC") + |> DateTime.to_unix() + new = {nick, date, volumes, active, cl, deg, name, comment, Map.new()} + :dets.delete_object(dets, object) + :dets.insert(dets, new) + :ets.insert(ets, {{nick, date}, volumes, active, cl, deg, name, comment, Map.new()}) + dets + object = {nick, date, volumes, active, cl, deg, name, comment, meta} -> :ets.insert(ets, {{nick, date}, volumes, active, cl, deg, name, comment, meta}) dets + _ -> dets end end :dets.foldl(traverse_fun, dets, dets) + :dets.sync(dets) state = %{dets: dets, meta: meta, ets: ets} {:ok, state} end -- cgit v1.2.3