[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdepim/akonadi/tray
From: Tom Albers <tomalbers () kde ! nl>
Date: 2008-05-31 17:00:27
Message-ID: 1212253227.638823.6798.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 814899 by toma:
Add the .config/akonadi to the backup and restore.
M +24 -12 backup.cpp
M +23 -9 restore.cpp
--- trunk/KDE/kdepim/akonadi/tray/backup.cpp #814898:814899
@@ -24,6 +24,7 @@
#include <KTempDir>
#include <KUrl>
+#include <QDir>
#include <kio/netaccess.h>
#include <akonadi/private/xdgbasedirs_p.h>
@@ -58,16 +59,17 @@
return;
}
+ const QString sep( QDir::separator() );
/* first create the temp folder. */
KTempDir *tempDir = new KTempDir( KStandardDirs::locateLocal( "tmp", "akonadi" ) \
); tempDir->setAutoRemove( false );
- KIO::NetAccess::mkdir( tempDir->name() + "config", this );
+ KIO::NetAccess::mkdir( tempDir->name() + "kdeconfig", this );
+ KIO::NetAccess::mkdir( tempDir->name() + "akonadiconfig", this );
KIO::NetAccess::mkdir( tempDir->name() + "db", this );
- kDebug() << "Temp dir: "<< tempDir->name();
QStringList filesToBackup;
- /* Copy over the configuration files. */
+ /* Copy over the KDE config files. */
AgentManager *manager = AgentManager::self();
AgentInstance::List list = manager->instances();
foreach( const AgentInstance &agent, list ) {
@@ -75,14 +77,26 @@
const QString configFileName = KStandardDirs::locateLocal( "config", \
agentFileName );
bool exists = KIO::NetAccess::exists( configFileName, \
KIO::NetAccess::DestinationSide, this ); if ( exists ) {
- KIO::NetAccess::file_copy( configFileName, tempDir->name() + "config/" + \
agentFileName, this );
- filesToBackup << "config/" + agentFileName;
+ KIO::NetAccess::file_copy( configFileName,
+ tempDir->name() + "kdeconfig" + sep + agentFileName, this );
+ filesToBackup << "kdeconfig" + sep + agentFileName;
}
}
+ /* Copy over the Akonadi config files */
+ const QString config = XdgBaseDirs::findResourceDir( "config", "akonadi" );
+ QDir dir( config );
+ const QStringList configlist = dir.entryList( QDir::Files );
+ foreach( const QString& item, configlist ) {
+ KIO::NetAccess::file_copy( config + sep + item,
+ tempDir->name() + "akonadiconfig" + sep + item, this );
+ filesToBackup << "akonadiconfig/" + item;
+ }
+
+
/* Dump the database */
const QString socket = XdgBaseDirs::findResourceDir( "data",
- "akonadi/db_misc/" ) + "mysql.socket";
+ "akonadi" + sep + "db_misc" + sep) + "mysql.socket";
if ( socket.isEmpty() )
kFatal() << "No socket found";
@@ -93,31 +107,29 @@
params << "--result-file=" + tempDir->name() + "db/database.sql";
params << "--socket=" + socket << "akonadi";
proc->setProgram( KStandardDirs::findExe( "mysqldump" ), params );
- kDebug() << "Executing: " << proc->program();
int result = proc->execute();
delete proc;
- kDebug() << result;
if ( result != 0 ) {
+ kWarning() << "Executed: " << proc->program() << "Result: " << result;
tempDir->unlink();
delete tempDir;
emit completed( false );
return;
}
- filesToBackup << "db/database.sql";
+ filesToBackup << "db" + sep + "database.sql";
/* Make a nice tar file. */
proc = new KProcess( this );
params.clear();
params << "-C" << tempDir->name();
- params << "-cjvf";
+ params << "-cjf";
params << filename.path() << filesToBackup;
proc->setWorkingDirectory( tempDir->name() );
proc->setProgram( KStandardDirs::findExe( "tar" ), params );
- kDebug() << "Executing: " << proc->program();
result = proc->execute();
delete proc;
- kDebug() << result;
if ( result != 0 ) {
+ kWarning() << "Executed: " << proc->program() << "Result: " << result;
tempDir->unlink();
delete tempDir;
emit completed( false );
--- trunk/KDE/kdepim/akonadi/tray/restore.cpp #814898:814899
@@ -59,6 +59,8 @@
return;
}
+ const QString sep = QDir::separator();
+
/* first create the temp folder. */
KTempDir *tempDir = new KTempDir( KStandardDirs::locateLocal( "tmp", "akonadi" ) \
); tempDir->setAutoRemove( false );
@@ -68,23 +70,22 @@
KProcess *proc = new KProcess( this );
QStringList params;
params << "-C" << tempDir->name();
- params << "-xjvf";
+ params << "-xjf";
params << filename.path();
proc->setWorkingDirectory( tempDir->name() );
proc->setProgram( KStandardDirs::findExe( "tar" ), params );
- kDebug() << "Executing: " << proc->program();
int result = proc->execute();
delete proc;
- kDebug() << result;
if ( result != 0 ) {
+ kWarning() << "Executed:" << proc->program() << " Result: " << result;
tempDir->unlink();
delete tempDir;
emit completed( false );
return;
}
- /* Copy over the configuration files. */
- QDir dir( tempDir->name() + "config/" );
+ /* Copy over the KDE configuration files. */
+ QDir dir( tempDir->name() + "kdeconfig" + sep );
dir.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks );
QFileInfoList list = dir.entryInfoList();
for ( int i = 0; i < list.size(); ++i ) {
@@ -96,22 +97,35 @@
KIO::NetAccess::file_copy( source, dest, this );
}
+ /* Copy over the Akonadi configuration files. */
+ const QString akonadiconfigfolder = XdgBaseDirs::findResourceDir( "config", \
"akonadi" ); + dir.setPath( tempDir->name() + "akonadiconfig" + sep );
+ dir.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks );
+ list = dir.entryInfoList();
+ for ( int i = 0; i < list.size(); ++i ) {
+ QFileInfo fileInfo = list.at( i );
+ const QString source = fileInfo.absoluteFilePath();
+ const QString dest = akonadiconfigfolder + sep + fileInfo.fileName();
+
+ kDebug() << "Restoring: " << source << "to:" << dest;
+ KIO::NetAccess::file_copy( source, dest, this );
+ }
+
/* Restore the database */
const QString socket = XdgBaseDirs::findResourceDir( "data",
- "akonadi/db_misc/" ) + "mysql.socket";
+ "akonadi" + sep + "db_misc" + sep ) + "mysql.socket";
if ( socket.isEmpty() )
kFatal() << "No socket found";
proc = new KProcess( this );
params.clear();
params << "--socket=" + socket << "akonadi";
- proc->setStandardInputFile( tempDir->name() + "db/database.sql" );
+ proc->setStandardInputFile( tempDir->name() + "db" + sep + "database.sql" );
proc->setProgram( KStandardDirs::findExe( "mysql" ), params );
- kDebug() << "Executing: " << proc->program();
result = proc->execute();
delete proc;
- kDebug() << result;
if ( result != 0 ) {
+ kWarning() << "Executed:" << proc->program() << " Result: " << result;
tempDir->unlink();
delete tempDir;
emit completed( false );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic