Skip to content

Commit

Permalink
Switch to model-based logic complete. TODO: Wait on state/initial mon…
Browse files Browse the repository at this point in the history
…th to be established before launching server. Binding model events
  • Loading branch information
jepickup committed Nov 2, 2011
1 parent 7d1118d commit 9574cc2
Show file tree
Hide file tree
Showing 10 changed files with 129 additions and 170 deletions.
4 changes: 2 additions & 2 deletions aggregate_dummy.sql
@@ -1,4 +1,4 @@
USE bandwidth_data;
DELETE FROM bandwidth_hours WHERE 1;
INSERT INTO bandwidth_hours (date, hour, ip, bytes) VALUES ( DATE( DATE_SUB( NOW(), INTERVAL 3 HOUR)), HOUR(SUBTIME(NOW(), '0 3:0:0')), "1.1.1.4", 256000 );
INSERT INTO bandwidth_hours (date, hour, ip, bytes) VALUES ( DATE( DATE_SUB( NOW(), INTERVAL 3 HOUR)), HOUR(SUBTIME(NOW(), '0 3:0:0')), "1.1.1.7", 256000 );
INSERT INTO bandwidth_hours (date, hour, ip, bytes) VALUES ( DATE( DATE_SUB( NOW(), INTERVAL 1 HOUR)), HOUR(SUBTIME(NOW(), '0 1:0:0')), "1.1.1.4", 256000 );
INSERT INTO bandwidth_hours (date, hour, ip, bytes) VALUES ( DATE( DATE_SUB( NOW(), INTERVAL 1 HOUR)), HOUR(SUBTIME(NOW(), '0 1:0:0')), "1.1.1.7", 256000 );
24 changes: 13 additions & 11 deletions lib/dashorm.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

54 changes: 9 additions & 45 deletions lib/hwstate.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

63 changes: 35 additions & 28 deletions public/scripts/models.js
Expand Up @@ -43,7 +43,7 @@
return this.devices = new models.Allowances();
},
updateHousehold: function(usage, allowance) {
var new_usage;
var current_usage, household_data, total_usage;
if (usage == null) {
usage = 0;
}
Expand All @@ -52,48 +52,56 @@
}
usage = parseInt(usage);
allowance = parseInt(allowance);
new_usage = parseInt(this.household.get("usage") || 0) + usage;
return this.household.set({
usage: new_usage,
allowance: allowance
});
current_usage = parseInt(this.household.get("usage"));
total_usage = current_usage + usage;
household_data = {
usage: total_usage
};
if (allowance > 0) {
household_data['allowance'] = allowance;
}
return this.household.set(household_data);
},
updateDevice: function(ip, usage, allowance, user) {
var device_data, new_usage;
updateDevice: function(ip, usage, allowance, name, user) {
var device_data, device_exists, new_usage;
if (usage == null) {
usage = 0;
}
if (allowance == null) {
allowance = 0;
}
if (name == null) {
name = void 0;
}
if (user == null) {
user = void 0;
}
usage = parseInt(usage);
allowance = parseInt(allowance);
console.log("Adding device " + ip + ", usage: " + usage + ", allowance: " + allowance + ", user: " + user);
new_usage = (parseInt(this.devices.get(ip) ? this.devices.get(ip).get("usage") : false) || 0) + usage;
device_exists = this.devices.get(ip) != null;
new_usage = parseInt((device_exists ? this.devices.get(ip).get("usage") : false) || 0) + usage;
device_data = {
id: ip,
usage: new_usage,
allowance: allowance
usage: new_usage
};
if (allowance > 0) {
device_data['allowance'] = allowance;
}
if (name != null) {
device_data['name'] = name;
}
if (user != null) {
device_data['user'] = user;
} else {
user = device_exists ? this.devices.get(ip).get("user") || void 0 : void 0;
}
if (this.devices.get(ip) != null) {
console.log("Device exists, setting");
this.devices.get(ip).set(device_data);
if (user != null) {
this.updateUser(user, usage);
}
} else {
console.log("Device doesn't exist, creating");
this.devices.add(new models.Allowance(device_data));
console.log(this.devices.get(ip));
if (user != null) {
this.updateUser(user, usage, allowance);
}
}
if (user != null) {
this.updateUser(user, usage, allowance);
}
return this.updateHousehold(usage);
},
Expand All @@ -107,19 +115,18 @@
}
usage = parseInt(usage);
allowance = parseInt(allowance);
console.log("Adding user " + name + ", usage: " + usage + ", allowance: " + allowance);
new_usage = parseInt(this.users.get(name).get("usage") || 0) + usage;
new_allowance = parseInt(this.users.get(name).get("allowance") || 0) + allowance;
new_usage = parseInt((this.users.get(name) ? this.users.get(name).get("usage") : false) || 0) + usage;
new_allowance = parseInt((this.users.get(name) ? this.users.get(name).get("allowance") : false) || 0) + allowance;
user_data = {
id: name,
usage: new_usage,
allowance: new_allowance
usage: new_usage
};
if (allowance > 0) {
user_data['allowance'] = new_allowance;
}
if (this.users.get(name) != null) {
console.log("User exists, setting");
return this.users.get(name).set(user_data);
} else {
console.log("User doesn't exist, creating");
return this.users.add(new models.Allowance(user_data));
}
}
Expand Down
7 changes: 7 additions & 0 deletions public/scripts/views.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion public/views/allowances.ejs
Expand Up @@ -23,7 +23,9 @@
</div>
{{#each devices}}
<div class="dashboard_user dashboard_left">
<div class="dashboard_user_text">{{this.id}}</div>
<div class="dashboard_user_text">
{{deviceIdentifier this}}
</div>
</div>
{{/each}}
</div>
Expand Down

0 comments on commit 9574cc2

Please sign in to comment.