public IList<BlogEntryDescriptor> GetBlogEntries(BlogDescriptor blogDescriptor) { var gateway = GetGateway(blogDescriptor); var result = new List<BlogEntryDescriptor>(); var blogId = GetBlogId(gateway, blogDescriptor); if (!String.IsNullOrEmpty(blogId)) { var posts = gateway.getRecentPosts( blogId, blogDescriptor.Username, blogDescriptor.Password, 20); foreach (var post in posts) { result.Add( new BlogEntryDescriptor() { Content = post.description, Date = post.dateCreated, Sender = blogDescriptor.Username, Subject = post.title }); } } return result; }
/// <summary> /// Creates a new instance of the <code>WizardFinishedEventArgs</code> class. /// </summary> /// <exception cref="ArgumentNullException"> /// If the specified <code>blogDescriptor</code> is <code>null</code>. /// </exception> public WizardFinishedEventArgs(Boolean cancelled, BlogDescriptor blogDescriptor) { if (blogDescriptor == null) throw new ArgumentNullException("blogDescriptor"); Cancelled = cancelled; BlogDescriptor = blogDescriptor; }
public IList<BlogEntryDescriptor> GetBlogEntries(BlogDescriptor blogDescriptor) { var result = new List<BlogEntryDescriptor>(); foreach (var item in GetGateway().GetEvents( new GetEventsRequest() { Username = blogDescriptor.Username, Password = blogDescriptor.Password, HowMany = 20, LineEndings = GetLineEndings(), SelectType = "lastn", NoProps = true }).Events) { result.Add( new BlogEntryDescriptor() { Content = item.Content, Sender = String.IsNullOrEmpty(item.Poster) ? blogDescriptor.Username : item.Poster, Subject = item.Subject, Date = DateTime.Parse(item.EventTime) }); } return result; }
private static String GetBlogId(MetaWeblogGateway gateway, BlogDescriptor blogDescriptor) { var blogs = gateway.getUsersBlogs("", blogDescriptor.Username, blogDescriptor.Password); if (blogs != null && blogs.Length > 0) return blogs[0].blogid; return null; }
/// <summary> /// </summary> /// <param name="blogDescriptor"></param> /// <exception cref="ArgumentNullException"> /// If the specified <code>blogDescriptor</code> is <code>null</code>. /// </exception> public void Start(BlogDescriptor blogDescriptor) { if (blogDescriptor == null) throw new ArgumentNullException("blogDescriptor"); if (_steps.Count == 0) return; _currentStepIndex = 0; _steps[_currentStepIndex].Show(_wizardOwner, blogDescriptor); }
private static MetaWeblogGateway GetGateway(BlogDescriptor blogDescriptor) { return new MetaWeblogGateway() { Credentials = new NetworkCredential(blogDescriptor.Username, blogDescriptor.Password), KeepAlive = false, Url = blogDescriptor.Address }; }
public IList<BlogEntryDescriptor> GetBlogEntries(BlogDescriptor blogDescriptor) { if (blogDescriptor == null) throw new ArgumentNullException("blogDescriptor"); try { return GetBlogEntries(blogDescriptor, GetFeedUri(blogDescriptor)); } catch (gClient.GDataRequestException e) { Console.WriteLine(e.InnerException.Message); return new List<BlogEntryDescriptor>(); } }
protected override void PreviewShow(BlogDescriptor blogDescriptor) { var url = "http://www.blogger.com/feeds/default/blogs"; switch (blogDescriptor.BlogType) { case BlogType.WordPress: url = "http://nickname.wordpress.com/xmlrpc.php"; break; case BlogType.LiveJournal: url = "http://www.livejournal.com/interface/xmlrpc"; break; } _addressTextBox.Text = url; }
public void PublishNewEntry(BlogDescriptor blogDescriptor, String title, String content) { if (blogDescriptor == null) throw new ArgumentNullException("blogDescriptor"); if (String.IsNullOrEmpty(blogDescriptor.Username)) throw new ArgumentException("blogDescriptor.Username cannot be null or an empty string."); var entry = new gClient.AtomEntry(); entry.Content.Content = content; entry.Content.Type = "html"; entry.Title.Text = title; var service = new gClient.Service("blogger", GoogleSucks.GetApplicationName()); service.Credentials = new gClient.GDataCredentials(blogDescriptor.Username, blogDescriptor.Password); service.Insert(new Uri(GetFeedUri(blogDescriptor)), entry); }
public DialogResult ShowDialog(BlogDescriptor blogDescriptor) { if (blogDescriptor == null) throw new ArgumentNullException("blogDescriptor"); BlogDescriptor = blogDescriptor; _blogAddressTextBox.Text = blogDescriptor.Address; _blogNameTextBox.Text = blogDescriptor.BlogName; _passwordTextBox.Text = blogDescriptor.Password; _usernameTextBox.Text = blogDescriptor.Username; switch (blogDescriptor.BlogType) { default: _blogList.SelectedIndex = 0; break; } return base.ShowDialog(); }
public void PublishNewEntry(BlogDescriptor blogDescriptor, String title, String content) { var now = DateTime.Now; GetGateway().PostEvent( new PostRequest() { Username = blogDescriptor.Username, Password = blogDescriptor.Password, LineEndings = GetLineEndings(), Subject = title, Content = content, Year = now.Year, Month = now.Month, Day = now.Day, Hour = now.Hour, Minute = now.Minute }); }
private static IList<BlogEntryDescriptor> GetBlogEntries(BlogDescriptor blogDescriptor, String feedUri) { IList<BlogEntryDescriptor> result = new List<BlogEntryDescriptor>(); if (feedUri != null) { var query = new gClient.FeedQuery(feedUri); var service = new gClient.Service("blogger", GoogleSucks.GetApplicationName()) { Credentials = new gClient.GDataCredentials(blogDescriptor.Username, blogDescriptor.Password) }; var bloggerFeed = service.Query(query); while (bloggerFeed != null && bloggerFeed.Entries.Count > 0) { foreach (gClient.AtomEntry entry in bloggerFeed.Entries) { result.Add( new BlogEntryDescriptor() { Content = entry.Content.Content, Subject = entry.Title.Text, Sender = entry.Authors[0].Name, Date = entry.Published }); } if (bloggerFeed.NextChunk != null) { query.Uri = new Uri(bloggerFeed.NextChunk); bloggerFeed = service.Query(query); } else { bloggerFeed = null; } } } return result; }
private String GetFeedUri(BlogDescriptor blogDescriptor) { String feedUri = null; var blogDescriptorExists = _descriptor2FeedUriMap.Keys.Contains(blogDescriptor); if (blogDescriptorExists) feedUri = _descriptor2FeedUriMap[blogDescriptor]; if (String.IsNullOrEmpty(feedUri)) { feedUri = GetFeedUriFromQuery(blogDescriptor); if (blogDescriptorExists) _descriptor2FeedUriMap[blogDescriptor] = feedUri; else _descriptor2FeedUriMap.Add(blogDescriptor, feedUri); } return feedUri; }
public void PublishNewEntry(BlogDescriptor blogDescriptor, String title, String content) { var gateway = GetGateway(blogDescriptor); var blogId = GetBlogId(gateway, blogDescriptor); if (!String.IsNullOrEmpty(blogId)) { gateway.newPost( blogId, blogDescriptor.Username, blogDescriptor.Password, new Post() { categories = new[] { "Uncategorized" }, dateCreated = DateTime.Now, description = content, title = title }, true); } }
void IWizardStep.Show(Form wizardOwner, BlogDescriptor blogDescriptor) { BlogDescriptor = blogDescriptor; PreviewShow(blogDescriptor); Show(wizardOwner); }
protected virtual void PreviewShow(BlogDescriptor blogDescriptor) { }
public int CrossPost(string BlogService, string Username, string Password, string WPAddress, bool AutoSubmit) { member = (Member)Session["Member"]; int Result = 0; BlogDescriptor bDescr = new BlogDescriptor(); bDescr.Username = Username; bDescr.Password = Password; string Title = "Next2Friends test post"; string Body = "If you are reading this post then your username and password have been entered correctly"; bool LoginOK = false; try { switch (BlogService) { case "blogger": bDescr.BlogType = BlogType.Blogger; bDescr.Address = "http://www.blogger.com"; Service service = new Service("blogger", ""); service.Credentials = new GDataCredentials(Username, Password); Uri blogPostUri = SelectUserBlog(service); AtomEntry createdEntry = PostNewEntry(service, blogPostUri, Title, Body); LoginOK = true; break; case "wordpress": bDescr.BlogType = BlogType.WordPress; bDescr.Address = WPAddress; WordPressEngine wpe = new WordPressEngine(); wpe.PublishNewEntry(bDescr, Title, Body); LoginOK = true; break; case "livejournal": bDescr.BlogType = BlogType.LiveJournal; bDescr.Address = "http://www.livejournal.com"; LiveJournalEngine lje = new LiveJournalEngine(); lje.PublishNewEntry(bDescr, Title, Body); LoginOK = true; break; default: break; } Result = 0; } catch (Exception ex) { Result = 1; } //if (LoginOK) if (true) // always save { MemberBlogSettings memberBlogSettings = MemberBlogSettings.GetMemberBlogSettingsByMemberID(member.MemberID); switch (BlogService) { case "blogger": memberBlogSettings.BloggerUserName = Username; memberBlogSettings.BloggerPassword = Password; memberBlogSettings.BloggerAutoSubmit = AutoSubmit; break; case "wordpress": memberBlogSettings.WordPressUserName = Username; memberBlogSettings.WordPressPassword = Password; memberBlogSettings.WordPressURL = WPAddress; memberBlogSettings.WordPressAutoSubmit = AutoSubmit; break; case "livejournal": memberBlogSettings.LiveJournalUserName = Username; memberBlogSettings.LiveJournalPassword = Password; memberBlogSettings.LiveJournalAutoSubmit = AutoSubmit; break; default: break; } memberBlogSettings.Save(); } return Result; }
private void RefreshBlogEntries(BlogDescriptor blogDescriptor) { var blogEntries = BlogEngineFactory.GetEngine(blogDescriptor.BlogType).GetBlogEntries(blogDescriptor); _blogEntries.BeginUpdate(); _blogEntries.Items.Clear(); foreach (BlogEntryDescriptor entry in blogEntries) _blogEntries.Items.Add( new ListViewItem( new[] { entry.Subject, entry.Sender, String.Format(CultureInfo.CurrentUICulture, "{0} {1}", entry.Date.ToShortDateString(), entry.Date.ToShortTimeString()) }) { Tag = entry.Content }); _blogEntries.EndUpdate(); }
private static String GetFeedUriFromQuery(BlogDescriptor blogDescriptor) { var query = new gClient.FeedQuery(blogDescriptor.Address); var service = new gClient.Service("blogger", GoogleSucks.GetApplicationName()) { Credentials = new gClient.GDataCredentials(blogDescriptor.Username, blogDescriptor.Password) }; var bloggerFeed = service.Query(query); var feeds = new List<gClient.AtomEntry>(); while (bloggerFeed != null && bloggerFeed.Entries.Count > 0) { foreach (gClient.AtomEntry entry in bloggerFeed.Entries) feeds.Add(entry); if (bloggerFeed.NextChunk != null) { query.Uri = new Uri(bloggerFeed.NextChunk); bloggerFeed = service.Query(query); } else { bloggerFeed = null; } } foreach (gClient.AtomEntry entry in feeds) if (entry != null) foreach (gClient.AtomLink link in entry.Links) if (link.Rel == gClient.BaseNameTable.ServiceFeed) return link.HRef.ToString(); return null; }