diff options
author | Petr Mrázek <peterix@gmail.com> | 2014-02-25 00:51:24 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2014-02-25 00:51:24 +0100 |
commit | cb5cfe724208beb7d506868fc4e50d9f13e28a53 (patch) | |
tree | 527bfd30ef74d5edef055ae6b4258dd2526162d8 /logic/net | |
parent | b1cddb4600db2aa54c9d274466b393fc1e03eba9 (diff) | |
download | MultiMC-cb5cfe724208beb7d506868fc4e50d9f13e28a53.tar MultiMC-cb5cfe724208beb7d506868fc4e50d9f13e28a53.tar.gz MultiMC-cb5cfe724208beb7d506868fc4e50d9f13e28a53.tar.lz MultiMC-cb5cfe724208beb7d506868fc4e50d9f13e28a53.tar.xz MultiMC-cb5cfe724208beb7d506868fc4e50d9f13e28a53.zip |
Reorganize all the screenshot files
Diffstat (limited to 'logic/net')
-rw-r--r-- | logic/net/ImgurAlbumCreation.cpp | 90 | ||||
-rw-r--r-- | logic/net/ImgurAlbumCreation.h | 42 | ||||
-rw-r--r-- | logic/net/ImgurUpload.cpp | 106 | ||||
-rw-r--r-- | logic/net/ImgurUpload.h | 30 |
4 files changed, 0 insertions, 268 deletions
diff --git a/logic/net/ImgurAlbumCreation.cpp b/logic/net/ImgurAlbumCreation.cpp deleted file mode 100644 index 0d8c4dc1..00000000 --- a/logic/net/ImgurAlbumCreation.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "ImgurAlbumCreation.h" - -#include <QNetworkRequest> -#include <QJsonDocument> -#include <QJsonObject> -#include <QUrl> - -#include "logic/lists/ScreenshotList.h" -#include "URLConstants.h" -#include "MultiMC.h" -#include "logger/QsLog.h" - -ImgurAlbumCreation::ImgurAlbumCreation(QList<ScreenShot *> 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->imgurId); - } - - const QByteArray data = "ids=" + ids.join(',').toUtf8() + "&title=Minecraft%20Screenshots&privacy=hidden"; - - auto worker = MMC->qnam(); - QNetworkReply *rep = worker->post(request, data); - - m_reply = std::shared_ptr<QNetworkReply>(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) -{ - QLOG_DEBUG() << 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) - { - QLOG_DEBUG() << jsonError.errorString(); - emit failed(m_index_within_job); - return; - } - auto object = doc.object(); - if (!object.value("success").toBool()) - { - QLOG_DEBUG() << 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 - { - QLOG_DEBUG() << 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 progress(m_index_within_job, bytesReceived, bytesTotal); -} diff --git a/logic/net/ImgurAlbumCreation.h b/logic/net/ImgurAlbumCreation.h deleted file mode 100644 index 7be255df..00000000 --- a/logic/net/ImgurAlbumCreation.h +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once -#include "NetAction.h" - -class ScreenShot; -typedef std::shared_ptr<class ImgurAlbumCreation> ImgurAlbumCreationPtr; -class ImgurAlbumCreation : public NetAction -{ -public: - explicit ImgurAlbumCreation(QList<ScreenShot *> screenshots); - static ImgurAlbumCreationPtr make(QList<ScreenShot *> 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<ScreenShot *> m_screenshots; - - QString m_deleteHash; - QString m_id; -}; diff --git a/logic/net/ImgurUpload.cpp b/logic/net/ImgurUpload.cpp deleted file mode 100644 index 4992ee65..00000000 --- a/logic/net/ImgurUpload.cpp +++ /dev/null @@ -1,106 +0,0 @@ -#include "ImgurUpload.h" - -#include <QNetworkRequest> -#include <QHttpMultiPart> -#include <QJsonDocument> -#include <QJsonObject> -#include <QHttpPart> -#include <QFile> -#include <QUrl> - -#include "logic/lists/ScreenshotList.h" -#include "URLConstants.h" -#include "MultiMC.h" -#include "logger/QsLog.h" - -ImgurUpload::ImgurUpload(ScreenShot *shot) : NetAction(), m_shot(shot) -{ - m_url = URLConstants::IMGUR_BASE_URL + "upload.json"; - m_status = Job_NotStarted; -} - -void ImgurUpload::start() -{ - 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->file); - 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->timestamp.toString(Qt::ISODate).toUtf8()); - multipart->append(namePart); - - auto worker = MMC->qnam(); - QNetworkReply *rep = worker->post(request, multipart); - - m_reply = std::shared_ptr<QNetworkReply>(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) -{ - QLOG_DEBUG() << m_reply->errorString(); - m_status = Job_Failed; -} -void ImgurUpload::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) - { - QLOG_DEBUG() << jsonError.errorString(); - emit failed(m_index_within_job); - return; - } - auto object = doc.object(); - if (!object.value("success").toBool()) - { - QLOG_DEBUG() << doc.toJson(); - emit failed(m_index_within_job); - return; - } - m_shot->imgurId = object.value("data").toObject().value("id").toString(); - m_shot->url = object.value("data").toObject().value("link").toString(); - m_status = Job_Finished; - emit succeeded(m_index_within_job); - return; - } - else - { - QLOG_DEBUG() << m_reply->readAll(); - m_reply.reset(); - emit failed(m_index_within_job); - return; - } -} -void ImgurUpload::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) -{ - m_total_progress = bytesTotal; - m_progress = bytesReceived; - emit progress(m_index_within_job, bytesReceived, bytesTotal); -} diff --git a/logic/net/ImgurUpload.h b/logic/net/ImgurUpload.h deleted file mode 100644 index e5e79587..00000000 --- a/logic/net/ImgurUpload.h +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once -#include "NetAction.h" - -class ScreenShot; -typedef std::shared_ptr<class ImgurUpload> ImgurUploadPtr; -class ImgurUpload : public NetAction -{ -public: - explicit ImgurUpload(ScreenShot *shot); - static ImgurUploadPtr make(ScreenShot *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: - ScreenShot *m_shot; -}; |