Categories
Thoughts

Migrating from Flickr to Picasaweb

First off.. if you have a digital camera and you are only storring your precious pictures on your computer, you need to get online quickly and make use of one of the many picture sharing sites, this is where the “cloud” really can have an impact, as your pictures will be storred on literally hundreds of separate computeres professionally managed, safe from fire, theft and dropping your macbook down the stairs!

You could of course use Facebook which actually has very good controls as to who you allow to see your photos, although as we are all aware these change frequently so there is a danger you may end up as the face of a protesting blogger.

I’ve been a happy user of Flickr professional for many years, and I still really like the service, however over the last month or so I’ve come to the conclusion that I want to move my digital memories to Picasaweb. It turns out that this is not a simple process and moving 1500 pictures could be very time consuming, because while there are many tools to bulk upload your images there are done to do the reverse and download them, but fortunately for the geek both systems have api’s, that with some effort, can make the migration of your pictures a viable proposition.

The key component to the migration was a python script I found developed by Nathan Van Gheem last year, which used both services api’s to migrate not just pictures but albums and much of their metadata between the services.

So here we go, these instructions are for  mac users who are in the lucky position of having python installed by default, but for windows are pretty similar are you have installed Python.

From a terminal window, install the two photo service api’s and the threadpool packages for Python

easy_install-2.6 gdata
easy_install-2.6 flickrapi
easy_install-2.6 threadpool

 

To use the python script you will need to authenticate against each of the services to access your pictures, for picassaweb this is your username and password, for Flickr because you are using in effect an external application to access your pictures you will  need a Flickr API Key and secret.

From your Flickr account go the App Garden and apply for your own non-commercial API key. You need to provide a few details, but will end up with the api key  string and a separate secret key string, something like..

Key: e97df11b147f9c46c2ec002b29f479df
Secret: 8fe34c331abbce32

 

Now you have all you need..

Remember to make your downloaded script executable

chmod +x migrate-flickr-to-picasa-nokey.py 

 

And run it

migrate-flickr-to-picasa-nokey.py

 

You should be asked to enter firstly your picassweb details, then your flick api key and secret, you should then be taken to a flickr webpage to confirm you want the script to have access to your pictures.

This script will move all the photos and sets from flickr over to picasa.    
That will require getting authentication information from both services...    

Authenticating with Picasa...
Picasa Username(complete email):edparsons@gmail.com
Picasa Password:
Authenticating with Flickr..
Flickr API Key:e97df11b147f9c46c2ec002b29f479df
Flickr API Secret:8fe34c331abbce32
Press ENTER after you authorized this program

 

Confirm that it’s ok, go back to the terminal window and press enter for the script to continue.

The process will take some time, so go grab a coffee and look forward to seeing your pictures in picasweb !

Written and submitted from the Windsor Hotel Taichung, Taiwan (24.179N, 120.623E)

33 replies on “Migrating from Flickr to Picasaweb”

For those getting “Invalid Auth Token”, I believe there is a delay between creating your key and actually being able to use that key to access the API. For me, it was a few minutes. YMMV.

Hi all thanks for this scripts

I have this error any idea?


2012-02-14 23:16:42.019 osascript[90417:e07] Error loading /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: dlopen(/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found. Did find:
/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: no matching architecture in universal wrapper
osascript: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/Adobe Unit Types.osax" declares no loadable handlers.
0:193: execution error: An error of type -10810 has occurred. (-10810)
Press ENTER after you authorized this program
Traceback (most recent call last):
File "/Users/henri/Downloads/migrate-flickr-to-picasa-nokey.py", line 335, in
do_migration()
File "/Users/henri/Downloads/migrate-flickr-to-picasa-nokey.py", line 157, in do_migration
token = flickr_token.value # force retrieval of authentication information...
File "/Users/henri/Downloads/migrate-flickr-to-picasa-nokey.py", line 108, in value
self._value = self.input_retriever(self)
File "/Users/henri/Downloads/migrate-flickr-to-picasa-nokey.py", line 133, in flickr_token_retriever
FLICKR.get_token_part_two((token, frob))
File "build/bdist.macosx-10.7-intel/egg/flickrapi/__init__.py", line 767, in get_token_part_two
File "build/bdist.macosx-10.7-intel/egg/flickrapi/__init__.py", line 775, in get_token
File "build/bdist.macosx-10.7-intel/egg/flickrapi/__init__.py", line 349, in handler
File "build/bdist.macosx-10.7-intel/egg/flickrapi/__init__.py", line 435, in __wrap_in_parser
File "build/bdist.macosx-10.7-intel/egg/flickrapi/__init__.py", line 257, in parse_xmlnode
flickrapi.exceptions.FlickrError: Error: 108: Invalid frob

The script worked perfectly for some 7 albums I had, but it didn’t work for the 150+ other albums. The problem? Picasa only allows photo names 100 characters or less in length. Is there a way around this besides manually changing the names of all my photos?

Sorry if I’m posting this twice…

My Flickr photo names are way too long for Picasa (which has a 100 character limit). Is there a way to modify the script to automatically shorten names? I have thousands of photos and it’s really difficult to do that manually (even with Aperture’s sync to Flickr, which takes forever to download the photos so I can batch edit them).

Thanks!

Hi, thank you for the script!

Any ideas on what went wrong?

Found 3 sets to move over to Picasa.
Moving “xxxxx” set over to a picasa album. 1/3
Gathering set “xxxxx” information.
Traceback (most recent call last):
File “./migrate-flickr-to-picasa-nokey.py”, line 335, in
do_migration()
File “./migrate-flickr-to-picasa-nokey.py”, line 288, in do_migration
media=’all’
File “/Library/Python/2.6/site-packages/flickrapi-1.4.2-py2.6.egg/flickrapi/__init__.py”, line 349, in handler
File “/Library/Python/2.6/site-packages/flickrapi-1.4.2-py2.6.egg/flickrapi/__init__.py”, line 435, in __wrap_in_parser
File “/Library/Python/2.6/site-packages/flickrapi-1.4.2-py2.6.egg/flickrapi/__init__.py”, line 278, in parse_etree
flickrapi.exceptions.FlickrError: Error: 1: Photoset not found

Hi Ed,
Thanks for posting this. Everything seems to be working well, except that none of my photo labels are being transferred. They are well under picasa’s 100 character limit. Any ideas?

Hi,

How does the migration work? Does the python script download the photos from Flickr first to your machine then uploads them to Picasa Web, or is that a direct transfer between Flickr and Picasa Web?

I assume it’s the latter–otherwise, I could just upload the photos from my local NAS–but I want to verify this first before trying out the script.

Thanks, Foton

Miracle script, now that’s the way it should be. Thanks for sharing it.

Any idea how easy it is to update it so to set the migrated photos resolution to max 2048? (since all images under 2048 on long edge are not counted toward free storage limit on Picasa!)

Thanks again,

Leave a Reply to jromCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.