Example #1
0
        public static void SaveSingleAnswer(string site, int id)
        {
            string datadir  = "..\\..\\..\\..\\data\\" + site + "\\";
            string postsdir = Path.Combine(datadir, "posts\\");
            string path;

            if (!Directory.Exists(postsdir))
            {
                Directory.CreateDirectory(postsdir);
            }
            Console.WriteLine("Saving single answer {0} from {1}...", id, site);

            SeApiClient client = new SeApiClient(APIURL, site);
            string      a      = client.LoadSingleAnswer(id);

            if (a == null)
            {
                throw new Exception("Failed to load answer " + id.ToString() + " from " + site);
            }

            path = Path.Combine(postsdir, "A" + id.ToString() + ".md");

            TextWriter wr = new StreamWriter(path, false, Encoding.UTF8);

            using (wr)
            {
                dynamic        data = JSON.Parse(a);
                AnswerMarkdown post = AnswerMarkdown.FromJsonData(site, data);
                post.ToMarkdown(wr);
            }

            Console.WriteLine("Success");
        }
Example #2
0
        public static void SaveUserAnswers(string site, int userid)
        {
            string datadir  = "..\\..\\..\\..\\data\\" + site + "\\";
            string postsdir = Path.Combine(datadir, "posts\\");
            string path;

            if (!Directory.Exists(postsdir))
            {
                Directory.CreateDirectory(postsdir);
            }

            SeApiClient client = new SeApiClient(APIURL, site);
            Dictionary <int, object> answers = client.LoadUserAnswers(userid);

            Console.WriteLine("Saving {0} answers...", answers.Count);

            foreach (int key in answers.Keys)
            {
                path = Path.Combine(postsdir, "A" + key.ToString() + ".md");
                TextWriter wr = new StreamWriter(path, false, Encoding.UTF8);
                using (wr)
                {
                    AnswerMarkdown post = AnswerMarkdown.FromJsonData(site, answers[key]);
                    post.ToMarkdown(wr);
                }
            }
        }
Example #3
0
        public static void SaveQuestion(string site, int id)
        {
            string datadir  = "..\\..\\..\\..\\data\\" + site + "\\";
            string postsdir = Path.Combine(datadir, "posts\\");
            string path;

            if (!Directory.Exists(postsdir))
            {
                Directory.CreateDirectory(postsdir);
            }

            SeApiClient client = new SeApiClient(APIURL, site);
            string      q      = client.LoadQuestion(id);

            if (q == null)
            {
                throw new Exception("Failed to load question " + id.ToString() + " from " + site);
            }

            path = Path.Combine(postsdir, "Q" + id.ToString() + ".md");
            TextWriter wr = new StreamWriter(path, false, Encoding.UTF8);

            using (wr)
            {
                dynamic          data = JSON.Parse(q);
                QuestionMarkdown post = QuestionMarkdown.FromJsonData(site, data);
                post.ToMarkdown(wr);
            }

            Dictionary <int, string> answers = client.LoadQuestionAnswers(id);

            Console.WriteLine("Saving {0} answers...", answers.Count);

            foreach (int key in answers.Keys)
            {
                path = Path.Combine(postsdir, "A" + key.ToString() + ".md");
                wr   = new StreamWriter(path, false, Encoding.UTF8);
                using (wr)
                {
                    dynamic        data = JSON.Parse(answers[key]);
                    AnswerMarkdown post = AnswerMarkdown.FromJsonData(site, data);
                    post.ToMarkdown(wr);
                }
            }
        }