mediawatch
Version: 
medialist
52 lines (50 loc) • 6.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var Promise = require("bluebird");
var medialist = require("medialist");
var chokidar = require("chokidar");
var mediafiles = (function () {
    function mediafiles(config) {
        var that = this;
        function startwatch() {
            console.info('start woatching');
            chokidar.watch(config.path, { ignored: /(^|[\/\\])\../, ignorePermissionErrors: true, awaitWriteFinish: true }).on('all', function (event, path) {
                medialist.list(config.path, { exclude: config.exclude, serverUri: config.serverUri }).then(function (list) {
                    that.list = list;
                }).catch(function (err) {
                    console.error('error 345322');
                    console.error(err);
                });
            });
        }
        function firstcheck() {
            return new Promise(function (resolve, reject) {
                medialist.list(config.path, { exclude: config.exclude, serverUri: config.serverUri }).then(function (list) {
                    that.list = list;
                    resolve(true);
                }).catch(function (err) {
                    reject('not booted');
                });
            });
        }
        firstcheck().then(function () {
            startwatch();
        }).catch(function (err) {
            console.log(err);
            firstcheck().then(function () {
                startwatch();
            }).catch(function (err) {
                console.log('not boot 1');
                firstcheck().then(function () {
                    startwatch();
                }).catch(function (err) {
                    console.log('not boot 2');
                    throw Error('can\'t boot');
                });
            });
        });
    }
    return mediafiles;
}());
exports.mediafiles = mediafiles;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsa0NBQW1DO0FBQ25DLHFDQUFzQztBQUN0QyxtQ0FBb0M7QUFrQnBDO0lBR0Usb0JBQVksTUFBeUc7UUFDbkgsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBRWpCO1lBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1lBQy9CLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFDLEtBQUssRUFBRSxJQUFJO2dCQUNwSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsSUFBSTtvQkFDNUYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7Z0JBQ2xCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFDLEdBQUc7b0JBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQTtvQkFDN0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDcEIsQ0FBQyxDQUFDLENBQUE7WUFFTixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFFRDtZQUNFLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO2dCQUNqQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsSUFBSTtvQkFDOUYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7b0JBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDZixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBQyxHQUFHO29CQUNYLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtnQkFDdEIsQ0FBQyxDQUFDLENBQUE7WUFDSixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFLRCxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDaEIsVUFBVSxFQUFFLENBQUE7UUFDZCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBQyxHQUFHO1lBRVgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUVoQixVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLFVBQVUsRUFBRSxDQUFBO1lBQ2QsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQUMsR0FBRztnQkFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFBO2dCQUV6QixVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUM7b0JBQ2hCLFVBQVUsRUFBRSxDQUFBO2dCQUNkLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFDLEdBQUc7b0JBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtvQkFDekIsTUFBTSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUE7Z0JBQzVCLENBQUMsQ0FBQyxDQUFBO1lBRUosQ0FBQyxDQUFDLENBQUE7UUFLSixDQUFDLENBQUMsQ0FBQTtJQUlKLENBQUM7SUFHSCxpQkFBQztBQUFELENBL0RBLEFBK0RDLElBQUE7QUEvRFksZ0NBQVUiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBQcm9taXNlIGZyb20gJ2JsdWViaXJkJ1xuaW1wb3J0ICogYXMgbWVkaWFsaXN0IGZyb20gJ21lZGlhbGlzdCdcbmltcG9ydCAqIGFzIGNob2tpZGFyIGZyb20gJ2Nob2tpZGFyJ1xuXG5pbnRlcmZhY2UgSU1lZGlhRmlsZVJlc3Age1xuICBtZXRhOiBJTWVkaWFGaWxlTWV0YVxuICBkdXJhdGlvbjogc3RyaW5nXG4gIHBhdGg6IHN0cmluZ1xuICBmdWxsbmFtZTogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBleHRlbnNpb246IHN0cmluZ1xuICBkaXI6IHN0cmluZ1xuICBleHRlbnNpb25GYW1pbHk6IHN0cmluZ1xuICBleHRlbnNpb25UeXBlOiBzdHJpbmdcbiAgdWlkOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIElNZWRpYUZpbGVNZXRhIHtcblxufVxuZXhwb3J0IGNsYXNzIG1lZGlhZmlsZXMge1xuXG4gIGxpc3Q6IElNZWRpYUZpbGVSZXNwW11cbiAgY29uc3RydWN0b3IoY29uZmlnOiB7IHBhdGg6IHN0cmluZywgbm9pbm90aWZ5PzogdHJ1ZSwgZXhjbHVkZT86IHN0cmluZ1tdLCBzZXJ2ZXJVcmk/OiB7IHBhdGg6IHN0cmluZywgdXJpOiBzdHJpbmcgfSB9KSB7XG4gICAgY29uc3QgdGhhdCA9IHRoaXNcblxuICAgIGZ1bmN0aW9uIHN0YXJ0d2F0Y2goKSB7XG4gICAgICBjb25zb2xlLmluZm8oJ3N0YXJ0IHdvYXRjaGluZycpXG4gICAgICBjaG9raWRhci53YXRjaChjb25maWcucGF0aCwgeyBpZ25vcmVkOiAvKF58W1xcL1xcXFxdKVxcLi4vLCBpZ25vcmVQZXJtaXNzaW9uRXJyb3JzOiB0cnVlLCBhd2FpdFdyaXRlRmluaXNoOiB0cnVlIH0pLm9uKCdhbGwnLCAoZXZlbnQsIHBhdGgpID0+IHtcbiAgICAgICAgbWVkaWFsaXN0Lmxpc3QoY29uZmlnLnBhdGgsIHsgZXhjbHVkZTogY29uZmlnLmV4Y2x1ZGUsIHNlcnZlclVyaTogY29uZmlnLnNlcnZlclVyaSB9KS50aGVuKChsaXN0KSA9PiB7XG4gICAgICAgICAgICB0aGF0Lmxpc3QgPSBsaXN0XG4gICAgICAgICAgfSkuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignZXJyb3IgMzQ1MzIyJylcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKVxuICAgICAgICAgIH0pXG5cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZmlyc3RjaGVjaygpIHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIG1lZGlhbGlzdC5saXN0KGNvbmZpZy5wYXRoLCB7IGV4Y2x1ZGU6IGNvbmZpZy5leGNsdWRlLCBzZXJ2ZXJVcmk6IGNvbmZpZy5zZXJ2ZXJVcmkgfSkudGhlbigobGlzdCkgPT4ge1xuICAgICAgICAgIHRoYXQubGlzdCA9IGxpc3RcbiAgICAgICAgICByZXNvbHZlKHRydWUpXG4gICAgICAgIH0pLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICByZWplY3QoJ25vdCBib290ZWQnKVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9XG5cblxuXG5cbiAgICBmaXJzdGNoZWNrKCkudGhlbigoKSA9PiB7IC8vIGF0dGVtcHQgMFxuICAgICAgc3RhcnR3YXRjaCgpXG4gICAgfSkuY2F0Y2goKGVycikgPT4ge1xuXG4gICAgICBjb25zb2xlLmxvZyhlcnIpXG5cbiAgICAgIGZpcnN0Y2hlY2soKS50aGVuKCgpID0+IHsgLy8gYXR0ZW1wdCAxXG4gICAgICAgIHN0YXJ0d2F0Y2goKVxuICAgICAgfSkuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnbm90IGJvb3QgMScpXG5cbiAgICAgICAgZmlyc3RjaGVjaygpLnRoZW4oKCkgPT4geyAvLyBhdHRlbXB0IDJcbiAgICAgICAgICBzdGFydHdhdGNoKClcbiAgICAgICAgfSkuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdub3QgYm9vdCAyJylcbiAgICAgICAgICB0aHJvdyBFcnJvcignY2FuXFwndCBib290JylcbiAgICAgICAgfSlcblxuICAgICAgfSlcblxuXG5cblxuICAgIH0pXG5cblxuXG4gIH1cblxuXG59Il19