|
a/Allura/allura/lib/macro.py |
|
b/Allura/allura/lib/macro.py |
|
... |
|
... |
18 |
import cgi
|
18 |
import cgi
|
19 |
import random
|
19 |
import random
|
20 |
import shlex
|
20 |
import shlex
|
21 |
import logging
|
21 |
import logging
|
22 |
import traceback
|
22 |
import traceback
|
|
|
23 |
import oembed
|
|
|
24 |
import jinja2
|
23 |
from operator import attrgetter
|
25 |
from operator import attrgetter
|
24 |
|
26 |
|
25 |
import pymongo
|
27 |
import pymongo
|
26 |
from pylons import tmpl_context as c, app_globals as g
|
28 |
from pylons import tmpl_context as c, app_globals as g
|
27 |
from pylons import request
|
29 |
from pylons import request
|
|
... |
|
... |
372 |
users = Members(users=output, over_limit=over_limit)
|
374 |
users = Members(users=output, over_limit=over_limit)
|
373 |
g.resource_manager.register(users)
|
375 |
g.resource_manager.register(users)
|
374 |
response = users.display(users=output, over_limit=over_limit)
|
376 |
response = users.display(users=output, over_limit=over_limit)
|
375 |
return response
|
377 |
return response
|
376 |
|
378 |
|
|
|
379 |
@macro()
|
|
|
380 |
def embed(url=None):
|
|
|
381 |
consumer = oembed.OEmbedConsumer()
|
|
|
382 |
endpoint = oembed.OEmbedEndpoint('http://www.youtube.com/oembed', ['http://*.youtube.com/*', 'https://*.youtube.com/*'])
|
|
|
383 |
consumer.addEndpoint(endpoint)
|
|
|
384 |
try:
|
|
|
385 |
return jinja2.Markup('<div class="grid-20">%s</div>' % consumer.embed(url)['html'])
|
|
|
386 |
except oembed.OEmbedNoEndpoint as e:
|
|
|
387 |
return '[[embed url=%s]]' % url
|