Added Rootclaim to backend
This commit is contained in:
parent
d733804a72
commit
13481b8b0b
|
@ -14,9 +14,10 @@ import {goodjudgmentopen} from "./platforms/goodjudmentopen-fetch.js"
|
||||||
import {hypermind} from "./platforms/hypermind-fetch.js"
|
import {hypermind} from "./platforms/hypermind-fetch.js"
|
||||||
import {ladbrokes} from "./platforms/ladbrokes-fetch.js"
|
import {ladbrokes} from "./platforms/ladbrokes-fetch.js"
|
||||||
import {metaculus} from "./platforms/metaculus-fetch.js"
|
import {metaculus} from "./platforms/metaculus-fetch.js"
|
||||||
|
import {omen} from "./platforms/omen-fetch.js"
|
||||||
import {polymarket} from "./platforms/polymarket-fetch.js"
|
import {polymarket} from "./platforms/polymarket-fetch.js"
|
||||||
import {predictit} from "./platforms/predictit-fetch.js"
|
import {predictit} from "./platforms/predictit-fetch.js"
|
||||||
import {omen} from "./platforms/omen-fetch.js"
|
import {rootclaim} from "./platforms/rootclaim-fetch.js"
|
||||||
import {smarkets} from "./platforms/smarkets-fetch.js"
|
import {smarkets} from "./platforms/smarkets-fetch.js"
|
||||||
import {williamhill} from "./platforms/williamhill-fetch.js"
|
import {williamhill} from "./platforms/williamhill-fetch.js"
|
||||||
|
|
||||||
|
@ -26,7 +27,7 @@ import {rebuildNetlifySiteWithNewData} from "./utils/rebuildNetliftySiteWithNewD
|
||||||
import {doEverything, tryCatchTryAgain} from "./utils/doEverything.js"
|
import {doEverything, tryCatchTryAgain} from "./utils/doEverything.js"
|
||||||
|
|
||||||
/* Support functions */
|
/* Support functions */
|
||||||
let functions = [astralcodexten, coupcast, csetforetell, elicit, /* estimize, */ fantasyscotus, foretold, goodjudgment, goodjudgmentopen, hypermind, ladbrokes, metaculus, polymarket, predictit, omen, smarkets, williamhill, mergeEverything, addToHistory, rebuildNetlifySiteWithNewData, doEverything]
|
let functions = [astralcodexten, coupcast, csetforetell, elicit, /* estimize, */ fantasyscotus, foretold, goodjudgment, goodjudgmentopen, hypermind, ladbrokes, metaculus, omen, polymarket, predictit, rootclaim, smarkets, williamhill, mergeEverything, addToHistory, rebuildNetlifySiteWithNewData, doEverything]
|
||||||
let functionNames = functions.map(fun => fun.name)
|
let functionNames = functions.map(fun => fun.name)
|
||||||
|
|
||||||
let whattodoMessage = functionNames
|
let whattodoMessage = functionNames
|
||||||
|
|
67
src/platforms/rootclaim-fetch.js
Normal file
67
src/platforms/rootclaim-fetch.js
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
/* Imports */
|
||||||
|
import fs from 'fs'
|
||||||
|
import axios from "axios"
|
||||||
|
import { calculateStars } from "../utils/stars.js"
|
||||||
|
import {upsert} from "../utils/mongo-wrapper.js"
|
||||||
|
|
||||||
|
/* Definitions */
|
||||||
|
let jsonEndpoint = "https://www.rootclaim.com/main_page_stories?number=100&offset=0"//"https://subgraph-matic.poly.market/subgraphs/name/TokenUnion/polymarket"//"https://subgraph-backup.poly.market/subgraphs/name/TokenUnion/polymarket"//'https://subgraph-matic.poly.market/subgraphs/name/TokenUnion/polymarket3'
|
||||||
|
|
||||||
|
/* Support functions
|
||||||
|
async function fetchAllContractInfo(){ // for info which the polymarket graphql API
|
||||||
|
let data = fs.readFileSync("./data/polymarket-contract-list.json")
|
||||||
|
let response = JSON.parse(data)
|
||||||
|
return response
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
async function fetchAllRootclaims() { // for info which the polymarket graphql API
|
||||||
|
let response = await axios.get(jsonEndpoint)
|
||||||
|
.then(response => response.data)
|
||||||
|
if(response.length != (response[0]+1)){
|
||||||
|
console.log(response.length)
|
||||||
|
console.log(response[0])
|
||||||
|
//throw Error("Rootclaim's backend has changed.")
|
||||||
|
}
|
||||||
|
response.shift()
|
||||||
|
return response
|
||||||
|
}
|
||||||
|
|
||||||
|
async function fetchAndProcessData() {
|
||||||
|
let claims = await fetchAllRootclaims()
|
||||||
|
let results = []
|
||||||
|
for (let claim of claims) {
|
||||||
|
let options = []
|
||||||
|
for (let scenario in claim.scenarios) {
|
||||||
|
options.push({
|
||||||
|
"name": scenario.name,
|
||||||
|
"probability": scenario.net_prob / 100,
|
||||||
|
"type": "PROBABILITY"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
let obj = ({
|
||||||
|
"title": claim.question,
|
||||||
|
"url": "https://www.rootclaim.com/analysis/"+claim.slug,
|
||||||
|
"platform": "Rootclaim",
|
||||||
|
"description": claim.background,
|
||||||
|
"options": options,
|
||||||
|
"timestamp": new Date().toISOString(),
|
||||||
|
"qualityindicators": {
|
||||||
|
"numforecasts": 1,
|
||||||
|
"stars": calculateStars("Rootclaim", ({}))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
results.push(obj)
|
||||||
|
}
|
||||||
|
return results
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Body */
|
||||||
|
export async function rootclaim() {
|
||||||
|
let results = await fetchAndProcessData()
|
||||||
|
// console.log(results)
|
||||||
|
// let string = JSON.stringify(results, null, 2)
|
||||||
|
// fs.writeFileSync('rootclaim-questions.json', string);
|
||||||
|
await upsert(results, "rootclaim-questions")
|
||||||
|
console.log("Done")
|
||||||
|
}
|
||||||
|
//rootclaim()
|
|
@ -10,9 +10,10 @@ import {goodjudgmentopen} from "../platforms/goodjudmentopen-fetch.js"
|
||||||
import {hypermind} from "../platforms/hypermind-fetch.js"
|
import {hypermind} from "../platforms/hypermind-fetch.js"
|
||||||
import {ladbrokes} from "../platforms/ladbrokes-fetch.js"
|
import {ladbrokes} from "../platforms/ladbrokes-fetch.js"
|
||||||
import {metaculus} from "../platforms/metaculus-fetch.js"
|
import {metaculus} from "../platforms/metaculus-fetch.js"
|
||||||
|
import {omen} from "../platforms/omen-fetch.js"
|
||||||
import {polymarket} from "../platforms/polymarket-fetch.js"
|
import {polymarket} from "../platforms/polymarket-fetch.js"
|
||||||
import {predictit} from "../platforms/predictit-fetch.js"
|
import {predictit} from "../platforms/predictit-fetch.js"
|
||||||
import {omen} from "../platforms/omen-fetch.js"
|
import {rootclaim} from "../platforms/rootclaim-fetch.js"
|
||||||
import {smarkets} from "../platforms/smarkets-fetch.js"
|
import {smarkets} from "../platforms/smarkets-fetch.js"
|
||||||
import {williamhill} from "../platforms/williamhill-fetch.js"
|
import {williamhill} from "../platforms/williamhill-fetch.js"
|
||||||
import {mergeEverything} from "./mergeEverything.js"
|
import {mergeEverything} from "./mergeEverything.js"
|
||||||
|
@ -36,7 +37,7 @@ export async function tryCatchTryAgain (fun) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export async function doEverything(){
|
export async function doEverything(){
|
||||||
let functions = [coupcast, csetforetell, elicit, /* estimize, */ fantasyscotus, foretold, /* goodjudgment, */ goodjudgmentopen, hypermind, ladbrokes, metaculus, polymarket, predictit, omen, smarkets, williamhill, mergeEverything, /*addToHistory,*/rebuildNetlifySiteWithNewData]
|
let functions = [coupcast, csetforetell, elicit, /* estimize, */ fantasyscotus, foretold, /* goodjudgment, */ goodjudgmentopen, hypermind, ladbrokes, metaculus, omen, polymarket, predictit, rootclaim, smarkets, williamhill, mergeEverything, /*addToHistory,*/rebuildNetlifySiteWithNewData]
|
||||||
// Removed Good Judgment from the fetcher, doing it using cron instead because cloudflare blocks the utility on heroku.
|
// Removed Good Judgment from the fetcher, doing it using cron instead because cloudflare blocks the utility on heroku.
|
||||||
|
|
||||||
console.log("")
|
console.log("")
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { mongoRead, upsert } from "./mongo-wrapper.js"
|
import { mongoRead, upsert } from "./mongo-wrapper.js"
|
||||||
|
|
||||||
/* Merge everything */
|
/* Merge everything */
|
||||||
let sets = ["astralcodexten","coupcast", "csetforetell", "elicit", "estimize", "fantasyscotus", "foretold", "givewellopenphil", "goodjudgment","goodjudmentopen", "hypermind", "ladbrokes", "metaculus", "polymarket", "predictit", "omen", "smarkets", "williamhill", "xrisk"]
|
let sets = ["astralcodexten","coupcast", "csetforetell", "elicit", "estimize", "fantasyscotus", "foretold", "givewellopenphil", "goodjudgment","goodjudmentopen", "hypermind", "ladbrokes", "metaculus", "omen", "polymarket", "predictit", "rootclaim", "smarkets", "williamhill", "xrisk"]
|
||||||
let suffix = "-questions"
|
let suffix = "-questions"
|
||||||
|
|
||||||
export async function mergeEverything(){
|
export async function mergeEverything(){
|
||||||
|
|
|
@ -167,6 +167,15 @@ function calculateStarsPredictIt(data) {
|
||||||
return starsInteger
|
return starsInteger
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function calculateStarsRootclaim(data) {
|
||||||
|
let nuno = data => 4
|
||||||
|
let eli = (data) => null
|
||||||
|
let misha = (data) => null
|
||||||
|
let starsDecimal = average([nuno(data)/*, eli(data), misha(data)*/])
|
||||||
|
let starsInteger = Math.round(starsDecimal)
|
||||||
|
return starsInteger
|
||||||
|
}
|
||||||
|
|
||||||
function calculateStarsSmarkets(data) {
|
function calculateStarsSmarkets(data) {
|
||||||
let nuno = data => 2
|
let nuno = data => 2
|
||||||
let eli = (data) => null
|
let eli = (data) => null
|
||||||
|
@ -233,6 +242,9 @@ export function calculateStars(platform, data) {
|
||||||
case "PredictIt":
|
case "PredictIt":
|
||||||
stars = calculateStarsPredictIt(data)
|
stars = calculateStarsPredictIt(data)
|
||||||
break;
|
break;
|
||||||
|
case "Rootclaim":
|
||||||
|
stars = calculateStarsRootclaim(data)
|
||||||
|
break;
|
||||||
case "Smarkets":
|
case "Smarkets":
|
||||||
stars = calculateStarsSmarkets(data)
|
stars = calculateStarsSmarkets(data)
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user