My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads

django-syncr

Synchronize Django with the web

This project supplies everything needed to sync a Django project with several web APIs. It currently supports 8 services:

Additional web services can be added easily. Suggestions for more services and/or patches welcome.

For an excellent example of django-syncr in action, check out Martin Geber's custom memory stream on his homepage.


Latest version: r47

UPDATE 12/14/2008 Merged in a ton of Flickr patches and repackaged r47 into download archive labeled version 0.41. There's a ton of great changes (thanks Martin Geber). For a list of new features, examine the change log. This WILL be backwards incompatible because the models contain a richer set of data fields, so watch out.


Previous Updates

UPDATE 12/12/2008 Have packaged the lastest svn code into a downloadable archive labeled v0.40. It includes all the apps listed above and works on Django 1.0. Not sure what the status of the previous archive was, but it was certainly far out of date.

UPDATE 10/28/2008 Just checked in several bug fixes and flagged some feature requests for addition to the app.

Also, if you have ideas for django-syncr modules you'd like to see added or want to implement, leave comments on the SyncrRequest wiki page.

UPDATE 9/20/2008 Have merged in support for ma.gnolia bookmarking service and picasaweb photo sharing (thanks yashh and v.oostveen!) Also fixed a few bugs related to the 1.0 update. These are in subversion release... please test and let us know how things are working for you.

UPDATE 8/5/2008 Django syncr's SVN version now supports ma.gnolia thanks to yash and new forms admin is now supported thanks to jblount. Several other bug fixes are implemented (see issues tab). Thanks to everyone who sent in patches!

UPDATE 4/17/2008 New version available in svn and in archive file format (0.35). This should fix, hopefully, all of the problems people have been having with Flickr. Please test and let me know and thanks for the feedback! Also note that you should be running Beej's flickrapi version 1.1 for flickr support.

UPDATE 4/15/2008: Sorry for the lack of updates. I have made several fixes from issues people reported and update the subversion repository. I suggest using the svn checkout instead of the packaged zip files for now. Thanks for the feedback, feel free to email me or look me up on twitter with suggestions.


DEPENDENCIES

Each syncr app has different dependencies, but generally you need Element Tree. ET is included in Python 2.5, but for older versions you need to download it from http://effbot.org/zone/element-index.htm. You also need to have django-tagging installed in your INSTALLED_APPS and on PYTHONPATH. See http://code.google.com/p/django-tagging/

The twitter app depends on python-twitter, available at: http://code.google.com/p/python-twitter/

The flickr app depends on Beej's Python flickrapi v1.1, available at: http://flickrapi.sourceforge.net/

INSTALLATION / USAGE

  1. Download the most recent tar file or check out the code:
  2. svn checkout http://django-syncr.googlecode.com/svn/trunk/ syncr
  3. Add the syncr app to your PYTHONPATH.
  4. Modify your Django settings file by adding the appropriate modules to your INSTALLED_APPS. Available Django apps are:
    • 'syncr.flickr'
    • 'syncr.youtube'
    • 'syncr.twitter'
    • 'syncr.delicious'
  5. Use the interfaces provided in syncr.app to write scripts for synchronizing your web service data with the Django backend.
  6. For example:
        from syncr.app.flickr import FlickrSyncr
        f = FlickrSyncr(API_KEY, API_SECRET)
        
        # sync all my photos from the past week...
        f.syncRecentPhotos('username', days=7)
        
        # sync my favorite photos list
        f.syncPublicFavorites('username')
    Pydocs of the methods available in these interfaces are here.
  7. Explore the results in the Django admin interface.

CHANGELOG

v0.40 (Dec 11, 2008)

  • First packaged (non-SVN) release in a while
  • Support for readernaut, brightkite, picasa, and ma.gnolia added at various points
  • Some bug fixes

v0.35 (Apr 17, 2008)

  • Major bug fixes with flickr module

v0.31 (Mar 18, 2008)

  • Bug fixes; now works with Python 2.3
  • Changed User models for Twitter and Youtube, now users TwitterUser and YoutubeUser

v0.30 (March 18, 2008)

  • Added support for Flickr EXIF data (Thanks Yash!)
  • Added Flickr Geo data (latitutde, longitude and accuracy)
  • These two changes will break your Flickr Photo models (ie. syncr reset flickr or use SQL to ALTER TABLE)
  • Changed Twitter User model to allow Followers and Friends to be null
  • Added syncPhoto method to FlickrSyncr to sync an individual photo
  • Added ability to refresh individual photos by passing refresh=True to the new syncPhoto method

v0.21 (Feb 20, 2008)

  • Bug fixes with FlickrSyncr and YoutubeSyncr

v0.20 (Feb 19, 2008)

  • Initial release

More details and contact info on my blog announcement

Powered by Google Project Hosting