Exemple #1
0
void UpgradeDir(const char* path, bool force, bool subdir, int& upgraded, int& ok, int& failed)
{
	WIN32_FIND_DATA find;
	printf("Upgrade checking dir '%s'\n", path);
	HANDLE f = FindFirstFile(Formats("%s/*", path), &find);
	if(f == INVALID_HANDLE_VALUE)
	{
		printf("FIND failed...\n");
		++failed;
		return;
	}

	do
	{
		if(find.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
		{
			if(subdir && strcmp(find.cFileName, ".") != 0 && strcmp(find.cFileName, "..") != 0)
			{
				string new_path = Formats("%s/%s", path, find.cFileName);
				UpgradeDir(new_path.c_str(), force, subdir, upgraded, ok, failed);
			}
		}
		else
		{
			if(EndsWith(find.cFileName, ".qmsh") || EndsWith(find.cFileName, ".phy"))
			{
				string file_path = Formats("%s/%s", path, find.cFileName);
				int result = Upgrade(file_path.c_str(), force);
				if(result == -1)
					failed++;
				else if(result == 0)
					ok++;
				else
					upgraded++;
			}
		}
	}
	while(FindNextFile(f, &find));

	FindClose(f);
}
Exemple #2
0
///*******************************************************************************************
void WantlistModel::addResult (const QJsonObject &o)
{

    int i;

    QJsonObject basicInformation = o["basic_information"].toObject();
    qDebug() <<  "basic_information " << basicInformation;


    BasicInfo i_basicInformation;

    QJsonArray labels = basicInformation["labels"].toArray();
    qDebug() << "Labels " << labels;

    QList<Companies> i_labels;     //может быть список

    for (QJsonArray::const_iterator iter = labels.begin();iter!= labels.end(); ++iter)
    {
        const QJsonObject b = (*iter).toObject();
        i_labels << Companies(b["catno"].toString(),
                b["entity_type"].toString(),
                b["entity_type_name"].toString(),
                b["id"].toInt(),
                b["name"].toString(),
                b["resource_url"].toString());

    }

    QJsonArray formats = basicInformation["formats"].toArray();
    qDebug() << "Formats " <<  formats;
    Formats  i_formats;

    for (QJsonArray::const_iterator iter = formats.begin();iter!= formats.end(); ++iter)
    {
        const QJsonObject c = (*iter).toObject();
        QJsonArray descriptions = c["descriptions"].toArray();
        qDebug() << "Descriptions " << descriptions ;
        QList<QString> i_descriptions;

        for (i=0; i<descriptions.size();i++)
        {
            i_descriptions << descriptions.at(i).toString();
        }

        i_formats = Formats(i_descriptions,
                             c["name"].toString(),
                c["qty"].toString());
    }


    QJsonArray artists = basicInformation["artists"].toArray();
    qDebug() <<  "artists " << artists;
    Artists i_artists;

    for (QJsonArray::const_iterator iter = artists.begin();iter!= artists.end(); ++iter)
    {
        const QJsonObject d = (*iter).toObject();
        i_artists = Artists(d["anv"].toString(),
                d["id"].toInt(),
                d["join"].toString(),
                d["name"].toString(),
                d["resource_url"].toString(),
                d["role"].toString(),
                d["tracks"].toString());
    }


    QJsonArray notes = o["notes"].toArray();
    qDebug() <<  "notes " << notes;
    QList<Notes> i_notes;

    for (QJsonArray::const_iterator iter = notes.begin();iter!= notes.end(); ++iter)
    {
        const QJsonObject e = (*iter).toObject();
        i_notes << Notes(e["field_id"].toInt(), e["value"].toString());
    }


   i_basicInformation = BasicInfo(basicInformation["id"].toInt(),
            basicInformation["title"].toString(),
            basicInformation["year"].toInt(),
            basicInformation["resource_url"].toString(),
            basicInformation["thumb"].toString(),
            i_formats,
            i_labels,
            i_artists,
            i_notes);


    m_WantsResult << Wants(o["rating"].toInt(),
                           i_basicInformation,
                           o["resource_url"].toString(),
                           o["id"].toInt());


}