All Projects → danchal → Flickrsync

danchal / Flickrsync

Licence: gpl-3.0
A command line tool to synchronise, upload, download, pictures between the local file system and Flickr. Image hash signature of the picture is used to uniquely identify the image.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Flickrsync

React Viewer
react image viewer, supports rotation, scale, zoom and so on
Stars: ✭ 502 (+3485.71%)
Mutual labels:  image, photos, picture
Sjnetwork
SJNetwork is a high level network request tool based on AFNetworking and inspired on YTKNetwork.
Stars: ✭ 231 (+1550%)
Mutual labels:  image, download, upload
Pyinstastories
Python script to download Instagram stories from Instagram users.
Stars: ✭ 260 (+1757.14%)
Mutual labels:  image, picture, download
Bubblepictures
Bubble Pictures for iOS done in Swift
Stars: ✭ 434 (+3000%)
Mutual labels:  photos, picture
React Image Magnify
A responsive image zoom component designed for shopping sites.
Stars: ✭ 391 (+2692.86%)
Mutual labels:  image, picture
Insgallery
📸 Instagram-like image picker for Android (一款 UI 炫酷高仿 Instagram 的图片、视频选择器)
Stars: ✭ 409 (+2821.43%)
Mutual labels:  photos, picture
Rx Mvp
RxJava2+Retrofit2+RxLifecycle2+OkHttp3 封装RHttp 使用MVP模式构建项目
Stars: ✭ 343 (+2350%)
Mutual labels:  download, upload
Git Ftp
Uses Git to upload only changed files to FTP servers.
Stars: ✭ 5,104 (+36357.14%)
Mutual labels:  sync, upload
Renderhelp
⚡️ 可编程渲染管线实现,帮助初学者学习渲染
Stars: ✭ 494 (+3428.57%)
Mutual labels:  image, picture
Html To Image
✂️ Generates an image from a DOM node using HTML5 canvas and SVG.
Stars: ✭ 595 (+4150%)
Mutual labels:  image, picture
Tysnapshotscroll
一句代码保存截图,将 UIScrollView UITableView UICollectionView UIWebView WKWebView 网页 保存 为 长图 查看。Save the scroll view page as an image,support UIScrollView,UITableView,UICollectionView,UIWebView,WKWebView.(Support iOS13)
Stars: ✭ 709 (+4964.29%)
Mutual labels:  image, picture
Goimagehash
Go Perceptual image hashing package
Stars: ✭ 391 (+2692.86%)
Mutual labels:  hash, image
Bulletproof
PHP secure Image uploader, with a nice API
Stars: ✭ 352 (+2414.29%)
Mutual labels:  image, upload
Fmphotopicker
A modern, simple and zero-dependency photo picker with an elegant and customizable image editor
Stars: ✭ 428 (+2957.14%)
Mutual labels:  image, photos
File Upload With Preview
🖼 A simple file-upload utility that shows a preview of the uploaded image. Written in pure JavaScript. No dependencies. Works well with Bootstrap 4 or without a framework.
Stars: ✭ 352 (+2414.29%)
Mutual labels:  image, upload
Laravel Imageup
Auto Image & file upload, resize and crop for Laravel eloquent model using Intervention image
Stars: ✭ 646 (+4514.29%)
Mutual labels:  image, upload
Vue Picture Input
Mobile-friendly picture file input Vue.js component with image preview, drag and drop, EXIF orientation, and more
Stars: ✭ 862 (+6057.14%)
Mutual labels:  image, picture
Casync
Content-Addressable Data Synchronization Tool
Stars: ✭ 890 (+6257.14%)
Mutual labels:  download, upload
Gmvault
gmail backup software
Stars: ✭ 3,396 (+24157.14%)
Mutual labels:  sync, backup
Maxurl
Finds larger/original versions of images and videos
Stars: ✭ 332 (+2271.43%)
Mutual labels:  image, download

========== FlickrSync

A command line tool to synchronise pictures between the local file system and Flickr

| https://github.com/danchal/flickrsync
| https://pypi.python.org/pypi/flickrsync

Requirements

::

Python3
Pip
ImageMagick
A Flickr account

Install

::

$ sudo apt install python3-pip
$ sudo apt install libmagickwand-dev
$ sudo pip3 install flickrsync

References

| https://pypi.python.org/pypi/flickrapi
| https://pypi.python.org/pypi/Wand
| https://pypi.python.org/pypi/configparser
| http://www.imagemagick.org
| https://www.flickr.com/

Setup

#. Create the configuration file

- name the file $HOME/.flickrsync/config.ini
- add your Flickr username, API Key and API Secret
- edit your pictures directory as required
- a template configuration file can be found somewhere in your python library ../flickrsync/etc/config.ini

#. Authenticate the FlickrSync application with Flickr (see usage, below)

Usage

::

To see a full list of commands
$ flickrsync --help

To authenticate FlickrSync with Flickr
$ flickrsync auth

To perform a one way sync from the local file system to Flickr
$ flickrsync sync

To perform a two way sync between the local file system and Flickr
$ flickrsync sync2

To create Flickr photosets based upon the local file system
$ flickrsync photosets

Features

#. Duplicate copies of the same picture on the local file system are identified.

- Image hash signature of the picture is used
- only a single copy of the picture will be uploaded

#. Does not rely on the local pathname for identifying the picture.

- moving a picture to a different directory will not cause the picture to be uploaded again

#. A SQLite database is used to index local and Flickr pictures.

- destroying the database will not result in any pictures being uploaded again
- database is automatically recreated

#. Perform a two way sync between the local file system and Flickr.

#. Multi-threaded.

Sync Process

::

Local <==> Flickr

#. Creates an index of pictures on the local file system. #. Creates an index of pictures on Flickr. #. Download and scan unmatchable Flickr pictures. #. Identify duplicate pictures on local file system. #. Match local pictures to Flickr. #. Upload unmatched local pictures to Flickr. #. Download pictures from Flickr that are missing on the local file system. #. Create Flickr photosets based upon the original filepath of the picture.

Picture Matching

+----------------+------------------+----------------+---------+-----+---------+-----+
|Local                              |Flickr                                          |
+----------------+--------+---------+----------------+---------+-----+---------+-----+
|DateTimeOriginal|Filename|Signature|DateTakenUnknown|DateTaken|Title|Signature|Match|
+================+========+=========+================+=========+=====+=========+=====+
|x               |x       |         |0               |x        |x    |         |yes  |
+----------------+--------+---------+----------------+---------+-----+---------+-----+
|                |        |x        |                |         |     |x        |yes  |
+----------------+--------+---------+----------------+---------+-----+---------+-----+

*Note: x indicates a match betwen local and Flickr*

#. Pictures will be matched by either:-

- picture file name + date picture was taken, or
- ImageMagick hash signature of picture

#. Date matching is turned on by default and can be disabled using the option [--nodatematch]. Use this option if you have pictures which do not have correct DateTimeOriginal. #. Each uploaded picture is tagged with its ImageMagick hash signature. #. Pictures on Flickr have a datetaken, https://www.flickr.com/services/api/misc.dates.html. #. If the Flickr datetaken is generated from the pictures Exif data, then Flickr will set the DateTakenUnknown to 0. #. If it exists, the Exif DateTimeOriginal is extracted from each picture on the local file system. #. The Flickr title is based upon the original filename of the uploaded picture. #. File names are compared without the file extension. This is because Flickr does not always maintain the file extension during upload as it is dependent upon the upload client used.

Photosets

#. A photoset is based upon a flattened directory path of each picture.

#. Photosets created by FlickrSync are identified as such by their photoset description.

- (re)creating the photosets could delete any photosets that are not being used
- only photosets previously created by FlickrSync are deleted

Notes

#. FlickrSync does NOT require sudo to run. #. Pictures will not be deleted on either the local file system or Flickr.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].