History

ModelUploader update

Atlante45 committed 12 years ago

Commit a040c991 parent 4fe2ec32 files · +63 −6Browse files

Showing the changes to interface/src/ModelUploader.cpp (1 of 2 files). Show all

Unified · Split

interface/src/ModelUploader.cpp+62−6
@@ -34,6 +34,7 @@ static const QString TEXDIR_FIELD = "texdir"; · 33 unmodified lines
3434 static const QString LOD_FIELD = "lod";
3535
3636 static const QString S3_URL = "http://highfidelity-public.s3-us-west-1.amazonaws.com";
37+static const QString DATA_SERVER_URL = "https://data-web.highfidelity.io";
3738 static const QString MODEL_URL = "/api/v1/models";
3839
3940 static const QString SETTING_NAME = "LastModelUploadLocation";
@@ -201,14 +202,14 @@ void ModelUploader::send() { · 161 unmodified lines
201202
202203 JSONCallbackParameters callbackParams;
203204 callbackParams.jsonCallbackReceiver = this;
204− callbackParams.jsonCallbackMethod = "uploadSuccess";
205+ callbackParams.jsonCallbackMethod = "checkJSON";
205206 callbackParams.errorCallbackReceiver = this;
206207 callbackParams.errorCallbackMethod = "uploadFailed";
207− callbackParams.updateReciever = this;
208− callbackParams.updateSlot = SLOT(uploadUpdate(qint64, qint64));
209208
210− AccountManager::getInstance().authenticatedRequest(MODEL_URL, QNetworkAccessManager::PostOperation, callbackParams, QByteArray(), _dataMultiPart);
211− _dataMultiPart = NULL;
209+ AccountManager::getInstance().authenticatedRequest(MODEL_URL + "/" + QFileInfo(_url).baseName(),
210+ QNetworkAccessManager::GetOperation,
211+ callbackParams);
212+
212213 qDebug() << "Sending model...";
213214 _progressDialog = new QDialog();
214215 _progressBar = new QProgressBar(_progressDialog);
@@ -226,6 +227,61 @@ void ModelUploader::send() { · 11 unmodified lines
226227 _progressBar = NULL;
227228 }
228229
230+void ModelUploader::checkJSON(const QJsonObject& jsonResponse) {
231+ if (jsonResponse.contains("status") && jsonResponse.value("status").toString() == "success") {
232+ qDebug() << "status : success";
233+ JSONCallbackParameters callbackParams;
234+ callbackParams.jsonCallbackReceiver = this;
235+ callbackParams.jsonCallbackMethod = "uploadSuccess";
236+ callbackParams.errorCallbackReceiver = this;
237+ callbackParams.errorCallbackMethod = "uploadFailed";
238+ callbackParams.updateReciever = this;
239+ callbackParams.updateSlot = SLOT(uploadUpdate(qint64, qint64));
240+
241+ if (jsonResponse.contains("exists") && jsonResponse.value("exists").toString() == "true") {
242+ qDebug() << "exists : true";
243+ if (jsonResponse.contains("can_update") && jsonResponse.value("can_update").toString() == "true") {
244+ qDebug() << "can_update : true";
245+
246+ AccountManager::getInstance().authenticatedRequest(MODEL_URL + "/" + QFileInfo(_url).baseName(),
247+ QNetworkAccessManager::PutOperation,
248+ callbackParams,
249+ QByteArray(),
250+ _dataMultiPart);
251+ _dataMultiPart = NULL;
252+ } else {
253+ qDebug() << "can_update : false";
254+ if (_progressDialog) {
255+ _progressDialog->reject();
256+ }
257+ QMessageBox::warning(NULL,
258+ QString("ModelUploader::checkJSON()"),
259+ QString("This model already exist and is own by someone else."),
260+ QMessageBox::Ok);
261+ deleteLater();
262+ }
263+ } else {
264+ qDebug() << "exists : false";
265+ AccountManager::getInstance().authenticatedRequest(MODEL_URL,
266+ QNetworkAccessManager::PostOperation,
267+ callbackParams,
268+ QByteArray(),
269+ _dataMultiPart);
270+ _dataMultiPart = NULL;
271+ }
272+ } else {
273+ qDebug() << "status : failed";
274+ if (_progressDialog) {
275+ _progressDialog->reject();
276+ }
277+ QMessageBox::warning(NULL,
278+ QString("ModelUploader::checkJSON()"),
279+ QString("Something went wrong with the data-server."),
280+ QMessageBox::Ok);
281+ deleteLater();
282+ }
283+}
284+
229285 void ModelUploader::uploadUpdate(qint64 bytesSent, qint64 bytesTotal) {
230286 if (_progressDialog) {
231287 _progressBar->setRange(0, bytesTotal);
@@ -249,11 +305,11 @@ void ModelUploader::uploadFailed(QNetworkReply::NetworkError errorCode, const QS · 17 unmodified lines
249305 if (_progressDialog) {
250306 _progressDialog->reject();
251307 }
308+ qDebug() << "Model upload failed (" << errorCode << "): " << errorString;
252309 QMessageBox::warning(NULL,
253310 QString("ModelUploader::uploadFailed()"),
254311 QString("There was a problem with your upload, please try again later."),
255312 QMessageBox::Ok);
256− qDebug() << "Model upload failed (" << errorCode << "): " << errorString;
257313 deleteLater();
258314 }
259315

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t