mirror of
https://github.com/fergalmoran/dss.api.git
synced 2025-12-25 18:58:19 +00:00
Merge branch 'feature/pipeline' into develop
This commit is contained in:
@@ -16,12 +16,11 @@ WORKDIR /code
|
||||
ADD requirements.txt /code/
|
||||
ADD . /code/
|
||||
|
||||
RUN apt-get update && apt-get install -y sox lame vim \
|
||||
RUN apt-get update && apt-get install -y sox lame vim ccze node npm \
|
||||
libboost-program-options-dev libsox-fmt-mp3 postgresql-client rsync openssh-client
|
||||
|
||||
RUN npm install -g yuglify
|
||||
RUN pip install -r requirements.txt
|
||||
|
||||
RUN adduser --disabled-password --gecos '' djworker
|
||||
RUN chown djworker /files -R
|
||||
RUN chown djworker /srv/logs -R
|
||||
RUN export PATH=$PATH:/mnt/bin/
|
||||
RUN chown djworker /files -R
|
||||
34
api/pipeline.py
Executable file
34
api/pipeline.py
Executable file
@@ -0,0 +1,34 @@
|
||||
from django.core.files.base import ContentFile
|
||||
from requests import request, ConnectionError
|
||||
|
||||
|
||||
def save_profile(backend, user, response, is_new, *args, **kwargs):
|
||||
if backend.name == 'google-oauth2':
|
||||
if response.get('image') and response['image'].get('url'):
|
||||
url = response['image'].get('url')
|
||||
profile = user.userprofile
|
||||
|
||||
try:
|
||||
response = request('GET', url)
|
||||
response.raise_for_status()
|
||||
except ConnectionError:
|
||||
pass
|
||||
else:
|
||||
profile.avatar_image.save(u'',
|
||||
ContentFile(response.content),
|
||||
save=False)
|
||||
profile.save()
|
||||
elif backend.name == 'facebook':
|
||||
profile = user.userprofile
|
||||
url = 'http://graph.facebook.com/{0}/picture'.format(response['id'])
|
||||
try:
|
||||
response = request('GET', url, params={'type': 'large'})
|
||||
response.raise_for_status()
|
||||
except ConnectionError:
|
||||
pass
|
||||
else:
|
||||
profile.avatar_image.save(u'',
|
||||
ContentFile(response.content),
|
||||
save=False
|
||||
)
|
||||
profile.save()
|
||||
@@ -1,6 +1,10 @@
|
||||
import os
|
||||
import ast
|
||||
|
||||
print("Importing local settings")
|
||||
|
||||
DEBUG = ast.literal_eval(os.environ.get('IS_DEBUG', 'True'))
|
||||
|
||||
DEBUG = True
|
||||
DSS_TEMP_PATH = os.environ.get('DSS_TEMP_PATH', '/tmp/')
|
||||
DSS_LAME_PATH = os.environ.get('DSS_LAME_PATH', '/usr/bin/sox')
|
||||
DSS_WAVE_PATH = os.environ.get('DSS_WAVE_PATH',
|
||||
|
||||
27
dss/pipelinesettings.py
Executable file
27
dss/pipelinesettings.py
Executable file
@@ -0,0 +1,27 @@
|
||||
PIPELINE_CSS = {
|
||||
'css': {
|
||||
'source_filenames': (
|
||||
'css/*.css',
|
||||
),
|
||||
'variant': 'datauri',
|
||||
'output_filename': 'css/c.css'
|
||||
},
|
||||
'embedding': {
|
||||
'source_filenames': (
|
||||
'css/embedding/*.css',
|
||||
),
|
||||
'variant': 'datauri',
|
||||
'output_filename': 'css/e.css'
|
||||
}
|
||||
}
|
||||
|
||||
PIPELINE_JS = {
|
||||
'embedding': {
|
||||
'source_filenames': (
|
||||
'js/embedding/jquery.js',
|
||||
'js/embedding/jplayer.js',
|
||||
'js/embedding/jplayer.cleanskin.js',
|
||||
),
|
||||
'output_filename': 'js/e.js',
|
||||
},
|
||||
}
|
||||
@@ -5,13 +5,12 @@ from datetime import timedelta
|
||||
from django.core.urlresolvers import reverse_lazy
|
||||
from django.conf import global_settings
|
||||
from dss import storagesettings
|
||||
|
||||
from utils import here
|
||||
|
||||
from dss.localsettings import *
|
||||
from dss.storagesettings import *
|
||||
from dss.paymentsettings import *
|
||||
from dss.logsettings import *
|
||||
from dss.pipelinesettings import *
|
||||
from dss.psa import *
|
||||
from dss.celerysettings import *
|
||||
|
||||
@@ -59,12 +58,16 @@ STATICFILES_FINDERS = (
|
||||
'django.contrib.staticfiles.finders.FileSystemFinder',
|
||||
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
||||
'compressor.finders.CompressorFinder',
|
||||
'pipeline.finders.PipelineFinder',
|
||||
)
|
||||
|
||||
STATICFILES_DIRS = (
|
||||
here('static'),
|
||||
)
|
||||
|
||||
# STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
|
||||
STATICFILES_STORAGE = 'django_pipeline_forgiving.storages.PipelineForgivingStorage'
|
||||
|
||||
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
|
||||
'django_facebook.context_processors.facebook',
|
||||
'django.core.context_processors.request',
|
||||
@@ -115,6 +118,8 @@ INSTALLED_APPS = (
|
||||
'allauth.socialaccount.providers.google',
|
||||
'allauth.socialaccount.providers.twitter',
|
||||
|
||||
'pipeline',
|
||||
|
||||
'corsheaders',
|
||||
'sorl.thumbnail',
|
||||
'djcelery',
|
||||
@@ -172,7 +177,6 @@ REALTIME_HEADERS = {
|
||||
'content-type': 'application/json'
|
||||
}
|
||||
|
||||
|
||||
REST_FRAMEWORK = {
|
||||
# Use hyperlinked styles by default.
|
||||
# Only used if the `serializer_class` attribute is not set on a view.
|
||||
@@ -217,7 +221,6 @@ WAVEFORM_URL = '{0}waveforms/'.format(CDN_URL)
|
||||
STREAM_URL = '{0}mixes/'.format(CDN_URL)
|
||||
AUDIO_URL = '{0}mixes/'.format(CDN_URL)
|
||||
|
||||
|
||||
NOTIFICATIONS_FROM_ADDRESS = "admin@deepsouthsounds.com"
|
||||
|
||||
CORS_ORIGIN_ALLOW_ALL = True
|
||||
@@ -236,4 +239,4 @@ CORS_ALLOW_HEADERS = (
|
||||
'x-csrftoken'
|
||||
)
|
||||
|
||||
""" End static settings """
|
||||
""" End static settings """
|
||||
|
||||
@@ -44,4 +44,5 @@ django-enumfield
|
||||
|
||||
ipython
|
||||
ipdb
|
||||
beautifulsoup4
|
||||
beautifulsoup4
|
||||
django-pipeline
|
||||
17
run_web.sh
17
run_web.sh
@@ -1,2 +1,15 @@
|
||||
#!/bin/sh
|
||||
su -m djworker -c "python manage.py runserver_plus 0.0.0.0:8001"
|
||||
#!/bin/bash
|
||||
python manage.py migrate
|
||||
|
||||
touch /srv/logs/gunicorn.log
|
||||
touch /srv/logs/access.log
|
||||
tail -n 0 -f /srv/logs/*.log &
|
||||
|
||||
echo "Starting gunicorn"
|
||||
exec gunicorn dss.wsgi:application \
|
||||
--bind 0.0.0.0:8001
|
||||
--workers 4 \
|
||||
--log-level=info \
|
||||
--log-file=/srv/logs/gunicorn.log \
|
||||
--access-logfile=/srv/logs/access.log \
|
||||
"$@"
|
||||
@@ -175,6 +175,7 @@ class UserProfile(BaseModel):
|
||||
def get_sized_avatar_image(self, width, height):
|
||||
try:
|
||||
image = self.get_avatar_image()
|
||||
logger.debug("get_sized_avatar_image: %s".format(image))
|
||||
sized = thumbnail.get_thumbnail(image, "%sx%s" % (width, height), crop="center")
|
||||
return urllib.parse.urljoin(settings.MEDIA_URL, sized.name)
|
||||
except SuspiciousOperation:
|
||||
|
||||
1
static/css/embedding/player.css
Normal file
1
static/css/embedding/player.css
Normal file
@@ -0,0 +1 @@
|
||||
.webPlayer{display:inline-block;position:relative;font-family:'Segoe UI',Verdana,sans-serif;clear:both;margin-bottom:10px;line-height:1.4;font-size:13px;box-shadow:0 0 1px rgba(0,0,0,0.5);-webkit-box-shadow:0 0 1px rgba(0,0,0,0.5);text-align:center}.webPlayer a.smooth{transition:all 0.1s linear;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;-o-transition:all 0.1s linear}.webPlayer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.webPlayer.jp-video-full>.controls{position:absolute;left:0;right:0;bottom:0;opacity:0.8;z-index:1000}.webPlayer.jp-video-full,.webPlayer.jp-video-full object,.webPlayer.jp-video-full video{position:fixed;top:0;left:0;right:0;bottom:0;display:block;z-index:999}.webPlayer.jp-video-full>.playerScreen,.webPlayer.jp-video-full>.playerScreen>.video-play{z-index:1000}.webPlayer .playerScreen{cursor:pointer}.webPlayer .playerScreen .video-play{display:block;position:absolute;z-index:990;width:100%;top:0;left:0;right:0;bottom:50px;background:url('../../img/preimg.png') no-repeat center center;opacity:0.4;background-color:rgba(0,0,0,0.4)} .webPlayer .controls{display:block;position:relative;height:40px;background:#0b0b0b;color:#969696;padding:5px 10px;z-index:996;border:1px solid #000000} .webPlayer .controls .leftblock{position:absolute;left:3px;width:50px} .webPlayer .controls .leftblock .play{display:block;margin:0 auto;width:40px;height:40px;background:url('../../img/playerUI.png') no-repeat 0 1px;opacity:0.8} .webPlayer .controls .leftblock .play:hover{opacity:1} .webPlayer .controls .leftblock .pause{display:block;margin:0 auto;width:40px;height:40px;background:url('../../img/playerUI.png') no-repeat -40px 1px;opacity:0.8} .webPlayer .controls .leftblock .pause:hover{opacity:1} .webPlayer .controls .play-progress{position:relative;display:block;margin:0 130px 0 50px;text-align:left} .webPlayer .controls .play-progress span{font-size:12px;margin-left:1px;color:#f0f0f0} .webPlayer .controls .play-progress .progressbar{display:block;height:4px;background-color:#3C3C3C;background:rgba(255,255,255,0.05);margin:2.5px 0} .webPlayer .controls .play-progress .progressbar .seekBar{position:relative;display:block;cursor:pointer;padding:1px;background:rgba(255,255,255,0.1)} .webPlayer .controls .play-progress .progressbar .seekBar .playBar{display:block;height:2px;padding:0;background:#FFFFFF} .webPlayer .controls .play-progress .progressbar .seekBar a{display:block;position:absolute;top:-2px;width:8px;height:8px;border-radius:5px;background:#ffffff;margin-left:-3px} .webPlayer .controls .play-progress .progressbar .seekBar a div{width:8px;height:8px} .webPlayer .controls .play-progress .time{display:block;position:absolute;width:50px;font-size:11px} .webPlayer .controls .play-progress .time.current{left:1px;text-align:left;color:#f0f0f0} .webPlayer .controls .play-progress .time.duration{right:0px;text-align:right} .webPlayer .controls .rightblock{position:absolute;right:10px;width:110px;top:5px} .webPlayer .controls .rightblock .volumeText{display:block;position:absolute;bottom:-12px;text-align:center;width:80px;font-size:11px} .webPlayer .controls .rightblock .volumeBar{display:block;position:absolute;height:4px;background-color:#3C3C3C;background:rgba(255,255,255,0.05);width:80px;top:19px;left:0;cursor:pointer} .webPlayer .controls .rightblock .volumeBar .currentVolume{position:relative;height:2px;padding:1px} .webPlayer .controls .rightblock .volumeBar .currentVolume .curvol{display:block;height:2px;padding:0;background:#FFFFFF} .webPlayer .controls .rightblock .volumeBar .currentVolume a{display:block;position:absolute;top:-2px;margin-left:-3px;width:8px;height:8px;border-radius:5px;background:#ffffff} .webPlayer .controls .rightblock .volumeBar .currentVolume a div{display:block;width:8px;height:8px} .webPlayer .controls .rightblock .fullScreen{display:block;float:right;width:16px;height:16px;background:url('../../img/playerUI.png') no-repeat 0 -50px;margin-top:12px;opacity:0.4} .webPlayer .controls .rightblock .fullScreen:hover{opacity:0.8} .webPlayer .controls .rightblock .fullScreenOFF{display:block;float:right;width:16px;height:16px;background:url('../../img/playerUI.png') no-repeat 0 -68px;margin-top:12px;opacity:0.4} .webPlayer .controls .rightblock .fullScreenOFF:hover{opacity:0.8} .webPlayer.audioPlayer .progress{margin-right:100px} .webPlayer.audioPlayer .rightblock{width:85px} .webPlayer.audioPlayer .rightblock .volumeText{bottom:-42px} .webPlayer.audioPlayer .fullScreen{display:none} .webPlayer.audioPlayer .fullScreenOFF{display:none}
|
||||
1
static/css/embedding/player.light.css
Normal file
1
static/css/embedding/player.light.css
Normal file
@@ -0,0 +1 @@
|
||||
.webPlayer.light{display:inline-block;position:relative;font-family:'Segoe UI',Verdana,sans-serif;clear:both;margin-bottom:10px;line-height:1.4;font-size:13px;box-shadow:0 0 1px rgba(255,255,255,0.5);-webkit-box-shadow:0 0 1px rgba(255,255,255,0.5);text-align:center}.webPlayer.light a.smooth{transition:all 0.1s linear;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;-o-transition:all 0.1s linear}.webPlayer.light *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.webPlayer.light.jp-video-full>.controls{position:absolute;left:0;right:0;bottom:0;opacity:0.8;z-index:1000}.webPlayer.light.jp-video-full,.webPlayer.light.jp-video-full object,.webPlayer.light.jp-video-full video{position:fixed;top:0;left:0;right:0;bottom:0;display:block;z-index:999}.webPlayer.light.jp-video-full>.playerScreen,.webPlayer.light.jp-video-full>.playerScreen>.video-play{z-index:1000}.webPlayer.light .playerScreen{cursor:pointer}.webPlayer.light .playerScreen .video-play{display:block;position:absolute;z-index:990;width:100%;top:0;left:0;right:0;bottom:50px;background:url('../../img/preimg.light.png') no-repeat center center;opacity:0.8;background-color:rgba(255,255,255,0.1)} .webPlayer.light .controls{display:block;position:relative;height:40px;background:#FAFAFA;color:#646464;padding:5px 10px;z-index:996;border:1px solid #e6e6e6} .webPlayer.light .controls .leftblock{position:absolute;left:3px;width:50px} .webPlayer.light .controls .leftblock .play{display:block;margin:0 auto;width:40px;height:40px;background:url('../../img/playerUI.light.png') no-repeat 0 1px;opacity:0.8} .webPlayer.light .controls .leftblock .play:hover{opacity:1} .webPlayer.light .controls .leftblock .pause{display:block;margin:0 auto;width:40px;height:40px;background:url('../../img/playerUI.light.png') no-repeat -40px 1px;opacity:0.8} .webPlayer.light .controls .leftblock .pause:hover{opacity:1} .webPlayer.light .controls .play-progress{position:relative;display:block;margin:0 130px 0 50px;text-align:left} .webPlayer.light .controls .play-progress span{font-size:12px;margin-left:1px;color:#282828} .webPlayer.light .controls .play-progress .progressbar{display:block;height:4px;background-color:#3C3C3C;background:rgba(0,0,0,0.1);margin:2.5px 0} .webPlayer.light .controls .play-progress .progressbar .seekBar{position:relative;display:block;cursor:pointer;padding:1px;background:rgba(0,0,0,0.05)} .webPlayer.light .controls .play-progress .progressbar .seekBar .playBar{display:block;height:2px;padding:0;background:#191919} .webPlayer.light .controls .play-progress .progressbar .seekBar a{display:block;position:absolute;top:-2px;width:8px;height:8px;border-radius:5px;background:#191919;margin-left:-3px} .webPlayer.light .controls .play-progress .progressbar .seekBar a div{width:8px;height:8px} .webPlayer.light .controls .play-progress .time{display:block;position:absolute;width:50px;font-size:11px} .webPlayer.light .controls .play-progress .time.current{left:1px;text-align:left;color:#282828} .webPlayer.light .controls .play-progress .time.duration{right:0px;text-align:right} .webPlayer.light .controls .rightblock{position:absolute;right:10px;width:110px;top:5px} .webPlayer.light .controls .rightblock .volumeText{display:block;position:absolute;bottom:-12px;text-align:center;width:80px;font-size:11px} .webPlayer.light .controls .rightblock .volumeBar{display:block;position:absolute;height:4px;background-color:#EBEBEB;background:rgba(0,0,0,0.1);width:80px;top:19px;left:0;cursor:pointer} .webPlayer.light .controls .rightblock .volumeBar .currentVolume{position:relative;height:2px;padding:1px} .webPlayer.light .controls .rightblock .volumeBar .currentVolume .curvol{display:block;height:2px;padding:0;background:#191919} .webPlayer.light .controls .rightblock .volumeBar .currentVolume a{display:block;position:absolute;top:-2px;margin-left:-3px;width:8px;height:8px;border-radius:5px;background:#191919} .webPlayer.light .controls .rightblock .volumeBar .currentVolume a div{display:block;width:8px;height:8px} .webPlayer.light .controls .rightblock .fullScreen{display:block;float:right;width:16px;height:16px;background:url('../../img/playerUI.light.png') no-repeat 0 -50px;margin-top:12px;opacity:0.4} .webPlayer.light .controls .rightblock .fullScreen:hover{opacity:0.8} .webPlayer.light .controls .rightblock .fullScreenOFF{display:block;float:right;width:16px;height:16px;background:url('../../img/playerUI.light.png') no-repeat 0 -68px;margin-top:12px;opacity:0.4} .webPlayer.light .controls .rightblock .fullScreenOFF:hover{opacity:0.8} .webPlayer.light.audioPlayer .progress{margin-right:100px} .webPlayer.light.audioPlayer .rightblock{width:85px} .webPlayer.light.audioPlayer .rightblock .volumeText{bottom:-42px} .webPlayer.light.audioPlayer .fullScreen{display:none} .webPlayer.light.audioPlayer .fullScreenOFF{display:none}
|
||||
BIN
static/css/img/Jplayer.swf
Normal file
BIN
static/css/img/Jplayer.swf
Normal file
Binary file not shown.
BIN
static/css/img/playerUI.light.png
Normal file
BIN
static/css/img/playerUI.light.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.7 KiB |
BIN
static/css/img/playerUI.png
Normal file
BIN
static/css/img/playerUI.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
BIN
static/css/img/preimg.light.png
Normal file
BIN
static/css/img/preimg.light.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
BIN
static/css/img/preimg.png
Normal file
BIN
static/css/img/preimg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
@@ -1 +0,0 @@
|
||||
.webPlayer{display:inline-block;position:relative;font-family:'Segoe UI',Verdana,sans-serif;clear:both;margin-bottom:10px;line-height:1.4;font-size:13px;box-shadow:0 0 1px rgba(0,0,0,0.5);-webkit-box-shadow:0 0 1px rgba(0,0,0,0.5);text-align:center}.webPlayer a.smooth{transition:all 0.1s linear;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;-o-transition:all 0.1s linear}.webPlayer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.webPlayer.jp-video-full>.controls{position:absolute;left:0;right:0;bottom:0;opacity:0.8;z-index:1000}.webPlayer.jp-video-full,.webPlayer.jp-video-full object,.webPlayer.jp-video-full video{position:fixed;top:0;left:0;right:0;bottom:0;display:block;z-index:999}.webPlayer.jp-video-full>.playerScreen,.webPlayer.jp-video-full>.playerScreen>.video-play{z-index:1000}.webPlayer .playerScreen{cursor:pointer}.webPlayer .playerScreen .video-play{display:block;position:absolute;z-index:990;width:100%;top:0;left:0;right:0;bottom:50px;background:url('./../img/preimg.png') no-repeat center center;opacity:0.4;background-color:rgba(0,0,0,0.4)}.webPlayer .controls{display:block;position:relative;height:40px;background:#0b0b0b;color:#969696;padding:5px 10px;z-index:996;border:1px solid #000000}.webPlayer .controls .leftblock{position:absolute;left:3px;width:50px}.webPlayer .controls .leftblock .play{display:block;margin:0 auto;width:40px;height:40px;background:url('./../img/playerUI.png') no-repeat 0 1px;opacity:0.8}.webPlayer .controls .leftblock .play:hover{opacity:1}.webPlayer .controls .leftblock .pause{display:block;margin:0 auto;width:40px;height:40px;background:url('./../img/playerUI.png') no-repeat -40px 1px;opacity:0.8}.webPlayer .controls .leftblock .pause:hover{opacity:1}.webPlayer .controls .play-progress{position:relative;display:block;margin:0 130px 0 50px;text-align:left}.webPlayer .controls .play-progress span{font-size:12px;margin-left:1px;color:#f0f0f0}.webPlayer .controls .play-progress .progressbar{display:block;height:4px;background-color:#3C3C3C;background:rgba(255,255,255,0.05);margin:2.5px 0}.webPlayer .controls .play-progress .progressbar .seekBar{position:relative;display:block;cursor:pointer;padding:1px;background:rgba(255,255,255,0.1)}.webPlayer .controls .play-progress .progressbar .seekBar .playBar{display:block;height:2px;padding:0;background:#FFFFFF}.webPlayer .controls .play-progress .progressbar .seekBar a{display:block;position:absolute;top:-2px;width:8px;height:8px;border-radius:5px;background:#ffffff;margin-left:-3px}.webPlayer .controls .play-progress .progressbar .seekBar a div{width:8px;height:8px}.webPlayer .controls .play-progress .time{display:block;position:absolute;width:50px;font-size:11px}.webPlayer .controls .play-progress .time.current{left:1px;text-align:left;color:#f0f0f0}.webPlayer .controls .play-progress .time.duration{right:0px;text-align:right}.webPlayer .controls .rightblock{position:absolute;right:10px;width:110px;top:5px}.webPlayer .controls .rightblock .volumeText{display:block;position:absolute;bottom:-12px;text-align:center;width:80px;font-size:11px}.webPlayer .controls .rightblock .volumeBar{display:block;position:absolute;height:4px;background-color:#3C3C3C;background:rgba(255,255,255,0.05);width:80px;top:19px;left:0;cursor:pointer}.webPlayer .controls .rightblock .volumeBar .currentVolume{position:relative;height:2px;padding:1px}.webPlayer .controls .rightblock .volumeBar .currentVolume .curvol{display:block;height:2px;padding:0;background:#FFFFFF}.webPlayer .controls .rightblock .volumeBar .currentVolume a{display:block;position:absolute;top:-2px;margin-left:-3px;width:8px;height:8px;border-radius:5px;background:#ffffff}.webPlayer .controls .rightblock .volumeBar .currentVolume a div{display:block;width:8px;height:8px}.webPlayer .controls .rightblock .fullScreen{display:block;float:right;width:16px;height:16px;background:url('./../img/playerUI.png') no-repeat 0 -50px;margin-top:12px;opacity:0.4}.webPlayer .controls .rightblock .fullScreen:hover{opacity:0.8}.webPlayer .controls .rightblock .fullScreenOFF{display:block;float:right;width:16px;height:16px;background:url('./../img/playerUI.png') no-repeat 0 -68px;margin-top:12px;opacity:0.4}.webPlayer .controls .rightblock .fullScreenOFF:hover{opacity:0.8}.webPlayer.audioPlayer .progress{margin-right:100px}.webPlayer.audioPlayer .rightblock{width:85px}.webPlayer.audioPlayer .rightblock .volumeText{bottom:-42px}.webPlayer.audioPlayer .fullScreen{display:none}.webPlayer.audioPlayer .fullScreenOFF{display:none}
|
||||
@@ -1 +0,0 @@
|
||||
.webPlayer.light{display:inline-block;position:relative;font-family:'Segoe UI',Verdana,sans-serif;clear:both;margin-bottom:10px;line-height:1.4;font-size:13px;box-shadow:0 0 1px rgba(255,255,255,0.5);-webkit-box-shadow:0 0 1px rgba(255,255,255,0.5);text-align:center}.webPlayer.light a.smooth{transition:all 0.1s linear;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;-o-transition:all 0.1s linear}.webPlayer.light *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.webPlayer.light.jp-video-full>.controls{position:absolute;left:0;right:0;bottom:0;opacity:0.8;z-index:1000}.webPlayer.light.jp-video-full,.webPlayer.light.jp-video-full object,.webPlayer.light.jp-video-full video{position:fixed;top:0;left:0;right:0;bottom:0;display:block;z-index:999}.webPlayer.light.jp-video-full>.playerScreen,.webPlayer.light.jp-video-full>.playerScreen>.video-play{z-index:1000}.webPlayer.light .playerScreen{cursor:pointer}.webPlayer.light .playerScreen .video-play{display:block;position:absolute;z-index:990;width:100%;top:0;left:0;right:0;bottom:50px;background:url('./../img/preimg.light.png') no-repeat center center;opacity:0.8;background-color:rgba(255,255,255,0.1)}.webPlayer.light .controls{display:block;position:relative;height:40px;background:#FAFAFA;color:#646464;padding:5px 10px;z-index:996;border:1px solid #e6e6e6}.webPlayer.light .controls .leftblock{position:absolute;left:3px;width:50px}.webPlayer.light .controls .leftblock .play{display:block;margin:0 auto;width:40px;height:40px;background:url('./../img/playerUI.light.png') no-repeat 0 1px;opacity:0.8}.webPlayer.light .controls .leftblock .play:hover{opacity:1}.webPlayer.light .controls .leftblock .pause{display:block;margin:0 auto;width:40px;height:40px;background:url('./../img/playerUI.light.png') no-repeat -40px 1px;opacity:0.8}.webPlayer.light .controls .leftblock .pause:hover{opacity:1}.webPlayer.light .controls .play-progress{position:relative;display:block;margin:0 130px 0 50px;text-align:left}.webPlayer.light .controls .play-progress span{font-size:12px;margin-left:1px;color:#282828}.webPlayer.light .controls .play-progress .progressbar{display:block;height:4px;background-color:#3C3C3C;background:rgba(0,0,0,0.1);margin:2.5px 0}.webPlayer.light .controls .play-progress .progressbar .seekBar{position:relative;display:block;cursor:pointer;padding:1px;background:rgba(0,0,0,0.05)}.webPlayer.light .controls .play-progress .progressbar .seekBar .playBar{display:block;height:2px;padding:0;background:#191919}.webPlayer.light .controls .play-progress .progressbar .seekBar a{display:block;position:absolute;top:-2px;width:8px;height:8px;border-radius:5px;background:#191919;margin-left:-3px}.webPlayer.light .controls .play-progress .progressbar .seekBar a div{width:8px;height:8px}.webPlayer.light .controls .play-progress .time{display:block;position:absolute;width:50px;font-size:11px}.webPlayer.light .controls .play-progress .time.current{left:1px;text-align:left;color:#282828}.webPlayer.light .controls .play-progress .time.duration{right:0px;text-align:right}.webPlayer.light .controls .rightblock{position:absolute;right:10px;width:110px;top:5px}.webPlayer.light .controls .rightblock .volumeText{display:block;position:absolute;bottom:-12px;text-align:center;width:80px;font-size:11px}.webPlayer.light .controls .rightblock .volumeBar{display:block;position:absolute;height:4px;background-color:#EBEBEB;background:rgba(0,0,0,0.1);width:80px;top:19px;left:0;cursor:pointer}.webPlayer.light .controls .rightblock .volumeBar .currentVolume{position:relative;height:2px;padding:1px}.webPlayer.light .controls .rightblock .volumeBar .currentVolume .curvol{display:block;height:2px;padding:0;background:#191919}.webPlayer.light .controls .rightblock .volumeBar .currentVolume a{display:block;position:absolute;top:-2px;margin-left:-3px;width:8px;height:8px;border-radius:5px;background:#191919}.webPlayer.light .controls .rightblock .volumeBar .currentVolume a div{display:block;width:8px;height:8px}.webPlayer.light .controls .rightblock .fullScreen{display:block;float:right;width:16px;height:16px;background:url('./../img/playerUI.light.png') no-repeat 0 -50px;margin-top:12px;opacity:0.4}.webPlayer.light .controls .rightblock .fullScreen:hover{opacity:0.8}.webPlayer.light .controls .rightblock .fullScreenOFF{display:block;float:right;width:16px;height:16px;background:url('./../img/playerUI.light.png') no-repeat 0 -68px;margin-top:12px;opacity:0.4}.webPlayer.light .controls .rightblock .fullScreenOFF:hover{opacity:0.8}.webPlayer.light.audioPlayer .progress{margin-right:100px}.webPlayer.light.audioPlayer .rightblock{width:85px}.webPlayer.light.audioPlayer .rightblock .volumeText{bottom:-42px}.webPlayer.light.audioPlayer .fullScreen{display:none}.webPlayer.light.audioPlayer .fullScreenOFF{display:none}
|
||||
2363
static/js/bootstrap.js
vendored
Normal file
2363
static/js/bootstrap.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@@ -24,7 +24,7 @@
|
||||
<a tabindex="1" href="#" class="pause smooth noload"></a>\
|
||||
</div>\
|
||||
<div class="play-progress">\
|
||||
<span>' + settings.name + '</span>\
|
||||
<span><a href="' + settings.url + '" target="_blank">' + settings.name + '</a></span>\
|
||||
<div class="progressbar">\
|
||||
<div class="seekBar">\
|
||||
<div class="playBar"></div>\
|
||||
3506
static/js/embedding/jplayer.js
Normal file
3506
static/js/embedding/jplayer.js
Normal file
File diff suppressed because it is too large
Load Diff
4
static/js/embedding/jquery.js
vendored
Normal file
4
static/js/embedding/jquery.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1,9 +1,11 @@
|
||||
{% load pipeline %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>{{ title }}</title>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
|
||||
{% stylesheet 'css' %}
|
||||
{% block css %}
|
||||
{% endblock %}
|
||||
</head>
|
||||
|
||||
@@ -1,23 +1,22 @@
|
||||
{% extends 'embedding/master.html' %}
|
||||
{% load pipeline %}
|
||||
{% block css %}
|
||||
<link rel="stylesheet" href="/assets/css/player.css">
|
||||
<link rel="stylesheet" href="/assets/css/player.light.css">
|
||||
{% stylesheet 'embedding' %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id="uniquePlayer-1" class="webPlayer {{ theme }} audioPlayer">
|
||||
<div id="uniqueContainer-1" class="videoPlayer"></div>
|
||||
</div>
|
||||
<aside>Content provided by <a href="http://deepsouthsounds.com" target="_blank">Deep South Sounds</a> </aside>
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jplayer/2.9.2/jplayer/jquery.jplayer.js"></script>
|
||||
<script src="/assets/js/jplayer.cleanskin.js"></script>
|
||||
|
||||
{% javascript 'embedding' %}
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('.webPlayer').videoPlayer({
|
||||
name: '{{ title }}',
|
||||
url: '{{ mix_url }}',
|
||||
media: {
|
||||
mp3: '{{ audio_url }}'
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user