add test
This commit is contained in:
parent
ea1acf2607
commit
97ac8b6912
2 changed files with 117 additions and 0 deletions
12
media/test.html
Normal file
12
media/test.html
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<script src="http://localhost/js/jquery.js"></script>
|
||||||
|
<script src="test.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div id="movies">
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
105
media/test.js
Normal file
105
media/test.js
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
//http://127.0.0.1:2620/media/test.html
|
||||||
|
$(function(){
|
||||||
|
backend= {
|
||||||
|
base:'/',
|
||||||
|
profile: '96p.webm',
|
||||||
|
request: function(func, data, callback) {
|
||||||
|
$.getJSON(this.base+func, data, callback);
|
||||||
|
},
|
||||||
|
extractStills: function(oshash, callback) {
|
||||||
|
this.request('extract', {'oshash': oshash, 'media': 'stills'}, callback);
|
||||||
|
},
|
||||||
|
extractVideo: function(oshash, callback) {
|
||||||
|
this.request('extract', {'oshash': oshash, 'media': this.profile}, callback);
|
||||||
|
},
|
||||||
|
info: function(oshash, callback) {
|
||||||
|
this.request('get', {'oshash': oshash}, callback);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
function addStill(parent, oshash) {
|
||||||
|
backend.request('get', {'oshash':oshash}, function(result) {
|
||||||
|
//console.log(result);
|
||||||
|
if(result.stills.length>0) {
|
||||||
|
$(parent).append('<img width="128" src="'+result.stills[1]+'">');
|
||||||
|
} else {
|
||||||
|
backend.request('extract', {'oshash':oshash, 'media': 'stills'}, function(result) {
|
||||||
|
setTimeout(function () {
|
||||||
|
addStill(parent, oshash);
|
||||||
|
}, 25000);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function addVideo(parent, oshash) {
|
||||||
|
backend.request('get', {'oshash':oshash}, function(result) {
|
||||||
|
console.log(result);
|
||||||
|
if(result.video.length>0) {
|
||||||
|
$(parent).append('<video width="128" src="'+result.video[0]+'" controls>');
|
||||||
|
} else {
|
||||||
|
backend.request('extract', {'oshash':oshash, 'media': backend.profile}, function(result) {
|
||||||
|
if(!result.status == 'failed') {
|
||||||
|
setTimeout(function () {
|
||||||
|
addVideo(parent, oshash);
|
||||||
|
}, 25000);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function for_each_sorted(elements, callback) {
|
||||||
|
function pad(str) {
|
||||||
|
var len = 10;
|
||||||
|
while (str.length < len) {
|
||||||
|
str = '0' + str;
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
};
|
||||||
|
var keys = new Array();
|
||||||
|
$.each(elements, function(k) {
|
||||||
|
keys.push(k);
|
||||||
|
});
|
||||||
|
keys.sort(function(a,b) {
|
||||||
|
a = a.replace(/\d+/, pad);
|
||||||
|
b = b.replace(/\d+/, pad);
|
||||||
|
return a > b;
|
||||||
|
});
|
||||||
|
$.each(keys, function(i, k) {
|
||||||
|
var v = elements[k];
|
||||||
|
callback(k, v);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function addMovie(movie, files) {
|
||||||
|
var $m = $('<div>');
|
||||||
|
$m.css('padding-left', '50px');
|
||||||
|
$m.html(movie);
|
||||||
|
//var oshash = files[0].info.oshash;
|
||||||
|
//$img = $('<img>').attr('src', '/media/' + oshash
|
||||||
|
//$m.append($img);
|
||||||
|
var $files = $('<div>');
|
||||||
|
$files.css('padding-left', '50px');
|
||||||
|
for_each_sorted(files, function(k, v) {
|
||||||
|
if (v.video && v.video.length>0) {
|
||||||
|
addStill($files, v.oshash);
|
||||||
|
addVideo($files, v.oshash);
|
||||||
|
}
|
||||||
|
$files.append(k + '<br />');
|
||||||
|
});
|
||||||
|
$m.append($files);
|
||||||
|
return $m;
|
||||||
|
}
|
||||||
|
backend.request('files', function(result) {
|
||||||
|
for_each_sorted(result, function(archive, movies) {
|
||||||
|
var $archive = $('<div>');
|
||||||
|
$archive.html(archive);
|
||||||
|
$('#movies').append($archive);
|
||||||
|
for_each_sorted(movies, function(movie, files) {
|
||||||
|
$archive.append(addMovie(movie, files));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
Loading…
Reference in a new issue