diff options
Diffstat (limited to 'lib/nola_plugins/txt_plugin')
-rw-r--r-- | lib/nola_plugins/txt_plugin/markov.ex | 9 | ||||
-rw-r--r-- | lib/nola_plugins/txt_plugin/markov_native.ex | 33 | ||||
-rw-r--r-- | lib/nola_plugins/txt_plugin/markov_py_markovify.ex | 39 |
3 files changed, 0 insertions, 81 deletions
diff --git a/lib/nola_plugins/txt_plugin/markov.ex b/lib/nola_plugins/txt_plugin/markov.ex deleted file mode 100644 index 2e30dfa..0000000 --- a/lib/nola_plugins/txt_plugin/markov.ex +++ /dev/null @@ -1,9 +0,0 @@ -defmodule Nola.IRC.TxtPlugin.Markov do - - @type state :: any() - @callback start_link() :: {:ok, state()} - @callback reload(content :: Map.t, state()) :: any() - @callback sentence(state()) :: {:ok, String.t} | {:error, String.t} - @callback complete_sentence(state()) :: {:ok, String.t} | {:error, String.t} - -end diff --git a/lib/nola_plugins/txt_plugin/markov_native.ex b/lib/nola_plugins/txt_plugin/markov_native.ex deleted file mode 100644 index 4c403c2..0000000 --- a/lib/nola_plugins/txt_plugin/markov_native.ex +++ /dev/null @@ -1,33 +0,0 @@ -defmodule Nola.IRC.TxtPlugin.MarkovNative do - @behaviour Nola.IRC.TxtPlugin.Markov - - def start_link() do - ExChain.MarkovModel.start_link() - end - - def reload(data, markov) do - data = data - |> Enum.map(fn({_, data}) -> - for {line, _idx} <- data, do: line - end) - |> List.flatten - - ExChain.MarkovModel.populate_model(markov, data) - :ok - end - - def sentence(markov) do - case ExChain.SentenceGenerator.create_filtered_sentence(markov) do - {:ok, line, _, _} -> {:ok, line} - error -> error - end - end - - def complete_sentence(sentence, markov) do - case ExChain.SentenceGenerator.complete_sentence(markov, sentence) do - {line, _} -> {:ok, line} - error -> error - end - end - -end diff --git a/lib/nola_plugins/txt_plugin/markov_py_markovify.ex b/lib/nola_plugins/txt_plugin/markov_py_markovify.ex deleted file mode 100644 index b610ea8..0000000 --- a/lib/nola_plugins/txt_plugin/markov_py_markovify.ex +++ /dev/null @@ -1,39 +0,0 @@ -defmodule Nola.IRC.TxtPlugin.MarkovPyMarkovify do - - def start_link() do - {:ok, nil} - end - - def reload(_data, _markov) do - :ok - end - - def sentence(_) do - {:ok, run()} - end - - def complete_sentence(sentence, _) do - {:ok, run([sentence])} - end - - defp run(args \\ []) do - {binary, script} = script() - args = [script, Path.expand(Nola.IRC.TxtPlugin.directory()) | args] - IO.puts "Args #{inspect args}" - case MuonTrap.cmd(binary, args) do - {response, 0} -> response - {response, code} -> "error #{code}: #{response}" - end - end - - defp script() do - default_script = to_string(:code.priv_dir(:nola)) <> "/irc/txt/markovify.py" - env = Application.get_env(:nola, Nola.IRC.TxtPlugin, []) - |> Keyword.get(:py_markovify, []) - - {Keyword.get(env, :python, "python3"), Keyword.get(env, :script, default_script)} - end - - - -end |