From b6d455a02bd338e9dc0faa09d4d8177ecd8d569a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 10 Apr 2016 15:53:05 +0200 Subject: NOISSUE reorganize and document libraries --- libraries/logic/screenshots/ImgurAlbumCreation.cpp | 90 ---------------- libraries/logic/screenshots/ImgurAlbumCreation.h | 44 -------- libraries/logic/screenshots/ImgurUpload.cpp | 114 --------------------- libraries/logic/screenshots/ImgurUpload.h | 33 ------ libraries/logic/screenshots/Screenshot.h | 19 ---- 5 files changed, 300 deletions(-) delete mode 100644 libraries/logic/screenshots/ImgurAlbumCreation.cpp delete mode 100644 libraries/logic/screenshots/ImgurAlbumCreation.h delete mode 100644 libraries/logic/screenshots/ImgurUpload.cpp delete mode 100644 libraries/logic/screenshots/ImgurUpload.h delete mode 100644 libraries/logic/screenshots/Screenshot.h (limited to 'libraries/logic/screenshots') diff --git a/libraries/logic/screenshots/ImgurAlbumCreation.cpp b/libraries/logic/screenshots/ImgurAlbumCreation.cpp deleted file mode 100644 index e009ef4d..00000000 --- a/libraries/logic/screenshots/ImgurAlbumCreation.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "ImgurAlbumCreation.h" - -#include -#include -#include -#include -#include - -#include "net/URLConstants.h" -#include "Env.h" -#include - -ImgurAlbumCreation::ImgurAlbumCreation(QList screenshots) : NetAction(), m_screenshots(screenshots) -{ - m_url = URLConstants::IMGUR_BASE_URL + "album.json"; - m_status = Job_NotStarted; -} - -void ImgurAlbumCreation::start() -{ - m_status = Job_InProgress; - QNetworkRequest request(m_url); - request.setHeader(QNetworkRequest::UserAgentHeader, "MultiMC/5.0 (Uncached)"); - request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); - request.setRawHeader("Authorization", "Client-ID 5b97b0713fba4a3"); - request.setRawHeader("Accept", "application/json"); - - QStringList ids; - for (auto shot : m_screenshots) - { - ids.append(shot->m_imgurId); - } - - const QByteArray data = "ids=" + ids.join(',').toUtf8() + "&title=Minecraft%20Screenshots&privacy=hidden"; - - auto worker = ENV.qnam(); - QNetworkReply *rep = worker->post(request, data); - - m_reply.reset(rep); - connect(rep, &QNetworkReply::uploadProgress, this, &ImgurAlbumCreation::downloadProgress); - connect(rep, &QNetworkReply::finished, this, &ImgurAlbumCreation::downloadFinished); - connect(rep, SIGNAL(error(QNetworkReply::NetworkError)), - SLOT(downloadError(QNetworkReply::NetworkError))); -} -void ImgurAlbumCreation::downloadError(QNetworkReply::NetworkError error) -{ - qDebug() << m_reply->errorString(); - m_status = Job_Failed; -} -void ImgurAlbumCreation::downloadFinished() -{ - if (m_status != Job_Failed) - { - QByteArray data = m_reply->readAll(); - m_reply.reset(); - QJsonParseError jsonError; - QJsonDocument doc = QJsonDocument::fromJson(data, &jsonError); - if (jsonError.error != QJsonParseError::NoError) - { - qDebug() << jsonError.errorString(); - emit failed(m_index_within_job); - return; - } - auto object = doc.object(); - if (!object.value("success").toBool()) - { - qDebug() << doc.toJson(); - emit failed(m_index_within_job); - return; - } - m_deleteHash = object.value("data").toObject().value("deletehash").toString(); - m_id = object.value("data").toObject().value("id").toString(); - m_status = Job_Finished; - emit succeeded(m_index_within_job); - return; - } - else - { - qDebug() << m_reply->readAll(); - m_reply.reset(); - emit failed(m_index_within_job); - return; - } -} -void ImgurAlbumCreation::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) -{ - m_total_progress = bytesTotal; - m_progress = bytesReceived; - emit netActionProgress(m_index_within_job, bytesReceived, bytesTotal); -} diff --git a/libraries/logic/screenshots/ImgurAlbumCreation.h b/libraries/logic/screenshots/ImgurAlbumCreation.h deleted file mode 100644 index 469174e4..00000000 --- a/libraries/logic/screenshots/ImgurAlbumCreation.h +++ /dev/null @@ -1,44 +0,0 @@ -#pragma once -#include "net/NetAction.h" -#include "Screenshot.h" - -#include "multimc_logic_export.h" - -typedef std::shared_ptr ImgurAlbumCreationPtr; -class MULTIMC_LOGIC_EXPORT ImgurAlbumCreation : public NetAction -{ -public: - explicit ImgurAlbumCreation(QList screenshots); - static ImgurAlbumCreationPtr make(QList screenshots) - { - return ImgurAlbumCreationPtr(new ImgurAlbumCreation(screenshots)); - } - - QString deleteHash() const - { - return m_deleteHash; - } - QString id() const - { - return m_id; - } - -protected -slots: - virtual void downloadProgress(qint64 bytesReceived, qint64 bytesTotal); - virtual void downloadError(QNetworkReply::NetworkError error); - virtual void downloadFinished(); - virtual void downloadReadyRead() - { - } - -public -slots: - virtual void start(); - -private: - QList m_screenshots; - - QString m_deleteHash; - QString m_id; -}; diff --git a/libraries/logic/screenshots/ImgurUpload.cpp b/libraries/logic/screenshots/ImgurUpload.cpp deleted file mode 100644 index 48e0ec18..00000000 --- a/libraries/logic/screenshots/ImgurUpload.cpp +++ /dev/null @@ -1,114 +0,0 @@ -#include "ImgurUpload.h" - -#include -#include -#include -#include -#include -#include -#include - -#include "net/URLConstants.h" -#include "Env.h" -#include - -ImgurUpload::ImgurUpload(ScreenshotPtr shot) : NetAction(), m_shot(shot) -{ - m_url = URLConstants::IMGUR_BASE_URL + "upload.json"; - m_status = Job_NotStarted; -} - -void ImgurUpload::start() -{ - finished = false; - m_status = Job_InProgress; - QNetworkRequest request(m_url); - request.setHeader(QNetworkRequest::UserAgentHeader, "MultiMC/5.0 (Uncached)"); - request.setRawHeader("Authorization", "Client-ID 5b97b0713fba4a3"); - request.setRawHeader("Accept", "application/json"); - - QFile f(m_shot->m_file.absoluteFilePath()); - if (!f.open(QFile::ReadOnly)) - { - emit failed(m_index_within_job); - return; - } - - QHttpMultiPart *multipart = new QHttpMultiPart(QHttpMultiPart::FormDataType); - QHttpPart filePart; - filePart.setBody(f.readAll().toBase64()); - filePart.setHeader(QNetworkRequest::ContentTypeHeader, "image/png"); - filePart.setHeader(QNetworkRequest::ContentDispositionHeader, "form-data; name=\"image\""); - multipart->append(filePart); - QHttpPart typePart; - typePart.setHeader(QNetworkRequest::ContentDispositionHeader, "form-data; name=\"type\""); - typePart.setBody("base64"); - multipart->append(typePart); - QHttpPart namePart; - namePart.setHeader(QNetworkRequest::ContentDispositionHeader, "form-data; name=\"name\""); - namePart.setBody(m_shot->m_file.baseName().toUtf8()); - multipart->append(namePart); - - auto worker = ENV.qnam(); - QNetworkReply *rep = worker->post(request, multipart); - - m_reply.reset(rep); - connect(rep, &QNetworkReply::uploadProgress, this, &ImgurUpload::downloadProgress); - connect(rep, &QNetworkReply::finished, this, &ImgurUpload::downloadFinished); - connect(rep, SIGNAL(error(QNetworkReply::NetworkError)), - SLOT(downloadError(QNetworkReply::NetworkError))); -} -void ImgurUpload::downloadError(QNetworkReply::NetworkError error) -{ - qCritical() << "ImgurUpload failed with error" << m_reply->errorString() << "Server reply:\n" << m_reply->readAll(); - if(finished) - { - qCritical() << "Double finished ImgurUpload!"; - return; - } - m_status = Job_Failed; - finished = true; - m_reply.reset(); - emit failed(m_index_within_job); -} -void ImgurUpload::downloadFinished() -{ - if(finished) - { - qCritical() << "Double finished ImgurUpload!"; - return; - } - QByteArray data = m_reply->readAll(); - m_reply.reset(); - QJsonParseError jsonError; - QJsonDocument doc = QJsonDocument::fromJson(data, &jsonError); - if (jsonError.error != QJsonParseError::NoError) - { - qDebug() << "imgur server did not reply with JSON" << jsonError.errorString(); - finished = true; - m_reply.reset(); - emit failed(m_index_within_job); - return; - } - auto object = doc.object(); - if (!object.value("success").toBool()) - { - qDebug() << "Screenshot upload not successful:" << doc.toJson(); - finished = true; - m_reply.reset(); - emit failed(m_index_within_job); - return; - } - m_shot->m_imgurId = object.value("data").toObject().value("id").toString(); - m_shot->m_url = object.value("data").toObject().value("link").toString(); - m_status = Job_Finished; - finished = true; - emit succeeded(m_index_within_job); - return; -} -void ImgurUpload::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) -{ - m_total_progress = bytesTotal; - m_progress = bytesReceived; - emit netActionProgress(m_index_within_job, bytesReceived, bytesTotal); -} diff --git a/libraries/logic/screenshots/ImgurUpload.h b/libraries/logic/screenshots/ImgurUpload.h deleted file mode 100644 index 0a766b8f..00000000 --- a/libraries/logic/screenshots/ImgurUpload.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once -#include "net/NetAction.h" -#include "Screenshot.h" - -#include "multimc_logic_export.h" - -typedef std::shared_ptr ImgurUploadPtr; -class MULTIMC_LOGIC_EXPORT ImgurUpload : public NetAction -{ -public: - explicit ImgurUpload(ScreenshotPtr shot); - static ImgurUploadPtr make(ScreenshotPtr shot) - { - return ImgurUploadPtr(new ImgurUpload(shot)); - } - -protected -slots: - virtual void downloadProgress(qint64 bytesReceived, qint64 bytesTotal); - virtual void downloadError(QNetworkReply::NetworkError error); - virtual void downloadFinished(); - virtual void downloadReadyRead() - { - } - -public -slots: - virtual void start(); - -private: - ScreenshotPtr m_shot; - bool finished = true; -}; diff --git a/libraries/logic/screenshots/Screenshot.h b/libraries/logic/screenshots/Screenshot.h deleted file mode 100644 index b48cbe99..00000000 --- a/libraries/logic/screenshots/Screenshot.h +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once - -#include -#include -#include -#include - -struct ScreenShot -{ - ScreenShot(QFileInfo file) - { - m_file = file; - } - QFileInfo m_file; - QString m_url; - QString m_imgurId; -}; - -typedef std::shared_ptr ScreenshotPtr; -- cgit v1.2.3