Parse comments from JSON for filter/search.

Also fix post building testing skipping posts with EXIF data.
This commit is contained in:
ccd0 2015-04-25 02:06:32 -07:00
parent 2fcb5b1d7c
commit fdae25dc9e
3 changed files with 14 additions and 4 deletions

View File

@ -126,7 +126,7 @@ Filter =
tripcode: (post) -> post.info.tripcode
capcode: (post) -> post.info.capcode
subject: (post) -> post.info.subject
comment: (post) -> post.info.comment
comment: (post) -> post.info.comment ? Build.parseComment(post)
flag: (post) -> post.info.flag
filename: (post) -> post.file?.name
dimensions: (post) -> post.file?.dimensions

View File

@ -78,6 +78,15 @@ Build =
o.file.dimensions = "#{o.file.width}x#{o.file.height}" unless /\.pdf$/.test o.file.url
o
parseComment: (o) ->
html = o.info.commentHTML.innerHTML
.replace(/<br><br><span class="abbr">.*$/, '')
.replace(/^<b>Rolled [^<]*<br><br><\/b>/, '')
.replace(/<span class="fortune".*$/, '')
.replace(/<br\s*\/?>/gi, '\n')
.replace(/<[^>]*>/g, '')
o.info.comment = Build.unescape html
postFromObject: (data, boardID, suppressThumb) ->
o = Build.parseJSON data, boardID
Build.post o, suppressThumb

View File

@ -56,7 +56,7 @@ BuildTest =
c.log x.outerHTML
c.log y.outerHTML
for key of Config.filter when not (key is 'comment' or key is 'MD5' and post.board.ID is 'f')
for key of Config.filter when not (key is 'MD5' and post.board.ID is 'f')
val1 = Filter[key] obj
val2 = Filter[key] post2
if val1 isnt val2
@ -76,8 +76,9 @@ BuildTest =
testAll: ->
g.posts.forEach (post) ->
unless post.isClone or post.isFetchedQuote or $ '.abbr', post.nodes.comment
BuildTest.testOne post
unless post.isClone or post.isFetchedQuote
unless (abbr = $ '.abbr', post.nodes.comment) and /Comment too long\./.test(abbr.textContent)
BuildTest.testOne post
return
postsRemaining: 0