Add the action-type to distinguish the actions.

main
KKlochko 2 years ago
parent 5ca5765e01
commit 6d282e5ad4

@ -62,7 +62,12 @@
(contains? options :message-file))
(or (contains? options :encrypt)
(contains? options :decrypt)))
{:options options :arguments arguments}
(cond
(contains? options :encrypt)
{:options options :arguments arguments :action-type :encrypt}
(contains? options :decrypt)
{:options options :arguments arguments :action-type :decrypt})
:else
{:exit-message (usage summary)})))
@ -83,16 +88,15 @@
(file/read-file (:message-file options))))
(defn actions
[options arguments]
(println (str options arguments))
[options arguments action-type]
(let [message (get-message options arguments)
key (Integer/parseInt (:key options))
symbols "abc"]
symbols (:symbols options)]
(println
(cond
(contains? options :encrypt)
(= action-type :encrypt)
(caesar/encrypt-message message key symbols)
(contains? options :decrypt)
(= action-type :decrypt)
(caesar/decrypt-message message key symbols)))))

@ -5,8 +5,8 @@
(defn -main
[& args]
(let [{:keys [options arguments exit-message ok?]} (cli/validate-args args)]
(let [{:keys [options arguments action-type exit-message ok?]} (cli/validate-args args)]
(if exit-message
(cli/exit exit-message ok?)
(cli/actions options arguments))))
(cli/actions options arguments action-type))))

Loading…
Cancel
Save