|
|
@ -472,64 +472,61 @@ void SearchEngine::updateNova() { |
|
|
|
qDebug("Updating nova"); |
|
|
|
qDebug("Updating nova"); |
|
|
|
// create search_engine directory if necessary
|
|
|
|
// create search_engine directory if necessary
|
|
|
|
QDir search_dir(misc::searchEngineLocation()); |
|
|
|
QDir search_dir(misc::searchEngineLocation()); |
|
|
|
QFile package_file(search_dir.path()+QDir::separator()+"__init__.py"); |
|
|
|
QFile package_file(search_dir.absoluteFilePath("__init__.py")); |
|
|
|
package_file.open(QIODevice::WriteOnly | QIODevice::Text); |
|
|
|
package_file.open(QIODevice::WriteOnly | QIODevice::Text); |
|
|
|
package_file.close(); |
|
|
|
package_file.close(); |
|
|
|
if(!search_dir.exists("engines")){ |
|
|
|
if(!search_dir.exists("engines")){ |
|
|
|
search_dir.mkdir("engines"); |
|
|
|
search_dir.mkdir("engines"); |
|
|
|
} |
|
|
|
} |
|
|
|
QFile package_file2(search_dir.path()+QDir::separator()+"engines"+QDir::separator()+"__init__.py"); |
|
|
|
QFile package_file2(search_dir.absolutePath().replace("\\", "/")+"/engines/__init__.py"); |
|
|
|
package_file2.open(QIODevice::WriteOnly | QIODevice::Text); |
|
|
|
package_file2.open(QIODevice::WriteOnly | QIODevice::Text); |
|
|
|
package_file2.close(); |
|
|
|
package_file2.close(); |
|
|
|
// Copy search plugin files (if necessary)
|
|
|
|
// Copy search plugin files (if necessary)
|
|
|
|
QString filePath = misc::searchEngineLocation()+QDir::separator()+"nova2.py"; |
|
|
|
QString filePath = search_dir.absoluteFilePath("nova2.py"); |
|
|
|
if(getPluginVersion(":/search_engine/nova2.py") > getPluginVersion(filePath)) { |
|
|
|
if(getPluginVersion(":/search_engine/nova2.py") > getPluginVersion(filePath)) { |
|
|
|
if(QFile::exists(filePath)) |
|
|
|
if(QFile::exists(filePath)) |
|
|
|
QFile::remove(filePath); |
|
|
|
QFile::remove(filePath); |
|
|
|
QFile::copy(":/search_engine/nova2.py", filePath); |
|
|
|
QFile::copy(":/search_engine/nova2.py", filePath); |
|
|
|
} |
|
|
|
} |
|
|
|
// Set permissions
|
|
|
|
|
|
|
|
QFile::Permissions perm=QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner | QFile::ReadUser | QFile::WriteUser | QFile::ExeUser | QFile::ReadGroup | QFile::ReadGroup; |
|
|
|
|
|
|
|
QFile(misc::searchEngineLocation()+QDir::separator()+"nova2.py").setPermissions(perm); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
filePath = misc::searchEngineLocation()+QDir::separator()+"nova2dl.py"; |
|
|
|
filePath = search_dir.absoluteFilePath("nova2dl.py"); |
|
|
|
if(getPluginVersion(":/search_engine/nova2dl.py") > getPluginVersion(filePath)) { |
|
|
|
if(getPluginVersion(":/search_engine/nova2dl.py") > getPluginVersion(filePath)) { |
|
|
|
if(QFile::exists(filePath)){ |
|
|
|
if(QFile::exists(filePath)){ |
|
|
|
QFile::remove(filePath); |
|
|
|
QFile::remove(filePath); |
|
|
|
} |
|
|
|
} |
|
|
|
QFile::copy(":/search_engine/nova2dl.py", filePath); |
|
|
|
QFile::copy(":/search_engine/nova2dl.py", filePath); |
|
|
|
} |
|
|
|
} |
|
|
|
QFile(misc::searchEngineLocation()+QDir::separator()+"nova2dl.py").setPermissions(perm); |
|
|
|
|
|
|
|
filePath = misc::searchEngineLocation()+QDir::separator()+"novaprinter.py"; |
|
|
|
filePath = search_dir.absoluteFilePath("novaprinter.py"); |
|
|
|
if(getPluginVersion(":/search_engine/novaprinter.py") > getPluginVersion(filePath)) { |
|
|
|
if(getPluginVersion(":/search_engine/novaprinter.py") > getPluginVersion(filePath)) { |
|
|
|
if(QFile::exists(filePath)){ |
|
|
|
if(QFile::exists(filePath)){ |
|
|
|
QFile::remove(filePath); |
|
|
|
QFile::remove(filePath); |
|
|
|
} |
|
|
|
} |
|
|
|
QFile::copy(":/search_engine/novaprinter.py", filePath); |
|
|
|
QFile::copy(":/search_engine/novaprinter.py", filePath); |
|
|
|
} |
|
|
|
} |
|
|
|
QFile(misc::searchEngineLocation()+QDir::separator()+"novaprinter.py").setPermissions(perm); |
|
|
|
|
|
|
|
filePath = misc::searchEngineLocation()+QDir::separator()+"helpers.py"; |
|
|
|
filePath = search_dir.absoluteFilePath("helpers.py"); |
|
|
|
if(getPluginVersion(":/search_engine/helpers.py") > getPluginVersion(filePath)) { |
|
|
|
if(getPluginVersion(":/search_engine/helpers.py") > getPluginVersion(filePath)) { |
|
|
|
if(QFile::exists(filePath)){ |
|
|
|
if(QFile::exists(filePath)){ |
|
|
|
QFile::remove(filePath); |
|
|
|
QFile::remove(filePath); |
|
|
|
} |
|
|
|
} |
|
|
|
QFile::copy(":/search_engine/helpers.py", filePath); |
|
|
|
QFile::copy(":/search_engine/helpers.py", filePath); |
|
|
|
} |
|
|
|
} |
|
|
|
QFile(misc::searchEngineLocation()+QDir::separator()+"socks.py").setPermissions(perm); |
|
|
|
|
|
|
|
filePath = misc::searchEngineLocation()+QDir::separator()+"socks.py"; |
|
|
|
filePath = search_dir.absoluteFilePath("socks.py"); |
|
|
|
if(!QFile::exists(filePath)) { |
|
|
|
if(!QFile::exists(filePath)) { |
|
|
|
QFile::copy(":/search_engine/socks.py", filePath); |
|
|
|
QFile::copy(":/search_engine/socks.py", filePath); |
|
|
|
} |
|
|
|
} |
|
|
|
QString destDir = misc::searchEngineLocation()+QDir::separator()+"engines"+QDir::separator(); |
|
|
|
QDir destDir(QDir(misc::searchEngineLocation()).absoluteFilePath("engines")); |
|
|
|
QDir shipped_subDir(":/search_engine/engines/"); |
|
|
|
QDir shipped_subDir(":/search_engine/engines/"); |
|
|
|
QStringList files = shipped_subDir.entryList(); |
|
|
|
QStringList files = shipped_subDir.entryList(); |
|
|
|
foreach(const QString &file, files){ |
|
|
|
foreach(const QString &file, files){ |
|
|
|
QString shipped_file = shipped_subDir.path()+"/"+file; |
|
|
|
QString shipped_file = shipped_subDir.absoluteFilePath(file); |
|
|
|
// Copy python classes
|
|
|
|
// Copy python classes
|
|
|
|
if(file.endsWith(".py")) { |
|
|
|
if(file.endsWith(".py")) { |
|
|
|
const QString dest_file = destDir+file; |
|
|
|
const QString dest_file = destDir.absoluteFilePath(file); |
|
|
|
if(getPluginVersion(shipped_file) > getPluginVersion(dest_file) ) { |
|
|
|
if(getPluginVersion(shipped_file) > getPluginVersion(dest_file) ) { |
|
|
|
qDebug("shippped %s is more recent then local plugin, updating", qPrintable(file)); |
|
|
|
qDebug("shipped %s is more recent then local plugin, updating...", qPrintable(file)); |
|
|
|
if(QFile::exists(dest_file)) { |
|
|
|
if(QFile::exists(dest_file)) { |
|
|
|
qDebug("Removing old %s", qPrintable(dest_file)); |
|
|
|
qDebug("Removing old %s", qPrintable(dest_file)); |
|
|
|
QFile::remove(dest_file); |
|
|
|
QFile::remove(dest_file); |
|
|
@ -540,8 +537,8 @@ void SearchEngine::updateNova() { |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
// Copy icons
|
|
|
|
// Copy icons
|
|
|
|
if(file.endsWith(".png")) { |
|
|
|
if(file.endsWith(".png")) { |
|
|
|
if(!QFile::exists(destDir+file)) { |
|
|
|
if(!QFile::exists(destDir.absoluteFilePath(file))) { |
|
|
|
QFile::copy(shipped_file, destDir+file); |
|
|
|
QFile::copy(shipped_file, destDir.absoluteFilePath(file)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|