public static List <KeyValuePair <long, Volumes.IParsedVolume> > ParseAndFilterFilesets(IEnumerable <Duplicati.Library.Interface.IFileEntry> rawlist, Options options) { var parsedlist = (from n in rawlist let p = Volumes.VolumeBase.ParseFilename(n) where p != null && p.FileType == RemoteVolumeType.Files orderby p.Time descending select p).ToArray(); var filelistFilter = RestoreHandler.FilterNumberedFilelist(options.Time, options.Version); return(filelistFilter(parsedlist).ToList()); }
public void RunRepairLocal(Library.Utility.IFilter filter = null) { m_result.RecreateDatabaseResults = new RecreateDatabaseResults(m_result); using (new Logging.Timer(LOGTAG, "RecreateDbForRepair", "Recreate database for repair")) using (var f = m_options.Dryrun ? new Library.Utility.TempFile() : null) { if (f != null && System.IO.File.Exists(f)) { System.IO.File.Delete(f); } var filelistfilter = RestoreHandler.FilterNumberedFilelist(m_options.Time, m_options.Version); new RecreateDatabaseHandler(m_backendurl, m_options, (RecreateDatabaseResults)m_result.RecreateDatabaseResults) .Run(m_options.Dryrun ? (string)f : m_options.Dbpath, filter, filelistfilter); } }