private boolean isImage(MediaEntity mediaEntity) { return "photo".equals(mediaEntity.getType()); } }
/** * Tests whether a given entity has an associated embedding mapping inside of Lyrebird. * * @param entity The entity to test * * @return true if and only if calling {@link #fromTwitterType(String)} does not yield {@link #UNMANAGED}. */ public static boolean isSupported(final MediaEntity entity) { final boolean supported = fromTwitterType(entity.getType()) != UNMANAGED; if (!supported) { LOG.warn("Unsupported twitter media entity, skipping. Twitter type was : [{}]", entity.getType()); } return supported; }
/** * Generates preview for a single Twitter-side {@link MediaEntity} matching it against the {@link * TwitterMediaEntity} enumeration. * * @param entity The entity whose preview will be generated. * * @return The preview for the given entity. * * @throws IllegalArgumentException when an unsupported entity is given since it should only be called on valid * entities. */ private Node embedOne(final MediaEntity entity) { switch (TwitterMediaEntity.fromTwitterType(entity.getType())) { case PHOTO: return directPhotoHandler.handleMedia(entity.getMediaURLHttps()); case VIDEO: case ANIMATED_GIF: return twitterVideoHandler.handleMedia(entity.getVideoVariants()); case UNMANAGED: default: throw new IllegalArgumentException("Twitter type " + entity.getType() + " is not supported!"); } }
Twitter twitter = TwitterFactory.getSingleton(); Query query = new Query("..."); QueryResult result = twitter.search(query); for (Status status : result.getTweets()) { for (MediaEntity mediaEntity : status.getMediaEntities()) { System.out.println(mediaEntity.getType() + ": " + mediaEntity.getMediaURL()); } }
static Struct convertMediaEntity(MediaEntity mediaEntity) { return new Struct(SCHEMA_MEDIA_ENTITY) .put("Id", mediaEntity.getId()) .put("Type", mediaEntity.getType()) .put("MediaURL", mediaEntity.getMediaURL()) .put("Sizes", convertSizes(mediaEntity.getSizes())) .put("MediaURLHttps", mediaEntity.getMediaURLHttps()) .put("VideoAspectRatioWidth", mediaEntity.getVideoAspectRatioWidth()) .put("VideoAspectRatioHeight", mediaEntity.getVideoAspectRatioHeight()) .put("VideoDurationMillis", mediaEntity.getVideoDurationMillis()) .put("VideoVariants", convert(mediaEntity.getVideoVariants())) .put("ExtAltText", mediaEntity.getExtAltText()) .put("URL", mediaEntity.getURL()) .put("Text", mediaEntity.getText()) .put("ExpandedURL", mediaEntity.getExpandedURL()) .put("Start", mediaEntity.getStart()) .put("End", mediaEntity.getEnd()) .put("DisplayURL", mediaEntity.getDisplayURL()); }