void ListCommand::execute(const QVariantMap options)
{
    DbFilter queryFilter = options.value(OPTION_DB_FILTER).value<DbFilter>();
    CommandFileList cmd(getSession());
    cmd.setAutoDelete(true);
    cmd.setFields("items(fileSize,id,title,modifiedDate,createdDate,downloadUrl, headRevisionId)");
    QString query = QueryEntry::getEntries(queryFilter);

    // Keepass db folder is set to root in Google drive if user did not customize  it
    if (config()->get("cloud/GdriveKeepassFolder").toString().length()
        > 0) cmd.execForFolder(config()->get(
                                   "cloud/GdriveKeepassFolder").toString(), query);
    else cmd.exec(query);
    cmd.waitForFinish(false);
    if (cmd.error() == Errors::NO_ERROR) {
        qRegisterMetaType<GoogleDrive::FileInfoList>("GoogleDrive::FileInfoList");
        qRegisterMetaType<GoogleDrive::FileInfo>("GoogleDrive::FileInfo");
        GoogleDrive::FileInfoList dbList = cmd.files();
        RemoteFileList remoteFileList = RemoteFileImpl::fromGDriveFileInfoList(dbList);
        setResult(KeePassxDriveSync::ResultBuilder().addValue(remoteFileList).build());
        emitSuccess();
    } else {
        emitError(Errors::FileError::LIST_FILES_PROBLEM,
            QString("Failed to list files for keepass directory"));
    }
}
Beispiel #2
0
    void play() {
        for (int i = 0, s = m_inputs[0].count() ; i < s ; ++i ) {
            Photo& photo = m_inputs[0][i];
            QDir targetDir(m_targetDirectory);
            QString magick;
            QString baseFilename = targetDir.filePath(photo.getTag(TAG_NAME));
            QString ext;
            switch (m_fileType) {
            case OpSave::SaveFITS:
                ext = ".fits"; magick = "FITS"; break;
            case OpSave::SaveTIFF:
                ext = ".tif"; magick = "TIFF"; break;
            case OpSave::SaveJPEG:
                ext = ".jpg"; magick = "JPG"; break;
            }
            QFileInfo finfo(baseFilename + ext);
            if ( m_backup && finfo.exists() ) {
                QDateTime lastModified = finfo.lastModified();
                QString ts = lastModified.toString("yyyy'-'dd'-'MM'T'hh':'mm':'ss'.'zzz'Z'");
                QFile orig(baseFilename + ext);
                orig.rename(baseFilename + "-" + ts + ext);
            }
            QString filename = finfo.filePath();
            photo.save(filename, magick);
            emitProgress(i, s, 0, 1);
        }
        emitSuccess();

    }
Beispiel #3
0
    void play() {
        int n_outputs = outputsCount();
        Q_ASSERT( n_outputs == m_ways );
        int i = 0,
                s = m_inputs[0].count();
        foreach(Photo photo, m_inputs[0]) {
            if (aborted())
                continue;
            outputPush(i%n_outputs, photo);
            emitProgress(i, s, 0, 1);
            ++i;
        }
        if (aborted() )
            emitFailure();
        else
            emitSuccess();

    }
void CommandDownloadFile::requestFinished()
{
    QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());
    Q_ASSERT(reply);
    if (!reply)
        return;

    if (reply->error() == QNetworkReply::AuthenticationRequiredError)
    {
        refreshToken();
        return;
    }

    if (checkInvalidReplyAndRefreshToken(reply))
        return;

    emitSuccess();
}