private bool RenameFile (DatabaseTrackInfo track)
{
SafeUri old_uri = track.Uri;
bool in_library = old_uri.AbsolutePath.StartsWith (musicLibrarySource.BaseDirectoryWithSeparator);
if (!in_library) {
return false;
}
string new_filename = track.PathPattern.BuildFull (musicLibrarySource.BaseDirectory, track, System.IO.Path.GetExtension (old_uri.ToString ()));
SafeUri new_uri = new SafeUri (new_filename);
if (!new_uri.Equals (old_uri) && !Banshee.IO.File.Exists (new_uri)) {
Banshee.IO.File.Move (old_uri, new_uri);
Banshee.IO.Utilities.TrimEmptyDirectories (old_uri);
track.Uri = new_uri;
return true;
}
return false;
}
}