An extension app for `django-social-auth` or `django-allauth` that fetches your friends from different social-networks.
It displays matched friends so you can suggest your users to add them as friend or follow them.
To use it with `django-social-auth`
* django-social-auth>=0.7.10 and all its dependencies https://github.com/omab/django-social-auth.git
To use it with `django-allauth`
* django-allauth>=0.8.3 and all its dependencies https://github.com/pennersr/django-allauth
* python-twitter>=0.8.2 for twitter backend http://code.google.com/p/python-twitter/
* facebook-sdk for facebook backend https://github.com/pythonforfacebook/facebook-sdk.git
There are 3 ways to install this app
pip install django-social-friends-finder
or build from the source.
python setup.py install
or add `social_friends_finder` to your path
Usage and Configuration
Add `social_friends_finder` to your APPS list in your settings file
INSTALLED_APPS = (
Add urls to your url config
urlpatterns = patterns('',
Optionally you can use following settings:
SF_REDIRECT_IF_NO_SOCIAL_ACCOUNT_FOUND: True if no social account found. Default is True
REDIRECT_URL: The url to redirect if above setting is used. Default is "/"
Go to `/find-friends/list/` on your browser.
Currently there are facebook and twitter backends are available. Please help to implement new backends.
Implementing backend classes are easy. Just create a class inherits from `BaseFriendsProvider` and implement two of its methods.
See backends module for example implementations
The software design for back-ends needs to be tweaked a little. Encapsulating the allauth and social-auth behaviors in different subclasses would help.
Also a common interface for backends to load them silently is crucial. Now if there is a missing backend, we raise an error. Factory class that loads them is also very ugly.
I needed to implement this app for a real-world project with an impossible deadline, and now no time to refactor it. So if you can spend some time on the above issues, that'd be awesome.
Thanks `lizrice` for the `django-allauth` integration.
See `CHANGES.txt` file for history
TODO: Brief introduction on what you do with files - including link to relevant help section.