Flickr MediaServer

Flickr is an online photo management and sharing application, that makes your and your friends/family photos available over internet.

The backend retrieves the there stored data accessing the Flickr services and processes it for use by other UPnP clients.

As an additional feature, this backend provides an upload method, enabling an UPnP client, like a Nokia N-series phone or the Nautilus upload extension to import a photo via this backend into Flickr.

UPnP ContentDirectory structure

The returned media data from Flickr is represented in this structure:

  • Most Wanted
  • Recent
  • Gallery
    • set 1
    • set 2
    • ...
    • Unsorted - Not in set
  • Favorites

Gallery and Favorites are only available when there is a valid userid and password provided.

Configuration

The Flickr backend accepts these options:

name:
the name this backend should show up on your UPnP clients, defaults to Flickr
proxy
act as a proxy to Flickr, for UPnP clients not able to retrieve photos directly from the Flickr site
refresh
check with Flickr every 60 minutes for updates on the photo data
version
instruct this backend to act as a UPnP A/V version 1 or version 2 MediaServer, use 1 if you want to interconnect with a Nokia phone

The following options only work when using the new config file format:

userid
the userid to login into your Flickr account
password
the matching password
permissions
[read|write|delete] - what you allow the backend to do with the data stored at Flickr, you need write to use the UPnP upload feature

Additional dependencies

The backend uses mechanize to log into your Flickr account and authenticate it against Flickr to allow accessing your data.
Most likely you can install that with something like sudo apt-get install python-mechanize.

Examples

New config file:

<plugin>
  <backend>FlickrStore</backend>
  <name>Flickr Images</name>

  <userid>whatever</userid>
  <password>something</password>
  <permissions>write</permissions>

  <icon>
      <mimetype>image/png</mimetype>
      <width>98</width>
      <depth>24</depth>
      <url>flickr-icon.png</url>
      <height>26</height>
  </icon>

  <refresh>60</refresh>
  <version>1</version>
  <proxy>yes</proxy>
 </plugin>

Old config file:

[[Flickr]] 
    name = Flickr
    refresh = 60
    proxy = yes

Python code:

coherence.add_plugin('FlickrStore',
                     name='Flickr')

DBus:

coherence_service = dbus.SessionBus().get_object('org.Coherence','/org/Coherence')
coherence_service.add_plugin('FlickrStore',
                             {'name':'Flickr'},
                             dbus_interface='org.Coherence',
                             reply_handler=add_plugin_callback,
                             error_handler=error_callback)

Commandline:

coherence --plugin=backend:FlickrStore

Specifying options for Coherence on the commandline is supported with Coherence versions >= 0.5.7.

Open Tickets for this backend (new...)

#169
enable upload into a specific set