QDate BeerXMLElement::getDate( QDomText const& textNode ) { bool ok = true; QDate ret; QString text = textNode.nodeValue(); ret = QDate::fromString(text, "M/d/yyyy"); ok = ret.isValid(); // Dates have some odd inconsistencies. if( !ok ) { ret = QDate::fromString(text,"d/M/yyyy"); ok = ret.isValid(); } if ( !ok ) Brewtarget::logE(QString("BeerXMLElement::getDate: %1 is not an ISO date-time. Line %2").arg(text).arg(textNode.lineNumber()) ); return ret; }
QDateTime BeerXMLElement::getDateTime( QDomText const& textNode ) { bool ok = true; QDateTime ret; QString text = textNode.nodeValue(); ret = QDateTime::fromString(text, Qt::ISODate); ok = ret.isValid(); if( !ok ) Brewtarget::logE(QString("BeerXMLElement::getDateTime: %1 is not a date. Line %2").arg(text).arg(textNode.lineNumber()) ); return ret; }
bool BeerXMLElement::getBool(const QDomText& textNode) { QString text = textNode.nodeValue(); if( text == "TRUE" ) return true; else if( text == "FALSE" ) return false; else Brewtarget::logE(QString("BeerXMLElement::getBool: %1 is not a boolean value. Line %2").arg(text).arg(textNode.lineNumber()) ); return false; }
int BeerXMLElement::getInt(const QDomText& textNode) { bool ok; int ret; QString text = textNode.nodeValue(); ret = text.toInt(&ok); if( !ok ) Brewtarget::logE(QString("BeerXMLElement::getInt: %1 is not an integer. Line %2").arg(text).arg(textNode.lineNumber()) ); return ret; }
// getVal ===================================================================== double BeerXMLElement::getDouble(const QDomText& textNode) { bool ok; double ret; QString text = textNode.nodeValue(); // ret = text.toDouble(&ok); ret = Brewtarget::toDouble(text,&ok); if( !ok ) Brewtarget::logE(QString("BeerXMLElement::getDouble: %1 is not a number. Line %2").arg(text).arg(textNode.lineNumber()) ); return ret; }