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
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.
Save disk space by only downloading the best pictures
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:
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....
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.
Otherwise it's confusing as to why new pictures won't download
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.
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.
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.
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:
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.
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.
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.
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.
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.
Currently it's an OSX .app package, would be good to have a proper installer.
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.