bizcard parser passes

This commit is contained in:
Henry Schimke
2022-09-11 14:58:59 -05:00
parent cccaf4e638
commit 4502dee521
3 changed files with 13 additions and 13 deletions

View File

@@ -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(),
)); ));

View File

@@ -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(),
) { ) {

View File

@@ -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,