Esempio n. 1
0
        public string ImportBlah(ImportRecord curRec)
        {
            string resultStr = "failed.";

            try
            {
                if (!curRec.UseImage)
                {
                    curRec.ImageURL = null;
                }

                if (!String.IsNullOrEmpty(curRec.ImageURL))
                {
                    resultStr = GenerateImageAndPostBlah(curRec);
                }
                else
                {
                    resultStr = CreateBlah(curRec);
                }
            }
            catch (Exception exp)
            {
                // to do - something
                resultStr = exp.Message;
            }

            return(resultStr);
        }
Esempio n. 2
0
        private void ImportBlahs()
        {
            SetCurrentUser(TargetUser);
            List <ImportRecord> curList = ResultList.ItemsSource as List <ImportRecord>;
            int curCount = 1;
            int maxCount = curList.Count;

            Console.WriteLine("Importing " + maxCount + " records...");
            int retryCount = 0;
            int maxTries   = 3;

            while (curList.Count > 0)
            {
                Console.Write("record " + curCount + " of " + maxCount + "...");
                ImportRecord curRec = curList[0];
                string       resultStr;

                if (curRec.Upload)
                {
                    resultStr = ImportBlah(curRec);
                }
                else
                {
                    resultStr = "skipped";
                }
                Console.WriteLine(resultStr);
                if ((resultStr == "skipped") || (resultStr == "ok"))
                {
                    curList.Remove(curRec);
                    curCount++;
                }
                else
                {
                    retryCount++;
                    if (retryCount < maxTries)
                    {
                        Console.WriteLine("Retrying...");
                    }
                    else
                    {
                        Console.WriteLine("Giving up...");
                        curList.Remove(curRec);
                        curCount++;
                    }
                }
            }
            foreach (ImportRecord curRec in ResultList.ItemsSource)
            {
                string resultStr = ImportBlah(curRec);
                Console.WriteLine(resultStr);
            }

            MessageBox.Show("Imported " + curCount.ToString() + " of " + maxCount.ToString());
        }
Esempio n. 3
0
        private string GenerateImageAndPostBlah(ImportRecord curRec)
        {
            string resultStr = "";

            string formData = "imageurl=" + HttpUtility.UrlPathEncode(cleanUrlString(curRec.ImageURL));
            Uri    postURL  = new Uri("http://heard-test-001.appspot.com/api/image/url");
            string newURL   = Heard.PostDataToService(postURL, formData, false);

            curRec.ImageURL = newURL;

            // now upload the image


            resultStr = CreateBlah(curRec);

            return(resultStr);
        }
Esempio n. 4
0
        private List <ImportRecord> DoDAImport()
        {
            if (daAuth == null)
            {
                string url    = "https://www.deviantart.com/oauth2/token?client_id=2424&client_secret=03eea2ab4282d59692538b89deacc13e&grant_type=client_credentials";
                string result = webClient.DownloadString(url);
                daAuth = Newtonsoft.Json.JsonConvert.DeserializeObject <DAAuthToken>(result);
            }

            DAResultList resultList = null;

            if ((daAuth != null) && (!(String.IsNullOrEmpty(daAuth.access_token))))
            {
                string url    = "https://www.deviantart.com/api/v1/oauth2/browse/undiscovered?limit=30&access_token=" + daAuth.access_token;
                string result = webClient.DownloadString(url);
                resultList = Newtonsoft.Json.JsonConvert.DeserializeObject <DAResultList>(result);
            }

            if ((resultList != null) && (resultList.results.Count > 0))
            {
                List <ImportRecord> importList = new List <ImportRecord>();

                foreach (DA_Deviation deviation in resultList.results)
                {
                    if (deviation.content != null)
                    {
                        ImportRecord newRec = new ImportRecord();
                        newRec.Upload   = true;
                        newRec.UseImage = true;
                        newRec.Title    = "";
                        newRec.Body     = deviation.title + "\n" + "by " + deviation.author.username + "\n\n";
                        newRec.MainURL  = deviation.url;
                        newRec.Mature   = false;
                        newRec.ImageURL = deviation.content.src;
                        importList.Add(newRec);
                    }
                }
                return(importList);
            }
            else
            {
                return(null);
            }
        }
Esempio n. 5
0
        private string CreateBlah(ImportRecord curRec)
        {
            string resultStr = "failed.";

            string paramStr = "{";

            paramStr += createJsonParameter("G", GetChannelId()) + ", ";
            if (!String.IsNullOrEmpty(curRec.Title))
            {
                string theTitle = curRec.Title;
                if (theTitle.Length > 244)
                {
                    theTitle = theTitle.Substring(0, 244) + "...";
                }
                paramStr += createJsonParameter("T", theTitle) + ", ";
            }

            if (curRec.Mature)
            {
                paramStr += createJsonParameter("XXX", "true") + ",";
            }

            paramStr += createJsonParameter("Y", GetBlahTypeId());
            string bodyString = "";

            if (!String.IsNullOrEmpty(curRec.MainURL))
            {
                bodyString += curRec.MainURL;
            }

            if (!String.IsNullOrEmpty(curRec.Body))
            {
                string theBody = curRec.Body;
                if (theBody.Length + bodyString.Length > 2000)
                {
                    theBody  = theBody.Substring(0, 2000 - bodyString.Length);
                    theBody += "...";
                }

                bodyString = theBody + "\n\n" + bodyString;
            }

            if (!String.IsNullOrEmpty(bodyString))
            {
                paramStr += ", " + createJsonParameter("F", bodyString);
            }

            if (!String.IsNullOrEmpty(curRec.ImageURL))
            {
                paramStr += "," + createJsonParameter("M", "[\"" + curRec.ImageURL + "\"]", false);
            }


            paramStr += "}";
            try
            {
                string theBlah = Heard.CreateBlah(paramStr);

                if (theBlah != "")
                {
                    resultStr = "ok";
                }
            }
            catch (Exception exp)
            {
                resultStr = exp.Message;
            }

            return(resultStr);
        }
Esempio n. 6
0
        private List <ImportRecord> DoRedditGroupImport(string subReddit, bool useTitles = true)
        {
            List <ImportRecord> newList = new List <ImportRecord>();
            string googleParserURL      = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=100&q=";
            string finalURL             = googleParserURL + HttpUtility.UrlPathEncode(subReddit);

            byte[] urlData = webClient.DownloadData(subReddit);
            string theData = Encoding.UTF8.GetString(urlData, 0, urlData.Length);

            byte[] finalUrlData = webClient.DownloadData(finalURL);
            string googleData   = Encoding.UTF8.GetString(finalUrlData, 0, finalUrlData.Length);;


            GoogleResponse theResult = Newtonsoft.Json.JsonConvert.DeserializeObject <GoogleResponse>(googleData);



            XDocument document = XDocument.Parse(theData);

            foreach (XElement descendant in document.Descendants("item"))
            {
                string       desc       = descendant.Element("description").Value;
                string       articleURL = GetRedditSourceURL(desc);
                ParsedObject parsed     = ParseRedditDescription(articleURL);

                if (parsed != null)
                {
                    ImportRecord newRec = new ImportRecord();
                    newRec.Upload = true;
                    if (useTitles)
                    {
                        if (String.IsNullOrEmpty(parsed.title))
                        {
                            newRec.Title = descendant.Element("title").Value;
                        }
                        else
                        {
                            newRec.Title = parsed.title;
                        }
                    }
                    else
                    {
                        newRec.Title = null;
                    }

                    if (String.IsNullOrEmpty(parsed.description))
                    {
                        newRec.Body = descendant.Element("title").Value;
                    }
                    else
                    {
                        newRec.Body = parsed.description;
                    }

                    newRec.MainURL = parsed.url;
                    newRec.Mature  = false;
                    if ((parsed.images != null) && (parsed.images.Count > 0))
                    {
                        newRec.ImageURL = parsed.images[0].url;
                        newRec.UseImage = true;
                    }
                    else
                    {
                        newRec.UseImage = false;
                    }

                    newList.Add(newRec);
                }
            }

            return(newList);
        }