public static string GetEntityAidedText(string text, IEnumerable<TwitterEntity> entities, EntityDisplayMode displayMode) { try { var builder = new StringBuilder(); // ReSharper disable once PossibleMultipleEnumeration foreach (var description in ParseText(text, entities)) { if (description.Entity != null) { builder.Append(displayMode == EntityDisplayMode.DisplayText ? description.Entity.DisplayText : description.Entity.FullText); } else { builder.Append(description.Text); } } return builder.ToString(); } catch (ArgumentOutOfRangeException ex) { var sb = new StringBuilder(); sb.AppendLine("Parse Error! : " + text); sb.Append("Entities: "); // ReSharper disable once PossibleMultipleEnumeration foreach (var e in entities.OrderBy(e => e.Indices.Item1)) { sb.AppendLine(" " + e); } throw new ArgumentOutOfRangeException(sb.ToString(), ex); } }
public static string GetEntityAidedText(string text, IEnumerable <TwitterEntity> entities, EntityDisplayMode displayMode) { try { var builder = new StringBuilder(); // ReSharper disable once PossibleMultipleEnumeration foreach (var description in ParseText(text, entities)) { if (description.Entity != null) { builder.Append(displayMode == EntityDisplayMode.DisplayText ? description.Entity.DisplayText : description.Entity.FullText); } else { builder.Append(description.Text); } } return(builder.ToString()); } catch (ArgumentOutOfRangeException ex) { var sb = new StringBuilder(); sb.AppendLine("Parse Error! : " + text); sb.Append("Entities: "); // ReSharper disable once PossibleMultipleEnumeration foreach (var e in entities.OrderBy(e => e.Indices.Item1)) { sb.AppendLine(" " + e); } throw new ArgumentOutOfRangeException(sb.ToString(), ex); } }
public string GetEntityAidedText(EntityDisplayMode displayMode = EntityDisplayMode.DisplayText) { try { var builder = new StringBuilder(); var status = this; if (status.RetweetedOriginal != null) { // change target status = status.RetweetedOriginal; } foreach (var description in TextEntityResolver.ParseText(status)) { if (!description.IsEntityAvailable) { builder.Append(description.Text); } else { var entity = description.Entity; switch (entity.EntityType) { case EntityType.Hashtags: builder.Append("#" + entity.DisplayText); break; case EntityType.Urls: // url entity: // display_url: example.com/CUTTED OFF... // original_url => expanded_url: example.com/full_original_url builder.Append(displayMode == EntityDisplayMode.DisplayText ? ParsingExtension.ResolveEntity(entity.DisplayText) : ParsingExtension.ResolveEntity(entity.OriginalUrl)); break; case EntityType.Media: // media entity: // display_url: pic.twitter.com/IMAGE_ID // media_url: pbs.twimg.com/media/ACTUAL_IMAGE_RESOURCE_ID // url: t.co/IMAGE_ID builder.Append( displayMode == EntityDisplayMode.DisplayText ? ParsingExtension.ResolveEntity(entity.DisplayText) : displayMode == EntityDisplayMode.LinkUri ? ParsingExtension.ResolveEntity(entity.DisplayText) : ParsingExtension.ResolveEntity(entity.MediaUrl)); break; case EntityType.UserMentions: builder.Append("@" + entity.DisplayText); break; } } } return(builder.ToString()); } catch (ArgumentOutOfRangeException ex) { var sb = new StringBuilder(); sb.AppendLine("Parse Error! : " + Text); if (Entities == null) { sb.AppendLine("Entities: null"); } else { sb.Append("Entities: "); Entities.OrderBy(e => e.StartIndex) .Select(e => e.StartIndex + "- " + e.EndIndex + " : " + e.DisplayText) .ForEach(s => sb.AppendLine(" " + s)); } throw new ArgumentOutOfRangeException(sb.ToString(), ex); } }
public string GetEntityAidedDescription(EntityDisplayMode displayMode = EntityDisplayMode.DisplayText) { return(TextEntityResolver.GetEntityAidedText(Description ?? String.Empty, DescriptionEntities, displayMode)); }
public string GetEntityAidedUrl(EntityDisplayMode displayMode = EntityDisplayMode.DisplayText) { return(TextEntityResolver.GetEntityAidedText(Url ?? String.Empty, UrlEntities, displayMode)); }
public string GetEntityAidedText(EntityDisplayMode displayMode = EntityDisplayMode.DisplayText) { var status = RetweetedStatus ?? this; return TextEntityResolver.GetEntityAidedText(status.Text, status.Entities, displayMode); }
public string GetEntityAidedText(EntityDisplayMode displayMode = EntityDisplayMode.DisplayText) { try { var builder = new StringBuilder(); var status = this; if (status.RetweetedOriginal != null) { // change target status = status.RetweetedOriginal; } foreach (var description in TextEntityResolver.ParseText(status)) { if (!description.IsEntityAvailable) { builder.Append(description.Text); } else { var entity = description.Entity; switch (entity.EntityType) { case EntityType.Hashtags: builder.Append("#" + entity.DisplayText); break; case EntityType.Urls: // url entity: // display_url: example.com/CUTTED OFF... // original_url => expanded_url: example.com/full_original_url builder.Append(displayMode == EntityDisplayMode.DisplayText ? ParsingExtension.ResolveEntity(entity.DisplayText) : ParsingExtension.ResolveEntity(entity.OriginalUrl)); break; case EntityType.Media: // media entity: // display_url: pic.twitter.com/IMAGE_ID // media_url: pbs.twimg.com/media/ACTUAL_IMAGE_RESOURCE_ID // url: t.co/IMAGE_ID builder.Append( displayMode == EntityDisplayMode.DisplayText ? ParsingExtension.ResolveEntity(entity.DisplayText) : displayMode == EntityDisplayMode.LinkUri ? ParsingExtension.ResolveEntity(entity.DisplayText) : ParsingExtension.ResolveEntity(entity.MediaUrl)); break; case EntityType.UserMentions: builder.Append("@" + entity.DisplayText); break; } } } return builder.ToString(); } catch (ArgumentOutOfRangeException ex) { var sb = new StringBuilder(); sb.AppendLine("Parse Error! : " + Text); if (Entities == null) { sb.AppendLine("Entities: null"); } else { sb.Append("Entities: "); Entities.OrderBy(e => e.StartIndex) .Select(e => e.StartIndex + "- " + e.EndIndex + " : " + e.DisplayText) .ForEach(s => sb.AppendLine(" " + s)); } throw new ArgumentOutOfRangeException(sb.ToString(), ex); } }
public string GetEntityAidedText(EntityDisplayMode displayMode = EntityDisplayMode.DisplayText) { var status = RetweetedStatus ?? this; return(TextEntityResolver.GetEntityAidedText(status.Text, status.Entities, displayMode)); }
public string GetEntityAidedDescription(EntityDisplayMode displayMode = EntityDisplayMode.DisplayText) { return TextEntityResolver.GetEntityAidedText(Description ?? String.Empty, DescriptionEntities, displayMode); }
public string GetEntityAidedUrl(EntityDisplayMode displayMode = EntityDisplayMode.DisplayText) { return TextEntityResolver.GetEntityAidedText(Url ?? String.Empty, UrlEntities, displayMode); }