You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@community.apache.org by rg...@apache.org on 2015/07/29 09:23:10 UTC
svn commit: r1693192 - in /comdev/tools/events_list: admin.py models.py
static/ static/default.css templates/include/head.html
templates/people/view.html views.py
Author: rgardler
Date: Wed Jul 29 07:23:09 2015
New Revision: 1693192
URL: http://svn.apache.org/r1693192
Log:
pull in more member data (including adding topics table) and display it on the people view page
Added:
comdev/tools/events_list/static/
comdev/tools/events_list/static/default.css
Modified:
comdev/tools/events_list/admin.py
comdev/tools/events_list/models.py
comdev/tools/events_list/templates/include/head.html
comdev/tools/events_list/templates/people/view.html
comdev/tools/events_list/views.py
Modified: comdev/tools/events_list/admin.py
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/admin.py?rev=1693192&r1=1693191&r2=1693192&view=diff
==============================================================================
--- comdev/tools/events_list/admin.py (original)
+++ comdev/tools/events_list/admin.py Wed Jul 29 07:23:09 2015
@@ -1,10 +1,11 @@
from django.contrib import admin
-from .models import Event, Group, Hashtag, Log, Person
+from .models import Event, Group, Hashtag, Log, Person, Topic
admin.site.register(Event)
admin.site.register(Group)
admin.site.register(Hashtag)
admin.site.register(Person)
+admin.site.register(Topic)
admin.site.register(Log)
Modified: comdev/tools/events_list/models.py
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/models.py?rev=1693192&r1=1693191&r2=1693192&view=diff
==============================================================================
--- comdev/tools/events_list/models.py (original)
+++ comdev/tools/events_list/models.py Wed Jul 29 07:23:09 2015
@@ -1,6 +1,17 @@
from datetime import datetime, timedelta
from django.db import models
+class Topic(models.Model):
+ name = models.CharField(max_length=200)
+ urlkey = models.CharField(max_length=50)
+ meetupID = models.BigIntegerField(verbose_name = "Meetups.com ID", unique=True)
+
+ def __str__(self):
+ return self.name
+
+ def __unicode__(self):
+ return unicode(self.name)
+
class Group(models.Model):
name = models.CharField(max_length=200)
city = models.CharField(max_length=50)
@@ -26,12 +37,19 @@ class Hashtag(models.Model):
class Person(models.Model):
name = models.CharField(max_length = 50)
+ bio = models.TextField()
country = models.CharField(max_length = 2)
state = models.CharField(max_length = 2)
city = models.CharField(max_length = 30)
- url = models.URLField(default="")
+ latitude = models.DecimalField(max_digits=10, decimal_places=6)
+ longitude = models.DecimalField(max_digits=10, decimal_places=6)
+ url = models.URLField()
+ largePhoto = models.URLField()
+ photo = models.URLField()
+ thumbnail = models.URLField()
lastVisit = models.DateTimeField()
groups = models.ManyToManyField(Group, related_name="members")
+ topics = models.ManyToManyField(Topic, related_name="people")
meetupID = models.BigIntegerField(verbose_name = "Meetups.com ID", unique=True)
def __str__(self):
Added: comdev/tools/events_list/static/default.css
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/static/default.css?rev=1693192&view=auto
==============================================================================
--- comdev/tools/events_list/static/default.css (added)
+++ comdev/tools/events_list/static/default.css Wed Jul 29 07:23:09 2015
@@ -0,0 +1,3 @@
+.right {
+ float: right;
+}
\ No newline at end of file
Modified: comdev/tools/events_list/templates/include/head.html
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/templates/include/head.html?rev=1693192&r1=1693191&r2=1693192&view=diff
==============================================================================
--- comdev/tools/events_list/templates/include/head.html (original)
+++ comdev/tools/events_list/templates/include/head.html Wed Jul 29 07:23:09 2015
@@ -1,6 +1,8 @@
+{% load staticfiles %}
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="http://cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"></link>
<link rel="stylesheet" href="http://cdn.datatables.net/1.10.7/css/jquery.dataTables.min.css"></link>
+<link rel="stylesheet" href="{% static 'default.css' %}"></link>
Modified: comdev/tools/events_list/templates/people/view.html
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/templates/people/view.html?rev=1693192&r1=1693191&r2=1693192&view=diff
==============================================================================
--- comdev/tools/events_list/templates/people/view.html (original)
+++ comdev/tools/events_list/templates/people/view.html Wed Jul 29 07:23:09 2015
@@ -8,11 +8,25 @@
{% include "include/navbar.html" %}
<h1>{{ person.name }}</h1>
- <p>{{ person.city }}, {{ person.state }}, {{ person.country }}</p>
+ <p><span class="right"><img src="{{ person.photo }}"></img></span> {{ person.bio }}</p>
- <p>
- <a href="{{ person.url }}">Source</a>
- </p>
+ <p>{{ person.city }}, {{ person.state }}, {{ person.country }} ({{ person.latitude }}, {{ person.longitude }})</p>
+
+ <p><a href="{{ person.url }}">Source</a></p>
+
+ <h2>Topics</h2>
+ <ul>
+ {% for topic in person.topics.all %}
+ <li>{{ topic }}</li>
+ {% endfor %}
+ </ul>
+
+ <h2>Groups</h2>
+ <ul>
+ {% for group in person.groups.all %}
+ <li>{{ group }}</li>
+ {% endfor %}
+ </ul>
<p>Last Active: {{ person.lastVisit }}</p>
</body>
Modified: comdev/tools/events_list/views.py
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/views.py?rev=1693192&r1=1693191&r2=1693192&view=diff
==============================================================================
--- comdev/tools/events_list/views.py (original)
+++ comdev/tools/events_list/views.py Wed Jul 29 07:23:09 2015
@@ -2,7 +2,7 @@ from django.conf import settings
from django.shortcuts import get_object_or_404, render, redirect
from django.http import HttpResponse
from django.template import RequestContext, loader
-from events_list.models import Event, Group, Hashtag, Log, Person
+from events_list.models import Event, Group, Hashtag, Log, Person, Topic
from datetime import datetime, timedelta
import json
import logging
@@ -15,7 +15,6 @@ import sys
# FIXME: make this a configuration value
MEETUP_API_KEY = "3a7711454d145e404e531c2ee6f391d"
-
logger = logging.getLogger(__name__)
def index(request):
@@ -149,13 +148,40 @@ def importMembers(request, group_id):
person.meetupID = member['id']
person.name = member['name']
person.country = member['country']
- person.state = member['state']
+ if 'state' in member.keys():
+ person.state = member['state']
person.city = member['city']
+ if 'lon' in member.keys():
+ person.longitude = member['lon']
+ if 'lat' in member.keys():
+ person.latitude = member['lat']
person.url = member['link']
+ if 'bio' in member.keys():
+ person.bio = member['bio']
visited = float(str(member['visited'])[0:-3])
person.lastVisit = datetime.utcfromtimestamp(visited)
+ if 'photo' in member.keys():
+ if 'highres_link' in member['photo'].keys():
+ person.largePhoto = member['photo']['highres_link']
+ if 'photo_link' in member['photo'].keys():
+ person.photo = member['photo']['photo_link']
+ if 'thumb_link' in member['photo'].keys():
+ person.thumbnail = member['photo']['thumb_link']
person.save()
+ if 'topics' in member.keys():
+ for topic in member['topics']:
+ try:
+ record = Topic.objects.get(meetupID = topic['id'])
+ except Topic.DoesNotExist:
+ record = Topic()
+ record.urlkey = topic['urlkey']
+ record.name = topic['name']
+ record.meetupID = topic['id']
+ record.save()
+ person.topics.add(record)
+
+
person.groups.add(group)
person.save()
except: