public void QueryCategoryConstructorTest1()
        {
            AtomCategory  category = new AtomCategory("term");
            QueryCategory target   = new QueryCategory(category);

            Assert.IsNotNull(target);
            Assert.AreEqual(target.Category, category);
        }
        public void QueryCategoryConstructorTest()
        {
            string strCategory           = "TestValue"; // TODO: Initialize to an appropriate value
            QueryCategoryOperator op     = QueryCategoryOperator.OR;
            QueryCategory         target = new QueryCategory(strCategory, op);

            Assert.IsNotNull(target);
            Assert.AreEqual(target.Operator, op);
        }
        public void CategoryTest()
        {
            AtomCategory  category = new AtomCategory("term");
            QueryCategory target   = new QueryCategory(category); // TODO: Initialize to an appropriate value
            AtomCategory  actual;

            target.Category = category;
            actual          = target.Category;
            Assert.AreEqual(category, actual);
        }
        private void ParseTag(Tags tag, TweetResult Tweetx)
        {
            ITweet[] Tweet = new ITweet[100];

            int[]  DKes            = new int[100];
            int    idx             = 0;
            string customer_key    = "L3R0OPKskWOP1uwtH1H8Y0nkL";
            string customer_secret = "TmiWOCpdAcxA1xGlbipv1JpbhJXFJV2yUUJGmuyeBVlluaa0EU";
            string token           = "725699442058268672-62KvavLauLbaMsmc9HIAftd4rqDkmCU";
            string token_secret    = "5ZtCFCryRHWmlGQ2VxWxlMWI6UbonYYang5BC3CIw7R8M";

            // When a new thread is created, the default credentials will be the Application Credentials
            Auth.ApplicationCredentials = new TwitterCredentials(customer_key, customer_secret, token, token_secret);
            var searchParameter = Search.CreateTweetSearchParameter(tag.Name);

            searchParameter.MaximumNumberOfResults = 100;
            jumlahtweetygdidapat = 0;

            try
            {
                QueryCategory NoCategory = new QueryCategory();
                NoCategory.name = "No Category";
                var tweets = Search.SearchTweets(searchParameter);
                if (tweets != null)
                {
                    jumlahtweetygdidapat = tweets.Count();
                    tweets.ForEach(t => InsertT(t, Tweet, ref idx));
                    bool[] NoCate = new bool[jumlahtweetygdidapat];
                    for (int g = 0; g < jumlahtweetygdidapat; g++)
                    {
                        NoCate[g] = false;
                    }
                    foreach (QueryCategory value in Tweetx.Query)
                    {
                        GetQuery(value.id, Tweet, value, ref NoCate, tag);
                    }
                    for (int g = 0; g < jumlahtweetygdidapat; g++)
                    {
                        if (!NoCate[g])
                        {
                            HasilTweet HasilTemp = new HasilTweet();
                            HasilTemp.TweetContent = Tweet[g];
                            HasilTemp.result       = Tweet[g].Text;
                            NoCategory.Tweet.Add(HasilTemp);
                        }
                    }
                }
                Tweetx.Query.Add(NoCategory);
            }

            catch (FileNotFoundException ex)
            {
                Console.WriteLine("File Not Found.");
            }
        }
        public void ExcludedTest()
        {
            AtomCategory  category = new AtomCategory("term");
            QueryCategory target   = new QueryCategory(category); // TODO: Initialize to an appropriate value
            bool          expected = false;                       // TODO: Initialize to an appropriate value
            bool          actual;

            target.Excluded = expected;
            actual          = target.Excluded;
            Assert.AreEqual(expected, actual);
        }
        public void OperatorTest()
        {
            AtomCategory          category = new AtomCategory("term");
            QueryCategory         target   = new QueryCategory(category); // TODO: Initialize to an appropriate value
            QueryCategoryOperator expected = QueryCategoryOperator.AND;
            QueryCategoryOperator actual;

            target.Operator = expected;
            actual          = target.Operator;
            Assert.AreEqual(expected, actual);
        }
        //////////////////////////////////////////////////////////////////////
        /// <summary>[Test] public QueryObjectTest()</summary>
        //////////////////////////////////////////////////////////////////////
        [Test] public void QueryObjectTest()
        {
            Tracing.TraceInfo("Entering QueryObject Test");

            FeedQuery query = new FeedQuery();

            query.Uri = new Uri(this.defaultHost);

            AtomCategory  aCat = new AtomCategory("Test", new AtomUri("urn:test.com"));
            QueryCategory qCat = new QueryCategory(aCat);

            query.Categories.Add(qCat);

            aCat          = new AtomCategory("TestNotAndOr", new AtomUri("urn:test.com"));
            qCat          = new QueryCategory(aCat);
            qCat.Operator = QueryCategoryOperator.OR;
            qCat.Excluded = true;

            query.Categories.Add(qCat);


            aCat = new AtomCategory("ANDTHISONE", new AtomUri(""));
            qCat = new QueryCategory(aCat);
            query.Categories.Add(qCat);

            aCat          = new AtomCategory("AnotherOrWithoutCategory");
            qCat          = new QueryCategory(aCat);
            qCat.Operator = QueryCategoryOperator.OR;
            qCat.Excluded = true;
            query.Categories.Add(qCat);

            query.Query            = "Hospital";
            query.NumberToRetrieve = 20;
            Tracing.TraceInfo("query: " + query.Uri);

            Uri uri = query.Uri;

            Tracing.TraceInfo("Uri: query= " + uri.Query);
            query.Uri = uri;
            Tracing.TraceInfo("Parsed Query URI: " + query.Uri);
            Assert.IsTrue(uri.AbsolutePath.Equals(query.Uri.AbsolutePath), "both query URIs should be identical, uri: " + uri.AbsolutePath + " compared to query: " + query.Uri.AbsolutePath);

            query.CategoryQueriesAsParameter = true;

            uri = query.Uri;
            Tracing.TraceInfo("Uri: query= " + uri.Query);
            query.Uri = uri;
            Tracing.TraceInfo("Parsed Query URI: " + query.Uri.AbsoluteUri);
            Assert.IsTrue(uri.AbsolutePath.Equals(query.Uri.AbsolutePath), "both query URIs should be identical, uri: " + uri.AbsolutePath + " compared to query: " + query.Uri.AbsolutePath);
        }
Exemple #8
0
        public IEnumerable <Video> Search(string videoQuery, int start = 0, int count = 20)
        {
            var author   = "";
            var orderby  = "";
            var time     = "All Time";
            var category = "";
            var query    = new YouTubeQuery(YouTubeQuery.DefaultVideoUri);

            if (!string.IsNullOrEmpty(videoQuery))
            {
                query.Query = videoQuery;
            }
            if (!string.IsNullOrEmpty(author))
            {
                query.Author = author;
            }
            if (!string.IsNullOrEmpty(orderby))
            {
                query.OrderBy = orderby;
            }
            query.SafeSearch = YouTubeQuery.SafeSearchValues.None;
            if (String.IsNullOrEmpty(time) != true)
            {
                if (time == "All Time")
                {
                    query.Time = YouTubeQuery.UploadTime.AllTime;
                }
                else if (time == "Today")
                {
                    query.Time = YouTubeQuery.UploadTime.Today;
                }
                else if (time == "This Week")
                {
                    query.Time = YouTubeQuery.UploadTime.ThisWeek;
                }
                else if (time == "This Month")
                {
                    query.Time = YouTubeQuery.UploadTime.ThisMonth;
                }
            }
            if (String.IsNullOrEmpty(category) != true)
            {
                QueryCategory q = new QueryCategory(new AtomCategory(category));
                query.Categories.Add(q);
            }
            var res = GetVideos(query);

            return(res.Skip(start).Take(count));
        }
 public ActionResult SearchForm(Tags tag)
 {
     if (ModelState.IsValid)
     {
         TweetResult Ax = new TweetResult();
         Ax.Query = new List <QueryCategory>();
         QueryCategory Ay = new QueryCategory();
         Ay.id    = tag.DinasKesehatan;
         Ay.name  = "Dinas Kesehatan";
         Ay.num   = 0;
         Ay.Tweet = new List <HasilTweet>();
         Ax.Query.Add(Ay);
         Ay       = new QueryCategory();
         Ay.id    = tag.DinasBinamarga;
         Ay.name  = "Dinas Binamarga";
         Ay.num   = 0;
         Ay.Tweet = new List <HasilTweet>();
         Ax.Query.Add(Ay);
         Ay       = new QueryCategory();
         Ay.id    = tag.DinasPemuda;
         Ay.name  = "Dinas Pemuda";
         Ay.num   = 0;
         Ay.Tweet = new List <HasilTweet>();
         Ax.Query.Add(Ay);
         Ay       = new QueryCategory();
         Ay.id    = tag.DinasPendidikan;
         Ay.name  = "Dinas Pendidikan";
         Ay.num   = 0;
         Ay.Tweet = new List <HasilTweet>();
         Ax.Query.Add(Ay);
         Ay       = new QueryCategory();
         Ay.id    = tag.DinasSosial;
         Ay.name  = "Dinas Sosial";
         Ay.num   = 0;
         Ay.Tweet = new List <HasilTweet>();
         Ax.Query.Add(Ay);
         ParseTag(tag, Ax);
         if (jumlahtweetygdidapat > 0)
         {
             TempData["TweetAct"] = Ax;
             return(RedirectToAction("ShowResult", "Result"));
         }
         else
         {
             return(RedirectToAction("NoResult", "Result"));
         }
     }
     return(View());
 }
Exemple #10
0
    public static IEnumerable <Video> Search(string videoQuery, string author, string orderby, bool racy, string time, string category)
    {
        YouTubeQuery query = new YouTubeQuery(YouTubeQuery.TopRatedVideo);

        if (String.IsNullOrEmpty(videoQuery) != true)
        {
            query.Query = videoQuery;
        }
        if (String.IsNullOrEmpty(author) != true)
        {
            query.Author = author;
        }
        if (String.IsNullOrEmpty(orderby) != true)
        {
            query.OrderBy = orderby;
        }
        if (racy == true)
        {
            query.SafeSearch = YouTubeQuery.SafeSearchValues.None;
        }
        if (String.IsNullOrEmpty(time) != true)
        {
            if (time == "All Time")
            {
                query.Time = YouTubeQuery.UploadTime.AllTime;
            }
            else if (time == "Today")
            {
                query.Time = YouTubeQuery.UploadTime.Today;
            }
            else if (time == "This Week")
            {
                query.Time = YouTubeQuery.UploadTime.ThisWeek;
            }
            else if (time == "This Month")
            {
                query.Time = YouTubeQuery.UploadTime.ThisMonth;
            }
        }
        if (String.IsNullOrEmpty(category) != true)
        {
            QueryCategory q = new QueryCategory(new AtomCategory(category));
            query.Categories.Add(q);
        }
        return(ListVideos.GetVideos(query));
    }
Exemple #11
0
        private void GetQuery(QueryCategory category, IEnumerable <ITweet> tweets, string keywords, bool isKMP)
        {
            string[] keywordsArray = keywords.Split(",");
            int      i             = 0;

            foreach (ITweet tweet in tweets)
            {
                int    indexFound;
                int    cats    = 0;
                string newText = tweet.Text;
                foreach (string keyWord in keywordsArray)
                {
                    indexFound = -1;
                    if (isKMP)
                    {
                        indexFound = _kmp.Solve(tweet.Text, keyWord);
                    }
                    else
                    {
                        indexFound = _booyer.Solve(tweet.Text, keyWord);
                    }
                    if (indexFound != -1)
                    {
                        cats++;
                        _categorized[i] = true;
                        newText         = Regex.Replace(newText, keyWord, @"<b>$&</b>", RegexOptions.IgnoreCase);
                    }
                }
                if (cats > 0)
                {
                    HasilTweet hasil = new HasilTweet
                    {
                        TweetContent = tweet,
                        Result       = newText
                    };
                    _tweetResults.Query.Find(q => q.Id == category.Id).Tweet.Add(hasil);
                }
                i++;
            }
        }
Exemple #12
0
 private bool AllowQuery(QueryCategory category, bool haveLargeResultset,
                         bool islargeSetQuery, bool isUnsupportedPRQuery)
 {
     if (category == QueryCategory.Unsupported)
     {
         return(false);
     }
     else if (haveLargeResultset != islargeSetQuery)
     {
         return(false);
     }
     else if (isUnsupportedPRQuery &&
              ((category == QueryCategory.MultiRegion) ||
               (category == QueryCategory.NestedQueries)))
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
        private void GetQuery(string Query, ITweet[] Tweet, QueryCategory A, ref bool[] N, Tags tag)
        {
            int k;
            int l;
            int y;

            y = 0;
            for (int j = 0; j < jumlahtweetygdidapat; j++)
            {
                string queryX = Query;
                string querySearch;
                bool   queryBool = false;
                k = 0;
                l = 0;
                int        X  = -1;
                List <int> q  = new List <int>();
                List <int> ql = new List <int>();
                if (queryX != null)
                {
                    string thequery = "";
                    while (k < queryX.Length)
                    {
                        bool qfound = false;
                        while (queryX[k] == ' ' && k < queryX.Length)
                        {
                            k++;
                        }
                        int x = k;
                        while (!qfound && k < queryX.Length)
                        {
                            if (queryX[k] == ',')
                            {
                                qfound = true;
                            }
                            k++;
                        }
                        if (qfound)
                        {
                            querySearch = queryX.Substring(x, k - x - 1);
                        }
                        else
                        {
                            querySearch = queryX.Substring(x, k - x);
                        }
                        if (tag.isKMP)
                        {
                            X = KMP.solve(Tweet[j].Text, querySearch);
                        }
                        else
                        {
                            X = Booyer.solve(Tweet[j].Text, querySearch);
                        }
                        thequery = querySearch;
                        q.Add(X);
                        ql.Add(querySearch.Length);
                        if (X != -1)
                        {
                            queryBool = true;
                        }
                        l++;
                    }
                    if (queryBool)
                    {
                        N[j] = true;
                        HasilTweet Ax = new HasilTweet();
                        foreach (int value in q)
                        {
                            Ax.StartMark.Add(value);
                        }
                        foreach (int value in ql)
                        {
                            Ax.QueryLength.Add(value);
                        }
                        Ax.TweetContent = Tweet[j];
                        A.Tweet.Add(Ax);
                        A.num++;
                        Ax.result = Ax.TweetContent.Text;
                        foreach (int pos in Ax.StartMark)
                        {
                            if (pos != -1)
                            {
                                int    i = Ax.StartMark.IndexOf(pos);
                                string n = Ax.result.Substring(pos, Ax.QueryLength.ElementAt(i));
                                Ax.result = Ax.result.Replace(n, "<strong>" + n + "</strong>");
                            }
                        }
                    }
                }
            }
        }