SAAS-922 - change file extensions in pypo based on mime-type, update lists of accepted mime types
This commit is contained in:
parent
041053b171
commit
1816be156f
|
@ -4,22 +4,23 @@ class FileDataHelper {
|
||||||
|
|
||||||
public static function getAudioMimeTypeArray() {
|
public static function getAudioMimeTypeArray() {
|
||||||
return array(
|
return array(
|
||||||
"audio/ogg" => "ogg",
|
"audio/ogg" => "ogg",
|
||||||
"application/ogg" => "ogg",
|
"application/ogg" => "ogg",
|
||||||
"audio/vorbis" => "ogg",
|
"audio/vorbis" => "ogg",
|
||||||
"audio/mp3" => "mp3",
|
"audio/mp3" => "mp3",
|
||||||
"audio/mpeg" => "mp3",
|
"audio/mpeg" => "mp3",
|
||||||
"audio/mpeg3" => "mp3",
|
"audio/mpeg3" => "mp3",
|
||||||
"audio/aac" => "aac",
|
"audio/x-aac" => "aac",
|
||||||
"audio/aacp" => "aac",
|
"audio/aac" => "aac",
|
||||||
"audio/mp4" => "mp4",
|
"audio/aacp" => "aac",
|
||||||
"audio/x-flac" => "flac",
|
"audio/mp4" => "mp4",
|
||||||
"audio/wav" => "wav",
|
"audio/x-flac" => "flac",
|
||||||
"audio/x-wav" => "wav",
|
"audio/wav" => "wav",
|
||||||
"audio/mp2" => "mp2",
|
"audio/x-wav" => "wav",
|
||||||
"audio/mp1" => "mp1",
|
"audio/mp2" => "mp2",
|
||||||
"audio/x-ms-wma" => "wma",
|
"audio/mp1" => "mp1",
|
||||||
"audio/basic" => "au",
|
"audio/x-ms-wma" => "wma",
|
||||||
|
"audio/basic" => "au",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ $(document).ready(function() {
|
||||||
unique_names : 'true',
|
unique_names : 'true',
|
||||||
multiple_queues : 'true',
|
multiple_queues : 'true',
|
||||||
filters : [
|
filters : [
|
||||||
{title: "Audio Files", extensions: "ogg,mp3,oga,flac,wav,m4a,mp4,opus"}
|
{title: "Audio Files", extensions: "ogg,mp3,oga,flac,wav,m4a,mp4,opus,aac,oga,mp1,mp2,wma,au"}
|
||||||
],
|
],
|
||||||
multipart_params : {
|
multipart_params : {
|
||||||
"csrf_token" : $("#csrf").attr('value'),
|
"csrf_token" : $("#csrf").attr('value'),
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
audio/ogg ogg
|
||||||
|
application/ogg ogg
|
||||||
|
audio/vorbis ogg
|
||||||
|
audio/mp3 mp3
|
||||||
|
audio/mpeg mp3
|
||||||
|
audio/mpeg3 mp3
|
||||||
|
audio/x-aac aac
|
||||||
|
audio/aac aac
|
||||||
|
audio/aacp aac
|
||||||
|
audio/mp4 mp4
|
||||||
|
audio/x-flac flac
|
||||||
|
audio/wav wav
|
||||||
|
audio/x-wav wav
|
||||||
|
audio/mp2 mp2
|
||||||
|
audio/mp1 mp1
|
||||||
|
audio/x-ms-wma wma
|
||||||
|
audio/basic au
|
|
@ -12,7 +12,7 @@ import signal
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import traceback
|
import traceback
|
||||||
import pure
|
import pure
|
||||||
|
import mimetypes
|
||||||
from Queue import Empty
|
from Queue import Empty
|
||||||
from threading import Thread, Timer
|
from threading import Thread, Timer
|
||||||
from subprocess import Popen, PIPE
|
from subprocess import Popen, PIPE
|
||||||
|
@ -377,6 +377,21 @@ class PypoFetch(Thread):
|
||||||
start = datetime.strptime(media_item['start'], "%Y-%m-%d-%H-%M-%S")
|
start = datetime.strptime(media_item['start'], "%Y-%m-%d-%H-%M-%S")
|
||||||
end = datetime.strptime(media_item['end'], "%Y-%m-%d-%H-%M-%S")
|
end = datetime.strptime(media_item['end'], "%Y-%m-%d-%H-%M-%S")
|
||||||
|
|
||||||
|
root, ext = os.path.splitext(media_item['uri'])
|
||||||
|
mime = media_item['metadata']['mime']
|
||||||
|
mimetypes.init()
|
||||||
|
mime_ext = mimetypes.guess_extension(mime, strict=False)
|
||||||
|
|
||||||
|
if mime_ext is None:
|
||||||
|
mimes = mimetypes.read_mime_types("%s/mime.types" % os.path.dirname(os.path.realpath(__file__)))
|
||||||
|
for k, v in mimes.iteritems():
|
||||||
|
if v == mime:
|
||||||
|
mime_ext = k
|
||||||
|
|
||||||
|
if mime_ext is not None and mime_ext != ext:
|
||||||
|
self.logger.info("Invalid extension %s for file %s, changing to %s" % (ext, root, mime_ext))
|
||||||
|
media_item['uri'] = root + mime_ext
|
||||||
|
|
||||||
length1 = pure.date_interval_to_seconds(end - start)
|
length1 = pure.date_interval_to_seconds(end - start)
|
||||||
length2 = media_item['cue_out'] - media_item['cue_in']
|
length2 = media_item['cue_out'] - media_item['cue_in']
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ setup(name='airtime-playout',
|
||||||
license='AGPLv3',
|
license='AGPLv3',
|
||||||
packages=['pypo', 'pypo.media', 'pypo.media.update',
|
packages=['pypo', 'pypo.media', 'pypo.media.update',
|
||||||
'liquidsoap', 'liquidsoap.library'],
|
'liquidsoap', 'liquidsoap.library'],
|
||||||
package_data={'': ['*.liq', '*.cfg']},
|
package_data={'': ['*.liq', '*.cfg', '*.types']},
|
||||||
scripts=[
|
scripts=[
|
||||||
'bin/airtime-playout',
|
'bin/airtime-playout',
|
||||||
'bin/airtime-liquidsoap',
|
'bin/airtime-liquidsoap',
|
||||||
|
|
Loading…
Reference in New Issue