History

No errors upon build

elisa-lj11 committed 10 years ago

Commit 9833ba11 parent 212e4f95 files · +52 −23Browse files

Showing the changes to libraries/script-engine/src/FileScriptingInterface.cpp (1 of 5 files). Show all

Unified · Split

libraries/script-engine/src/FileScriptingInterface.cpp+32−13
@@ -1,6 +1,6 @@
1//1//
2// FileScriptingInterface.cpp2// FileScriptingInterface.cpp
3// interface/src/scripting3// libraries/script-engine/src
4//4//
5// Created by Elisa Lupin-Jimenez on 6/28/16.5// Created by Elisa Lupin-Jimenez on 6/28/16.
6// Copyright 2016 High Fidelity, Inc.6// Copyright 2016 High Fidelity, Inc.
@@ -10,15 +10,18 @@ · 3 unmodified lines
10//10//
11 11
12#include <QTemporaryDir>12#include <QTemporaryDir>
13#include <QDir>
13#include <QFile>14#include <QFile>
14#include <QDebug>15#include <QDebug>
15#include <QBuffer>16#include <QBuffer>
17#include <QTextCodec>
18#include <QIODevice>
16#include <QUrl>19#include <QUrl>
17#include <QByteArray>20#include <QByteArray>
18#include <QString>21#include <QString>
19#include <QFileInfo>22#include <QFileInfo>
20#include <quazip/quazip.h>23#include <quazip5/quazip.h>
21#include <quazip/JlCompress.h>24#include <quazip5/JlCompress.h>
22#include "ResourceManager.h"25#include "ResourceManager.h"
23 26
24#include "FileScriptingInterface.h"27#include "FileScriptingInterface.h"
@@ -28,27 +31,43 @@ FileScriptingInterface::FileScriptingInterface(QObject* parent) : QObject(parent · 3 unmodified lines
28 // nothing for now31 // nothing for now
29}32}
30 33
31void FileScriptingInterface::downloadZip() {34void FileScriptingInterface::runUnzip(QString path, QString importURL) {
32 QUrl url(*parent);35 downloadZip(path, importURL);
36
37}
38
39QString FileScriptingInterface::getTempDir() {
40 QTemporaryDir dir;
41 dir.setAutoRemove(false);
42 return dir.path();
43 // remember I must do something to delete this temp dir later
44}
45
46void FileScriptingInterface::downloadZip(QString path, const QString link) {
47 QUrl url = QUrl(link);
33 auto request = ResourceManager::createResourceRequest(nullptr, url);48 auto request = ResourceManager::createResourceRequest(nullptr, url);
34 connect(request, &ResourceRequest::finished, this, &FileScriptingInterface::unzipFile);49 connect(request, &ResourceRequest::finished, this, [this, path]{
50 unzipFile(path);
51 });
35 request->send();52 request->send();
36}53}
37 54
38// clement's help :D55// clement's help :D
39void FileScriptingInterface::unzipFile() {56void FileScriptingInterface::unzipFile(QString path) {
40 ResourceRequest* request = qobject_cast<ResourceRequest*>(sender());57 ResourceRequest* request = qobject_cast<ResourceRequest*>(sender());
41 QUrl url = request->getUrl();58 QUrl url = request->getUrl();
42 59
43 if (request->getResult() == ResourceRequest::Success) {60 if (request->getResult() == ResourceRequest::Success) {
44 qDebug() << "Zip file was downloaded";61 qDebug() << "Zip file was downloaded";
45 QTemporaryDir dir;62 QDir dir(path);
46 QByteArray compressedFileContent = request->getData(); // <-- Downloaded file is in here63 QByteArray compressedFileContent = request->getData(); // <-- Downloaded file is in here
47 QBuffer buffer(&compressedFileContent);64 QBuffer buffer(&compressedFileContent);
48 buffer.open(QIODevice::ReadOnly);65 buffer.open(QIODevice::ReadOnly);
49 66
67 //QString zipFileName = QFile::decodeName(compressedFileContent);
50 QString dirName = dir.path();68 QString dirName = dir.path();
51 JlCompress::extractDir(buffer, dirName);69 qDebug() << "Zip directory is stored at: " + dirName;
70 JlCompress::extractDir(&buffer, dirName);
52 71
53 QFileInfoList files = dir.entryInfoList();72 QFileInfoList files = dir.entryInfoList();
54 foreach (QFileInfo file, files) {73 foreach (QFileInfo file, files) {
@@ -67,7 +86,7 @@ void FileScriptingInterface::unzipFile() { · 12 unmodified lines
67 }*/86 }*/
68 87
69 88
70 //QString zipFileName = QFile::decodeName(&compressedFileContent);89
71 90
72 //QFile file = 91 //QFile file =
73 //need to convert this byte array to a file92 //need to convert this byte array to a file
@@ -100,10 +119,10 @@ void FileScriptingInterface::recursiveFileScan(QFileInfo file, QString* dirName) · 26 unmodified lines
100 QFileInfoList files;119 QFileInfoList files;
101 120
102 if (file.fileName().contains(".zip")) {121 if (file.fileName().contains(".zip")) {
103 JlCompress::extractDir(file);122 JlCompress::extractDir(file.fileName());
104 qDebug() << "Extracting archive: " + file.fileName();123 qDebug() << "Extracting archive: " + file.fileName();
105 }124 }
106 files = file.entryInfoList();125 files = file.dir().entryInfoList();
107 126
108 /*if (files.empty()) {127 /*if (files.empty()) {
109 files = JlCompress::getFileList(file.fileName());128 files = JlCompress::getFileList(file.fileName());
@@ -111,7 +130,7 @@ void FileScriptingInterface::recursiveFileScan(QFileInfo file, QString* dirName) · 1 unmodified line
111 130
112 foreach (QFileInfo file, files) {131 foreach (QFileInfo file, files) {
113 qDebug() << "Looking into file: " + file.fileName();132 qDebug() << "Looking into file: " + file.fileName();
114 recursiveFileScan(file, &dirName);133 recursiveFileScan(file, dirName);
115 }134 }
116 return;135 return;
117}136}