{"id":15643063,"url":"https://github.com/lmammino/flickr-set-get","last_synced_at":"2025-04-07T17:12:12.469Z","repository":{"id":31537979,"uuid":"35102553","full_name":"lmammino/flickr-set-get","owner":"lmammino","description":"A simple command line app to download photos from a flickr set","archived":false,"fork":false,"pushed_at":"2025-02-11T07:58:48.000Z","size":974,"stargazers_count":60,"open_issues_count":16,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T15:18:15.278Z","etag":null,"topics":["command","command-line","download","download-photos","downloader","flickr","flickr-set","gallery","javascript","node","nodejs","photo-sets","private-photos"],"latest_commit_sha":null,"homepage":"https://lmammino.github.io/flickr-set-get/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lmammino.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-05-05T13:47:55.000Z","updated_at":"2024-09-17T17:10:53.000Z","dependencies_parsed_at":"2024-07-06T07:51:19.362Z","dependency_job_id":"b2f3ac16-4c9f-41b1-ba77-86747264e4cc","html_url":"https://github.com/lmammino/flickr-set-get","commit_stats":{"total_commits":53,"total_committers":3,"mean_commits":"17.666666666666668","dds":"0.24528301886792447","last_synced_commit":"3c07e4f5c93598a2073365ce66be14685b4f8faf"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmammino%2Fflickr-set-get","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmammino%2Fflickr-set-get/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmammino%2Fflickr-set-get/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmammino%2Fflickr-set-get/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lmammino","download_url":"https://codeload.github.com/lmammino/flickr-set-get/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247694877,"owners_count":20980733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command","command-line","download","download-photos","downloader","flickr","flickr-set","gallery","javascript","node","nodejs","photo-sets","private-photos"],"created_at":"2024-10-03T11:58:46.849Z","updated_at":"2025-04-07T17:12:12.451Z","avatar_url":"https://github.com/lmammino.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flickr-set-get\n\n[![npm version](https://badge.fury.io/js/flickr-set-get.svg)](http://badge.fury.io/js/flickr-set-get)\n[![Build Status](https://travis-ci.org/lmammino/flickr-set-get.svg?branch=master)](https://travis-ci.org/lmammino/flickr-set-get) \n[![Coverage Status](https://coveralls.io/repos/lmammino/flickr-set-get/badge.svg?branch=master)](https://coveralls.io/r/lmammino/flickr-set-get?branch=master) \n[![Dependency Status](https://gemnasium.com/lmammino/flickr-set-get.svg)](https://gemnasium.com/lmammino/flickr-set-get)\n\nFlickr-set-get is a command line application written in node that allows you to download an entire set of \nphotos from Flickr (a gallery). Once you have it installed, to start the download you just need to:\n\n```bash\n$ flickr-set-get get \u003csetid\u003e \u003cuserid\u003e\n```\n\n\n## Install\n\nAs simple as installing any other global node package. Be sure to have [npm](https://www.npmjs.com) and \n[node](https://nodejs.org/) (`\u003e= 0.8` version, or [io.js](https://iojs.org) `\u003e= 1.0`) installed and launch:\n\n```bash\n$ npm install -g flickr-set-get\n```\n\n\n## Configuration\n\n![Usage screenshot](http://i.imgur.com/DGEpYtl.png)\n\nFlickr-set-get is already configured with a default api key to allow you to use it immediately. Anyway it's highly\nrecommended to create your own Flickr api key in the [Flickr app garden](https://www.flickr.com/services/apps/create/apply)\nespecially if you intend to make authenticated requests to download private photos and photo sets. Having your own api key\nwill allow you to avoid rate limiting and to use a more secure authenticated communication.\n\nTo configure flickr-set-get to use your own api key you need to launch the following command:\n\n```bash\n$ flickr-set-get config\n```\n\nAn interactive guide will then help you to complete the configuration process.\n\n\n### Start the download\n\nAt this stage you should be ready to download a Flickr photo set. A set is identified by two parameters: a `setId`\nand a `userId`. Given the url of a set (gallery) you can easily spot these two parameters as shown in the image below:\n\n![SetId and UserId parameters in a Flickr gallery url](http://i.imgur.com/4SrUKjV.png)\n\nSo, given the url `https://www.flickr.com/photos/21272841@N05/sets/72157623488969696`, to start the download you need \nto run: \n\n```bash\n$ flickr-set-get get 72157623488969696 21272841@N05\n```\n\nAnd then just watch the command to do the hard work for you!\n\n### Download private photos and sets\n\nFlickr supports private photos and private sets (sets that contains only private photos). To be able to download these\nphotos from your sets you need to authenticate yourself and to send authenticated api requests. In order to do so you\nneed to do configure your authentication options and get an authentication token with the `flickr-set-get config` command.\nThen you need to use the option `--authenticated` when using the `flickr-set-get get` command.\n\nIt's highly recommended to use your own api key and secret to achieve an optimal level of security.\nIn fact the default api *secret* is shared in plain text in the code base of flickr-set-get, so it's not really *a secret*.\nSomeone that might intercept a flickr-set-get authentication token for your Flickr profile (generated with the \ndefault api key and api secret) will be able to download all your private photos. \nAnyway it's not mandatory to provide personal api key and api secret and you can use the default values, \nespecially if you just want to quick test the application to download some photos (ensure to be in a safe network in \nthat case, and to revoke your authentication token at the end of the test).\n\n\n### Sub-commands, options and help\n\nFlickr set get supports different sub-commands. You can access a comprehensive documentation with:\n\n```bash\n$ flickr-set-get --help\n```\n\nThis will display all the available sub-commands and options. You can also access the specific help of a sub-command\nwith:\n\n```bash\n$ flickr-set-get \u003csub-command\u003e --help\n```\n\nFor example `flickr-set-get get --help` will show:\n\n```\n  Usage: get|g [options] \u003csetId\u003e \u003cuserId\u003e\n\n  download a set of photos\n\n  Options:\n\n    -h, --help             output usage information\n    --apiKey \u003cvalue\u003e       The flickr API key\n    --authToken \u003cvalue\u003e    The flickr auth token\n    --authenticated        Use authenticate request to access private photos (ensure to provide a valid `authToken` as option or in your config file)\n    --config \u003cvalue\u003e       Define the config file to use\n    -c, --concurrency \u003cn\u003e  The number of concurrent requests\n    -o, --outputDir \u003cs\u003e    The directory where to save the downloaded images\n    -s, --size \u003cs\u003e         The size of the image to download (eg. \"Original\", \"Large\", \"Medium\", etc.)\n    -vs, --videoSize \u003cs\u003e   The size of the video to download (eg. \"Video Original\", \"HD MP4\", \"Mobile MP4\", etc.)\n    -n, --noOverwrite      If set does not overwrite existing files\n```\n\n\n## Current status\n\nThis project is currently on its early days so it's expected to have (a lot of) bugs and imperfections.\nFeel free to [contribute to its development](#contributing) and to \n[report bugs](https://github.com/lmammino/flickr-set-get/issues).\n\n\n## Programmatic API\n\nDevelopers can integrate part of the code into their own apps (want to build a GUI for this command line app? :P) \nHere's a small documentation to get you going in these cases.\n\nIf you install the package as a dependency into an existing project (`npm install --save flickr-set-get`) you can require\nit's main module:\n\n```js\nvar Flickr = require('flickr-set-get');\n\nvar apiKey = 'someApiKey';\nvar options = {};\n\nvar client = new Flickr(apiKey, options);\n```\n\nHere follows a comprehensive documentation of the `Flickr` class.\n\n\n### Class: Flickr\nA class that defines a set of methods to download an entire set of photos (`gallery` or `set`) from Flickr.\n\nAvailable options:\n\n  - **concurrency** `number` the maximum number of concurrent http requests (default: `10`)\n  - **outputDir** `string` the path where to save the images (default: `\".\"`)\n  - **size** `string` The size of the image to download, eg. `\"Original\"`, `\"Large\"`, `\"Medium\"`, etc. (default `\"Original\"`)\n  - **noOverwrite** `boolean` if `true` avoids to override already existing files (default: `false`)\n  - **auth** `boolean|object` if `false` it will not use authentication. Otherwise it should be an object containing the keys `secret` and  `authToken` (or `miniToken`) (default: false)\n\nThis class extends from {EventEmitter} and emits several events:\n\n  - **error** `Error` in case of error\n  - **setInfo** `Object` when info about a given set are successfully retrieved\n  - **photoSizes** `Object` when the info about a photo (url to download the sizes) are retrieved\n  - **photoDownloaded** `Object` when a photo is successfully downloaded\n  - **photoSkipped** `Object` when a photo is skipped (already downloaded)\n  - **done** `Object` when all the photo of the set are downloaded\n\n\n#### Flickr.downloadSet(setId, userId) \n\nStarts the download of the photos from a given Flickr set.\nTriggers events during the whole process\n\n**Parameters**\n\n**setId**: `string`, Starts the download of the photos from a given Flickr set.\nTriggers events during the whole process\n\n**userId**: `string`, Starts the download of the photos from a given Flickr set.\nTriggers events during the whole process\n\n**Returns**: `Flickr`\n\n\n#### Flickr.getAuthToken(cb)\n\nGet the authToken. Requires that the `auth` option has been correctly configured providing `secret` and `miniToken`\n   \n**Parameters**\n\n**cb**: `function`, a callback function that gets called (with `error` and `data` arguments) once the request is finished\n\n**Returns**: `Flickr`\n\n\n## Contributing\n\nEveryone is very welcome to contribute to this project. You can contribute just by submitting bugs or \nsuggesting improvements by [opening an issue on GitHub](https://github.com/lmammino/flickr-set-get/issues).\n\nYou can also submit PRs as long as you adhere with the code standards and write tests for the proposed changes.\n\nYou can read a [dedicated guide on how to contribute](CONTRIBUTING.md).\n\n\n## License\n\nLicensed under [MIT License](LICENSE). © Luciano Mammino.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flmammino%2Fflickr-set-get","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flmammino%2Fflickr-set-get","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flmammino%2Fflickr-set-get/lists"}