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/06/08 18:37:49 UTC
svn commit: r1684218 - in /comdev/tools/events_list: admin.py models.py
views.py
Author: rgardler
Date: Mon Jun 8 16:37:49 2015
New Revision: 1684218
URL: http://svn.apache.org/r1684218
Log:
make hashtags a manytomany relationship rather than hard coded value
Modified:
comdev/tools/events_list/admin.py
comdev/tools/events_list/models.py
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=1684218&r1=1684217&r2=1684218&view=diff
==============================================================================
--- comdev/tools/events_list/admin.py (original)
+++ comdev/tools/events_list/admin.py Mon Jun 8 16:37:49 2015
@@ -1,7 +1,8 @@
from django.contrib import admin
-from .models import Event, Group
+from .models import Event, Group, Hashtag
admin.site.register(Event)
admin.site.register(Group)
+admin.site.register(Hashtag)
Modified: comdev/tools/events_list/models.py
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/models.py?rev=1684218&r1=1684217&r2=1684218&view=diff
==============================================================================
--- comdev/tools/events_list/models.py (original)
+++ comdev/tools/events_list/models.py Mon Jun 8 16:37:49 2015
@@ -15,6 +15,13 @@ class Group(models.Model):
class Hashtag(models.Model):
hashtag = models.CharField(max_length=15)
+
+ def __str__(self):
+ return self.hashtag
+
+ def __unicode__(self):
+ return unicode(self.hashtag)
+
class Event(models.Model):
name = models.CharField(max_length=200)
@@ -25,14 +32,15 @@ class Event(models.Model):
local_start = models.DateTimeField()
local_end = models.DateTimeField()
utc_offset = models.BigIntegerField()
- hashtag = models.ForeignKey(Hashtag)
+ hashtag = models.ManyToManyField(Hashtag)
is_applicable = models.BooleanField(help_text = "Indicates if an event is applicable to our audience or not.", default=True)
@property
def tweet(self):
- hashtags = "#Apache #Meetup"
- tweet = self.group.city + ", " + self.local_start.strftime("%-d %b") + ": " + self.name
- tweet = tweet + ' ' + hashtags
+ tweet = self.group.city + ", " + self.local_start.strftime("%-d %b") + ": " + self.name
+ hashtags = self.hashtag.all()
+ for hashtag in hashtags:
+ tweet = tweet + " #" + hashtag.hashtag
return tweet
def __str__(self):
Modified: comdev/tools/events_list/views.py
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/views.py?rev=1684218&r1=1684217&r2=1684218&view=diff
==============================================================================
--- comdev/tools/events_list/views.py (original)
+++ comdev/tools/events_list/views.py Mon Jun 8 16:37:49 2015
@@ -1,7 +1,7 @@
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
+from events_list.models import Event, Group, Hashtag
from datetime import datetime, timedelta
import json
import logging
@@ -75,7 +75,20 @@ def importMeetups(request):
grp_deets = {}
for g in grps:
grp_deets[ g['id'] ] = g
-
+
+ # FIXME: make these fixtures when installing app
+ try:
+ apache_hashtag = Hashtag.objects.get(hashtag = 'Apache')
+ except Hashtag.DoesNotExist:
+ apache_hashtag._hashtag = 'Apache'
+ apache_hashtag.save()
+
+ try:
+ meetup_hashtag = Hashtag.objects.get(hashtag = 'Meetup')
+ except Hashtag.DoesNotExist:
+ meetup_hashtag.hashtag = 'Meetup'
+ meetup_hashtag.save()
+
for meetup in meetups:
# Group information ...
grp = grp_deets[ meetup['group']['id'] ]
@@ -116,6 +129,8 @@ def importMeetups(request):
event.local_start = datetime.utcfromtimestamp(start + offset)
event.local_end = datetime.utcfromtimestamp(start + end + offset)
event.utc_offset = offset
+ event.hashtag.add(apache_hashtag)
+ event.hashtag.add(meetup_hashtag)
event.save()
except:
print('Unable to save Event object: '), sys.exc_info()[0], sys.exc_info()[1]