mirror of
https://codeberg.org/icewind/ugc-scaper.git
synced 2026-06-03 18:24:10 +02:00
more strict types
This commit is contained in:
parent
dc0f3e9f0f
commit
3b5d3f2efc
13 changed files with 223 additions and 115 deletions
|
|
@ -9,7 +9,7 @@ use scraper::{Html, Selector};
|
|||
use std::str::FromStr;
|
||||
use std::sync::OnceLock;
|
||||
use time::{Date, PrimitiveDateTime, Time, UtcOffset};
|
||||
use ugc_scraper_types::{GameMode, Region};
|
||||
use ugc_scraper_types::{GameMode, MembershipRole, Region};
|
||||
|
||||
const SELECTOR_TEAM_NAME: &str = ".container .col-md-12 h1 > b";
|
||||
const SELECTOR_TEAM_TAG: &str = ".container .col-md-12 h1 > span";
|
||||
|
|
@ -274,14 +274,19 @@ impl Parser for TeamParser {
|
|||
})?
|
||||
.split('\n')
|
||||
.next()
|
||||
.unwrap();
|
||||
.unwrap()
|
||||
.parse::<MembershipRole>()
|
||||
.map_err(|err| ParseError::InvalidText {
|
||||
role: "member role",
|
||||
text: err.text,
|
||||
})?;
|
||||
|
||||
let since = select_text(row, &self.selector_team_member_since).ok_or(
|
||||
ParseError::ElementNotFound {
|
||||
selector: SELECTOR_TEAM_MEMBER_SINCE,
|
||||
role: "team member since",
|
||||
},
|
||||
)?;
|
||||
let role = role.trim().to_string();
|
||||
let since = whitespace_regex.replace_all(since.trim(), " ");
|
||||
let since = if since.starts_with('(') {
|
||||
let part = since
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue