Added network export function
This commit is contained in:
parent
1b476bfefd
commit
81401cec0f
@ -120,9 +120,9 @@ Client.prototype.connect = function(args) {
|
|||||||
var config = Helper.getConfig();
|
var config = Helper.getConfig();
|
||||||
var client = this;
|
var client = this;
|
||||||
var server = {
|
var server = {
|
||||||
|
name: args.name || "",
|
||||||
host: args.host || "irc.freenode.org",
|
host: args.host || "irc.freenode.org",
|
||||||
port: args.port || (args.tls ? 6697 : 6667),
|
port: args.port || (args.tls ? 6697 : 6667),
|
||||||
name: args.name || "",
|
|
||||||
rejectUnauthorized: false
|
rejectUnauthorized: false
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -164,11 +164,17 @@ Client.prototype.connect = function(args) {
|
|||||||
irc.user(username, realname);
|
irc.user(username, realname);
|
||||||
|
|
||||||
var network = new Network({
|
var network = new Network({
|
||||||
host: server.host,
|
|
||||||
name: server.name,
|
name: server.name,
|
||||||
irc: irc
|
host: server.host,
|
||||||
|
port: server.port,
|
||||||
|
tls: args.tls,
|
||||||
|
password: args.password,
|
||||||
|
username: username,
|
||||||
|
realname: realname,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
network.irc = irc;
|
||||||
|
|
||||||
client.networks.push(network);
|
client.networks.push(network);
|
||||||
client.emit("network", {
|
client.emit("network", {
|
||||||
network: network
|
network: network
|
||||||
@ -312,3 +318,7 @@ Client.prototype.quit = function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Client.prototype.save = function() {
|
||||||
|
var networks = _.map(this.networks, function(n) { return n.export(); });
|
||||||
|
};
|
||||||
|
@ -7,9 +7,15 @@ var id = 0;
|
|||||||
|
|
||||||
function Network(attr) {
|
function Network(attr) {
|
||||||
_.merge(this, _.extend({
|
_.merge(this, _.extend({
|
||||||
|
name: "",
|
||||||
|
host: "",
|
||||||
|
port: 6667,
|
||||||
|
tls: false,
|
||||||
|
password: "",
|
||||||
|
username: "",
|
||||||
|
realname: "",
|
||||||
channels: [],
|
channels: [],
|
||||||
connected: false,
|
connected: false,
|
||||||
host: "",
|
|
||||||
id: id++,
|
id: id++,
|
||||||
irc: null,
|
irc: null,
|
||||||
}, attr));
|
}, attr));
|
||||||
@ -21,7 +27,20 @@ function Network(attr) {
|
|||||||
|
|
||||||
Network.prototype.toJSON = function() {
|
Network.prototype.toJSON = function() {
|
||||||
var json = _.extend(this, {nick: (this.irc || {}).me || ""});
|
var json = _.extend(this, {nick: (this.irc || {}).me || ""});
|
||||||
return _.omit(json, "irc");
|
return _.omit(json, "irc", "password");
|
||||||
|
};
|
||||||
|
|
||||||
|
Network.prototype.export = function() {
|
||||||
|
var network = _.pick(
|
||||||
|
this,
|
||||||
|
["name", "host", "port", "tls", "password", "username", "realname"]
|
||||||
|
);
|
||||||
|
network.nick = (this.irc || {}).me;
|
||||||
|
network.join = _.pluck(
|
||||||
|
_.where(this.channels, {type: "channel"}),
|
||||||
|
"name"
|
||||||
|
);
|
||||||
|
return network;
|
||||||
};
|
};
|
||||||
|
|
||||||
function prettify(host) {
|
function prettify(host) {
|
||||||
|
Loading…
Reference in New Issue
Block a user