Netrc.js
[gitlive] / Netrc.js
1 const GLib = imports.gi.GLib;
2
3 const File  = imports['../File.js'].File;
4
5
6 Netrc = {
7     
8     data = {},
9     
10     load : function()
11     {
12         
13         var netrc = File.read(GLib.get_home_dir() + "/.netrc");
14         var authdata = {};
15         netrc.split("\n").forEach(function(nl) {
16             var line = {};
17             var k = false
18              
19             nl.replace(/\s+$/,'').replace(/^\s+/,'').split(/\s+/).forEach(function(kv) {
20               
21                 if (!k) {
22                     k = kv;
23                     return
24                 }
25                 line[k] = kv
26                 k = false;
27            });
28                
29            authdata[line.machine] = line;
30             
31         });
32         this.data = authdata;
33          
34     },
35     
36     forhost: function(name)
37     {
38         return this.data[name];
39     }
40     
41     
42 }