General purpose tool to sync a local database with Meetup.com content
This is a general purpose django-app for syncing Meetup.com to a local database and adding Meetup.com content to a website.
This was specifically designed to put events for one Meetup.com group onto their independent website. However, it was designed to give flexibility to the developer for whatever Meetup.com content syncing and posting they wish.
Install via pip
pip install django-meetup
Add to your Django settings module the following variables
THIRD_PARTY_APPS = [ ..., "meetup", ..., ] MEETUP_KEY = "" # **Security Warning:** Keep personal Meetup api key secret. # Read `Meetup documentation <https://secure.meetup.com/meetup_api/key/>`_. MEETUP_GROUP_ID = 123456789 # (optional) This is the default group id to get information fro MEETUP_ALLOW_ADMIN = True # (optional) This boolean will set up admin interface. # **WARNING:** Methods to sync TO Meetup have not been completed. # So any changes to the database are local. TIME_ZONE = "UTC" # (optional) This key is standard Django. The meetup package stores times # in "UTC" but methods to view the time will set to TIME_ZONE as the default # for that view
To sync group events
To sync up a group, from the command line run
py manage.py sync_group_events <group_id>
How it works
This package implements a MeetupClient which uses a meetup member’s meetup api key.. The client can query the meetup api and get back dictionaries of “meetup data”. Note that member permissions on Meetup.com apply to the members api queries.
Models made to mimic hypothesized meetup.com database tables can take the client’s data and turn them into local database objects.
The developer can then use the models to post information onto their webpage.
If you have methods or modifications which refine this package please contribute via github astrodsg/django-meetup.
Other resources to consider for requesting/posting data from Meetup.com
Note: In the project I developed this for I decided to go with a smaller app which doesn’t store local information is more like the python-api-client.. . The project is located at github.com/SLCPython/slcpy.com.. if you want to see the actual implementation. Cheers!
Copyright (c) 2014, Dylan Gregersen All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the Dylan Gregersen, SLC Python nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.