mirror of
				https://github.com/reality/dbot.git
				synced 2025-11-04 05:47:40 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			81 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/**
 | 
						|
 * Module Name: Project
 | 
						|
 * Description: Web page which shows git status and other various stats about
 | 
						|
 * the dbot.
 | 
						|
 */
 | 
						|
 | 
						|
_ = require('underscore'),
 | 
						|
  exec = require('child_process').exec;
 | 
						|
 | 
						|
var project = function(dbot) {
 | 
						|
 | 
						|
    this.api = {
 | 
						|
        'configList' : function(callback){
 | 
						|
            var list = [];
 | 
						|
            if(_.has(dbot.modules,'dent')){
 | 
						|
                 list.push(dbot.t("dent-account", {
 | 
						|
                    "username": dbot.config.modules.dent.username
 | 
						|
                }));
 | 
						|
                if(_.has(dbot.config.modules.dent.dentQuotes)) {
 | 
						|
                    list.push(dbot.t("dent-push"));
 | 
						|
                }
 | 
						|
            }
 | 
						|
            if(_.has(dbot.modules,'link')){
 | 
						|
                if(dbot.config.modules.link.autoTitle){
 | 
						|
                    list.push(dbot.t("link-autotitle"));
 | 
						|
                }
 | 
						|
            }
 | 
						|
            if(_.has(dbot.modules,'quotes')){
 | 
						|
                list.push(dbot.t("quote-rmlimit", {
 | 
						|
                    "limit": dbot.config.modules.quotes.rmLimit
 | 
						|
                }));
 | 
						|
            }
 | 
						|
            if(_.has(dbot.modules,'report')){
 | 
						|
                if(dbot.config.modules.report.notifyVoice){
 | 
						|
                    list.push(dbot.t("report-notifyvoice"));
 | 
						|
                }
 | 
						|
            } 
 | 
						|
            if(_.has(dbot.modules,'web')){
 | 
						|
                list.push(dbot.t("web-port", {
 | 
						|
                    "port": dbot.config.modules.web.webPort
 | 
						|
                }));
 | 
						|
            }
 | 
						|
            return list;
 | 
						|
        },
 | 
						|
        'translationProgress' : function(callback){
 | 
						|
            var translation = [] ;
 | 
						|
            var str = _.filter(dbot.strings, function(strings, key) {
 | 
						|
                return _.include(this.config.string_exceptions, key) != true;
 | 
						|
            }, this);
 | 
						|
            str = _.values(str);
 | 
						|
            for (var i = 0; i < str.length; i++){
 | 
						|
               var cur = _.keys(str[i]);
 | 
						|
               for (var j = 0; j < cur.length; j++) {
 | 
						|
                   translation = translation.concat(cur[j]);
 | 
						|
               }
 | 
						|
            }
 | 
						|
            var t = {};
 | 
						|
            for (var k = 0; k < translation.length; k++) {
 | 
						|
                var curr = translation[k];
 | 
						|
                if (t[curr]) {
 | 
						|
                    t[curr]["count"] += 1;
 | 
						|
                } else {
 | 
						|
                    t[curr] = {};
 | 
						|
                    t[curr]["iso"] = curr;
 | 
						|
                    t[curr]["count"] = 1;
 | 
						|
                    t[curr]["own"] = dbot.strings[curr][curr];
 | 
						|
                    t[curr]["local"] = dbot.t(curr);
 | 
						|
                    t[curr]["english"] = dbot.strings[curr]["en"];
 | 
						|
                }
 | 
						|
            }
 | 
						|
            console.log(t);
 | 
						|
            return t;
 | 
						|
        }
 | 
						|
    };   
 | 
						|
    this.api['translationProgress'].external = true;
 | 
						|
};        
 | 
						|
 | 
						|
exports.fetch = function(dbot){
 | 
						|
    return new project(dbot);
 | 
						|
};
 |