mirror of
https://github.com/starovoid/rxing.git
synced 2026-07-28 05:12:34 +00:00
bizcard parser passes
This commit is contained in:
@@ -117,17 +117,17 @@ impl AddressBookParsedRXingResult {
|
|||||||
urls: Vec<String>,
|
urls: Vec<String>,
|
||||||
geo: Vec<String>,
|
geo: Vec<String>,
|
||||||
) -> Result<Self, Exceptions> {
|
) -> Result<Self, Exceptions> {
|
||||||
if phone_numbers.len() != phone_types.len() {
|
if phone_numbers.len() != phone_types.len() && phone_types.len() > 0{
|
||||||
return Err(Exceptions::IllegalArgumentException(
|
return Err(Exceptions::IllegalArgumentException(
|
||||||
"Phone numbers and types lengths differ".to_owned(),
|
"Phone numbers and types lengths differ".to_owned(),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
if emails.len() != email_types.len() {
|
if emails.len() != email_types.len() && email_types.len() > 0{
|
||||||
return Err(Exceptions::IllegalArgumentException(
|
return Err(Exceptions::IllegalArgumentException(
|
||||||
"Emails and types lengths differ".to_owned(),
|
"Emails and types lengths differ".to_owned(),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
if addresses.len() != address_types.len() {
|
if addresses.len() != address_types.len() && address_types.len() > 0{
|
||||||
return Err(Exceptions::IllegalArgumentException(
|
return Err(Exceptions::IllegalArgumentException(
|
||||||
"Addresses and types lengths differ".to_owned(),
|
"Addresses and types lengths differ".to_owned(),
|
||||||
));
|
));
|
||||||
|
|||||||
@@ -46,8 +46,8 @@ pub fn parse(result: &RXingResult) -> Option<ParsedClientResult> {
|
|||||||
let lastName = ResultParser::match_single_do_co_mo_prefixed_field("X:", &rawText, true)
|
let lastName = ResultParser::match_single_do_co_mo_prefixed_field("X:", &rawText, true)
|
||||||
.unwrap_or_default();
|
.unwrap_or_default();
|
||||||
let fullName = buildName(&firstName, &lastName);
|
let fullName = buildName(&firstName, &lastName);
|
||||||
let title = ResultParser::match_single_do_co_mo_prefixed_field("T:", &rawText, true);
|
let title = ResultParser::match_single_do_co_mo_prefixed_field("T:", &rawText, true).unwrap_or_default();
|
||||||
let org = ResultParser::match_single_do_co_mo_prefixed_field("C:", &rawText, true);
|
let org = ResultParser::match_single_do_co_mo_prefixed_field("C:", &rawText, true).unwrap_or_default();
|
||||||
let addresses = ResultParser::match_do_co_mo_prefixed_field("A:", &rawText);
|
let addresses = ResultParser::match_do_co_mo_prefixed_field("A:", &rawText);
|
||||||
let phoneNumber1 = ResultParser::match_single_do_co_mo_prefixed_field("B:", &rawText, true)
|
let phoneNumber1 = ResultParser::match_single_do_co_mo_prefixed_field("B:", &rawText, true)
|
||||||
.unwrap_or_default();
|
.unwrap_or_default();
|
||||||
@@ -70,9 +70,9 @@ pub fn parse(result: &RXingResult) -> Option<ParsedClientResult> {
|
|||||||
"".to_owned(),
|
"".to_owned(),
|
||||||
addresses?,
|
addresses?,
|
||||||
Vec::new(),
|
Vec::new(),
|
||||||
org?,
|
org,
|
||||||
"".to_owned(),
|
"".to_owned(),
|
||||||
title?,
|
title,
|
||||||
Vec::new(),
|
Vec::new(),
|
||||||
Vec::new(),
|
Vec::new(),
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ use super::{
|
|||||||
BookmarkDoCoMoResultParser, EmailAddressResultParser, EmailDoCoMoResultParser, GeoResultParser,
|
BookmarkDoCoMoResultParser, EmailAddressResultParser, EmailDoCoMoResultParser, GeoResultParser,
|
||||||
ISBNResultParser, ParsedClientResult, ParsedRXingResult, ProductResultParser,
|
ISBNResultParser, ParsedClientResult, ParsedRXingResult, ProductResultParser,
|
||||||
SMSMMSResultParser, SMTPResultParser, TelResultParser, TextParsedRXingResult, URIResultParser,
|
SMSMMSResultParser, SMTPResultParser, TelResultParser, TextParsedRXingResult, URIResultParser,
|
||||||
URLTOResultParser, VINResultParser, WifiResultParser,
|
URLTOResultParser, VINResultParser, WifiResultParser, AddressBookDoCoMoResultParser, AddressBookAUResultParser, VCardResultParser, BizcardResultParser,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -104,13 +104,13 @@ pub fn getMassagedText(result: &RXingResult) -> String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn parseRXingResult(theRXingResult: &RXingResult) -> ParsedClientResult {
|
pub fn parseRXingResult(theRXingResult: &RXingResult) -> ParsedClientResult {
|
||||||
let PARSERS: [&ParserFunction; 14] = [
|
let PARSERS: [&ParserFunction; 18] = [
|
||||||
&BookmarkDoCoMoResultParser::parse,
|
&BookmarkDoCoMoResultParser::parse,
|
||||||
// new AddressBookDoCoMoRXingResultParser(),
|
&AddressBookDoCoMoResultParser::parse,
|
||||||
&EmailDoCoMoResultParser::parse,
|
&EmailDoCoMoResultParser::parse,
|
||||||
// new AddressBookAURXingResultParser(),
|
&AddressBookAUResultParser::parse,
|
||||||
// new VCardRXingResultParser(),
|
&VCardResultParser::parse,
|
||||||
// new BizcardRXingResultParser(),
|
&BizcardResultParser::parse,
|
||||||
// new VEventRXingResultParser(),
|
// new VEventRXingResultParser(),
|
||||||
&EmailAddressResultParser::parse,
|
&EmailAddressResultParser::parse,
|
||||||
&SMTPResultParser::parse,
|
&SMTPResultParser::parse,
|
||||||
|
|||||||
Reference in New Issue
Block a user