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

@ -5,8 +5,8 @@
(defn -main (defn -main
[& args] [& 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 (if exit-message
(cli/exit exit-message ok?) (cli/exit exit-message ok?)
(cli/actions options arguments)))) (cli/actions options arguments action-type))))

Loading…
Cancel
Save