Skip to content

Commit a3c0bd9

Browse files
author
Bastien Guerry
committed
src/consolidate-datacodegouvfr.clj: Fix pso top setting
Also add --owners option to only handle owners.
1 parent 894f08e commit a3c0bd9

File tree

1 file changed

+32
-25
lines changed

1 file changed

+32
-25
lines changed

src/consolidate-datacodegouvfr.clj

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@
1313

1414
;; Define CLI options
1515
(def cli-options
16-
{:test {:desc "Testing?"
17-
:default nil}})
16+
{:test {:desc "Testing?"
17+
:default nil}
18+
:owners {:desc "Only handle owners"
19+
:default nil}})
1820

1921
;; Initialize atoms
2022
(def hosts (atom ()))
@@ -64,10 +66,13 @@
6466
(into {})))
6567

6668
;; Set hosts, owners, repositories and public forges
67-
(defn set-hosts! [test]
69+
(defn set-hosts! [opts]
6870
(log/info "Fetching hosts from" (:hosts urls))
6971
(let [res (or (fetch-json (:hosts urls)) ())]
70-
(reset! hosts (if test (take 1 res) res))))
72+
(reset! hosts
73+
(if (or (:test opts) (:owners opts))
74+
(take 1 res)
75+
res))))
7176

7277
(defn set-owners! []
7378
(doseq [{:keys [owners_url]} @hosts]
@@ -171,9 +176,9 @@
171176
annuaire-tops (fetch-annuaire-tops)]
172177
(doseq [[k v] (filter #(:pso_id (val %)) @owners)]
173178
(let [pso_id (:pso_id v)
174-
top_id (or (some (into #{} (keys annuaire-tops)) #{pso_id})
175-
(:top (get annuaire pso_id))
176-
pso_id)
179+
top_id (if (some #{pso_id} (into #{} (map name (keys annuaire-tops))))
180+
pso_id
181+
(:top (get annuaire pso_id)))
177182
top_id_name (:nom (get annuaire top_id))]
178183
(swap! owners update-in [k]
179184
conj {:pso_top_id top_id :pso_top_id_name top_id_name})))))
@@ -377,27 +382,29 @@
377382

378383
;; Main execution
379384
(defn -main [args]
380-
(let [{:keys [test]} (cli/parse-opts args {:spec cli-options})]
381-
(set-hosts! test)
385+
(let [{:keys [test owners] :as opts} (cli/parse-opts args {:spec cli-options})]
386+
(set-hosts! opts)
382387
(set-owners!)
383-
(set-repos!)
388+
(when-not owners (set-repos!))
384389
(set-public-sector-forges!)
385390
(update-owners!)
386-
(set-awesome!)
387-
(set-awesome-releases!)
388-
(update-awesome!)
391+
(when-not owners
392+
(set-awesome!)
393+
(set-awesome-releases!)
394+
(update-awesome!))
389395
(output-owners-json)
390-
(output-latest-owners-xml)
391-
(output-repositories-json)
392-
(output-latest-repositories-xml)
393-
(output-latest-releases-xml)
394-
(output-forges-csv)
395-
(output-stats-json)
396-
(output-awesome-json)
397-
(output-releases-json)
398-
(log/info "Hosts:" (count @hosts))
399-
(log/info "Owners:" (count @owners))
400-
(log/info "Repositories:" (count @repositories))
401-
(log/info "Forges:" (count @forges))))
396+
(when-not owners
397+
(output-latest-owners-xml)
398+
(output-repositories-json)
399+
(output-latest-repositories-xml)
400+
(output-latest-releases-xml)
401+
(output-forges-csv)
402+
(output-stats-json)
403+
(output-awesome-json)
404+
(output-releases-json)
405+
(log/info "Hosts:" (count @hosts))
406+
(log/info "Owners:" (count @owners))
407+
(log/info "Repositories:" (count @repositories))
408+
(log/info "Forges:" (count @forges)))))
402409

403410
(-main *command-line-args*)

0 commit comments

Comments
 (0)