- various code cleanups

- fix alias usage in sitecopy config file
This commit is contained in:
Klaas Freitag 2011-09-26 16:20:53 +02:00
parent 627a2691ad
commit 0000caa632
5 changed files with 52 additions and 41 deletions

View File

@ -166,12 +166,12 @@ void Application::slotAddFolder()
settings.setValue("backend:sitecopy/url", _folderWizard->field("OCUrl"));
settings.setValue("backend:sitecopy/user", _folderWizard->field("OCUser"));
settings.setValue("backend:sitecopy/passwd", _folderWizard->field("OCPasswd"));
settings.setValue("backend:sitecopy/alias", _folderWizard->field("OCSiteAlias"));
qDebug() << "Now writing sitecopy config " << _folderWizard->field("OCSiteAlias").toString(); ;
SitecopyConfig scConfig;
scConfig.writeSiteConfig( _folderWizard->field("sourceFolder").toString(), /* local path */
_folderWizard->field("OCSiteAlias").toString(), /* site alias */
alias, /* _folderWizard->field("OCSiteAlias").toString(), site alias */
_folderWizard->field("OCUrl").toString(), /* site URL */
_folderWizard->field("OCUser").toString(),
_folderWizard->field("OCPasswd").toString() );

View File

@ -26,31 +26,33 @@ void SitecopyConfig::writeSiteConfig( const QString& localPath,
const QString& user, const QString& passwd )
{
parseSiteConfig( );
// now all configured sites are in the hash mSites.
foreach( QString site, mSites.keys() ) {
qDebug() << "*** Writing Site Alias " << siteAlias;
// now all configured sites are in the hash _Sites.
foreach( QString site, _Sites.keys() ) {
qDebug() << "Known site: " << site;
}
// check if there is already a cloudia site.
QHash<QString, QString> cloudiaDefs;
// check if there is already a oc site.
QHash<QString, QString> ocDefs;
if( mSites.contains( siteAlias ) ) {
cloudiaDefs = mSites[siteAlias];
if( _Sites.contains( siteAlias ) ) {
ocDefs = _Sites[siteAlias];
}
QUrl ocUrl( url );
QString host = ocUrl.host();
QString path = ocUrl.path();
qDebug() << "Split url, host: " << host << " and path: " << path;
// FIXME: Check if user settings are overwritten
cloudiaDefs["server"] = host;
cloudiaDefs["protocol"] = "webdav";
cloudiaDefs["local"] = localPath;
cloudiaDefs["remote"] = path + "/files/webdav.php";
cloudiaDefs["password"] = passwd;
ocDefs["server"] = host;
ocDefs["protocol"] = "webdav";
ocDefs["local"] = localPath;
ocDefs["remote"] = path + "/files/webdav.php";
ocDefs["password"] = passwd;
// QString user( getenv("USER"));
cloudiaDefs["username"] = user;
mSites.insert( siteAlias, cloudiaDefs );
ocDefs["username"] = user;
_Sites.insert( siteAlias, ocDefs );
qDebug() << "** Now Writing!";
@ -60,8 +62,8 @@ void SitecopyConfig::writeSiteConfig( const QString& localPath,
}
QTextStream out(&configFile);
foreach( QString site, mSites.keys() ) {
QHash<QString, QString> configs = mSites[site];
foreach( QString site, _Sites.keys() ) {
QHash<QString, QString> configs = _Sites[site];
qDebug() << "Writing site: <" << site << ">";
out << "site " << site << '\n';
foreach( QString configKey, configs.keys() ) {
@ -97,8 +99,8 @@ bool SitecopyConfig::parseSiteConfig( )
QByteArray line = configFile.readLine();
processConfigLine( line.simplified() );
}
if( ! mCurrSiteName.isEmpty() ) {
mSites.insert(mCurrSiteName, mCurrSite);
if( ! _CurrSiteName.isEmpty() ) {
_Sites.insert(_CurrSiteName, _CurrSite);
} else {
qDebug() << "ERR: No current Site name found";
return false;
@ -121,23 +123,23 @@ void SitecopyConfig::processConfigLine( const QString& line )
if( key == QString::fromLatin1("site") && !val.isEmpty() ) {
qDebug() << "Found site " << val;
if( !mCurrSiteName.isEmpty() && !mCurrSite.isEmpty() ) {
if( !_CurrSiteName.isEmpty() && !_CurrSite.isEmpty() ) {
// save to the sites hash first
mSites.insert( mCurrSiteName, mCurrSite );
mCurrSite.clear();
_Sites.insert( _CurrSiteName, _CurrSite );
_CurrSite.clear();
}
if( !val.isEmpty() ) {
mCurrSiteName = val;
_CurrSiteName = val;
// new site entry.
if( mSites.contains( val ) ) {
mCurrSite = mSites[val];
if( _Sites.contains( val ) ) {
_CurrSite = _Sites[val];
}
} else {
qDebug() << "Found empty site name, can not parse, fix manually!";
mCurrSiteName.clear();
_CurrSiteName.clear();
}
} else {
mCurrSite.insert( key, val );
_CurrSite.insert( key, val );
}
}

View File

@ -30,10 +30,10 @@ public:
private:
void processConfigLine( const QString& );
QHash<QString, QHash<QString, QString> > mSites;
QHash<QString, QString> mCurrSite;
QHash<QString, QStringList> mChangesHash;
QString mCurrSiteName;
QHash<QString, QHash<QString, QString> > _Sites;
QHash<QString, QString> _CurrSite;
// QHash<QString, QStringList> _ChangesHash;
QString _CurrSiteName;
};
};

View File

@ -60,6 +60,11 @@ bool SiteCopyFolder::isBusy() const
return (_SiteCopy->state() != QProcess::NotRunning);
}
QString SiteCopyFolder::siteCopyAlias() const
{
return _siteCopyAlias;
}
void SiteCopyFolder::startSync(const QStringList &pathList)
{
QMutexLocker locker(&_syncMutex);
@ -86,8 +91,8 @@ void SiteCopyFolder::startSiteCopy( const QString& command, SiteCopyState nextSt
QString programm = "/usr/bin/sitecopy";
QStringList args;
args << command << alias();
qDebug() << "** staring command " << command;
mNextStep = nextState;
qDebug() << "** staring command " << args;
_NextStep = nextState;
_lastOutput.clear();
_SiteCopy->start( programm, args );
@ -110,20 +115,20 @@ void SiteCopyFolder::slotFinished(int exitCode, QProcess::ExitStatus exitStatus)
emit( syncFinished( SyncResult( SyncResult::Error )));
}
if( mNextStep == Sync ) {
if( _NextStep == Sync ) {
startSiteCopy( "--sync", Finish ); // sync local with cloud data.
} else if( mNextStep == Update ) {
} else if( _NextStep == Update ) {
startSiteCopy( "--update", Finish ); // update from owncloud
} else if( mNextStep == Finish ) {
} else if( _NextStep == Finish ) {
qDebug() << "Finished!";
emit syncFinished((exitCode == -1 ) ?
SyncResult(SyncResult::Error)
: SyncResult(SyncResult::Success));
// mLocalChangesSeen = false;
} else if( mNextStep == Status ) {
} else if( _NextStep == Status ) {
startSiteCopy( "--flatlist", DisplayStatus );
} else if( mNextStep == DisplayStatus ) {
} else if( _NextStep == DisplayStatus ) {
if( exitCode == 1 ) {
qDebug() << "Exit-Code: Sync Needed!";
analyzeStatus();
@ -193,7 +198,7 @@ void SiteCopyFolder::slotReadyReadStandardOutput()
{
QByteArray arr = _SiteCopy->readAllStandardOutput();
if( mNextStep == Finish ) {
if( _NextStep == Finish ) {
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
// render the output to status line
QString string = codec->toUnicode( arr );
@ -207,7 +212,7 @@ void SiteCopyFolder::slotReadyReadStandardOutput()
}
emit statusString( _StatusString );
} else if( mNextStep == DisplayStatus ) {
} else if( _NextStep == DisplayStatus ) {
_lastOutput += arr;
}

View File

@ -40,6 +40,9 @@ public:
virtual bool isBusy() const;
QString siteCopyAlias() const;
signals:
void statusString( const QString& );
@ -61,7 +64,8 @@ private:
QByteArray _lastOutput;
QString _StatusString;
SiteCopyState mNextStep;
SiteCopyState _NextStep;
QString _siteCopyAlias;
QHash<QString, QStringList> mChangesHash;
};