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