(feat) added delete capability to sogo-tool checkup

pull/234/head
Ludovic Marcotte 2017-02-20 13:37:23 -05:00
parent fe42180bc0
commit cc52e82524
1 changed files with 13 additions and 3 deletions

View File

@ -43,6 +43,7 @@
@interface SOGoToolCheckup : SOGoTool
{
NSArray *usersToCheckup;
BOOL delete;
}
@end
@ -64,6 +65,7 @@
if ((self = [super init]))
{
usersToCheckup = nil;
delete = NO;
}
return self;
@ -77,8 +79,9 @@
- (void) usage
{
fprintf (stderr, "checkup [user]...\n\n"
" user the user to purge the records or ALL for everybody\n\n"
fprintf (stderr, "checkup [-d] user...\n\n"
" -d delete the corrupted records\n"
" user the user to check the records or ALL for everybody\n\n"
"Example: sogo-tool checkup jdoe\n");
}
@ -181,8 +184,9 @@
int max;
max = [arguments count];
if (max == 1)
if (max > 0 && max < 3)
{
delete = (max == 2);
rc = [self fetchUserIDs: arguments];
}
else
@ -226,6 +230,8 @@
[[content substringFromIndex: [content length]-13] caseInsensitiveCompare: @"END:VCALENDAR"] != NSOrderedSame)
{
NSLog(@"Corrupted calendar item (missing tags) in path %@ with c_name = %@", folder, c_name);
if (delete)
[gcsFolder deleteContentWithName: c_name];
rc = NO;
}
else
@ -234,6 +240,8 @@
if (!calendar)
{
NSLog(@"Corrupted calendar item (unparsable) in path %@ with c_name = %@", folder, c_name);
if (delete)
[gcsFolder deleteContentWithName: c_name];
rc = NO;
}
}
@ -247,6 +255,8 @@
if (!card)
{
NSLog(@"Corrupted card item (unparsable) in path %@ with c_name = %@", folder, c_name);
if (delete)
[gcsFolder deleteContentWithName: c_name];
rc = NO;
}
}