示例#1
0
        public string ReplaceTemplatePlaceholders(string template, RenamerResult v)
        {
            string r = template;

            r = r.Replace("{Video.Site.Sitename}", v.Video.Site.Sitename);
            r = r.Replace("{Video.Site.Id}", v.Video.Site.Id.ToString());
            r = r.Replace("{Video.Id}", v.Video.Id.ToString());
            r = r.Replace("{Video.Title}", v.Video.Title);
            r = r.Replace("{Video.Releasedate}", v.Video.Releasedate.ToString("yyyy-MM-dd"));
            r = r.Replace("{Video.ReleasedateShort}", v.Video.Releasedate.ToString("yy-MM-dd"));
            r = r.Replace("{VideoQuality.SimplifiedName}", videoQualityProdiver.GetById(v.VideoQualityId).SimplifiedName);
            r = r.Replace("{VideoQuality.Name}", videoQualityProdiver.GetById(v.VideoQualityId).Name);
            r = r.Replace("{FileExtension}", v.FileExtension);
            r = r.Replace("{PdbId}", $"P{v.Video.Id:D7}");
            r = r.Replace("{OriginalFilename}", v.Source.Filename);

            return(r);
        }
示例#2
0
        public List <RenamerResult> ProcessFiles(List <SourceFile> sourceFiles)
        {
            List <RenamerResult> resultList = new List <RenamerResult>();

            foreach (var sourceFile in sourceFiles)
            {
                var v = new RenamerResult()
                {
                    Source         = sourceFile,
                    Video          = null,
                    VideoQualityId = 0
                };

                if (!sourceFile.IsNoVideoExtension && !sourceFile.IsToSmall)
                {
                    var titleAndSite = GetRelevantTitleAndSite(sourceFile.Filename, sourceFile.Foldername);
                    if (titleAndSite != null)
                    {
                        var title = titleAndSite.Item1;
                        var site  = titleAndSite.Item2;

                        logger.LogDebug($"Next GetVideoByFilename for {title} - Site: {site.Sitename}");
                        Video video = GetVideoByFilename(title, site);
                        logger.LogDebug($"Result GetVideoByFilename: {video?.Title ?? ""}");
                        if (video != null)
                        {
                            v.Video          = video;
                            v.VideoQualityId = videoQualityProdiver.GetByName(StringExtractor.ExtractQuality(title))?.Id ?? 0;
                        }
                    }
                }

                resultList.Add(v);
            }

            return(resultList);
        }