Example #1
0
 protected void SaveMetadata(object metadata, string path)
 {
     try
     {
         Log.Debug("Saving metadata {@Metadata}", metadata);
         var dirName = Path.GetDirectoryName(path);
         FileSystemOperations.EnsureDirectoryExists(dirName);
         File.WriteAllText(path, JsonConvert.SerializeObject(metadata, Formatting.Indented));
     }
     catch (Exception e)
     {
         Log.Error(e, "Cannot save metadata {Metadata} to {Path}", metadata, path);
     }
 }
Example #2
0
        public async Task Execute(string url, string destination)
        {
            if (FileSystemOperations.DirectoryExists(destination))
            {
                Log.Warning("{Url} already downloaded. Skipping download.", url);
                return;
            }

            FileSystemOperations.EnsureDirectoryExists(Path.GetDirectoryName(destination));
            using (var stream = await downloader.GetStream(url, progress))
                using (var file = FileSystemOperations.OpenForWrite(destination))
                {
                    stream.Position = 0;
                    await stream.CopyToAsync(file);
                }
        }