Skip to content

Commit

Permalink
Added arg checking on client side (proper number of args).
Browse files Browse the repository at this point in the history
Added clear command.
Added basic div manipulation.
  • Loading branch information
jwill committed Apr 28, 2012
1 parent 6fdc16b commit 2116e78
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 14 deletions.
88 changes: 77 additions & 11 deletions server/public/Terminal.dart
@@ -1,3 +1,5 @@

//
class Terminal {

final cmdLineContainer;
Expand All @@ -17,8 +19,7 @@ class Terminal {
'help': helpCommand,
'auth': authCommand,
'info': infoCommand,
'time': timeCommand,
'quit': quitCommand,
'clear': clearCommand
};

var history = [];
Expand Down Expand Up @@ -98,7 +99,7 @@ class Terminal {
cmdline.trim();
args = cmdline.split(' ');
cmd = args[0].toLowerCase();
args = args.removeRange(0, 1);
args.removeRange(0, 1);
}

if (CMDS[cmd] is Function) {
Expand All @@ -112,13 +113,78 @@ class Terminal {
}, false);
}
// Redis Commands
getCommand(var cmd, var args) {}
setCommand(var cmd, var args) {}
getSetCommand(var cmd, var args) {}
authCommand(var cmd, var args) {}
infoCommand(var cmd, var args) {}
timeCommand(var cmd, var args) {}
quitCommand(var cmd, var args) {}
getCommand(var cmd, var args) {
if (args.length != 1) {
var text = "<div><span>ERR wrong number of arguments for 'get' command</span></div>";
outputText(text);
} else {

}
}
setCommand(var cmd, var args) {
if (args.length != 2) {
var text = "<div><span>ERR wrong number of arguments for 'set' command</span></div>";
outputText(text);
} else {
Map a = new Map();
a['cmd'] ='set';
a['args'] = args;
JsonObject o = new JsonObject.fromMap(a);

// send stuff

StringBuffer sb = new StringBuffer();
sb.add('<span>');
sb.add('OK');
sb.add('</span>');

outputText(sb.toString());
}
}

outputText(String text) {
output.insertAdjacentElement('beforeEnd', new Element.html(text));
}

getSetCommand(var cmd, var args) {
if (args.length != 2) {
var text = "<div><span>ERR wrong number of arguments for 'getset' command</span></div>";
outputText(text);
} else {
Map a = new Map();
a['cmd'] ='set';
a['args'] = args;
JsonObject o = new JsonObject.fromMap(a);

// send stuff

// Return value
StringBuffer sb = new StringBuffer();


outputText(sb.toString());
}
}
authCommand(var cmd, var args) {
if (args.length != 1) {
var text = "<div><span>ERR wrong number of arguments for 'auth' command</span></div>";
outputText(text);
} else {

}
}
infoCommand(var cmd, var args) {
if (args.length != 0) {
var text = "<div><span>ERR wrong number of arguments for 'info' command</span></div>";
outputText(text);
} else {

}
}

clearCommand(var cmd, var args) {
output.innerHTML = '';
}

helpCommand(var cmd, var args) {
StringBuffer sb = new StringBuffer();
Expand All @@ -127,6 +193,6 @@ class Terminal {
sb.add('${k}<br/>');
});
sb.add('</div>');
output.insertAdjacentHTML('beforeEnd', sb.toString());
outputText(sb.toString());
}
}
4 changes: 4 additions & 0 deletions server/public/TerminalRedis.dart
@@ -1,8 +1,12 @@
#import('dart:core');
#import('dart:html');
#import("dart:json");

//#import('dart:dom', prefix:"dom");
//#import('dart:htmlimpl', prefix:"htmlimpl");
#source('../../third_party/dartwatch-JsonObject/JsonObject.dart');
#source('Terminal.dart');

// #source('Commands.dart');
class TerminalRedis {

Expand Down
2 changes: 1 addition & 1 deletion server/public/TerminalRedis.html
Expand Up @@ -34,7 +34,7 @@
margin: 0;
}
body {
font-size: 12px;
font-size: 16px;
font-family: Inconsolata, monospace;
color: white;
background-color: black;
Expand Down
2 changes: 0 additions & 2 deletions third_party/dartwatch-JsonObject/JsonObject.dart
Expand Up @@ -4,8 +4,6 @@
// http://github.com/chrisbu/dartwatch-JsonObject


#library("JsonObject");
#import("dart:json");

///JsonObject allows .property name access to JSON by using
///noSuchMethod.
Expand Down

0 comments on commit 2116e78

Please sign in to comment.