pasturepy is a Python tool for generating JSON feed definitions for use with Graze. Use it to programmatically create and customize feeds for Graze.
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: add search within quotes, replies, threads

+26 -21
+26 -21
pasturepy/constants/fields.py
··· 1 1 TEXT_FIELDS = { 2 2 "text", 3 + "tags[*]", 3 4 # Alt text 4 - "embed.alt", # video alt 5 - "embed.media.alt", # video alt if qp 6 - "embed.images[*].alt", # image alt 7 - "embed.media.images[*].alt", # image alt if qp 8 - "embed.external.description", # link alt 9 - "embed.media.external.description", # link alt if qp 10 - "inferences.video.audio_transcription.text", # video captions 5 + "embed.alt", # video alt 6 + "embed.media.alt", # video alt if qp 7 + "embed.images[*].alt", # image alt 8 + "embed.media.images[*].alt", # image alt if qp 9 + "embed.external.title", # link title 10 + "embed.external.description", # link alt 11 + "embed.media.external.title", # link title if qp 12 + "embed.media.external.description", # link alt if qp 13 + "inferences.video.audio_transcription.text", # video captions 11 14 # User bio, display name, handle 12 15 "hydrated_metadata.user.description", 13 16 "hydrated_metadata.user.handle", 14 17 "hydrated_metadata.user.display_name", 15 - #"hydrated_metadata.mentions.[*].description", 16 - #"hydrated_metadata.mentions.[*].handle", 17 - #"hydrated_metadata.mentions.[*].display_name", 18 + # Quoted post 19 + "hydrated_metadata.quote_post.record.[*]", 20 + # Parent post 21 + "hydrated_metadata.parent_post.record.[*]", 22 + # Thread post 23 + "hydrated_metadata.reply_post.record.[*]", 24 + # "hydrated_metadata.mentions.[*].description", 25 + # "hydrated_metadata.mentions.[*].handle", 26 + # "hydrated_metadata.mentions.[*].display_name", 18 27 "hydrated_metadata.parent_post.author.description", 19 28 "hydrated_metadata.parent_post.author.handle", 20 29 "hydrated_metadata.parent_post.author.display_name", ··· 24 33 "hydrated_metadata.reply_post.author.description", 25 34 "hydrated_metadata.reply_post.author.handle", 26 35 "hydrated_metadata.reply_post.author.display_name", 27 - } 36 + } 28 37 29 38 # when it's a text field with select options, not open-ended 30 39 OPTION_FIELDS = { 31 40 # Labels 32 41 "hydrated_metadata.user.labels[*].val", 33 - #"hydrated_metadata.mentions.[*].labels[*].val", 42 + # "hydrated_metadata.mentions.[*].labels[*].val", 34 43 "hydrated_metadata.parent_post.*.labels[*].val", 35 44 "hydrated_metadata.quote_post.*.labels[*].val", 36 - "hydrated_metadata.reply_post.*.labels[*].val" 45 + "hydrated_metadata.reply_post.*.labels[*].val", 37 46 } 38 47 39 48 NUMBER_FIELDS = { ··· 41 50 "hydrated_metadata.user.followers_count" 42 51 } 43 52 44 - ENTITY_TYPES = { 45 - "hashtags", "langs", "urls", 46 - "mentions", "domains","labels" 47 - } 53 + ENTITY_TYPES = {"hashtags", "langs", "urls", "mentions", "domains", "labels"} 54 + 55 + EMBED_TYPES = {"image", "link", "post", "image_group", "video", "gif"} 48 56 49 - EMBED_TYPES = { 50 - "image", "link", "post", 51 - "image_group", "video", "gif" 52 - } 57 + POST_TYPES = {"reply", "quote"}