protected override void ConfigureClientOptions(BlogClientOptions clientOptions) { clientOptions.SupportsCustomDate = true; clientOptions.SupportsCategories = true; clientOptions.SupportsMultipleCategories = true; clientOptions.SupportsNewCategories = true; clientOptions.SupportsNewCategoriesInline = true; clientOptions.SupportsFileUpload = true; clientOptions.SupportsExtendedEntries = true; }
public XmlRpcBlogClient(Uri postApiUrl, IBlogCredentialsAccessor credentials) : base(credentials) { _postApiUrl = UrlHelper.SafeToAbsoluteUri(postApiUrl); // configure client options BlogClientOptions clientOptions = new BlogClientOptions(); ConfigureClientOptions(clientOptions); _clientOptions = clientOptions; }
protected override void ConfigureClientOptions(OpenLiveWriter.BlogClient.Providers.BlogClientOptions clientOptions) { base.ConfigureClientOptions(clientOptions); clientOptions.SupportsCategories = true; clientOptions.SupportsMultipleCategories = true; clientOptions.SupportsNewCategories = true; clientOptions.SupportsCustomDate = true; clientOptions.SupportsExcerpt = true; clientOptions.SupportsSlug = true; clientOptions.SupportsFileUpload = true; }
protected override void ConfigureClientOptions(BlogClientOptions clientOptions) { clientOptions.SupportsCategories = true; clientOptions.SupportsMultipleCategories = true; clientOptions.SupportsCategoryIds = true; clientOptions.SupportsCategoriesInline = false; clientOptions.SupportsFileUpload = true; clientOptions.SupportsCommentPolicy = true; clientOptions.SupportsPingPolicy = true; clientOptions.SupportsTrackbacks = true; clientOptions.SupportsKeywords = true; clientOptions.SupportsExcerpt = true; clientOptions.SupportsExtendedEntries = true; }
public AtomClient(AtomProtocolVersion atomVer, Uri postApiUrl, IBlogCredentialsAccessor credentials) : base(credentials) { _feedServiceUrl = postApiUrl; // configure client options BlogClientOptions clientOptions = new BlogClientOptions(); ConfigureClientOptions(clientOptions); _clientOptions = clientOptions; _atomVer = atomVer; _atomNS = new Namespace(atomVer.NamespaceUri, "atom"); _pubNS = new Namespace(atomVer.PubNamespaceUri, "app"); _nsMgr = new XmlNamespaceManager(new NameTable()); _nsMgr.AddNamespace(_atomNS.Prefix, _atomNS.Uri); _nsMgr.AddNamespace(_pubNS.Prefix, _pubNS.Uri); _nsMgr.AddNamespace(xhtmlNS.Prefix, xhtmlNS.Uri); _nsMgr.AddNamespace(featuresNS.Prefix, featuresNS.Uri); _nsMgr.AddNamespace(mediaNS.Prefix, mediaNS.Uri); _nsMgr.AddNamespace(liveNS.Prefix, liveNS.Uri); }
protected override void ConfigureClientOptions(BlogClientOptions clientOptions) { // inherit mt defaults base.ConfigureClientOptions(clientOptions); // support advanced category features clientOptions.SupportsHierarchicalCategories = true; clientOptions.SupportsNewCategories = true; clientOptions.SupportsSuggestCategories = true; // don't require out-of-band categories clientOptions.SupportsCategoriesInline = true; // add support for wp-api features clientOptions.SupportsKeywords = true; clientOptions.SupportsPages = true; clientOptions.SupportsPageParent = true; clientOptions.SupportsPageOrder = true; clientOptions.SupportsSlug = true; clientOptions.SupportsPassword = true; clientOptions.SupportsAuthor = true; }
public BlogProviderFromXml(XmlNode providerNode) { string id = NodeText(providerNode.SelectSingleNode("id")); if (id.Length == 0) { throw new ArgumentException("Missing Id parameter"); } string name = NodeText(providerNode.SelectSingleNode("name")); if (name.Length == 0) { throw new ArgumentException("Missing Name parameter"); } string description = NodeText(providerNode.SelectSingleNode("description")); string link = NodeText(providerNode.SelectSingleNode("link")); string clientType = NodeText(providerNode.SelectSingleNode("clientType")); if (clientType.Length == 0) { throw new ArgumentException("Missing ClientType parameter"); } if (!BlogClientManager.IsValidClientType(clientType)) { throw new ArgumentException("Invalid ClientType: " + clientType); } string postApiUrl = NodeText(providerNode.SelectSingleNode("postApiUrl")); if (postApiUrl.Length == 0) { throw new ArgumentException("Invalid PostApiUrl"); } // visibiilty flag bool visible = BlogClientOptions.ReadBool(NodeText(providerNode.SelectSingleNode("visible")), true);; // auto-detection string homepageUrlPattern = NodeText(providerNode.SelectSingleNode("homepageUrlPattern")); string homepageContentPattern = NodeText(providerNode.SelectSingleNode("homepageContentPattern")); string rsdEngineNamePattern = NodeText(providerNode.SelectSingleNode("rsdEngineNamePattern")); string rsdHomepageLinkPattern = NodeText(providerNode.SelectSingleNode("rsdHomepageLinkPattern")); // rsd client type mappings ArrayList rsdClientTypeMappings = new ArrayList(); XmlNodeList mappingNodes = providerNode.SelectNodes("rsdClientTypeMappings/mapping"); foreach (XmlNode mappingNode in mappingNodes) { string rsdClientType = NodeText(mappingNode.SelectSingleNode("@rsdClientType")); string writerClientType = NodeText(mappingNode.SelectSingleNode("@clientType")); if (rsdClientType != String.Empty && writerClientType != String.Empty) { rsdClientTypeMappings.Add(new RsdClientTypeMapping(rsdClientType, writerClientType)); } } // provider faults ArrayList providerFaults = new ArrayList(); XmlNodeList faultNodes = providerNode.SelectNodes("faults/fault"); foreach (XmlNode faultNode in faultNodes) { string codePattern = NodeText(faultNode.SelectSingleNode("codePattern")); string stringPattern = NodeText(faultNode.SelectSingleNode("stringPattern")); string messageId = NodeText(faultNode.SelectSingleNode("messageId")); if (messageId != String.Empty) { providerFaults.Add(new ProviderFault(codePattern, stringPattern, messageId)); } } // parse options (create generic options object to populate defaults) XmlNode optionsNode = providerNode.SelectSingleNode("options"); foreach (XmlNode node in optionsNode.ChildNodes) { if (node.NodeType == XmlNodeType.Element) { _options.Add(node.Name, node.InnerText.Trim()); } } StringId postApiUrlLabel = StringId.CWSelectProviderApiUrlLabel; XmlElement postApiUrlDescriptionNode = providerNode.SelectSingleNode("postApiUrlLabel") as XmlElement; if (postApiUrlDescriptionNode != null) { try { postApiUrlLabel = (StringId)Enum.Parse( typeof(StringId), "CWSelectProviderApiUrlLabel_" + postApiUrlDescriptionNode.InnerText, false); } catch { Debug.Fail("Invalid value for postApiUrlLabel"); } } string appid = null; XmlNode appIdNode = providerNode.SelectSingleNode("appid/text()"); if (appIdNode != null && !string.IsNullOrEmpty(appIdNode.Value)) { appid = appIdNode.Value; } // initialize Init(id, name, description, link, clientType, postApiUrl, postApiUrlLabel, appid, homepageUrlPattern, homepageContentPattern, rsdClientTypeMappings.ToArray(typeof(RsdClientTypeMapping)) as RsdClientTypeMapping[], rsdEngineNamePattern, rsdHomepageLinkPattern, providerFaults.ToArray(typeof(ProviderFault)) as ProviderFault[], visible); }
public override IBlogClientOptions ConstructBlogOptions(IBlogClientOptions defaultOptions) { return(BlogClientOptions.ApplyOptionOverrides(new OptionReader(ReadProviderOption), defaultOptions)); }
/// <summary> /// Enable subclasses to change the default client options /// </summary> /// <param name="clientOptions"></param> protected virtual void ConfigureClientOptions(BlogClientOptions clientOptions) { }
protected override void ConfigureClientOptions(BlogClientOptions clientOptions) { clientOptions.SupportsCategories = true; clientOptions.SupportsMultipleCategories = true; clientOptions.SupportsFileUpload = true; }
public GoogleBloggerv3Client(Uri postApiUrl, IBlogCredentialsAccessor credentials) : base(credentials) { // configure client options BlogClientOptions clientOptions = new BlogClientOptions(); clientOptions.SupportsCategories = false; clientOptions.SupportsMultipleCategories = false; clientOptions.SupportsNewCategories = false; clientOptions.SupportsCustomDate = true; clientOptions.SupportsExcerpt = false; clientOptions.SupportsSlug = false; clientOptions.SupportsFileUpload = true; clientOptions.SupportsKeywords = true; clientOptions.SupportsGetKeywords = true; clientOptions.SupportsPages = true; clientOptions.SupportsExtendedEntries = true; _clientOptions = clientOptions; _nsMgr = new XmlNamespaceManager(new NameTable()); _nsMgr.AddNamespace(atomNS.Prefix, atomNS.Uri); _nsMgr.AddNamespace(pubNS.Prefix, pubNS.Uri); _nsMgr.AddNamespace(AtomClient.xhtmlNS.Prefix, AtomClient.xhtmlNS.Uri); _nsMgr.AddNamespace(AtomClient.featuresNS.Prefix, AtomClient.featuresNS.Uri); _nsMgr.AddNamespace(AtomClient.mediaNS.Prefix, AtomClient.mediaNS.Uri); _nsMgr.AddNamespace(AtomClient.liveNS.Prefix, AtomClient.liveNS.Uri); }
protected override void ConfigureClientOptions(BlogClientOptions clientOptions) { clientOptions.SupportsFileUpload = true; clientOptions.SupportsCustomDate = false; clientOptions.SupportsExtendedEntries = true; }
public static IBlogClientOptions ApplyOptionOverrides(OptionReader optionReader, IBlogClientOptions existingOptions, bool includeIrregularities) { BlogClientOptions clientOptions = new BlogClientOptions(); // Protocol capabilities clientOptions.SupportsPostAsDraft = ReadBool(optionReader("supportsPostAsDraft"), existingOptions.SupportsPostAsDraft); clientOptions.SupportsFileUpload = ReadBool(optionReader("supportsFileUpload"), existingOptions.SupportsFileUpload); clientOptions.SupportsExtendedEntries = ReadBool(optionReader("supportsExtendedEntries"), existingOptions.SupportsExtendedEntries); clientOptions.SupportsCustomDate = ReadBool(optionReader("supportsCustomDate"), existingOptions.SupportsCustomDate); clientOptions.SupportsCustomDateUpdate = ReadBool(optionReader("supportsCustomDateUpdate"), existingOptions.SupportsCustomDateUpdate); clientOptions.SupportsHttps = ReadBool(optionReader("supportsHttps"), existingOptions.SupportsHttps); clientOptions.SupportsCategories = ReadBool(optionReader(SUPPORTS_CATEGORIES), existingOptions.SupportsCategories); clientOptions.SupportsCategoriesInline = ReadBool(optionReader("supportsCategoriesInline"), existingOptions.SupportsCategoriesInline); clientOptions.SupportsMultipleCategories = ReadBool(optionReader("supportsMultipleCategories"), existingOptions.SupportsMultipleCategories); clientOptions.SupportsHierarchicalCategories = ReadBool(optionReader("supportsHierarchicalCategories"), existingOptions.SupportsHierarchicalCategories); clientOptions.SupportsNewCategories = ReadBool(optionReader(SUPPORTS_NEW_CATEGORIES), existingOptions.SupportsNewCategories); clientOptions.SupportsNewCategoriesInline = ReadBool(optionReader("supportsNewCategoriesInline"), existingOptions.SupportsNewCategoriesInline); clientOptions.SupportsSuggestCategories = ReadBool(optionReader("supportsSuggestCategories"), existingOptions.SupportsSuggestCategories); clientOptions.CategoryScheme = ReadText(optionReader(CATEGORY_SCHEME), existingOptions.CategoryScheme); clientOptions.SupportsKeywords = ReadBool(optionReader("supportsKeywords"), existingOptions.SupportsKeywords); clientOptions.SupportsGetKeywords = ReadBool(optionReader("supportsGetTags"), existingOptions.SupportsGetKeywords); clientOptions.SupportsCommentPolicy = ReadBool(optionReader("supportsCommentPolicy"), existingOptions.SupportsCommentPolicy); clientOptions.SupportsPingPolicy = ReadBool(optionReader("supportsPingPolicy"), existingOptions.SupportsPingPolicy); clientOptions.SupportsAuthor = ReadBool(optionReader("supportsAuthor"), existingOptions.SupportsAuthor); clientOptions.SupportsSlug = ReadBool(optionReader("supportsSlug"), existingOptions.SupportsSlug); clientOptions.SupportsPassword = ReadBool(optionReader("supportsPassword"), existingOptions.SupportsPassword); clientOptions.SupportsExcerpt = ReadBool(optionReader("supportsExcerpt"), existingOptions.SupportsExcerpt); clientOptions.SupportsTrackbacks = ReadBool(optionReader("supportsTrackbacks"), existingOptions.SupportsTrackbacks); clientOptions.SupportsPages = ReadBool(optionReader("supportsPages"), existingOptions.SupportsPages); clientOptions.SupportsPageParent = ReadBool(optionReader("supportsPageParent"), existingOptions.SupportsPageParent); clientOptions.SupportsPageOrder = ReadBool(optionReader("supportsPageOrder"), existingOptions.SupportsPageOrder); clientOptions.SupportsPageTrackbacks = ReadBool(optionReader("supportsPageTrackbacks"), existingOptions.SupportsPageTrackbacks); // Writer capabilities clientOptions.LinkToSkyDriveSelfPage = ReadBool(optionReader("linkToSkyDriveSelfPage"), existingOptions.LinkToSkyDriveSelfPage); clientOptions.RequiresHtmlTitles = ReadBool(optionReader("requiresHtmlTitles"), existingOptions.RequiresHtmlTitles); clientOptions.ReturnsHtmlTitlesOnGet = ReadSupportsFeature(optionReader("returnsHtmlTitlesOnGet"), existingOptions.ReturnsHtmlTitlesOnGet); clientOptions.SupportsEmptyTitles = ReadBool(optionReader("supportsEmptyTitles"), existingOptions.SupportsEmptyTitles); clientOptions.SupportsScripts = ReadSupportsFeature(optionReader(SUPPORTS_SCRIPTS), existingOptions.SupportsScripts); clientOptions.SupportsEmbeds = ReadSupportsFeature(optionReader(SUPPORTS_EMBEDS), existingOptions.SupportsEmbeds); clientOptions.SupportsImageUpload = ReadSupportsFeature(optionReader("supportsImageUpload"), existingOptions.SupportsImageUpload); clientOptions.DefaultView = ReadText(optionReader("defaultView"), existingOptions.DefaultView); clientOptions.CharacterSet = ReadText(optionReader(CHARACTER_SET), existingOptions.CharacterSet); clientOptions.RequiresXHTML = ReadBool(optionReader(REQUIRES_XHTML), existingOptions.RequiresXHTML); clientOptions.DhtmlImageViewer = ReadText(optionReader(DHTML_IMAGE_VIEWER), existingOptions.DhtmlImageViewer); clientOptions.PostBodyBackgroundColor = ReadInt(optionReader(POST_BODY_BACKGROUND_COLOR), existingOptions.PostBodyBackgroundColor); clientOptions.MaxCategoryNameLength = ReadInt(optionReader("maxCategoryNameLength"), existingOptions.MaxCategoryNameLength); clientOptions.SupportsAutoUpdate = ReadBool(optionReader("supportsAutoUpdate"), existingOptions.SupportsAutoUpdate); clientOptions.InvalidPostIdFaultCodePattern = ReadText(optionReader("invalidPostIdFaultCodePattern"), existingOptions.InvalidPostIdFaultCodePattern); clientOptions.InvalidPostIdFaultStringPattern = ReadText(optionReader("invalidPostIdFaultStringPattern"), existingOptions.InvalidPostIdFaultStringPattern); clientOptions.IsRTLTemplate = ReadBool(optionReader("templateIsRTL"), existingOptions.IsRTLTemplate); clientOptions.MaxPostTitleLength = ReadInt(optionReader("maxPostTitleLength"), existingOptions.MaxPostTitleLength); // Weblog clientOptions.HomepageLinkText = ReadText(optionReader("homepageLinkText"), existingOptions.HomepageLinkText); clientOptions.AdminLinkText = ReadText(optionReader("adminLinkText"), existingOptions.AdminLinkText); clientOptions.AdminUrl = ReadText(optionReader("adminUrl"), existingOptions.AdminUrl); clientOptions.PostEditingUrl = ReadText(optionReader("postEditingUrl"), existingOptions.PostEditingUrl); clientOptions.PostEditingUrlPostIdPattern = ReadText(optionReader("postEditingUrlPostIdPattern"), existingOptions.PostEditingUrlPostIdPattern); clientOptions.ImagePostingUrl = ReadText(optionReader(IMAGE_ENDPOINT), existingOptions.ImagePostingUrl); clientOptions.ServiceName = ReadText(optionReader("serviceName"), existingOptions.ServiceName); // Irregularities if (includeIrregularities) { clientOptions.CommentPolicyAsBoolean = ReadBool(optionReader("commentPolicyAsBoolean"), existingOptions.CommentPolicyAsBoolean); clientOptions.AllowPolicyFalseValue = ReadInt(optionReader("allowPolicyFalseValue"), existingOptions.AllowPolicyFalseValue); clientOptions.MaxRecentPosts = ReadInt(optionReader("maxRecentPosts"), existingOptions.MaxRecentPosts); clientOptions.ContentFilter = ReadText(optionReader("contentFilter"), existingOptions.ContentFilter); clientOptions.PermalinkFormat = ReadText(optionReader("permalinkFormat"), existingOptions.PermalinkFormat); clientOptions.PostDateFormat = ReadText(optionReader("postDateFormat"), existingOptions.PostDateFormat); clientOptions.FileUploadNameFormat = ReadText(optionReader("fileUploadNameFormat"), existingOptions.FileUploadNameFormat); clientOptions.UseLocalTime = ReadBool(optionReader("useLocalTime"), existingOptions.UseLocalTime); clientOptions.SupportsPostSynchronization = ReadBool(optionReader("supportsPostSynchronization"), existingOptions.SupportsPostSynchronization); clientOptions.TrackbackDelimiter = ReadTrackbackDelimiter(optionReader("trackbackDelimiter"), existingOptions.TrackbackDelimiter); clientOptions.FuturePublishDateWarning = ReadBool(optionReader("futurePublishDateWarning"), existingOptions.FuturePublishDateWarning); clientOptions.UsePicasaImgMaxAlways = ReadBool(optionReader("usePicasaImgMaxAlways"), existingOptions.UsePicasaImgMaxAlways); clientOptions.UsePicasaS1600h = ReadBool(optionReader("usePicasaS1600h"), existingOptions.UsePicasaS1600h); clientOptions.KeywordsAsTags = ReadBool(optionReader("keywordsAsTags"), existingOptions.KeywordsAsTags); } else { clientOptions.CommentPolicyAsBoolean = existingOptions.CommentPolicyAsBoolean; clientOptions.AllowPolicyFalseValue = existingOptions.AllowPolicyFalseValue; clientOptions.MaxRecentPosts = existingOptions.MaxRecentPosts; clientOptions.ContentFilter = existingOptions.ContentFilter; clientOptions.PermalinkFormat = existingOptions.PermalinkFormat; clientOptions.PostDateFormat = existingOptions.PostDateFormat; clientOptions.FileUploadNameFormat = existingOptions.FileUploadNameFormat; clientOptions.UseLocalTime = existingOptions.UseLocalTime; clientOptions.SupportsPostSynchronization = existingOptions.SupportsPostSynchronization; clientOptions.TrackbackDelimiter = existingOptions.TrackbackDelimiter; clientOptions.FuturePublishDateWarning = existingOptions.FuturePublishDateWarning; clientOptions.UsePicasaImgMaxAlways = existingOptions.UsePicasaImgMaxAlways; clientOptions.UsePicasaS1600h = existingOptions.UsePicasaS1600h; clientOptions.KeywordsAsTags = existingOptions.KeywordsAsTags; } // return options return clientOptions; }
public static IBlogClientOptions ApplyOptionOverrides(OptionReader optionReader, IBlogClientOptions existingOptions, bool includeIrregularities) { BlogClientOptions clientOptions = new BlogClientOptions(); // Protocol capabilities clientOptions.SupportsPostAsDraft = ReadBool(optionReader("supportsPostAsDraft"), existingOptions.SupportsPostAsDraft); clientOptions.SupportsFileUpload = ReadBool(optionReader("supportsFileUpload"), existingOptions.SupportsFileUpload); clientOptions.SupportsExtendedEntries = ReadBool(optionReader("supportsExtendedEntries"), existingOptions.SupportsExtendedEntries); clientOptions.SupportsCustomDate = ReadBool(optionReader("supportsCustomDate"), existingOptions.SupportsCustomDate); clientOptions.SupportsCustomDateUpdate = ReadBool(optionReader("supportsCustomDateUpdate"), existingOptions.SupportsCustomDateUpdate); clientOptions.SupportsHttps = ReadBool(optionReader("supportsHttps"), existingOptions.SupportsHttps); clientOptions.SupportsCategories = ReadBool(optionReader(SUPPORTS_CATEGORIES), existingOptions.SupportsCategories); clientOptions.SupportsCategoriesInline = ReadBool(optionReader("supportsCategoriesInline"), existingOptions.SupportsCategoriesInline); clientOptions.SupportsMultipleCategories = ReadBool(optionReader("supportsMultipleCategories"), existingOptions.SupportsMultipleCategories); clientOptions.SupportsHierarchicalCategories = ReadBool(optionReader("supportsHierarchicalCategories"), existingOptions.SupportsHierarchicalCategories); clientOptions.SupportsNewCategories = ReadBool(optionReader(SUPPORTS_NEW_CATEGORIES), existingOptions.SupportsNewCategories); clientOptions.SupportsNewCategoriesInline = ReadBool(optionReader("supportsNewCategoriesInline"), existingOptions.SupportsNewCategoriesInline); clientOptions.SupportsSuggestCategories = ReadBool(optionReader("supportsSuggestCategories"), existingOptions.SupportsSuggestCategories); clientOptions.CategoryScheme = ReadText(optionReader(CATEGORY_SCHEME), existingOptions.CategoryScheme); clientOptions.SupportsKeywords = ReadBool(optionReader("supportsKeywords"), existingOptions.SupportsKeywords); clientOptions.SupportsGetKeywords = ReadBool(optionReader("supportsGetTags"), existingOptions.SupportsGetKeywords); clientOptions.SupportsCommentPolicy = ReadBool(optionReader("supportsCommentPolicy"), existingOptions.SupportsCommentPolicy); clientOptions.SupportsPingPolicy = ReadBool(optionReader("supportsPingPolicy"), existingOptions.SupportsPingPolicy); clientOptions.SupportsAuthor = ReadBool(optionReader("supportsAuthor"), existingOptions.SupportsAuthor); clientOptions.SupportsSlug = ReadBool(optionReader("supportsSlug"), existingOptions.SupportsSlug); clientOptions.SupportsPassword = ReadBool(optionReader("supportsPassword"), existingOptions.SupportsPassword); clientOptions.SupportsExcerpt = ReadBool(optionReader("supportsExcerpt"), existingOptions.SupportsExcerpt); clientOptions.SupportsTrackbacks = ReadBool(optionReader("supportsTrackbacks"), existingOptions.SupportsTrackbacks); clientOptions.SupportsPages = ReadBool(optionReader("supportsPages"), existingOptions.SupportsPages); clientOptions.SupportsPageParent = ReadBool(optionReader("supportsPageParent"), existingOptions.SupportsPageParent); clientOptions.SupportsPageOrder = ReadBool(optionReader("supportsPageOrder"), existingOptions.SupportsPageOrder); clientOptions.SupportsPageTrackbacks = ReadBool(optionReader("supportsPageTrackbacks"), existingOptions.SupportsPageTrackbacks); // Writer capabilities clientOptions.LinkToSkyDriveSelfPage = ReadBool(optionReader("linkToSkyDriveSelfPage"), existingOptions.LinkToSkyDriveSelfPage); clientOptions.RequiresHtmlTitles = ReadBool(optionReader("requiresHtmlTitles"), existingOptions.RequiresHtmlTitles); clientOptions.ReturnsHtmlTitlesOnGet = ReadSupportsFeature(optionReader("returnsHtmlTitlesOnGet"), existingOptions.ReturnsHtmlTitlesOnGet); clientOptions.SupportsEmptyTitles = ReadBool(optionReader("supportsEmptyTitles"), existingOptions.SupportsEmptyTitles); clientOptions.SupportsScripts = ReadSupportsFeature(optionReader(SUPPORTS_SCRIPTS), existingOptions.SupportsScripts); clientOptions.SupportsEmbeds = ReadSupportsFeature(optionReader(SUPPORTS_EMBEDS), existingOptions.SupportsEmbeds); clientOptions.SupportsImageUpload = ReadSupportsFeature(optionReader("supportsImageUpload"), existingOptions.SupportsImageUpload); clientOptions.DefaultView = ReadText(optionReader("defaultView"), existingOptions.DefaultView); clientOptions.CharacterSet = ReadText(optionReader(CHARACTER_SET), existingOptions.CharacterSet); clientOptions.RequiresXHTML = ReadBool(optionReader(REQUIRES_XHTML), existingOptions.RequiresXHTML); clientOptions.DhtmlImageViewer = ReadText(optionReader(DHTML_IMAGE_VIEWER), existingOptions.DhtmlImageViewer); clientOptions.PostBodyBackgroundColor = ReadInt(optionReader(POST_BODY_BACKGROUND_COLOR), existingOptions.PostBodyBackgroundColor); clientOptions.MaxCategoryNameLength = ReadInt(optionReader("maxCategoryNameLength"), existingOptions.MaxCategoryNameLength); clientOptions.SupportsAutoUpdate = ReadBool(optionReader("supportsAutoUpdate"), existingOptions.SupportsAutoUpdate); clientOptions.InvalidPostIdFaultCodePattern = ReadText(optionReader("invalidPostIdFaultCodePattern"), existingOptions.InvalidPostIdFaultCodePattern); clientOptions.InvalidPostIdFaultStringPattern = ReadText(optionReader("invalidPostIdFaultStringPattern"), existingOptions.InvalidPostIdFaultStringPattern); clientOptions.IsRTLTemplate = ReadBool(optionReader("templateIsRTL"), existingOptions.IsRTLTemplate); clientOptions.MaxPostTitleLength = ReadInt(optionReader("maxPostTitleLength"), existingOptions.MaxPostTitleLength); // Weblog clientOptions.HomepageLinkText = ReadText(optionReader("homepageLinkText"), existingOptions.HomepageLinkText); clientOptions.AdminLinkText = ReadText(optionReader("adminLinkText"), existingOptions.AdminLinkText); clientOptions.AdminUrl = ReadText(optionReader("adminUrl"), existingOptions.AdminUrl); clientOptions.PostEditingUrl = ReadText(optionReader("postEditingUrl"), existingOptions.PostEditingUrl); clientOptions.PostEditingUrlPostIdPattern = ReadText(optionReader("postEditingUrlPostIdPattern"), existingOptions.PostEditingUrlPostIdPattern); clientOptions.ImagePostingUrl = ReadText(optionReader(IMAGE_ENDPOINT), existingOptions.ImagePostingUrl); clientOptions.ServiceName = ReadText(optionReader("serviceName"), existingOptions.ServiceName); // Irregularities if (includeIrregularities) { clientOptions.CommentPolicyAsBoolean = ReadBool(optionReader("commentPolicyAsBoolean"), existingOptions.CommentPolicyAsBoolean); clientOptions.AllowPolicyFalseValue = ReadInt(optionReader("allowPolicyFalseValue"), existingOptions.AllowPolicyFalseValue); clientOptions.MaxRecentPosts = ReadInt(optionReader("maxRecentPosts"), existingOptions.MaxRecentPosts); clientOptions.ContentFilter = ReadText(optionReader("contentFilter"), existingOptions.ContentFilter); clientOptions.PermalinkFormat = ReadText(optionReader("permalinkFormat"), existingOptions.PermalinkFormat); clientOptions.PostDateFormat = ReadText(optionReader("postDateFormat"), existingOptions.PostDateFormat); clientOptions.FileUploadNameFormat = ReadText(optionReader("fileUploadNameFormat"), existingOptions.FileUploadNameFormat); clientOptions.UseLocalTime = ReadBool(optionReader("useLocalTime"), existingOptions.UseLocalTime); clientOptions.SupportsPostSynchronization = ReadBool(optionReader("supportsPostSynchronization"), existingOptions.SupportsPostSynchronization); clientOptions.TrackbackDelimiter = ReadTrackbackDelimiter(optionReader("trackbackDelimiter"), existingOptions.TrackbackDelimiter); clientOptions.FuturePublishDateWarning = ReadBool(optionReader("futurePublishDateWarning"), existingOptions.FuturePublishDateWarning); clientOptions.UsePicasaImgMaxAlways = ReadBool(optionReader("usePicasaImgMaxAlways"), existingOptions.UsePicasaImgMaxAlways); clientOptions.UsePicasaS1600h = ReadBool(optionReader("usePicasaS1600h"), existingOptions.UsePicasaS1600h); clientOptions.KeywordsAsTags = ReadBool(optionReader("keywordsAsTags"), existingOptions.KeywordsAsTags); } else { clientOptions.CommentPolicyAsBoolean = existingOptions.CommentPolicyAsBoolean; clientOptions.AllowPolicyFalseValue = existingOptions.AllowPolicyFalseValue; clientOptions.MaxRecentPosts = existingOptions.MaxRecentPosts; clientOptions.ContentFilter = existingOptions.ContentFilter; clientOptions.PermalinkFormat = existingOptions.PermalinkFormat; clientOptions.PostDateFormat = existingOptions.PostDateFormat; clientOptions.FileUploadNameFormat = existingOptions.FileUploadNameFormat; clientOptions.UseLocalTime = existingOptions.UseLocalTime; clientOptions.SupportsPostSynchronization = existingOptions.SupportsPostSynchronization; clientOptions.TrackbackDelimiter = existingOptions.TrackbackDelimiter; clientOptions.FuturePublishDateWarning = existingOptions.FuturePublishDateWarning; clientOptions.UsePicasaImgMaxAlways = existingOptions.UsePicasaImgMaxAlways; clientOptions.UsePicasaS1600h = existingOptions.UsePicasaS1600h; clientOptions.KeywordsAsTags = existingOptions.KeywordsAsTags; } // return options return(clientOptions); }