f67e5f84b5167da36f55a75cfc13ac2fa183d676
[project/luci.git] / applications / luci-app-minidlna / htdocs / luci-static / resources / view / status / include / 80_minidlna.js
1 'use strict';
2 'require fs';
3 'require uci';
4
5 return L.Class.extend({
6 title: _('miniDLNA Status'),
7
8 load: function() {
9 return uci.load('minidlna').then(function() {
10 var port = +uci.get_first('minidlna', 'minidlna', 'port');
11
12 if (isNaN(port) || port < 0 || port > 65535)
13 port = 8200;
14
15 return L.resolveDefault(fs.exec_direct('/usr/bin/wget', [ '-q', 'http://127.0.0.1:%d/'.format(port), '-O', '-' ]), null);
16 });
17 },
18
19 render: function(html) {
20 if (html == null)
21 return E('em', {}, [ _('The miniDLNA service is not running.') ]);
22
23 var audio = html.match(/Audio files<\/td><td>(\d+)/),
24 video = html.match(/Video files<\/td><td>(\d+)/),
25 image = html.match(/Image files<\/td><td>(\d+)/);
26
27 return _('The miniDLNA service is active, serving %d audio, %d video and %d image files.')
28 .format(audio ? +audio[1] : 0, video ? +video[1] : 0, image ? +image[1] : 0);
29 }
30 });