def sound(self):
return self.filter(file__contains='/')
+ def sound_public(self):
+ return self.filter(file__contains='/', public_access='full', collection__public_access='full')
+
def by_instrument(self, instrument):
"Find items by instrument"
return self.filter(instruments__in=instrument)
return self.get_query_set().sound(*args, **kwargs)
sound.__doc__ = MediaItemQuerySet.sound.__doc__
+ def sound_public(self, *args, **kwargs):
+ return self.get_query_set().sound_public(*args, **kwargs)
+ sound_public.__doc__ = MediaItemQuerySet.sound_public.__doc__
+
def by_instrument(self, *args, **kwargs):
return self.get_query_set().by_instrument(*args, **kwargs)
by_instrument.__doc__ = MediaItemQuerySet.by_instrument.__doc__
{% block content %}
<div>
{% if item.file %}
- {% if public_access or user.is_staff %}
+ {% if access or user.is_staff %}
<div id="rightcol" style="float: left; padding-bottom:0;">
<div id="player_minimized" class="ts-skin-lab">
<div class="wazing"></div>
{% block content %}
<div>
{% if item.file %}
- {% if public_access or user.is_staff %}
+ {% if access or user.is_staff %}
<div id="rightcol" style="float: left; padding-bottom:0;">
<div id="player_minimized" class="ts-skin-lab">
<div class="wazing"></div>
{% block content %}
<div>
{% if item.file %}
- {% if public_access or user.is_staff %}
+ {% if access or user.is_staff %}
<div id="rightcol" style="float: left; padding-bottom:0;">
<div id="player_minimized" class="ts-skin-lab">
<div class="wazing"></div>
response['Content-Length'] = os.path.getsize(filename)
return response
-<<<<<<< HEAD
def nginx_media_accel(request, filename):
"""Send a protected medie file through nginx with X-Accel-Redirect"""
response['X-Accel-Redirect'] = url
return response
-=======
->>>>>>> crem
def render(request, template, data = None, mimetype = None):
return render_to_response(template, data, context_instance=RequestContext(request),
mimetype=mimetype)
if user.is_staff or user.is_superuser or user.has_perm('telemeta.can_play_all_items'):
access = 'full'
+ print '1'
elif user.is_authenticated() and item.collection.public_access != 'mixed':
if item.collection.public_access == 'metadata' and item.auto_period_access:
access = 'full'
+ print '2'
else:
access = item.collection.public_access
+ print '3'
elif user.is_authenticated() and item.collection.public_access == 'mixed':
if item.public_access == 'metadata' and item.auto_period_access:
access = 'full'
+ print '4'
else:
access = item.public_access
+ print '5'
elif not user.is_authenticated() and item.collection.public_access != 'mixed':
access = item.collection.public_access
+ print '6'
elif not user.is_authenticated() and item.collection.public_access == 'mixed':
access = item.public_access
+ print '7'
# Auto publish after a period given at settings.TELEMETA_PUBLIC_ACCESS_PERIOD
if access != 'full' and item.auto_period_access:
year_now = datetime.datetime.now().strftime("%Y")
if int(year_now) - int(year) >= settings.TELEMETA_PUBLIC_ACCESS_PERIOD:
access = 'full'
+ print '8'
return access
template = loader.get_template('telemeta/home.html')
- sound_items = MediaItem.objects.sound()
- _sound_pub_items = []
- for item in sound_items:
- if get_item_access(item, request.user) == 'full':
- _sound_pub_items.append(item)
-
- random.shuffle(_sound_pub_items)
- if len(_sound_pub_items) != 0:
- sound_pub_item = _sound_pub_items[0]
- else:
+ N = 3 # max number of pub items
+
+ sound_items = MediaItem.objects.sound_public()
+ count = sound_items.count()
+
+ if count == 0:
sound_pub_item = None
- if len(_sound_pub_items) == 2:
- sound_pub_items = [_sound_pub_items[1]]
- elif len(_sound_pub_items) > 2:
- sound_pub_items = _sound_pub_items[1:3]
- else:
sound_pub_items = None
+ elif count == 1:
+ sound_pub_item = sound_items[0]
+ sound_pub_items = [sound_items[0], sound_items[0]]
+
+ elif count == 2:
+ sound_pub_item = sound_items[0]
+ sound_pub_items = [sound_items[0], sound_items[1]]
+
+ elif count > 2:
+ indexes = random.sample(range(count-1), N)
+ sound_pub_item = sound_items[indexes[0]]
+ sound_pub_items = [sound_items[indexes[i]] for i in range(0, N-1)]
+
revisions = get_revisions(25)
context = RequestContext(request, {
'page_content': pages.get_page_content(request, 'home', ignore_slash_issue=True),