rss_converter_twitter.com.xsl: restrict tweet selection some more
authorAntonio Ospite <ao2@ao2.it>
Mon, 30 Nov 2015 10:22:27 +0000 (11:22 +0100)
committerAntonio Ospite <ao2@ao2.it>
Mon, 30 Nov 2015 10:24:59 +0000 (11:24 +0100)
Only select elements which have the 'data-item-id' attribute, this way
we avoid picking up the image gallery at the top of hashtag pages which
does not have an RSS item structure.

JFTR the gallery is inside an element like this:

  <li class="AdaptiveStreamImageGallery AdaptiveSearchTimeline-separationModule js-stream-item"
      data-item-type="tweet">

with no 'data-item-id'.

rss_converter_twitter.com.xsl

index 82d520c..15507f0 100644 (file)
@@ -38,7 +38,7 @@
 
     <xsl:variable name="screen-name" select="//div[@class='user-actions btn-group not-following ']/@data-screen-name"/>
 
 
     <xsl:variable name="screen-name" select="//div[@class='user-actions btn-group not-following ']/@data-screen-name"/>
 
-    <xsl:template match="//li[@data-item-type='tweet']">
+    <xsl:template match="//li[@data-item-id and @data-item-type='tweet']">
         <xsl:variable name="user-name" select=".//div[contains(@class, 'js-stream-tweet')]/@data-screen-name"/>
         <xsl:variable name="item-content" select=".//p[contains(@class, 'js-tweet-text')]"/>
         <xsl:variable name="item-permalink" select="concat($BaseURL, .//div[@data-permalink-path]/@data-permalink-path)"/>
         <xsl:variable name="user-name" select=".//div[contains(@class, 'js-stream-tweet')]/@data-screen-name"/>
         <xsl:variable name="item-content" select=".//p[contains(@class, 'js-tweet-text')]"/>
         <xsl:variable name="item-permalink" select="concat($BaseURL, .//div[@data-permalink-path]/@data-permalink-path)"/>
                         <xsl:value-of select="//a[contains(@class, 'profile-picture media-thumbnail')]/@href"/>
                     </url>
                 </image>
                         <xsl:value-of select="//a[contains(@class, 'profile-picture media-thumbnail')]/@href"/>
                     </url>
                 </image>
-                <xsl:apply-templates select="//ol[@id='stream-items-id']/li[@data-item-type='tweet']"/>
+                <xsl:apply-templates select="//ol[@id='stream-items-id']/li[@data-item-id and @data-item-type='tweet']"/>
             </channel>
         </rss>
     </xsl:template>
             </channel>
         </rss>
     </xsl:template>