Esempio n. 1
0
bool WebUploader::getArenaCurrentAndGames(QNetworkReply *reply, QList<GameResult> &list, bool getCards)
{
    //Ejemplo html
    //<div class='col-md-5' id='nameDate'>
    //<h1><img src='images/32icon-dru.gif' /> Druid Arena</h1>

    QString html(reply->readAll());
    if(html.contains(QRegularExpression(
        "<div.*id='nameDate'>\n<h1>.*"
        "(Druid|Hunter|Mage|Paladin|Priest|Rogue|Shaman|Warlock|Warrior)"
        " Arena</h1>"
        ), match))
    {
        arenaCurrentHero = Utility::heroToLogNumber(match->captured(1));


        //Ejemplo html
        //<div id='gameListArea'><ul class='list-group'>
        //<a name='gameList'></a><li class='list-group-item match-list'><span class='glyphicon glyphicon-remove fail matchStatus pull-left'></span> <span class='helpText matchSupLabel'>Game 2:</span><a href='#' onClick="showGame(2771882)" data-toggle='modal' data-target='#showGame'><span class='matchLabel'>vs Mage</span> </a><span class='helpText'>(<span class='glyphicon glyphicon-plus'></span> Extra card)</span><div class='pull-right'><a onClick="showGame(2771882)" data-toggle='modal' data-target='#showGame' class='btn btn-xs btn-info'><span class='glyphicon glyphicon-paperclip'></span> Game notes</a>  <a onClick="deleteGame(2771882)" href='#' class='btn btn-xs btn-danger'><span class='glyphicon glyphicon-trash'></span></a></div></li>
        //                       <li class='list-group-item match-list'><span class='glyphicon glyphicon-ok success matchStatus pull-left'></span> <span class='helpText matchSupLabel'>Game 1:</span><a href='#' onClick="showGame(2771880)" data-toggle='modal' data-target='#showGame'><span class='matchLabel'>vs Rogue</span> </a><span class='helpText'>(<span class='glyphicon glyphicon-play-circle'></span> Played first)</span><div class='pull-right'><a onClick="showGame(2771880)" data-toggle='modal' data-target='#showGame' class='btn btn-xs btn-info'><span class='glyphicon glyphicon-paperclip'></span> Game notes</a>  <a onClick="deleteGame(2771880)" href='#' class='btn btn-xs btn-danger'><span class='glyphicon glyphicon-trash'></span></a></div></li>
        //</ul>
        //</div></div>

        QRegularExpression re(
            "<li.*>.*(fail|success).*Game (\\d+).*"
            "vs (Druid|Hunter|Mage|Paladin|Priest|Rogue|Shaman|Warlock|Warrior).*"
            "(Extra card|Played first).*</li>");
        QRegularExpressionMatchIterator reIterator = re.globalMatch(html);

        while (reIterator.hasNext())
        {
            QRegularExpressionMatch match = reIterator.next();
            list.prepend(createGameResult(match, arenaCurrentHero));
        }
        qDebug() << "WebUploader: " << "Leida arena en progreso: " << QString(match->captured(1)) <<
                    " con " << QString::number(list.count()) << " juegos";

        if(getCards)
        {
            GetArenaCards(html);
        }
        return true;
    }
    else
    {
        return false;
    }
}
Esempio n. 2
0
int main()
{
/*
	GameResultDirection direction = createGameResultDirection();

	setUserID_GameResultDirection(&direction, 16);

	ReciprocateData* command = commandCreate_GameResult(&direction);

	std::cout << *static_cast<const int*>(getKeyValue(*command, key_GameResult_userID)) << std::endl;
*/

	GameResult result = createGameResult();
	for (int i = 0; i < 2; ++i) {
		result.adversaryID[i] = i;
	}
	result.matchupNumber = "matchupNumber";
	result.time = 1000;
	result.teamID = 1500;
	result.oppositionTeamID = 1501;
	result.victory = "win!";
	result.firstHalfGoal = 2;
	result.secondHalfGoal = 5;
	result.firstHalfLoss = 1;
	result.secondHalfLoss = 4;
	result.homeAndAway = "home";
	result.isDefault = false;
	
	ReciprocateData* data = storage_GameResult(result, key_GameResult);

//	std::vector<int> node;
//	node.push_back(2);
//	std::cout << *static_cast<const int*>(getKeyValue(*data, key_GameResult_adversaryID, node)) << std::endl;

	GameResult converted = convertToGameResult(data);

	std::cout << converted.adversaryID[0] << std::endl;
	std::cout << converted.adversaryID[1] << std::endl;
	std::cout << converted.time << std::endl;
	std::cout << converted.teamID << std::endl;
	std::cout << converted.oppositionTeamID << std::endl;
	std::cout << converted.victory << std::endl;
	std::cout << converted.firstHalfGoal << std::endl;

	return 0;
}