Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
        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);
                    }
                }
            }
        }