1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

// Copyright (c) 2018 Atsushi Miyake
//
// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or http://apache.org/licenses/LICENSE-2.0>
// or the MIT license <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to those terms.

use tabelog::tabelog_source::TabelogSource;
use regex::Regex;

pub struct TabelogClient;

pub type SearchResult = Vec<String>;
impl TabelogClient {

    pub fn search(&self, location: &str, word: &str) -> SearchResult {
        let source = TabelogSource.get_source(location, word);
        let regex = Regex::new("data-detail-url=\"(?P<url>.*)\" data-rst-id").unwrap();

        regex.captures_iter(&source).map(|capture| {
            capture["url"].to_string()
        }).collect()
    }
}