Examples of ParserRule


Examples of barrysoft.web.ParserRule

   
    Extractor search = new Extractor();
   
    search.getParser().setName("ITSA Search");
   
    ParserRule inr = new ParserRule("(?i)(?s).*?<a href=\"([^<>]+)\">\\s[series]</a>.*?");
    inr.setQuickRule(" [series]<");
    inr.setGroupName("season link", 0);
    inr.addParam(new ParserRuleParam("series", "How I Met Your Mother"));
   
    search.getParser().addRule(inr);
    try {
      search.getDownloader().setUrl("http://www.italiansubs.net/index.php?option=com_remository");
    } catch (MalformedURLException e) {
      fail(e.getMessage());
    }
   
    Extractor season = new Extractor();
   
    season.getParser().setName("ITSA Season");
   
    ParserRule outr = new ParserRule("(?i)(?s).*?<a href=\"([^<>]+)\">\\s[season]</a>.*?");
    outr.setQuickRule(" [season]<");
    outr.setGroupName("episodes link", 0);
    //outr.addParam(new ParserRuleParam("season", "Stagione 2"));
   
    season.getParser().addRule(outr);
   
    Extractor episode = new Extractor();
   
    episode.getParser().setName("ITSA Episode");
   
    outr = new ParserRule("(?i)(?s).*?<a href=\"([^<>]+)\">[episode]</a>.*?");
    outr.setQuickRule("[episode]<");
    outr.setGroupName("subtitle link", 0);
    //outr.addParam(new ParserRuleParam("episode", "How I Met Your Mother 2x06"));
   
    episode.getParser().addRule(outr);
   
    ExtractionJob job = new ExtractionJob("Get ITSA subtitle link");
View Full Code Here

Examples of barrysoft.web.ParserRule

    Parser p = new Parser("Test Parser");
    /*p.addRule(parseRule);
    p.addRuleParam(parseRule, p.new ParserRuleParam("city", "Rome"));
    p.addRuleParam(parseRule, p.new ParserRuleParam("country", "Italy"));*/
   
    ParserRule pr = new ParserRule(parseRule);
    pr.addParam(new ParserRuleParam("city", "Rome"));
    pr.addParam(new ParserRuleParam("country", "Italy"));
   
    p.addRule(pr);
     
    p.parseData(plainData);
   
View Full Code Here

Examples of barrysoft.web.ParserRule

 
  @Test
  public void testParseURL() {
   
    Parser p = new Parser("Time Parser");
    p.addRule(new ParserRule(timeRule));
   
    try {
     
      p.parseData(new WebDownloader(timeURL));
     
View Full Code Here

Examples of barrysoft.web.ParserRule

    ParserRuleParam prp = new ParserRuleParam("series");
   
    for (String s : series)
      prp.addValue(s);
   
    ParserRule pr = new ParserRule(itsaRule, prp);
    pr.setQuickRule(" [series]<");
   
    p.addRule(pr);
   
    try {
     
View Full Code Here

Examples of barrysoft.web.ParserRule

  public void testParserMultipleRules() {
   
    Parser p = new Parser("ITSA Parser Multi");
   
    for (String rule : multipleRules)
      p.addRule(new ParserRule(rule));
   
    try {
     
      WebDownloader wd = new WebDownloader("http://www.italiansubs.net/index.php");
      wd.addFormElement("option", "com_remository");
View Full Code Here

Examples of barrysoft.web.ParserRule

  public void testParserMultipleParamsRules() {
   
    Parser p = new Parser("ITSA Parser Multi");
   
    for (String rule : multipleParamsRules)
      p.addRule(new ParserRule(rule));
   
    ParserRule pr = p.getRule(multipleParamsRules.length-1);
    pr.addParam(new ParserRuleParam("tag", "Inviato il "));
   
    try {
     
      pr.getParam("tag").addValue("Dimensioni del file: ");
     
      WebDownloader wd = new WebDownloader("http://www.italiansubs.net/index.php");
      wd.addFormElement("option", "com_remository");
      wd.addFormElement("func", "fileinfo");
      wd.addFormElement("id", "2126");
View Full Code Here

Examples of barrysoft.web.ParserRule

  public void testSave() {
   
    Parser p = new Parser("Save Parser");
   
    for (String rule : regexs) {
      ParserRule pr = new ParserRule(rule);
     
      for (int i=0; i < 3; i++) {
       
        ParserRuleParam prp = new ParserRuleParam("param"+(i+1));
       
        for (int j=0; j < 5; j++)
          prp.addValue("value"+(j+1));
       
        pr.addParam(prp);
       
      }
     
      pr.setGroupName("group1", 0);
      pr.setGroupName("group2", 1);
     
      p.addRule(pr);
    }
   
    String xmlSource = p.getXML(0);
   
    System.out.println(xmlSource);
   
    InputSource is = new InputSource(new StringReader(xmlSource));
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = null;
   
    try {
      db = dbf.newDocumentBuilder();
    } catch (ParserConfigurationException e1) {
      fail(e1.getMessage());
    }
   
    Document doc = null;
    try {
      doc = db.parse(is);
    } catch (SAXException e) {
      fail(e.getMessage());
    } catch (IOException e) {
      fail(e.getMessage());
    }
   
    Parser p2 = new Parser();
    p2.loadFromXML(doc.getFirstChild());
   
    assertEquals(p2.getRulesCount(), regexs.length);
   
    for (int i=0; i < p2.getRulesCount(); i++) {
     
      ParserRule pr = p2.getRule(i);
     
      assertEquals(pr.getRule(), regexs[i]);
      assertEquals(3, pr.getParamsCount());
     
      for (int j=0; j < pr.getParamsCount(); j++) {
        try {
          ParserRuleParam prp = pr.getParam("param"+(j+1));
         
          assertEquals(5, prp.getValues().length);
         
          for (int k=0; k < prp.getValues().length; k++)
            assertEquals("value"+(k+1), prp.getValues()[k]);
         
        } catch (IllegalArgumentException e) {
          fail(e.getMessage());
        }
      }
     
      try {
        assertEquals(0, pr.getGroupNumber("group1"));
        assertEquals(1, pr.getGroupNumber("group2"));
      } catch (NoSuchElementException e) {
        fail(e.getMessage());
      }
     
    }
View Full Code Here

Examples of barrysoft.web.ParserRule

  public static final String tvstRegex = "<span style=\"[^\"]*\"><b>(\\w+)\\s*subtitles</b></span></div>\\s*<a href=\"([^\"]*)\">";
 
  public void testMultipleResults() {
   
    Parser p = new Parser("TVSubtitles.net Parser");
    ParserRule rule = new ParserRule(tvstRegex);
    rule.setGroupName("Language", 0);
    rule.setGroupName("Link", 1);
   
    p.addRule(rule);
   
    WebDownloader dl = new WebDownloader();
    try {
      dl.setUrl("http://www.tvsubtitles.net/episode-3079.html");
    } catch (MalformedURLException e) {
      fail(e.getMessage());
    }
   
    try {
      p.parseData(dl);
    } catch (IllegalStateException e) {
      fail(e.getMessage());
    } catch (IOException e) {
      fail(e.getMessage());
    }

    try {
      String[] langs = rule.getResults("Language");
      String[] links = rule.getResults("Link");
     
      if (langs == null || langs.length == 0)
        fail("Can't get langs.");
     
      if (links == null || links.length == 0)
View Full Code Here

Examples of com.github.jknack.antlr4ide.lang.ParserRule

    EList<Rule> rules = new BasicEList<Rule>();

    EList<PrequelConstruct> prequels = new BasicEList<PrequelConstruct>();

    Grammar grammar = createMock(Grammar.class);
    ParserRule rule = createMock(ParserRule.class);
    ParserRule ref = createMock(ParserRule.class);
    IScope scope = createMock(IScope.class);

    Antlr4ScopeProvider scopeProvider = PowerMock.createPartialMock(Antlr4ScopeProvider.class,
        "scopeFor", PrequelConstruct.class, List.class, Class.class);
View Full Code Here

Examples of com.github.jknack.antlr4ide.lang.ParserRule

    EList<EObject> ruleBodyList = new BasicEList<EObject>();

    String localsBody = "{\n$ctx.tree;\n}";

    Grammar grammar = createMock(Grammar.class);
    ParserRule rule1 = createMock(ParserRule.class);
    Return returns = createMock(Return.class);
    LocalVars locals = createMock(LocalVars.class);
    RuleBlock ruleBody = createMock(RuleBlock.class);
    ActionElement actionElement = createMock(ActionElement.class);

    expect(grammar.getRules()).andReturn(rules);

    expect(rule1.getArgs()).andReturn(null);
    expect(rule1.getReturn()).andReturn(returns);
    expect(rule1.getLocals()).andReturn(locals);
    expect(rule1.getBody()).andReturn(ruleBody).times(2);

    expect(returns.getBody()).andReturn(null);

    expect(locals.getBody()).andReturn(localsBody);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.