private long CalculateSize (DirectoryInfo parent)
{
if (ExcludePaths.Contains (parent.Name))
return 0;
long size = 0;
try {
foreach (DirectoryInfo directory in parent.GetDirectories ())
size += CalculateSize (directory);
foreach (FileInfo file in parent.GetFiles ())
size += file.Length;
} catch (Exception e) {
SparkleLogger.LogInfo ("Local", "Error calculating directory size", e);
}
return size;
}