(ns adventofcode2019.lib
[:require [clojure.string :as str]
- [clojure.java.io :as io]])
+ [clojure.java.io :as io]
+ [clojure.java.shell :refer [sh]]])
(defn get-list-from-file
([file-name]
([file-name split-regex]
(str/split (str/trim (slurp file-name)) split-regex)))
+(def parse-int
+ #(Integer/parseInt %))
+
(defmacro input-file []
(let [bottom-ns (last (str/split (str *ns*) #"\."))]
(str "resources/" bottom-ns)))
-(def parse-int
- #(Integer/parseInt %))
-
(def part1
#(println (str "Part 1: " %)))
(def part2
#(println (str "Part 2: " %)))
+
+;; FIXME: this is still broken but i give up for now
+; (defn --input-file [for-ns]
+; (let [bottom-ns (last (str/split for-ns #"\."))
+; input-url "https://adventofcode.com/2019/day/%d/input"
+; day-url (->> bottom-ns
+; (drop 3)
+; (str/join)
+; (parse-int)
+; (format input-url))
+; token (str/trim (slurp (io/resource "token")))
+; res-dir (-> (io/resource "token")
+; (.getPath)
+; (str/replace "token" bottom-ns))
+; cmd ["curl" "-s" "-b"
+; (format "\"session=%s\"" token)
+; day-url ">" res-dir]]
+; (if-let [input (io/resource bottom-ns)]
+; input
+; (do (apply sh cmd) nil))))
+
+; (defmacro input-file []
+; (--input-file (str *ns*)))