public void WaveFile(AudioLog audioLog) { if (_waveSource == null) { throw new ArgumentException("wave source not set up"); } lock (_lock) { _waveFile?.Dispose(); _waveFile = new WaveFileWriter(audioLog.GetWav(), _waveSource.WaveFormat); } }
public IEnumerable <AudioLog> GetFilesOlderThan(DateTime date) { var webRequest = WebRequest.Create($"ftp://{_host}/{_targetDirectory}") as FtpWebRequest; if (webRequest == null) { throw new WebException("Failed to create a web request"); } webRequest.Method = WebRequestMethods.Ftp.ListDirectory; webRequest.Credentials = new NetworkCredential(_username, _password); var webResponse = webRequest.GetResponse() as FtpWebResponse; if (webResponse != null) { using (var stream = webResponse.GetResponseStream()) { if (stream != null) { using (var streamReader = new StreamReader(stream)) { string line; while ((line = streamReader.ReadLine()) != null) { var fullFileName = line.Split('/').Last(); var file = fullFileName.Split('.').First(); DateTime fileTime; if (!DateTime.TryParseExact(file, _format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out fileTime)) { Logger.Warn($"Malformed file name {file}"); continue; } if (fileTime.CompareTo(date) < 0) { yield return(AudioLog.FromPath(line)); } } } } else { throw new WebException("Failed to get the response stream of directory listing"); } } } else { throw new WebException("Failed to get a response of directory listing"); } }
public bool TryUploadFile(AudioLog audioLog) { try { var fullpath = $"{GetFolder(audioLog.TimeOfLog)}\\{Path.GetFileName(audioLog.GetMp3())}"; File.Copy(audioLog.GetMp3(), fullpath); } catch (Exception e) { Logger.Error(e.Message); return(false); } return(true); }
public bool TryUploadFile(AudioLog audioLog) { _client = new WebClient { Credentials = new NetworkCredential(_username, _password), Proxy = null }; try { var address = $"ftp://{_host}/{_targetDirectory}/{Path.GetFileName(audioLog.GetMp3())}"; _client.UploadFile(address, "STOR", audioLog.GetMp3()); } catch (Exception exception) { Logger.Warn(exception.Message); return(false); } return(true); }
public IEnumerable <AudioLog> GetFilesOlderThan(DateTime date) { if (_destinationDirectory == null) { throw new ArgumentException("Destination directory is not set"); } var dirInfo = new DirectoryInfo(_destinationDirectory); var allFiles = dirInfo.GetFiles("*.mp3", SearchOption.AllDirectories); foreach (var file in allFiles) { DateTime fileTime; if (!DateTime.TryParseExact(file.Name.Split(Char.Parse(".")).First(), _format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out fileTime)) { Logger.Warn($"Malformed file name {file.Name}"); continue; } if (fileTime.CompareTo(date) < 0) { yield return(AudioLog.FromPath(file.Name)); } } }