1 package us.codecraft.webmagic.scripts.languages; 2 3 import java.util.Iterator; 4 import java.util.Map; 5 6 import javax.script.ScriptEngine; 7 import javax.script.ScriptException; 8 9 import org.python.core.PyDictionary; 10 11 import us.codecraft.webmagic.Page; 12 13 public class Jython extends Language { 14 public Jython() { 15 super("jython","python/defines.py",""); 16 } 17 18 public void process(ScriptEngine engine, String defines, String script, Page page) throws ScriptException { 19 engine.eval(defines + "\n" + script, engine.getContext()); 20 PyDictionary oJython = (PyDictionary) engine.get("result"); 21 Iterator it = oJython.entrySet().iterator(); 22 while (it.hasNext()) { 23 Map.Entry pairs = (Map.Entry) it.next(); 24 page.getResultItems().put(pairs.getKey().toString(), pairs.getValue()); 25 } 26 } 27 }