Merge remote branch 'remotes/macno/pushatom'
* remotes/macno/pushatom: As per spec, we permit to have more then 1 hub As suggested by Elrond, we use only one setting Default is now PuSH disabled Added PuSH capability
This commit is contained in:
commit
6d13314e99
@ -50,6 +50,8 @@ allow_attachments = boolean(default=False)
|
||||
# Cookie stuff
|
||||
csrf_cookie_name = string(default='mediagoblin_csrftoken')
|
||||
|
||||
# Push stuff
|
||||
push_urls = string_list(default=list())
|
||||
|
||||
[storage:publicstore]
|
||||
storage_class = string(default="mediagoblin.storage.filestorage:BasicFileStorage")
|
||||
|
@ -20,6 +20,7 @@ from os.path import splitext
|
||||
from cgi import FieldStorage
|
||||
|
||||
from celery import registry
|
||||
import urllib,urllib2
|
||||
|
||||
from werkzeug.utils import secure_filename
|
||||
|
||||
@ -125,6 +126,21 @@ def submit_start(request):
|
||||
# re-raise the exception
|
||||
raise
|
||||
|
||||
if mg_globals.app_config["push_urls"]:
|
||||
feed_url=request.urlgen(
|
||||
'mediagoblin.user_pages.atom_feed',
|
||||
qualified=True,user=request.user.username)
|
||||
hubparameters = {
|
||||
'hub.mode': 'publish',
|
||||
'hub.url': feed_url}
|
||||
hubdata = urllib.urlencode(hubparameters)
|
||||
hubheaders = {
|
||||
"Content-type": "application/x-www-form-urlencoded",
|
||||
"Connection": "close"}
|
||||
for huburl in mg_globals.app_config["push_urls"]:
|
||||
hubrequest = urllib2.Request(huburl, hubdata,hubheaders)
|
||||
hubresponse = urllib2.urlopen(hubrequest)
|
||||
|
||||
add_message(request, SUCCESS, _('Woohoo! Submitted!'))
|
||||
|
||||
return redirect(request, "mediagoblin.user_pages.user_home",
|
||||
|
@ -228,16 +228,25 @@ def atom_feed(request):
|
||||
"""
|
||||
ATOM feed id is a tag URI (see http://en.wikipedia.org/wiki/Tag_URI)
|
||||
"""
|
||||
atomlinks = [{
|
||||
'href': request.urlgen(
|
||||
'mediagoblin.user_pages.user_home',
|
||||
qualified=True,user=request.matchdict['user']),
|
||||
'rel': 'alternate',
|
||||
'type': 'text/html'
|
||||
}];
|
||||
if mg_globals.app_config["push_urls"]:
|
||||
for push_url in mg_globals.app_config["push_urls"]:
|
||||
atomlinks.append({
|
||||
'rel': 'hub',
|
||||
'href': push_url})
|
||||
|
||||
feed = AtomFeed(
|
||||
"MediaGoblin: Feed for user '%s'" % request.matchdict['user'],
|
||||
feed_url=request.url,
|
||||
id='tag:'+request.host+',2011:gallery.user-'+request.matchdict['user'],
|
||||
links=[{
|
||||
'href': request.urlgen(
|
||||
'mediagoblin.user_pages.user_home',
|
||||
qualified=True,user=request.matchdict['user']),
|
||||
'rel': 'alternate',
|
||||
'type': 'text/html'}])
|
||||
links=atomlinks)
|
||||
|
||||
|
||||
for entry in cursor:
|
||||
feed.add(entry.get('title'),
|
||||
|
Loading…
x
Reference in New Issue
Block a user