private static void SetWatchlistValues(Video originai, Video updated = null) { DateTime runTime = DateTime.Now; var watchListTag = TagRecord.Create(originai.Id.HasValue ? originai.Id.Value : -1, TagType.WatchList); if (updated == null) { originai.Created = originai.Updated = runTime; originai.AddTag(watchListTag); } else { originai.Updated = runTime; originai.AddTag(watchListTag); if (updated.Tags != null) { foreach (var t in updated.Tags.Values) { originai.AddTag(t); } } } }
public void Apply(Video item, Tag tag) { if (tag.Rules == null) { return; } foreach (TagRule rule in tag.Rules) { if (rule.IsValidFor(item, this.logger)) { if (rule.Negative) { this.logger.Info($"Skipping tag \"{tag.Name}\" on item \"{item.Name}\" because of rule: {rule.Name}"); return; } this.logger.Info($"Applied tag \"{tag.Name}\" on item \"{item.Name}\" using rule: {rule.Name}"); if (tag.Name.Equals("RESET$TAGS")) { item.Tags = new string[0]; } else { item.AddTag(tag.Name); } this.libraryManager.UpdateItem(item, item.Parent, ItemUpdateType.MetadataEdit); return; } } }
private Video ParseVideoRow(DataRow r, bool attachRelated) { var updated = DateTime.Parse(r["Updated"].ToString()); var video = new Video() { AmazonId = r["AmazonId"].ToString(), Id = Convert.ToInt32(r["Id"]), Created = SQLUtils.ToDateTime(r["Created"].ToString()), Updated = updated, //SQLUtils.ToDateTime(r["Updated"].ToString()) Type = (VideoType)Convert.ToInt32(r["Type"]), Url = r["Url"].ToString(), Description = Convert.ToString(r["Description"]), Title = r["Title"].ToString() }; if (attachRelated) { foreach (var t in GetTags(video.Id.Value)) { video.AddTag(t); } foreach (RatingRecord rating in GetRatings(video.Id.Value)) { video.AddRating(rating); } } return(video); }
public override void Execute() { string tag = _app.GetInputItemValidate("Afegeix un tag (anular per sortir): "); if (string.IsNullOrEmpty(tag)) { return; } _video.AddTag(tag); }