/*! @brief try to find begin/end parameter @return parameter of \begin or \end */ TokenString Parser::_get_begroup(void) { _skip_whitechars(); _readchar(); if (_char != lbrace ) return TokenString(); _skip_whitechars(); _readnexttoken(); TokenString pom(_tokenstring); _skip_whitechars(); _readnexttoken(); if (_token != rbrace) { //std::cerr << "Chybny parametr u end/begin" << std::endl; return TokenString(); } return pom; }
void YumPomJob::process(){try{ QImage replacementImage(source); TASSUME(!replacementImage.isNull(),"Could not load picture (Is it corrupted?)"); Yum y(isofile,number); TASSUME(y.issue.isEmpty(),y.issue); PomFile pom(y.torw()); TASSUME(pom.issue.isEmpty(),QString("File %1 inside yum archive - %2").arg(number).arg(pom.issue)); QString picname=QString("%1-%2(%3)") .arg(number) .arg(subnumber) .arg(qrand()); #ifdef SHOW_ORIGINAL_FILE ResourceData *resource=new ResourceData(); resource->data=QVariant(replacementImage); resource->type=QTextDocument::ImageResource; resource->name=QUrl(QString("imas-pictures://%1-orig.png").arg(picname)); resources.append(resource); #else QImage *originalImage=pom.get(subnumber); TASSUME(originalImage,pom.issue); ResourceData *resource=new ResourceData(); resource->data=QVariant(*originalImage); resource->type=QTextDocument::ImageResource; resource->name=QUrl(QString("imas-pictures://%1-orig.png").arg(picname)); resources.append(resource); delete originalImage; #endif PomConversionResult conv=pom.set(subnumber,&replacementImage); TASSUME(pom.issue.isEmpty(),pom.issue); QByteArray res=pom.spit(); y.spit(res.data(),res.size()); TASSUME(y.issue.isEmpty(),y.issue); QImage *replacedImage=pom.get(subnumber); TASSUME(replacedImage,pom.issue); resource=new ResourceData(); resource->data=QVariant(*replacedImage); resource->type=QTextDocument::ImageResource; resource->name=QUrl(QString("imas-pictures://%1.png").arg(picname)); resources.append(resource); delete replacedImage; int difference=conv.avgDiff*100/(0x400-4); int maxdifference=conv.maxDiff*100/(0x400-4); #ifdef SHOW_ORIGINAL_FILE if(difference>=2){ #else if(difference>=0){ #endif output.append(QString::fromUtf8( "<span style='color:#9f4a3c'>(%2% average difference in pictures due to lack of colors in palette; peak difference - %3%)</span>" "<p style='vertical-align:middle;'>" "<img src='imas-pictures://%1-orig.png' />" " <span style='font-size:28pt;'>→</span> " "<img src='imas-pictures://%1.png' />" "</p>") .arg(picname) .arg(difference) .arg(maxdifference)); state=JOB_STATE_WARNINGS; } else{ output.append(QString::fromUtf8( "<p style='vertical-align:middle;'>" "<img src='imas-pictures://%1.png' />" "</p>") .arg(picname)); state=JOB_STATE_OK; } } catch(QString ss){ state=JOB_STATE_FAILED; }}