summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorhref <href@random.sh>2021-09-07 05:28:50 +0200
committerhref <href@random.sh>2021-09-07 05:28:50 +0200
commit66ac61ef8278c4941500267bd213104843f1cdb1 (patch)
treee684913a8d564eda07c63bf4e900377a871b8205 /lib
parentupdate assets (diff)
alcoolog: fix ets
Diffstat (limited to '')
-rw-r--r--lib/lsg_irc/alcolog_plugin.ex9
-rw-r--r--lib/lsg_irc/link_plugin/redacted.ex18
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