public ICollection <string> Validate() { var errors = new List <string>(); if (MongoDb != null) { MongoDb.Validate(errors); } if (Backup != null) { Backup.Validate(errors); } if (GoogleStorage != null) { GoogleStorage.Validate(errors); } if (AzureStorage != null) { AzureStorage.Validate(errors); } if (string.Equals(Storage, "GC", StringComparison.OrdinalIgnoreCase) && string.Equals(Storage, "Azure", StringComparison.OrdinalIgnoreCase)) { errors.Add("Either Google Storage or Azure Storage must be configured."); } return(errors); }
private static async Task <int> DeleteOldestAsync(int count) { GoogleStorage gstore = new GoogleStorage(); Storage storage = new Storage(); var videos = await LoadVideosAsync(); var sortedVideos = SortVideos(videos); List <Task> videoTasks = new List <Task>(); foreach (var video in sortedVideos) { videoTasks.Add( DeleteGoogleVideoAsync(gstore, storage, video) ); } Task.WaitAll(videoTasks.ToArray()); return(videoTasks.Count()); IEnumerable <SkiVideoEntity> SortVideos(IEnumerable <SkiVideoEntity> videos) { return(videos.OrderBy(v => v.RecordedTime) .Where(v => !string.IsNullOrWhiteSpace(v.HotUrl) && v.Starred != true) .Take(count)); } }
private static async Task GetGoogleStorageSizeAsync() { GoogleStorage gstore = new GoogleStorage(); float size = await gstore.GetBucketSizeAsync(); Console.WriteLine($"Total bucket size is {size:0,0.0} MiB"); }
private static async Task DeleteGoogleVideoAsync(GoogleStorage gstore, Storage storage, SkiVideoEntity video) { Logger.Log($"Deleting {video.HotUrl} recorded @ {video.RecordedTime}."); await gstore.DeleteAsync(video.HotUrl); video.HotUrl = ""; storage.UpdateMetadata(video); Logger.Log($"Metadata updated for video recorded @ {video.RecordedTime}."); }
static void Main(string[] args) { var converter = new AudioCutter(); var(fileName, rate) = converter.CompressAudio(File.OpenRead("music.mp3"), P => System.Console.WriteLine("converting " + P)).Result; var link = new GoogleStorage("speechreconition-197119").UploadFile(File.OpenRead(fileName), Path.GetFileName(fileName), P => System.Console.WriteLine("uploading " + P)).Result; var str = new Speech().LongRecognize(link, "ru", 16000, A => System.Console.WriteLine(A)).Result; System.Console.WriteLine(str); System.Console.Read(); }
public MainWindow() { InitializeComponent(); converter = new AudioCutter(); storage = new GoogleStorage("speechreconition-197119"); recognizer = new Speech(); cbox = new ComboBox { Background = Brushes.LightBlue, SelectedIndex = 89 }; languages .Select(I => I.Item1) .ToList() .ForEach(BI => cbox.Items.Add(BI)); Language.Children.Add(cbox); }
private async Task <string> UploadGoogleVideoAsync(Task <string> trimAndSilence, Task getCreationTime) { string videoUrl = ""; try { await getCreationTime; string processedVideoPath = await trimAndSilence; Logger.Log($"Uploading video to Google {processedVideoPath}..."); GoogleStorage storage = new GoogleStorage(); videoUrl = await storage.UploadVideoAsync(processedVideoPath, _creationTime); Logger.Log($"Video uploaded to Google: {videoUrl}"); } catch (Exception e) { Logger.Log($"Failed to upload to google, but ignoring.", e); } return(videoUrl); }
private static async Task UploadLatestToGoogleAsync(int count) { var videos = await LoadVideosAsync(); var sortedVideos = SortVideos(videos); Logger.Log($"Found {videos.Count} videos."); GoogleStorage gStore = new GoogleStorage(); Storage storage = new Storage(); List <Task <string> > uploadTasks = new List <Task <string> >(); foreach (var e in sortedVideos) { Console.WriteLine("\t{0}\t{1}", e.RecordedTime, e.Url); uploadTasks.Add(UploadToGoogle(e)); } Task.WaitAll(uploadTasks.ToArray()); Logger.Log("Upload complete."); async Task <string> UploadToGoogle(SkiVideoEntity e) { string localPath = await Task <string> .Run(() => DownloadVideo(e.Url)); e.HotUrl = await gStore.UploadVideoAsync(localPath, e.RecordedTime); storage.UpdateMetadata(e); Logger.Log($"Google HotUrl updated {e.HotUrl}"); return(e.HotUrl); } IEnumerable <SkiVideoEntity> SortVideos(IEnumerable <SkiVideoEntity> videos) { return(videos.OrderByDescending(v => v.RecordedTime) .Where(v => v.HotUrl == null) .Take(count)); } }
public StorageService(GoogleStorage storage, IConfiguration config) { _storage = storage; _bucketName = config["bucketName"]; }