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 @@
11 //
22 // FileScriptingInterface.cpp
3−// interface/src/scripting
3+// libraries/script-engine/src
44 //
55 // Created by Elisa Lupin-Jimenez on 6/28/16.
66 // Copyright 2016 High Fidelity, Inc.
@@ -10,15 +10,18 @@ · 3 unmodified lines
1010 //
1111
1212 #include <QTemporaryDir>
13+#include <QDir>
1314 #include <QFile>
1415 #include <QDebug>
1516 #include <QBuffer>
17+#include <QTextCodec>
18+#include <QIODevice>
1619 #include <QUrl>
1720 #include <QByteArray>
1821 #include <QString>
1922 #include <QFileInfo>
20−#include <quazip/quazip.h>
21−#include <quazip/JlCompress.h>
23+#include <quazip5/quazip.h>
24+#include <quazip5/JlCompress.h>
2225 #include "ResourceManager.h"
2326
2427 #include "FileScriptingInterface.h"
@@ -28,27 +31,43 @@ FileScriptingInterface::FileScriptingInterface(QObject* parent) : QObject(parent · 3 unmodified lines
2831 // nothing for now
2932 }
3033
31−void FileScriptingInterface::downloadZip() {
32− QUrl url(*parent);
34+void FileScriptingInterface::runUnzip(QString path, QString importURL) {
35+ downloadZip(path, importURL);
36+
37+}
38+
39+QString 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+
46+void FileScriptingInterface::downloadZip(QString path, const QString link) {
47+ QUrl url = QUrl(link);
3348 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+ });
3552 request->send();
3653 }
3754
3855 // clement's help :D
39−void FileScriptingInterface::unzipFile() {
56+void FileScriptingInterface::unzipFile(QString path) {
4057 ResourceRequest* request = qobject_cast<ResourceRequest*>(sender());
4158 QUrl url = request->getUrl();
4259
4360 if (request->getResult() == ResourceRequest::Success) {
4461 qDebug() << "Zip file was downloaded";
45− QTemporaryDir dir;
62+ QDir dir(path);
4663 QByteArray compressedFileContent = request->getData(); // <-- Downloaded file is in here
4764 QBuffer buffer(&compressedFileContent);
4865 buffer.open(QIODevice::ReadOnly);
4966
67+ //QString zipFileName = QFile::decodeName(compressedFileContent);
5068 QString dirName = dir.path();
51− JlCompress::extractDir(buffer, dirName);
69+ qDebug() << "Zip directory is stored at: " + dirName;
70+ JlCompress::extractDir(&buffer, dirName);
5271
5372 QFileInfoList files = dir.entryInfoList();
5473 foreach (QFileInfo file, files) {
@@ -67,7 +86,7 @@ void FileScriptingInterface::unzipFile() { · 12 unmodified lines
6786 }*/
6887
6988
70− //QString zipFileName = QFile::decodeName(&compressedFileContent);
89+
7190
7291 //QFile file =
7392 //need to convert this byte array to a file
@@ -100,10 +119,10 @@ void FileScriptingInterface::recursiveFileScan(QFileInfo file, QString* dirName) · 26 unmodified lines
100119 QFileInfoList files;
101120
102121 if (file.fileName().contains(".zip")) {
103− JlCompress::extractDir(file);
122+ JlCompress::extractDir(file.fileName());
104123 qDebug() << "Extracting archive: " + file.fileName();
105124 }
106− files = file.entryInfoList();
125+ files = file.dir().entryInfoList();
107126
108127 /*if (files.empty()) {
109128 files = JlCompress::getFileList(file.fileName());
@@ -111,7 +130,7 @@ void FileScriptingInterface::recursiveFileScan(QFileInfo file, QString* dirName) · 1 unmodified line
111130
112131 foreach (QFileInfo file, files) {
113132 qDebug() << "Looking into file: " + file.fileName();
114− recursiveFileScan(file, &dirName);
133+ recursiveFileScan(file, dirName);
115134 }
116135 return;
117136 }