added a function to automatically send new public polls to twitter
This commit is contained in:
parent
c6fe7356bf
commit
e8d1cb5b12
1 changed files with 17 additions and 1 deletions
|
@ -22,6 +22,7 @@ import datetime
|
||||||
import mimetypes
|
import mimetypes
|
||||||
import uuid
|
import uuid
|
||||||
import re
|
import re
|
||||||
|
import twitter
|
||||||
|
|
||||||
CONFIG_FILE = os.path.join(BASE_DIR, "wortschlucker.conf")
|
CONFIG_FILE = os.path.join(BASE_DIR, "wortschlucker.conf")
|
||||||
|
|
||||||
|
@ -145,6 +146,11 @@ class Poll(sqlobject.SQLObject):
|
||||||
poll_setting[0].value = validated_value
|
poll_setting[0].value = validated_value
|
||||||
elif poll_setting.count() == 0:
|
elif poll_setting.count() == 0:
|
||||||
PollSetting(poll_id=self.id, key=key, value=validated_value)
|
PollSetting(poll_id=self.id, key=key, value=validated_value)
|
||||||
|
if (key == 'public') and (value > 0):
|
||||||
|
publish_twitter_alert( \
|
||||||
|
config.get('misc','twitter_alert_prefix')+' '+self.title[0:79]+' http://wortschlucker.de/'+self.hash_key, \
|
||||||
|
config.get('misc','twitter_alert_user'), \
|
||||||
|
config.get('misc','twitter_alert_password'))
|
||||||
|
|
||||||
def get_num_of_submitters(self):
|
def get_num_of_submitters(self):
|
||||||
all_submitters = [submission.submitter for submission in ContentSubmission.selectBy(poll_id=self.id)]
|
all_submitters = [submission.submitter for submission in ContentSubmission.selectBy(poll_id=self.id)]
|
||||||
|
@ -352,6 +358,16 @@ def get_new_hash_key(length=16, charset=None):
|
||||||
hash_key = get_hash_string(length)
|
hash_key = get_hash_string(length)
|
||||||
return hash_key
|
return hash_key
|
||||||
|
|
||||||
|
|
||||||
|
def publish_twitter_alert(text, user, passwd):
|
||||||
|
api = twitter.Api(username=user, password=passwd)
|
||||||
|
try:
|
||||||
|
api.PostUpdate(text)
|
||||||
|
except:
|
||||||
|
#twitter error, most likely because of a duplicate message
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
@bobo.query('/new')
|
@bobo.query('/new')
|
||||||
@bobo.query('/new/:template')
|
@bobo.query('/new/:template')
|
||||||
@bobo.query('/new/:author/:title/:description')
|
@bobo.query('/new/:author/:title/:description')
|
||||||
|
@ -525,7 +541,7 @@ def base():
|
||||||
|
|
||||||
@bobo.query('/')
|
@bobo.query('/')
|
||||||
def show_frontpage(page=None):
|
def show_frontpage(page=None):
|
||||||
return show_poll_list("frontpage.html", 10, page)
|
return show_poll_list("frontpage.html", 20, page)
|
||||||
|
|
||||||
@bobo.query('/admin')
|
@bobo.query('/admin')
|
||||||
@bobo.query('/admin/')
|
@bobo.query('/admin/')
|
||||||
|
|
Loading…
Reference in a new issue