Mhurd has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/200748

Change subject: Collapse image gallery description whitespace.
......................................................................

Collapse image gallery description whitespace.

Does so in punctuation aware manner. ie " <b>test</b>." is
collapsed to " test." not " test ."

Change-Id: I25146301cbe5c319a53af2945e8037c0c3eb985d
---
M wikipedia/Categories/NSString+WMFHTMLParsing.h
M wikipedia/Categories/NSString+WMFHTMLParsing.m
M wikipedia/Networking/Serializers/MWKImageInfoResponseSerializer.m
M wikipedia/View Controllers/Image Gallery/WMFImageGalleryDetailOverlayView.m
4 files changed, 22 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/ios/wikipedia 
refs/changes/48/200748/1

diff --git a/wikipedia/Categories/NSString+WMFHTMLParsing.h 
b/wikipedia/Categories/NSString+WMFHTMLParsing.h
index 742406c..c7b305c 100644
--- a/wikipedia/Categories/NSString+WMFHTMLParsing.h
+++ b/wikipedia/Categories/NSString+WMFHTMLParsing.h
@@ -34,5 +34,6 @@
 - (NSString*)wmf_stringByRemovingWhiteSpaceBeforePeriod;
 - (NSString*)wmf_stringByCollapsingConsecutiveSpaces;
 - (NSString*)wmf_stringByRemovingLeadingOrTrailingSpacesNewlinesOrColons;
+- (NSString*)wmf_stringByCollapsingAllWhitespace;
 
 @end
diff --git a/wikipedia/Categories/NSString+WMFHTMLParsing.m 
b/wikipedia/Categories/NSString+WMFHTMLParsing.m
index 33acdc9..cef57f4 100644
--- a/wikipedia/Categories/NSString+WMFHTMLParsing.m
+++ b/wikipedia/Categories/NSString+WMFHTMLParsing.m
@@ -14,6 +14,24 @@
             valueForKey:WMF_SAFE_KEYPATH([TFHppleElement new], content)];
 }
 
+- (NSString*)wmf_stringByCollapsingAllWhitespace {
+    NSString* string = [self stringByReplacingOccurrencesOfString:@"\\s+" 
withString:@" " options:NSRegularExpressionSearch range:NSMakeRange(0, 
self.length)];
+
+    NSError* error;
+    NSString* pattern          = @" ([,!.;])";
+    NSRegularExpression* regex = [NSRegularExpression 
regularExpressionWithPattern:pattern
+                                                                           
options:0
+                                                                             
error:&error];
+    if (!error) {
+        string = [regex stringByReplacingMatchesInString:string
+                                                 options:0
+                                                   range:NSMakeRange(0, 
[string length])
+                                            withTemplate:@"$1"];
+    }
+
+    return string;
+}
+
 - (NSString*)wmf_joinedHtmlTextNodes {
     return [self wmf_joinedHtmlTextNodesWithDelimiter:@" "];
 }
diff --git a/wikipedia/Networking/Serializers/MWKImageInfoResponseSerializer.m 
b/wikipedia/Networking/Serializers/MWKImageInfoResponseSerializer.m
index fab49ab..f9ec73e 100644
--- a/wikipedia/Networking/Serializers/MWKImageInfoResponseSerializer.m
+++ b/wikipedia/Networking/Serializers/MWKImageInfoResponseSerializer.m
@@ -71,7 +71,7 @@
             [[MWKImageInfo alloc]
              initWithCanonicalPageTitle:image[@"title"]
                        canonicalFileURL:[NSURL URLWithString:imageInfo[@"url"]]
-                       
imageDescription:[extMetadata[ExtMetadataImageDescriptionKey][@"value"] 
wmf_joinedHtmlTextNodes]
+                       
imageDescription:[[extMetadata[ExtMetadataImageDescriptionKey][@"value"] 
wmf_joinedHtmlTextNodes] wmf_stringByCollapsingAllWhitespace]
                                 license:license
                             filePageURL:[NSURL 
URLWithString:imageInfo[@"descriptionurl"]]
                                imageURL:[NSURL URLWithString:imageInfo[@"url"]]
diff --git a/wikipedia/View Controllers/Image 
Gallery/WMFImageGalleryDetailOverlayView.m b/wikipedia/View Controllers/Image 
Gallery/WMFImageGalleryDetailOverlayView.m
index 63346cc..d09fab1 100644
--- a/wikipedia/View Controllers/Image 
Gallery/WMFImageGalleryDetailOverlayView.m
+++ b/wikipedia/View Controllers/Image 
Gallery/WMFImageGalleryDetailOverlayView.m
@@ -13,6 +13,7 @@
 #import "UILabel+WMFStyling.h"
 #import "MWKLicense+ToGlyph.h"
 #import "NSParagraphStyle+WMFNaturalAlignmentStyle.h"
+#import "NSString+WMFHTMLParsing.h"
 
 static double const WMFImageGalleryLicenseFontSize       = 19.0;
 static double const WMFImageGalleryLicenseBaselineOffset = -1.5;
@@ -46,7 +47,7 @@
 
     NSAttributedString* attributedOwnerAndSeparator =
         [[NSAttributedString alloc]
-         initWithString:[@" " stringByAppendingString:owner]
+         initWithString:[@" " stringByAppendingString:[owner 
wmf_stringByCollapsingAllWhitespace]]
              attributes:@{NSFontAttributeName: [UIFont 
systemFontOfSize:WMFImageGalleryOwnerFontSize],
                           NSForegroundColorAttributeName: [UIColor 
whiteColor]}];
 

-- 
To view, visit https://gerrit.wikimedia.org/r/200748
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I25146301cbe5c319a53af2945e8037c0c3eb985d
Gerrit-PatchSet: 1
Gerrit-Project: apps/ios/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mhurd <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to