001  (ns dog-and-duck.quack.picky.scratch
002    "Development scratchpad"
003    (:require [clojure.data.json :refer [read-str]]
004              [clojure.java.io :refer [file]]
005              [clojure.walk :refer [keywordize-keys]]
006              [dog-and-duck.quack.picky.distribution :refer [distribution]]
007              [dog-and-duck.quack.picky.objects :refer
008               [object-faults properties-faults]]
009              [dog-and-duck.quack.picky.utils :refer [concat-non-empty
010                                                      filter-severity]]))
011  
012  ;; (def files (filter
013  ;;             #(and (.isFile %) (.endsWith (.getName %) ".json"))
014  ;;             (file-seq (file "resources/activitystreams-test-documents"))))
015  
016  ;; (def r
017  ;;   (reduce
018  ;;    concat-non-empty
019  ;;    (map
020  ;;     #(try
021  ;;        (let [contents (read-str (slurp %))
022  ;;              faults (cond (map? contents) (filter-severity
023  ;;                                            (object-faults
024  ;;                                             (keywordize-keys contents))
025  ;;                                            :should)
026  ;;                         ;;   (coll? contents) (apply
027  ;;                         ;;                     concat-non-empty
028  ;;                         ;;                     (map (fn [obj]
029  ;;                         ;;                            (object-faults
030  ;;                         ;;                             (keywordize-keys obj)))
031  ;;                         ;;                          contents))
032  ;;                           )]
033  ;;          (map (fn [f] (assoc f :document (.getName %))) faults))
034  ;;        (catch Exception any
035  ;;          [(.getName %) (str "Exception "
036  ;;                             (.getName (.getClass any))
037  ;;                             ": "
038  ;;                             (.getMessage any))]))
039  ;;     (filter
040  ;;      #(and (.isFile %) (.endsWith (.getName %) ".json"))
041  ;;      (file-seq (file "resources/activitystreams-test-documents"))))))
042  
043  ;; (count (filter-severity (object-faults (keywordize-keys (read-str (slurp "resources/activitystreams-test-documents/vocabulary-ex189-jsonld.json")))) :critical))
044  
045  ;; (count (filter
046  ;;         #(and (.isFile %) (.endsWith (.getName %) ".json"))
047  ;;         (file-seq (file "resources/activitystreams-test-documents"))))
048  
049  ;; (count r)
050  ;; (last r)
051  ;; (clojure.pprint/pprint (last r))
052  
053  ;; (distribution :fault r)