]> mj.ucw.cz Git - moe.git/blobdiff - submit/MO/Submit.pm
Added the show-submits utility.
[moe.git] / submit / MO / Submit.pm
index 3491d81c7f1cea4c88aa701e4bc1ce99d8098d77..4497eef41ea391637633141bc167cfcc2c473f07 100644 (file)
@@ -9,19 +9,28 @@ use warnings;
 use IO::Socket::INET;
 use IO::Socket::SSL; # qw(debug3);
 use Sherlock::Object;
+use POSIX;
 
 sub new($) {
+       my $user = $ENV{"USER"} or die "Environment variable USER not set\n";
+       my $home = $ENV{"HOME"} or die "Environment variable HOME not set\n";
+       my $mo = "$home/.mo";
+       my $root = $ENV{"MO_ROOT"} or die "Environment variable MO_ROOT not set\n";
        my $self = {
-               "Server" => "localhost:8888",
-               "Key" => "client-key.pem",
-               "Cert" => "client-cert.pem",
-               "CACert" => "ca-cert.pem",
-               "Trace" => 0,
-               "user" => "testuser",
+               "Contest" => "CPSPC 2007",
+               "Server" => "kamzice.ms.mff.cuni.cz:8888",
+               "Key" => "$mo/key.pem",         # Keys and certificates
+               "Cert" => "$mo/cert.pem",
+               "CACert" => "$mo/ca-cert.pem",
+               "Trace" => defined $ENV{"MO_SUBMIT_TRACE"},
+               "Checks" => 1,
+#              "History" => "$home/.history",  # Keep submission history in this directory
+               "RefreshTimer" => 60000,        # How often GUI sends STATUS commands [ms]
+               "root" => $root,
+               "user" => $user,
                "sk" => undef,
                "error" => undef,
        };
-       # FIXME: Read config file
        return bless $self;
 }
 
@@ -32,7 +41,7 @@ sub DESTROY($) {
 
 sub log($$) {
        my ($self, $msg) = @_;
-       print STDERR "LOG: $msg\n" if $self->{"Trace"};
+       print STDERR "SUBMIT: $msg\n" if $self->{"Trace"};
 }
 
 sub err($$) {
@@ -86,9 +95,9 @@ sub connect($) {
                        $sk,
                        SSL_version => 'TLSv1',
                        SSL_use_cert => 1,
-                       SSL_key_file => "client-key.pem",
-                       SSL_cert_file => "client-cert.pem",
-                       SSL_ca_file => "ca-cert.pem",
+                       SSL_key_file => $self->{"Key"},
+                       SSL_cert_file => $self->{"Cert"},
+                       SSL_ca_file => $self->{"CACert"},
                        SSL_verify_mode => 3,
                );
                if (!defined $sk) {
@@ -155,4 +164,11 @@ sub send_file($$$) {
        return $self->reply;
 }
 
+sub local_submit($$$$$) {
+       my ($self, $task, $part, $ext, $filename) = @_;
+       my $hist = $self->{"History"};
+       -d $hist or mkdir $hist or return "Unable to create $hist: $!";
+       ### FIXME: Unfinished
+}
+
 1;