webreaper / googlephotosync Goto Github PK
View Code? Open in Web Editor NEWTwo-way background OSX sync client for Google Picasaweb
License: Apache License 2.0
Two-way background OSX sync client for Google Picasaweb
License: Apache License 2.0
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.
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.
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....
Currently it's an OSX .app package, would be good to have a proper installer.
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.
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.
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.
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.
Otherwise it's confusing as to why new pictures won't download
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:
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.
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:
Save disk space by only downloading the best pictures
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:
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.
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.
Once the recycle bin is at 2,000 images, the delete-by-tag function no longer works. Should roll-over the recycle bin album by renaming and recreating.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.