Giter VIP home page Giter VIP logo

googlephotosync's People

Contributors

webreaper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

srsman rajakshay

googlephotosync's Issues

Auto Backup uploads not working

This is an experimental feature, and is complicated because of the way Google structures the date folders within the album. Need to fix it properly.

Better thread management

In theory, a lot of the time is spent waiting for files to upload, etc. So we could have the Album queries running on one thread, and the uploads/downloads running on another as a massive queue.

Support for Windows?

In theory, with a few small tweaks, this should work as a Windows Java app. Not sure if I'll have time or opportunity to test (not least because I don't have a Windows machine...) but if any developers fancy testing/fixing it then send me the diffs....

Synchronise 'Star' states into image files

Stars are stored in the .picasa.ini file on disk, and not in the tags within the photo. It would be much better to scan the .picasa.ini file and store stars as a tag within the image, and vice versa.

Whilst we're at it, we could also sync the other stuff in .picasa.ini into the image file - so that an image is self-contained. So we could have a tag for 'filters' which stores the last filter applied, and so on.

Better settings management

Rather than options in a context menu, build a screen, with spinners for time values, and so on. Would also mean the exclude.txt functionality can be done via a GUI.

Merge identical albums

Picasaweb allows duplicate albums to exist with the same name/title. These are usually created by the Picasa app erroneously uploading a second copy. Rather than manage this manually, it would be good if PicasawebSync could scan duplicate albums, compare the list of photographs, and delete/move etc as appropriate.

Prioritise albums

Albums with new local files to upload should be processed first. Can probably work this out based on the most recent date-modified file in the folder, versus the remote album date. If photos are older, we'd need to pre-process the entire set of albums to work out what needs doing, then sort by priority.

Gracefully handle folders with > 2000 photos

PicasaWeb has a limit of 2,000 photos per album. Currently, if Picasawebsync encounters a folder with more than 2,000 photos locally, it'll upload 2,000 and then continue to try and upload more, failing each time. Need to:

  1. Detect failed uploads caused because the album is full
  2. Pre-empt the failure by not attempting to upload new photos into an album with 2k photos
  3. Warn the user with a suitable GUI indicator so they know what's happening
  4. Optionally auto-split the local folder into multiple folders of < 2000 photos, and then allow them to upload.

Local file times are updated when the file is synced to the cloud

Unfortunately, Google's Picasa API doesn't allow the LastUpdated date time to be explicitly set on an album or photo. This means that in order to track whether a local and remote file are in sync, I workaround it by updating the local file to the same date/time as the uploaded picture. Hopefully I'll be able to fix this in future.

Resuming after sleep

The queries to Picasa don't throw an exception if the connection drops, they just hang indefinitely. This means that after the computer sleeps, a sync will never resume or complete. Need to:

  1. Manually implement timeouts to forcibly kill the connection after a certain time to work around this.
  2. Detect sleep events if possible in Java and cancel/abort the sync when they occur.

Handle deletions safely

PicasawebSync doesn't support any deletions, to ensure there's no risk of losing any pictures. However, this means that to delete pictures, you need to manually pause the sync, and then delete the photos from the web and local folders.

My intended solution for this is:

  1. Create an album called 'Recycle Bin' which is always ignored by the sync process
  2. Scan local and remote photos for tags when processing the sync
  3. If any remote images are tagged 'delete', move them to the Recycle Bin album
  4. If any local image files are tagged 'delete', move them to the trash folder.

That way, you can mark items for deletion using tags, but the images won't be permanently deleted. You can then go through the recycle bin album and permanently delete it whenever you're ready.

Use If-Modified-Since when querying Picasa

After the first sync, it may be optimal to query with an if-modified-since based on the most-recent update date/time in the local folder, to minimise the number of records that need to be returned from the Picasa service.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.