mirror of
https://codeberg.org/icewind/ugc-scaper.git
synced 2026-06-03 18:24:10 +02:00
roster history fixes
This commit is contained in:
parent
7d04d93948
commit
59e41ba7a7
2 changed files with 7 additions and 12 deletions
|
|
@ -7,11 +7,12 @@
|
||||||
let
|
let
|
||||||
inherit (lib.sources) sourceByRegex;
|
inherit (lib.sources) sourceByRegex;
|
||||||
inherit (builtins) fromTOML readFile;
|
inherit (builtins) fromTOML readFile;
|
||||||
src = sourceByRegex ./archiver [ "Cargo.*" "(src)(/.*)?" "README.md" "(.sqlx)(/.*)?" ];
|
src = sourceByRegex ./. [ "Cargo.*" "((types|archiver|)/?(src)?)(/.*)?" "README.md" ];
|
||||||
version = (fromTOML (readFile archiver/Cargo.toml)).package.version;
|
version = (fromTOML (readFile archiver/Cargo.toml)).package.version;
|
||||||
in
|
in
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "ugc-api-archiver";
|
pname = "ugc-api-archiver";
|
||||||
|
sourceRoot = "${src.name}/archiver";
|
||||||
|
|
||||||
inherit src version;
|
inherit src version;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
use super::Parser;
|
use super::Parser;
|
||||||
use crate::data::{RosterHistory, TeamRosterData, MembershipRole};
|
use crate::data::{MembershipRole, RosterHistory, TeamRosterData};
|
||||||
use crate::parser::{select_text, ROSTER_HISTORY_DATE_FORMAT};
|
use crate::parser::{select_text, ROSTER_HISTORY_DATE_FORMAT};
|
||||||
use crate::{ParseError, Result};
|
use crate::{ParseError, Result};
|
||||||
use scraper::{Html, Selector};
|
use scraper::{Html, Selector};
|
||||||
|
|
@ -60,11 +60,7 @@ impl Parser for TeamRosterHistoryParser {
|
||||||
let history = document
|
let history = document
|
||||||
.select(&self.selector_item)
|
.select(&self.selector_item)
|
||||||
.map(|item| {
|
.map(|item| {
|
||||||
let name =
|
let name = select_text(item, &self.selector_name).unwrap_or_default();
|
||||||
select_text(item, &self.selector_name).ok_or(ParseError::ElementNotFound {
|
|
||||||
selector: SELECTOR_ROSTER_NAME,
|
|
||||||
role: "member name",
|
|
||||||
})?;
|
|
||||||
let steam_id =
|
let steam_id =
|
||||||
select_text(item, &self.selector_id).ok_or(ParseError::ElementNotFound {
|
select_text(item, &self.selector_id).ok_or(ParseError::ElementNotFound {
|
||||||
selector: SELECTOR_ROSTER_ID,
|
selector: SELECTOR_ROSTER_ID,
|
||||||
|
|
@ -78,12 +74,10 @@ impl Parser for TeamRosterHistoryParser {
|
||||||
)?;
|
)?;
|
||||||
let left = select_text(item, &self.selector_left);
|
let left = select_text(item, &self.selector_left);
|
||||||
let role = select_text(item, &self.selector_role)
|
let role = select_text(item, &self.selector_role)
|
||||||
.ok_or(ParseError::ElementNotFound {
|
.unwrap_or_default()
|
||||||
selector: SELECTOR_ROSTER_ROLE,
|
|
||||||
role: "member role",
|
|
||||||
})?
|
|
||||||
.trim_start_matches("Former ")
|
.trim_start_matches("Former ")
|
||||||
.parse::<MembershipRole>().unwrap_or(MembershipRole::Member);
|
.parse::<MembershipRole>()
|
||||||
|
.unwrap_or(MembershipRole::Member);
|
||||||
|
|
||||||
Ok(RosterHistory {
|
Ok(RosterHistory {
|
||||||
name: name.to_string(),
|
name: name.to_string(),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue