<commit_before>// Requires
var Q = require('q');
var _ = require('underscore');
var uuid = require('uuid');

var User = require('./user').User;

var qfail = require('../utils').qfail;


function Workspace(options, events) {
    options = _.defaults({}, options, {
        'id': uuid.v4(),
        'secret': uuid.v4(),
        'name': 'codebox',
        'public': true,
        'root': "./",
        'maxUsers': 100
    });

    // Public ID of workspace (ok to share)
    this.id = options.id;

    // Secret token used for securing cookies, sessions ...
    this.secret = options.secret;

    // Name
    this.name = options.name;

    // Public
    this.public = options.public;

    // Base folder
    this.root = options.root;

    // Mapping of users
    this._users = {};
    this.maxUsers = options.maxUsers;
    console.log("limit users", this.maxUsers);

    // Last modification
    this.mtime = null;

    // Events emitter
    this.events = events;

    // Users check interval
    this.usersInterval = setInterval(_.bind(this.checkUsers, this), 5*60*1000); // 5 minutes

    _.bindAll(this);<commit_msg>Remove useless logs<commit_after>// Requires
var Q = require('q');
var _ = require('underscore');
var uuid = require('uuid');

var User = require('./user').User;

var qfail = require('../utils').qfail;


function Workspace(options, events) {
    options = _.defaults({}, options, {
        'id': uuid.v4(),
        'secret': uuid.v4(),
        'name': 'codebox',
        'public': true,
        'root': "./",
        'maxUsers': 100
    });

    // Public ID of workspace (ok to share)
    this.id = options.id;

    // Secret token used for securing cookies, sessions ...
    this.secret = options.secret;

    // Name
    this.name = options.name;

    // Public
    this.public = options.public;

    // Base folder
    this.root = options.root;

    // Mapping of users
    this._users = {};
    this.maxUsers = options.maxUsers;

    // Last modification
    this.mtime = null;

    // Events emitter
    this.events = events;

    // Users check interval
    this.usersInterval = setInterval(_.bind(this.checkUsers, this), 5*60*1000); // 5 minutes

    _.bindAll(this);
{'fraction_non_alphanumeric': 0.15883158375171155, 'fraction_numerical': 0.011866727521679598, 'mean_word_length': 2.3313069908814588, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1042056', 'n_tokens_mistral': 701, 'n_tokens_neox': 662, 'n_words': 174}