mirror of
https://github.com/abraunegg/onedrive
synced 2024-05-10 01:36:39 +02:00
Implement feature request: Detect when sync-folder is missing
* Provide a new switch 'check-mount' which will check for the presence of a hidden file '.nosync' file. If this file is found in the sync dir, then the sync process will shutdown. Refer to #8 for further details.
This commit is contained in:
parent
d6b4930d0a
commit
1cfe137a92
15
src/main.d
15
src/main.d
|
@ -56,12 +56,15 @@ int main(string[] args)
|
|||
bool localFirst;
|
||||
// Upload Only
|
||||
bool uploadOnly;
|
||||
// Add a check mounts option to resolve https://github.com/abraunegg/onedrive/issues/8
|
||||
bool checkMount;
|
||||
|
||||
try {
|
||||
auto opt = getopt(
|
||||
args,
|
||||
std.getopt.config.bundling,
|
||||
std.getopt.config.caseSensitive,
|
||||
"check-mount", "Check for the presence of .nosync in the syncdir root", &checkMount,
|
||||
"confdir", "Set the directory used to store the configuration files", &configDirName,
|
||||
"create-directory", "Create a directory on OneDrive - no sync will be performed.", &createDirectory,
|
||||
"destination-directory", "Destination directory for renamed or move on OneDrive - no sync will be performed.", &destinationDirectory,
|
||||
|
@ -190,7 +193,17 @@ int main(string[] args)
|
|||
log.log("Initializing the Synchronization Engine ...");
|
||||
auto sync = new SyncEngine(cfg, onedrive, itemdb, selectiveSync);
|
||||
sync.init();
|
||||
|
||||
|
||||
// Do we need to validate the syncDir to check for the presence of a '.nosync' file
|
||||
if (checkMount) {
|
||||
// we were asked to check the mounts
|
||||
if (exists(syncDir ~ "/.nosync")) {
|
||||
log.log("\nERROR: .nosync file found. Aborting synchronization process to safeguard data.");
|
||||
onedrive.http.shutdown();
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
// Do we need to create or remove a directory?
|
||||
if ((createDirectory != "") || (removeDirectory != "")) {
|
||||
|
||||
|
|
Loading…
Reference in a new issue