summaryrefslogtreecommitdiff
path: root/scripts/jq
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/jq')
-rw-r--r--scripts/jq/transform-creators.jq1
-rw-r--r--scripts/jq/transform-product-creators.jq6
-rw-r--r--scripts/jq/transform-products.jq11
3 files changed, 18 insertions, 0 deletions
diff --git a/scripts/jq/transform-creators.jq b/scripts/jq/transform-creators.jq
new file mode 100644
index 0000000..90b47d2
--- /dev/null
+++ b/scripts/jq/transform-creators.jq
@@ -0,0 +1 @@
+[.[].developers] | flatten | unique | .[] | "insert into creators (name) values ('\(. | gsub("'"; "''"))');"
diff --git a/scripts/jq/transform-product-creators.jq b/scripts/jq/transform-product-creators.jq
new file mode 100644
index 0000000..1a1bef7
--- /dev/null
+++ b/scripts/jq/transform-product-creators.jq
@@ -0,0 +1,6 @@
+.[] | select(has("steam_appid") and .type=="game") |
+ "insert into product_creators (creator, product, role) values (
+ (select id from creators where name = '\(.developers[0]? // "" | gsub("'"; "''"))'),
+ \(.steam_appid),
+ 0
+ );"
diff --git a/scripts/jq/transform-products.jq b/scripts/jq/transform-products.jq
new file mode 100644
index 0000000..48f51e7
--- /dev/null
+++ b/scripts/jq/transform-products.jq
@@ -0,0 +1,11 @@
+.[] | select(has("steam_appid") and .type=="game") |
+ "insert into products (id, engine, platforms, price, title, body, short, header) values (
+ \(.steam_appid),
+ 0,
+ 0,
+ \(.price_overview.final? // 0),
+ '\(.name? // "no-name" | gsub("'"; "''"))',
+ '\(.detailed_description? // "no-desc" | gsub("'"; "''"))',
+ '\(.short_description? // "no-short-desc" | gsub("'"; "''"))',
+ '\(.header_image? // "https://waifu.cloudef.pw/loading.png" | gsub("'"; "''"))'
+ );"