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"); }
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); } } }
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); } } }