From: yomguy Date: Wed, 5 Dec 2012 17:29:10 +0000 (+0100) Subject: add context_processors.hosts in order to parse media urls with HOST X-Git-Tag: 1.3-TC~61 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=ea062bfd57e9f7c5a30721e004580fb094b4539e;p=teleforma.git add context_processors.hosts in order to parse media urls with HOST --- diff --git a/teleforma/context_processors.py b/teleforma/context_processors.py new file mode 100644 index 00000000..eb099a0b --- /dev/null +++ b/teleforma/context_processors.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +from django.conf import settings +import socket + +interfaces = ['eth0', 'eth1', 'eth2', 'eth0-eth2', 'eth3', 'eth4', + 'wlan0', 'wlan1', 'wlan2', 'wlan3', 'wlan4'] + +def get_ip_address(ifname): + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + ip = socket.inet_ntoa(fcntl.ioctl( + s.fileno(), + 0x8915, # SIOCGIFADDR + struct.pack('256s', ifname[:15]) + )[20:24]) + return ip + +def get_local_host(): + local_ip = '' + for interface in interfaces: + try: + ip = get_ip_address(interface) + if ip: + local_ip = ip + break + except: + pass + + if not local_ip: + local_ip = '127.0.0.1' + return local_ip + + +def get_http_host(request): + host = request.META['HTTP_HOST'] + if ':' in host: + host = host.split(':')[0] + return host + + +def host(request): + request_host = get_http_host(request) + local_host = get_local_host() + + if request_host.split('.')[0] == local_host.split('.')[0] or \ + request_host == '127.0.0.1' or request_host == 'localhost': + # LAN access + ip = local_host + else: + ip = settings.ROUTER_IP + + return {'HOST': ip } + diff --git a/teleforma/templates/teleforma/course_conference.html b/teleforma/templates/teleforma/course_conference.html index 395795be..8bd754b2 100644 --- a/teleforma/templates/teleforma/course_conference.html +++ b/teleforma/templates/teleforma/course_conference.html @@ -53,7 +53,7 @@
{% endif %} diff --git a/teleforma/templates/teleforma/course_conference_record.html b/teleforma/templates/teleforma/course_conference_record.html index 25a7a465..3416738c 100644 --- a/teleforma/templates/teleforma/course_conference_record.html +++ b/teleforma/templates/teleforma/course_conference_record.html @@ -26,7 +26,7 @@ jQuery(window).ready(function(){ {% block video %}
{% endblock video %} diff --git a/teleforma/templatetags/teleforma_tags.py b/teleforma/templatetags/teleforma_tags.py index d88e9a18..56c24572 100644 --- a/teleforma/templatetags/teleforma_tags.py +++ b/teleforma/templatetags/teleforma_tags.py @@ -193,10 +193,7 @@ def get_video_id(media): return @register.filter -def get_host(url, host): +def set_host(url, host): u = urlparse(url) - if host == '127.0.0.1' or host == 'localhost': - nu = u.scheme + '://' + host + ':' + str(u.port) + u.path - return nu - else: - return url + return u.scheme + '://' + host + ':' + str(u.port) + u.path + \ No newline at end of file diff --git a/teleforma/views/core.py b/teleforma/views/core.py index 70cc6c63..eb47e34c 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -403,7 +403,7 @@ class ConferenceView(DetailView): class ConferenceRecordView(FormView): - "Conference record form : TeleCaster module required" + "Conference record form : telecaster module required" model = Conference form_class = ConferenceForm