format
This commit is contained in:
parent
a2c5829526
commit
c9e1adca59
1 changed files with 15 additions and 25 deletions
|
@ -1,5 +1,5 @@
|
||||||
use crate::ids::{consts, Fid, Lid, Pid, Qid, Sid};
|
use crate::ids::{consts, Fid, Lid, Pid, Qid, Sid};
|
||||||
use crate::text::{Text, Lang};
|
use crate::text::{Lang, Text};
|
||||||
use chrono::{DateTime, TimeZone, Utc};
|
use chrono::{DateTime, TimeZone, Utc};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
@ -328,9 +328,7 @@ impl ClaimValueData {
|
||||||
let mut value = take_prop("value", &mut datavalue);
|
let mut value = take_prop("value", &mut datavalue);
|
||||||
match &type_str[..] {
|
match &type_str[..] {
|
||||||
"string" => {
|
"string" => {
|
||||||
let s = value
|
let s = value.take_string().ok_or(EntityError::ExpectedString)?;
|
||||||
.take_string()
|
|
||||||
.ok_or(EntityError::ExpectedString)?;
|
|
||||||
match datatype {
|
match datatype {
|
||||||
"string" => Ok(ClaimValueData::Stringg(s)),
|
"string" => Ok(ClaimValueData::Stringg(s)),
|
||||||
"commonsMedia" => Ok(ClaimValueData::CommonsMedia(s)),
|
"commonsMedia" => Ok(ClaimValueData::CommonsMedia(s)),
|
||||||
|
@ -360,12 +358,7 @@ impl ClaimValueData {
|
||||||
1 => Ok(ClaimValueData::Lexeme(Lid(id[1..]
|
1 => Ok(ClaimValueData::Lexeme(Lid(id[1..]
|
||||||
.parse()
|
.parse()
|
||||||
.map_err(|_| EntityError::BadId)?))),
|
.map_err(|_| EntityError::BadId)?))),
|
||||||
2 => {
|
2 => match parts[1].chars().next().ok_or(EntityError::BadId)? {
|
||||||
match parts[1]
|
|
||||||
.chars()
|
|
||||||
.next()
|
|
||||||
.ok_or(EntityError::BadId)?
|
|
||||||
{
|
|
||||||
'F' => Ok(ClaimValueData::Form(Fid(
|
'F' => Ok(ClaimValueData::Form(Fid(
|
||||||
Lid(parts[0][1..].parse().map_err(|_| EntityError::BadId)?),
|
Lid(parts[0][1..].parse().map_err(|_| EntityError::BadId)?),
|
||||||
parts[1][1..].parse().map_err(|_| EntityError::BadId)?,
|
parts[1][1..].parse().map_err(|_| EntityError::BadId)?,
|
||||||
|
@ -375,8 +368,7 @@ impl ClaimValueData {
|
||||||
parts[1][1..].parse().map_err(|_| EntityError::BadId)?,
|
parts[1][1..].parse().map_err(|_| EntityError::BadId)?,
|
||||||
))),
|
))),
|
||||||
_ => Err(EntityError::BadId),
|
_ => Err(EntityError::BadId),
|
||||||
}
|
},
|
||||||
}
|
|
||||||
_ => Err(EntityError::BadId),
|
_ => Err(EntityError::BadId),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -420,8 +412,7 @@ impl ClaimValue {
|
||||||
/// Try to parse a JSON claim to a claim value.
|
/// Try to parse a JSON claim to a claim value.
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn get_prop_from_snak(mut claim: json::JsonValue, skip_id: bool) -> Option<ClaimValue> {
|
pub fn get_prop_from_snak(mut claim: json::JsonValue, skip_id: bool) -> Option<ClaimValue> {
|
||||||
let claim_str = take_prop("rank", &mut claim)
|
let claim_str = take_prop("rank", &mut claim).take_string()?;
|
||||||
.take_string()?;
|
|
||||||
let rank = match &claim_str[..] {
|
let rank = match &claim_str[..] {
|
||||||
"deprecated" => {
|
"deprecated" => {
|
||||||
return None;
|
return None;
|
||||||
|
@ -450,8 +441,7 @@ impl ClaimValue {
|
||||||
// clone, meh
|
// clone, meh
|
||||||
let owned_snak = snak.clone().take();
|
let owned_snak = snak.clone().take();
|
||||||
match ClaimValueData::parse_snak(owned_snak) {
|
match ClaimValueData::parse_snak(owned_snak) {
|
||||||
Ok(x) => claims
|
Ok(x) => claims.push((Pid(pid[1..].parse().ok()?), x)),
|
||||||
.push((Pid(pid[1..].parse().ok()?), x)),
|
|
||||||
Err(_) => {}
|
Err(_) => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue