public static void SaveEpisode(Episode episode) { episode.UpdatedDate = DateTime.Now; using (var db = DatabaseFactory.GetMetaDbConnection()) { if (episode.Id != null) db.Execute("delete from episode where id = ?", episode.Id); db.Insert(episode); } }
public void HandleEpisode(Recording record, Episode episode) { bool same; var oldFile = new FileInfo(record.Filename); var newFile = new FileInfo(GetEpisodeFilename(record, episode, out same)); //Create NFO xbmc.DeleteVideoNfoFile(oldFile.FullName); if (episode == null) { xbmc.CreateEpisodeNfoFile(newFile.FullName, record); } if (same) { /*LogUtil.Log("No Change (TV): " + record.Title + ", " + record.SubTitle + ":"); LogUtil.Log("\tOld Filename: " + oldFile.Name); LogUtil.Log("\tNew Filename: " + newFile.Name); LogUtil.Log("");*/ return; //nothing to do } //Move File File.Move(oldFile.FullName, newFile.FullName); new RecordingData().UpdateFilename(record, newFile.FullName); //Logging var update = oldFile.FullName.StartsWith(Config.XbmcTvPath, StringComparison.OrdinalIgnoreCase); if (episode == null) { LogUtil.Log("Match Failure (TV): " + record.Title + ", " + record.SubTitle + ":"); LogUtil.Log("\tOld Filename: " + oldFile.Name); LogUtil.Log("\tNew Filename: " + newFile.Name); LogUtil.Log(""); } else if (!update) { LogUtil.Log("Match Success (TV): " + record.Title + ", " + record.SubTitle + ":"); LogUtil.Log("\tOld Filename: " + oldFile.Name); LogUtil.Log("\tNew Filename: " + newFile.Name); LogUtil.Log(""); } else { LogUtil.Log("Match Updated (TV): " + record.Title + ", " + record.SubTitle + ":"); LogUtil.Log("\tOld Filename: " + oldFile.Name); LogUtil.Log("\tNew Filename: " + newFile.Name); LogUtil.Log(""); } }
public void Rename(Recording record, Series series, Episode episode) { FileUtil.CreateDirectoryPath(xbmc.GetSeriesDirectory(record.Name)); //Cleanup orphaned files if (!File.Exists(record.Filename)) { xbmc.DeleteVideoNfoFile(record.Filename); return; } HandleSeries(record, series); HandleEpisode(record, episode); }
public string GetEpisodeFilename(Recording record, Episode episode, out bool same) { string oldFile = record.Filename; string newFile; int i = 1; do { var suffix = i == 1 ? "" : i.ToString(); if (episode != null) newFile = xbmc.GetEpisodeFilename(record.Name, episode.SeasonNumber, episode.EpisodeNumber, episode.EpisodeName, suffix, "ts"); else newFile = xbmc.GetAltEpisodeFilename(record.Name, record.StartTime.Value, record.SubTitle, suffix, "ts"); same = string.Equals(oldFile, newFile, StringComparison.OrdinalIgnoreCase); i++; } while (File.Exists(newFile) && !same); return newFile; }