public void GetGDriveFiles() { string search = "title='Ends.mp3'"; var gDriveService = new GDriveService(); var files = gDriveService.GetFiles(search); foreach (var file in files) { testContextInstance.WriteLine("{0}", file.DownloadUrl); string downloadUrl = string.Format("https://googledrive.com/host/{0}", file.Id); WebClient webClient = new WebClient(); string filename = System.IO.Path.GetTempFileName(); webClient.DownloadFile(downloadUrl, filename); System.IO.FileInfo fileInfo = new System.IO.FileInfo(filename); testContextInstance.WriteLine("{0}", fileInfo.Length); } }
public void DownloadGDriveFiles() { var songRepository = new SongRepository(new Repository("log")); string tempFolder = @"C:\temp2\"; string search = "title='Sunspot.mp3'"; // string search = ""; var gDriveService = new GDriveService(); var files = gDriveService.GetFiles(search); foreach (var file in files) { try { testContextInstance.WriteLine("{0}", file.WebContentLink); WebClient webClient = new WebClient(); string filename = tempFolder + file.OriginalFilename; webClient.DownloadFile(file.WebContentLink, filename); // Extract mp3 tags SONG song = new SONG(); song.LOCATION = filename; if (song.IsMp3File()) { song.Populate(); testContextInstance.WriteLine(song.GENRE); songRepository.Add(file.Id, file.WebContentLink, file.OriginalFilename, file.FileSize, song.TITLE, song.ARTIST, song.ALBUM, song.GENRE, "", 0, song.TrackNumber); } System.IO.File.Delete(filename); } catch (Exception ex) { testContextInstance.WriteLine(ex.Message); } } }
public void SetGDriveUrls() { string folder = @"E:\Gdrive\Music"; string musicFolder = @"E:\Gdrive\Music"; var musicDao = GetMusicDao(); var allSongFiles = musicDao.GetSongFiles(folder); var musicFiles = from musicFile in allSongFiles where musicFile.IsMp3File() select musicFile; var songsWithDbInfo = from song in musicFiles select musicDao.GetSongByLocation(song.LOCATION); var existingFiles = from song in songsWithDbInfo where song != null select song; existingFiles = from song in existingFiles where song.GDRIVE == null select song; var gDriveService = new GDriveService(); foreach (var song in existingFiles) { char[] c = { '\\' }; string[] s = song.LOCATION.Split(c); string filename = s[s.Length - 1]; string search = string.Format("title='{0}'", filename); var files = gDriveService.GetFiles(search); foreach (var file in files) { testContextInstance.WriteLine("{0}", file.WebContentLink); try { FileInfo fileInfo = null; if (files.Count > 1) { int start = song.LOCATION.IndexOf("\\Music\\"); string adjustedFilename = musicFolder + song.LOCATION.Substring(start + 6); fileInfo = new FileInfo(adjustedFilename); } if ((fileInfo == null) || (fileInfo.Length == file.FileSize)) { testContextInstance.WriteLine("Found"); using (var context = new MusicEntities1()) { var currentSong = context.SONG.Single(s1 => s1.ID == song.ID); currentSong.GDRIVE = file.WebContentLink; context.SaveChanges(); testContextInstance.WriteLine("{0} {1}", song.LOCATION, file.DownloadUrl); } } } catch (Exception ex) { testContextInstance.WriteLine("Error: {0} {1}", filename, ex.Message); } } } }