         first
         (t/local-date-time bo-time-formatter)))
 
+(defn get-reply-user
+  [cols]
+  (let [user-url (utils/get-user-url   cols)
+        user-id  (utils/get-user-id    user-url)
+        username (utils/get-username   cols)]
+    (list
+      {:id   user-id
+       :name username
+       :url  user-url})))
+
 (defn get-thread-id
   [reply-url]
   (-> reply-url

      (Integer/parseInt)
      (/ 10)))

(defn get-parent-id
  [indent-level reply-levels]
  (if (= indent-level 0)
    nil
    (get reply-levels (dec indent-level))))

(defn rm-nil-bulb
  [reply]
  (if (nil? (:bulbs reply))
    (dissoc reply :bulbs)
    reply))

(defn rm-nil-parent-id
  [reply]
  (if (nil? (:parent-id reply))
    (dissoc reply :parent-id)
    reply))

(defn rm-nil-keys
  [reply]
  (-> reply
      (rm-nil-bulb)
      (rm-nil-parent-id)))

;(defn combine-users
;  [thread-data user bulb-users]
;  (let [users (:users thread-data)]
;    (-> users
;        (union (into #{} (list user)))
;        (union bulb-users))))
;
;(defn combine-replies
;  [thread-data reply]
;  (->> reply
;       (rm-nil-keys)
;       (list)
;       (into (:replies thread-data))))
;
;(defn update-thread-data
;  [thread-data replies users]
;  (-> thread-data
;      (assoc :replies replies)
;      (assoc :users   users)))

;(defn get-data-helper
;  [row]
;  (let [cols           (utils/get-cols       row)
;        reply-url      (get-reply-url        cols)
;        reply-id       (get-reply-id         reply-url)
;        reply-title    (get-reply-title      cols)
;        post-time      (get-reply-post-time  cols)
;        reply          {:id         reply-id}]))

(defn get-thread-data
  [row]

       (PhantomJSDriver.
         (doto (DesiredCapabilities.)
           (.setCapability "phantomjs.binary.path" phantomjs-path)
           (.setCapability "phantomjs.page.settings.loadImages" false)
           (.setCapability "takesScreenshot" false)))})))

(defn get-data
  ([url]
