~nairboon/anarchnet/parannus

« back to all changes in this revision

Viewing changes to lib/ppm.js

  • Committer: nairboon
  • Date: 2012-04-01 16:15:18 UTC
  • Revision ID: git-v1:ccc09284d33f0476aa8bd4e17be9b2ae79e83f12
cleanup

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
        
9
9
        var util = require('./util.js');
10
10
 
11
 
var PPM = function() {
12
 
                
13
 
};
 
11
var PPM = function() {};
14
12
 
15
13
PPM.prototype = {
16
14
        appcacheLoad: function(id,repoid,cb) {
17
15
                console.log("appcache: ", id, repoid);
18
 
        
19
 
                /*db.get(repoid, function(err,res) {
20
 
                                if(err || !res) {
21
 
                                        console.log("user repo not found! creating one...");
22
 
                                        /*
23
 
                                        var r = new Repository();
24
 
                                        r.sources.push(config.defaultmaster);
25
 
                                        r.save();
26
 
                                        session.user.repo = r._id;
27
 
                                        console.log("new repo id: "+ r._id);
28
 
                                        User.findOne({'_id': ObjectId(session.user.id)}, function(err,res) {
29
 
                                                if(err || !res) 
30
 
                                                        throw new Error("user not found: "+ session.user.id);
31
 
                                                res.repo = r._id;
32
 
                                                res.save();
33
 
                                                return cb(new Error('created new repo'),r);
34
 
                                        });*/
35
 
                                        /*return cb(new Error("creating user repo??"));
36
 
                                } 
37
 
                                else {*/
38
16
                                        db.get(util.ids.appcache(id),  function(err,acres) {
39
17
                                                if(err || !acres) {
40
18
                                                        console.log("App not in cache or outdated");
51
29
                
52
30
        },
53
31
updateRepo: function(repoid,cb) {
54
 
                // load "master list"
55
 
                //console.log("update ", id);
56
 
 
57
 
//var update = function(id,cb) {
58
32
        console.log("actual update");
59
33
                db.get(repoid, function(err,repo) {
60
34
                        if(err || !repo) 
68
42
                                        return cb(new Error("Master list not found"));
69
43
                                
70
44
                                var q = async.queue(function (task, callback) {
71
 
                                    console.log('loading ' + task.name);
 
45
                                    console.log('update.repo.loading ' + task.name);
72
46
                                        db.get(task.info,function(err,appinfo) {
73
47
                                                if(err || !appinfo) 
74
48
                                                        return cb(err);
75
 
                                                console.log(appinfo);
 
49
                                                
76
50
                                                var pack = {};
77
51
                                                pack.name = appinfo.name;
 
52
                                                pack.info =task.info;
78
53
                                                pack.version = appinfo.version;
79
54
                                                if(appinfo.html)
80
55
                                                        pack.html = appinfo.html;
82
57
                                                 pack.resources = appinfo.resources;
83
58
                                                pack.revid = repo.revid;
84
59
                                                pack.repo = repoid;
 
60
                                                pack.dependencies = appinfo.dependencies;
85
61
                                                pack.code = "";
 
62
                                                
86
63
                                                /* load code */
87
64
                                                var cq = async.queue(function (ctask, ccallback) {
88
65
                                                        // loading all code entries
97
74
                                                                ccallback();
98
75
                                                        });
99
76
                                                },1);
 
77
                                                if(!appinfo.code instanceof Object)
 
78
                                                        throw new Error("appinfo.code != Object");
100
79
                                                console.log(appinfo.code);
101
80
                                                Object.keys(appinfo.code).forEach(function(item) {
102
81
                                                        console.log("(apps) add",item);
145
124
                                                };
146
125
                                                cq.drain = function() {
147
126
                                                    console.log('programm code processed',pack);
148
 
                                                        
149
 
                                                        if(appinfo.dependencies) {
150
 
                                                                /*var dq = async.queue(function (item, dcallback) {
151
 
                                                                        console.log("new dependency: ",item);
152
 
                                                                        var dep = new Dependency();
153
 
                                                                        dep.name = item;
154
 
                                                                        dep.version = appinfo.dependencies[item];
155
 
                                                                        dep.save(function(err) {
156
 
                                                                                if(err)
157
 
                                                                                        throw err;
158
 
                                                                                pack.depends.push(dep);
159
 
                                                                                dcallback();
160
 
                                                                        });
161
 
                                                                
162
 
                                                                },1);
163
 
                                                        Object.keys(appinfo.dependencies).forEach(function(item) {
164
 
                                                                dq.push(item);
165
 
                                                        });
166
 
                                                        dq.drain = function(){
167
 
                                                        savePack(callback);
168
 
                                                                //loadResources(function(){savePack(callback)});
169
 
                                                        };*/
170
 
                                                        pack.depends = appinfo.dependencies;
171
 
                                                        loadResources(function(){savePack(callback)});
172
 
                                                        }
173
 
                                                        else
174
 
                                                                //savePack(callback);
175
127
                                                                loadResources(function(){savePack(callback)});
176
128
                                                };
177
129
                                        });