diff options
author | href <href@random.sh> | 2021-09-07 05:28:50 +0200 |
---|---|---|
committer | href <href@random.sh> | 2021-09-07 05:28:50 +0200 |
commit | 66ac61ef8278c4941500267bd213104843f1cdb1 (patch) | |
tree | e684913a8d564eda07c63bf4e900377a871b8205 /lib | |
parent | update assets (diff) |
alcoolog: fix ets
Diffstat (limited to '')
-rw-r--r-- | lib/lsg_irc/alcolog_plugin.ex | 9 | ||||
-rw-r--r-- | lib/lsg_irc/link_plugin/redacted.ex | 18 |
2 files changed, 27 insertions, 0 deletions
diff --git a/lib/lsg_irc/alcolog_plugin.ex b/lib/lsg_irc/alcolog_plugin.ex index 8360b3c..1fc67f0 100644 --- a/lib/lsg_irc/alcolog_plugin.ex +++ b/lib/lsg_irc/alcolog_plugin.ex @@ -64,6 +64,15 @@ defmodule LSG.IRC.AlcoologPlugin do ets = :ets.new(__MODULE__.ETS, [:ordered_set, :named_table, :protected, {:read_concurrency, true}]) dets_meta_filename = (LSG.data_path() <> "/" <> "alcoolisme_meta.dets") |> String.to_charlist {:ok, meta} = :dets.open_file(dets_meta_filename, [{:type,:set}]) + traverse_fun = fn(obj, dets) -> + case obj do + object = {nick, date, volumes, active, cl, deg, name, comment, meta} -> + :ets.insert(ets, {{nick, date}, volumes, active, cl, deg, name, comment, meta}) + dets + end + dets + end + :dets.foldl(traverse_fun, dets, dets) state = %{dets: dets, meta: meta, ets: ets} {:ok, state} end diff --git a/lib/lsg_irc/link_plugin/redacted.ex b/lib/lsg_irc/link_plugin/redacted.ex new file mode 100644 index 0000000..2e92b4a --- /dev/null +++ b/lib/lsg_irc/link_plugin/redacted.ex @@ -0,0 +1,18 @@ +defmodule LSG.IRC.LinkPlugin.Redacted do + @behaviour LSG.IRC.LinkPlugin + + @impl true + def match(uri = %URI{host: "redacted.ch", path: "/torrent.php", query: query = "id="<>id}, _opts) do + %{"id" => id} = URI.decode_query(id) + {true, %{torrent: id}} + end + + def match(_, _), do: false + + @impl true + def post_match(_, _, _, _), do: false + + def expand(_uri, %{torrent: id}, _opts) do + end + +end |