Created
March 27, 2017 21:39
-
-
Save petersen-poul/90c3de4dcc7f0e7beff81dd7a6d987f7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "1-Click Dataset Prefer-it-All", | |
"description": "Given a source, creates a 1-click dataset and then marks all non-preferred field as preferred.", | |
"inputs": [ | |
{ | |
"name": "source", | |
"type": "source-id", | |
"description": "Source to process." | |
} | |
], | |
"outputs": [ | |
{ | |
"name": "dataset", | |
"type": "dataset-id", | |
"description": "The 1-click dataset with all fields marked as preferred." | |
} | |
] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; | |
; Given a source id or record, create a 1-click dataset and then | |
; mark every non-preferred field as preferred | |
; | |
(define (one-click-dataset-prefer-it-all source) | |
(let (dataset (create-and-wait-dataset source) | |
dataset-rec (fetch dataset) | |
field-ids (keys (get dataset-rec "fields")) | |
update-map | |
(loop (ids field-ids update-map {}) | |
(if (= ids []) | |
update-map | |
(let (this (head ids) rest (tail ids)) | |
(if (= (get-in dataset-rec ["fields" this "preferred"]) | |
true) | |
(recur rest update-map) | |
(recur rest | |
(assoc update-map this {"preferred" true}))))))) | |
(update dataset {"fields" update-map}))) | |
(define dataset (one-click-dataset-prefer-it-all source)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment