Beispiel #1
0
        public void IYouTubeCommentがXMLに正常に書き出されるか()
        {
            var optionsMock = new Mock <Options>();

            optionsMock.Setup(o => o.IsEnabled).Returns(true);

            var messageMetadataMock = new Mock <IMessageMetadata>();
            var pluginMock          = new Mock <CommentGeneratorPlugin>()
            {
                CallBase = true
            };

            pluginMock.Protected().Setup <string>("CommentXmlPath").Returns(FilePath);
            pluginMock.Protected().Setup <Options>("Options").Returns(optionsMock.Object);
            pluginMock.Protected().Setup <bool>("IsHcgSettingFileExists").Returns(true);
            pluginMock.Protected().Setup <DateTime>("GetCurrentDateTime").Returns(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).ToLocalTime());

            var message = new YtComment()
            {
                NameItems = new List <IMessagePart> {
                    Common.MessagePartFactory.CreateMessageText("name")
                },
                CommentItems = new List <IMessagePart> {
                    Common.MessagePartFactory.CreateMessageText("comment")
                },
            };
            var messageMetadata = messageMetadataMock.Object;


            var plugin = pluginMock.Object;

            plugin.OnMessageReceived(message, messageMetadata);
            plugin.Write();

            if (!File.Exists(FilePath))
            {
                Assert.Fail();
            }

            string content;

            using (var sr = new System.IO.StreamReader(FilePath))
            {
                content = sr.ReadToEnd();
            }
            Assert.AreEqual("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<log>\r\n  <comment no=\"0\" time=\"0\" owner=\"0\" service=\"youtubelive\" handle=\"name\">comment</comment>\r\n</log>", content);
        }
Beispiel #2
0
        static string GetWordCheck(YtComment jo)
        {
            List <string> lst = new List <string>();

            jo.items.ForEach(t =>
            {
                if (t.snippet != null)
                {
                    AddCmts(t.snippet, lst);
                }
            });
            WebClient client = new WebClient();

            System.Collections.Specialized.NameValueCollection formData = new System.Collections.Specialized.NameValueCollection();
            formData["comments"] = JsonConvert.SerializeObject(lst);
            byte[] resp = client.UploadValues(@"http://vulgarity-validator.immanuel.co/Profane/Comments", formData);
            return(System.Text.Encoding.UTF8.GetString(resp));
        }
Beispiel #3
0
        public static string Validate(string clientid, string url)
        {
            var hubContext = GlobalHost.ConnectionManager.GetHubContext <ProgressHub>();

            //hubContext.Clients.User(clientid).progress("Called from Controller");
            hubContext.Clients.Client(clientid).progress("getting video info..");
            string    uid    = GetYid(url);
            WebClient client = new WebClient();
            string    json   = client.DownloadString("https://www.googleapis.com/youtube/v3/videos?part=statistics&key=AIzaSyBRhULlCbQcdBk_HLFrpP-UU6VlyXInAPQ&id=" + uid);
            YtVideo   jo1    = JsonConvert.DeserializeObject <YtVideo>(json);

            hubContext.Clients.Client(clientid).progress("getting video comments...");
            json = client.DownloadString("https://www.googleapis.com/youtube/v3/commentThreads?key=AIzaSyBRhULlCbQcdBk_HLFrpP-UU6VlyXInAPQ&textFormat=plainText&part=snippet&maxResults=100&videoId=" + uid);
            YtComment jo = JsonConvert.DeserializeObject <YtComment>(json);

            hubContext.Clients.Client(clientid).progress("validating the feed...");
            var rest = GetWordCheck(jo);

            hubContext.Clients.Client(clientid).progress("Completed...");
            return(GetRating(rest, jo1));
        }
Beispiel #4
0
        static void Main(string[] args)
        {
            string url = "https://www.youtube.com/watch?v=rWSSSzM7Nbg";

            //url = "https://www.youtube.com/embed/BmOpD46eZoA?start=36&end=65";
            url = "https://www.youtube.com/watch?v=2Vv-BfVoq4g&list=PLx0sYbCqOb8TBPRdmBHs5Iftvv9TPboYG";
            //url = "http://immanuel.co/";
            //url = "";
            url = "rWSSSzM7Nbg";
            //var uid = Regex.Match(url, @"(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&amp;]v=)|youtu\.be\/)([^""&amp;?\/ ]{11})").Groups[1].Value;

            //var uid1 = Regex.Match(url, @"(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&amp;]v=)|youtu\.be\/)([^""&amp;?\/ ]{11})").Groups[1].Value;

            //Works fine
            var regexString = @"^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*";
            var vvvl        = Regex.Match(url, regexString);
            var uid3        = vvvl.Groups[2].Value;

            uid3 = string.IsNullOrEmpty(uid3) ? url : uid3;

            WebClient client = new WebClient();
            string    json   = client.DownloadString("https://www.googleapis.com/youtube/v3/commentThreads?key=AIzaSyBRhULlCbQcdBk_HLFrpP-UU6VlyXInAPQ&textFormat=plainText&part=snippet&maxResults=100&videoId=" + uid3);
            YtComment jo     = JsonConvert.DeserializeObject <YtComment>(json);

            json = client.DownloadString("https://www.googleapis.com/youtube/v3/videos?part=statistics&key=AIzaSyBRhULlCbQcdBk_HLFrpP-UU6VlyXInAPQ&id=" + uid3);
            YtVideo jo1 = JsonConvert.DeserializeObject <YtVideo>(json);

            Console.WriteLine(uid3);


            //HtmlDocument doc = new HtmlDocument();
            //WebClient client = new WebClient();
            //string html = client.DownloadString("https://www.googleapis.com/youtube/v3/commentThreads?key=AIzaSyBRhULlCbQcdBk_HLFrpP-UU6VlyXInAPQ&textFormat=plainText&part=snippet&videoId=9EVeC7jmdtc");
            //doc.LoadHtml(html);

            //HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//div");

            //YtComment jo = JsonConvert.DeserializeObject<YtComment>(File.ReadAllText(@"C:\Immi\Personal\MyProjects\you-dl\Immanuel.Ydl\Immanuel.Yt.Cmments.Feedback\Test.Scrape\YT_Comment_1.json"));
            //YtVideo jo1 = JsonConvert.DeserializeObject<YtVideo>(File.ReadAllText(@"C:\Immi\Personal\MyProjects\you-dl\Immanuel.Ydl\Immanuel.Yt.Cmments.Feedback\Test.Scrape\YT_Vid.json"));

            //JObject dd = JsonConvert.DeserializeObject<JObject>(File.ReadAllText(@"C:\Immi\Personal\MyProjects\you-dl\Immanuel.Ydl\Immanuel.Yt.Cmments.Feedback\Immanuel.Yt.Cmments.Feedback\App_Data\en-EN\Vulgar.json"));
            //List<string> vulgar = JsonConvert.DeserializeObject<List<string>>(dd.GetValue("vulgar").ToString());

            //dd = JsonConvert.DeserializeObject<JObject>(File.ReadAllText(@"C:\Immi\Personal\MyProjects\you-dl\Immanuel.Ydl\Immanuel.Yt.Cmments.Feedback\Immanuel.Yt.Cmments.Feedback\App_Data\en-EN\Ugly.json"));
            //List<string> ugly = JsonConvert.DeserializeObject<List<string>>(dd.GetValue("ugly").ToString());

            //dd = JsonConvert.DeserializeObject<JObject>(File.ReadAllText(@"C:\Immi\Personal\MyProjects\you-dl\Immanuel.Ydl\Immanuel.Yt.Cmments.Feedback\Immanuel.Yt.Cmments.Feedback\App_Data\en-EN\Positive.json"));
            //List<string> positive = JsonConvert.DeserializeObject<List<string>>(dd.GetValue("positive").ToString());

            //dd = JsonConvert.DeserializeObject<JObject>(File.ReadAllText(@"C:\Immi\Personal\MyProjects\you-dl\Immanuel.Ydl\Immanuel.Yt.Cmments.Feedback\Immanuel.Yt.Cmments.Feedback\App_Data\en-EN\Offensive.json"));
            //List<string> offensive = JsonConvert.DeserializeObject<List<string>>(dd.GetValue("offensive").ToString());

            //dd = JsonConvert.DeserializeObject<JObject>(File.ReadAllText(@"C:\Immi\Personal\MyProjects\you-dl\Immanuel.Ydl\Immanuel.Yt.Cmments.Feedback\Immanuel.Yt.Cmments.Feedback\App_Data\en-EN\Negative.json"));
            //List<string> negative = JsonConvert.DeserializeObject<List<string>>(dd.GetValue("negative").ToString());

            //dd = JsonConvert.DeserializeObject<JObject>(File.ReadAllText(@"C:\Immi\Personal\MyProjects\you-dl\Immanuel.Ydl\Immanuel.Yt.Cmments.Feedback\Immanuel.Yt.Cmments.Feedback\App_Data\en-EN\Insult.json"));
            //List<string> insult = JsonConvert.DeserializeObject<List<string>>(dd.GetValue("insult").ToString());

            //dd = JsonConvert.DeserializeObject<JObject>(File.ReadAllText(@"C:\Immi\Personal\MyProjects\you-dl\Immanuel.Ydl\Immanuel.Yt.Cmments.Feedback\Immanuel.Yt.Cmments.Feedback\App_Data\en-EN\Harsh.json"));
            //List<string> harsh = JsonConvert.DeserializeObject<List<string>>(dd.GetValue("harsh").ToString());

            ////dd = JsonConvert.DeserializeObject<JObject>(File.ReadAllText(@"C:\Immi\Personal\MyProjects\you-dl\Immanuel.Ydl\Immanuel.Yt.Cmments.Feedback\Immanuel.Yt.Cmments.Feedback\App_Data\en-EN\Complaint.json"));
            ////List<string> complaint = JsonConvert.DeserializeObject<List<string>>(dd.GetValue("complaint").ToString());

            //dd = JsonConvert.DeserializeObject<JObject>(File.ReadAllText(@"C:\Immi\Personal\MyProjects\you-dl\Immanuel.Ydl\Immanuel.Yt.Cmments.Feedback\Immanuel.Yt.Cmments.Feedback\App_Data\en-EN\Apologizing.json"));
            //List<string> apologize = JsonConvert.DeserializeObject<List<string>>(dd.GetValue("apologize").ToString());

            //string text = "Why pay 400 for 3 instruments when you can get all 3 for 400 each! oh wait....";
            //var sents = text.Split('.').ToList();
            //List<string> wrds = new List<string>();
            //sents.ForEach(t => wrds.AddRange(t.Split(' ')));

            //var vulgarinter = vulgar.Intersect(wrds, StringComparer.OrdinalIgnoreCase).ToList();
            //vulgarinter = vulgar.Intersect(sents, StringComparer.OrdinalIgnoreCase).ToList();

            //var uglyinter = ugly.Intersect(wrds, StringComparer.OrdinalIgnoreCase).ToList();
            //uglyinter = ugly.Intersect(sents, StringComparer.OrdinalIgnoreCase).ToList();

            //var positiveinter = positive.Intersect(wrds, StringComparer.OrdinalIgnoreCase).ToList();
            //positiveinter = positive.Intersect(sents, StringComparer.OrdinalIgnoreCase).ToList();

            //var offensiveinter = offensive.Intersect(wrds, StringComparer.OrdinalIgnoreCase).ToList();
            //offensiveinter = offensive.Intersect(sents, StringComparer.OrdinalIgnoreCase).ToList();

            //var negativeinter = negative.Intersect(wrds, StringComparer.OrdinalIgnoreCase).ToList();
            //negativeinter = negative.Intersect(sents, StringComparer.OrdinalIgnoreCase).ToList();

            //var insultinter = insult.Intersect(wrds, StringComparer.OrdinalIgnoreCase).ToList();
            //insultinter = insult.Intersect(sents, StringComparer.OrdinalIgnoreCase).ToList();

            //var harshinter = harsh.Intersect(wrds, StringComparer.OrdinalIgnoreCase).ToList();
            //harshinter = harsh.Intersect(sents, StringComparer.OrdinalIgnoreCase).ToList();

            //var apologizeinter = apologize.Intersect(wrds, StringComparer.OrdinalIgnoreCase).ToList();
            //apologizeinter = apologize.Intersect(sents, StringComparer.OrdinalIgnoreCase).ToList();

            Console.ReadKey();
        }