Project

flickrage

0.0
No commit activity in last 3 years
No release in over 3 years
Another one Flickr collage maker CLI.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.12
~> 0.8.15
~> 1.8.1
~> 10.0
~> 3.5.0
~> 3.5.0
~> 3.5.0
~> 2.1.0

Runtime

~> 0.8.1
~> 0.9.9
~> 4.5.1
~> 0.6.0
~> 0.19
~> 0.3.0
 Project Readme

Flickrage CLI, your Flickr Collage.

Gem Version Build Status

Little tool with idea of downloading random top-n pictures from the Flickr, resize it properly & build collage from them!

Here are some features:

  • Search at Flickr with words from your own dictionary or provide just a few words :).
  • Multiple threads out of the box, no matter how many images you want.
  • Auto-cleanup (optional).
  • Logging into a file (optional).
  • Predefined timeouts for long requests (unresponding links or similar).
  • Verbose mode for research (optional).
  • Quiet mode for silence (optional).

Compatibility

Ruby versions 2.3.0 and higher.

Flickrage collage example

Installation

Install it yourself as:

$ gem install flickrage

System Wide Install (OSX, *nix):

$ sudo gem install flickrage          

Usage

It's pretty simple at the start:

$ flickrage -k some nice grapefruit

Setup

You'll need to get/generate an API keys from your Flickr profile at https://www.flickr.com/account/sharing

Next you can export Flickr API keys as ENV variables:

$ export FLICKR_API_KEY="SOMEKEY"
$ export FLICKR_SHARED_SECRET="SOMESECRET"

Or set keys with arguments:

$ flickrage --flickr-api-key SOMELONGKEY --flickr-shared-secret SOMELONGSECRET

How-To

Select output folder:

$ flickrage -k some nice grapefruit -o ./tmp

Enter collage file_name:

$ flickrage -k some nice grapefruit --file-name some.jpg

Get collage of top 10 images:

$ flickrage -k some nice grapefruit --max 10

Get collage of top 20 images:

$ flickrage -k some nice grapefruit --max 20

Get collage of top 10 images custom width & height:

$ flickrage -k some nice grapefruit --max 10 --width 160 --height 120

Provide your own words dictionary:

$ flickrage -k some nice grapefruit --dict-path /usr/share/dict/words

All options:

> $ flickrage help c 

Options:
  -k, --keywords=some nice grapefruit                        
      [--max=10]                                             # Select number of files.
                                                             # Default: 10
                                                             # Possible values: 1, ..., 20
      [--grid=2]                                             # Select grid base number.
      [--width=120]                                          # Set width for resize downloaded images.
      [--height=80]                                          # Set height for resize downloaded images.
  -l, [--log=/Users/someone/.flickrage/main.log]             # Log file path. By default logging is disabled.
  -o, [--output=./tmp]                                       # Output directory, where all data will be stored.
      [--file-name=./some.png]                               # Name for file with collage.
      [--dict-path=/usr/share/dict/words]                    # Path to file with multiline words (dictionary).
  -c, [--cleanup], [--no-cleanup]                            # Cleanup files before collage.
  -t, [--tagged-search], [--no-tagged-search]                # Search by tags.
  -p, [--params=safe_search:moderate sort:date-posted-desc]  # Set extra params for Flickr.
  -v, [--verbose], [--no-verbose]                            # Verbose mode.
  -q, [--quiet], [--no-quiet]                                # Quiet mode. If don't need any messages and in console.
      [--flickr-api-key=YOURLONGAPIKEY]                      # FLICKR_API_KEY. if you can't use environment.
      [--flickr-shared-secret=YOURLONGSHAREDSECRET]          # FLICKR_SHARED_SECRET. if you can't use environment.


`flickrage` is a tool which loves search on the Flickr & making collages from findings.

You have to enter name of the output file and a max number of downloading files.

Parameters helps you specify rectangle size for each image, collage name, it's location, ..., and well the grid base size.

Screenshot:

Flickrage example

Real world example

$ flickrage c -k one two three --cleanup --flickr-api-key ************ --flickr-shared-secret ***********
  Thank you for choosing Flickrage, you will find me as your Flickr collage companion :)
                
  Received keywords: [one, two, three, archencephalic, trub, soiree, barring, Cestodaria, readorn, Thurnia]
  [+] Searching (found image ID#15415535811)
                
  Found 10 images:
  keyword      id           url                                                               title                              width  height
  one          16214454241  https://farm9.staticflickr.com/8618/16214454241_3ab4ae73c7_b.jpg  First Snowfall                      1024     687
  ...
  tightfisted   8757535743  https://farm4.staticflickr.com/3786/8757535743_1c8c6b57d9_b.jpg   Teasels at the Sixteen Foot         1024     696
  achete       15415535811  https://farm3.staticflickr.com/2949/15415535811_4eedddc4b4_b.jpg  Une nouvelle, page 12 on 17         1024    1024
                
  Scheduled to download 10 images
  Please enter the path of the output directory: ./tmp
  [+] Downloaded image ID#8757535743
                
  Downloaded 10 images:
  keyword      id           path                                                                      downloaded?
  one          16214454241  /Users/some/path/tmp/16214454241_3ab4ae73c7_b.jpg  true
  ...
  achete       15415535811  /Users/some/path/tmp/15415535811_4eedddc4b4_b.jpg  true
                
  Please enter image resize width: 200
  Please enter image resize height: 100
  [+] Resized image 15415535811
                
  Resized 10 images:
  keyword      id           path                                                                              resized?
  one          16214454241  /Users/some/path/tmp/resized.16214454241_3ab4ae73c7_b.jpg  true
  ...
  tightfisted   8757535743  /Users/some/path/tmp/resized.8757535743_1c8c6b57d9_b.jpg   true
  achete       15415535811  /Users/some/path/tmp/resized.15415535811_4eedddc4b4_b.jpg  true
                
  Please enter the collage file name: some.png
  [+] Collage making
  10 images composed
                
  Congrats! You can find composed collage at /Users/some/path/tmp/some.png

Dict

Ubuntu:

If not installed, install or provide your own:

$ apt-get install --reinstall wamerican

OSX:

By default: /usr/share/dict/words

Dependencies:

Contributing

  1. Fork it ( https://github.com/merqlove/flickrage/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Testing

$ rake spec 

Copyright (c) 2016 Alexander Merkulov

MIT License