WIP mediaWikiSystem
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
(function eval [:String expStr :Array<String> activeConditions]
|
||||
(let [hscriptExp
|
||||
(.parseString (new Parser)
|
||||
(Prelude.convertToHScript expStr))
|
||||
interp
|
||||
(new BoolExpInterp)]
|
||||
(let [hscript (Prelude.convertToHScript expStr)
|
||||
parser (new Parser)
|
||||
hscriptExp (parser.parseString hscript)
|
||||
interp (new BoolExpInterp)]
|
||||
|
||||
(doFor condition activeConditions
|
||||
(interp.variables.set condition true))
|
||||
?(interp.execute hscriptExp)))
|
||||
|
||||
9
src/nat/systems/MediaWikiSystem.hx
Normal file
9
src/nat/systems/MediaWikiSystem.hx
Normal file
@@ -0,0 +1,9 @@
|
||||
package nat.systems;
|
||||
|
||||
import kiss.Prelude;
|
||||
import kiss.List;
|
||||
import requests_externs.Response;
|
||||
import nat.System;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class MediaWikiSystem extends System {}
|
||||
32
src/nat/systems/MediaWikiSystem.kiss
Normal file
32
src/nat/systems/MediaWikiSystem.kiss
Normal file
@@ -0,0 +1,32 @@
|
||||
(load "../Lib.kiss")
|
||||
|
||||
(defNew [&prop :String mediaWikiUrl
|
||||
// TODO make a &super annotation that passes an argument to the super constructor
|
||||
:EntryChecker canProcess
|
||||
:EntryProcessor processor
|
||||
&prop :Null<Float> maxLag]
|
||||
(super
|
||||
canProcess
|
||||
processor))
|
||||
|
||||
// TODO make this an externMethod --
|
||||
// but mediaWikiUrl, headers, and maxLag will still have to be specified, not as args
|
||||
// unless all vars and props are passed to externmethods by default
|
||||
(method :Response queryProp [:Array<String> titles :Array<String> props]
|
||||
(#extern Response python
|
||||
(object
|
||||
hxmlFile "extern-files/python/args.hxml"
|
||||
importHxFile "extern-files/python/import.hx"
|
||||
langProjectFile "extern-files/python/requirements.txt")
|
||||
[:Array<String> titles _ :Array<String> props _ :String mediaWikiUrl _ :Float maxLag (or maxLag 1) :Map<String,String> headers _]
|
||||
(Requests.get mediaWikiUrl
|
||||
[
|
||||
=>"action" "query"
|
||||
=>"titles" (titles.join "|")
|
||||
=>"prop" (props.join "|")
|
||||
=>"maxlag" (Std.string maxLag)
|
||||
=>"format" "json"
|
||||
]
|
||||
(object headers headers))))
|
||||
|
||||
(var headers [=>"User-Agent" "NatArchiveTool/0.0.0 (https://github.com/NQNStudios/kisslang/tree/main/projects/nat-archive-tool; natquaylenelson@gmail.com) Requests/2.26.0"])
|
||||
Reference in New Issue
Block a user