#!/usr/bin/env perl

use warnings;
use strict;

use Getopt::Long;
use File::Find::Rule;
use File::Spec;
use File::Basename 'dirname';
use lib File::Spec->rel2abs( File::Spec->catdir( dirname(__FILE__), File::Spec->updir, 'lib' ) );
use Treex::PML;

use PMLTQ::Suggest::Server;

my $port = 8071;
my $host = 'localhost';
my $prefork = 0;
my @resources_path = ();
GetOptions(
	'--port=i' => \$port,
	'--host=s' => \$host,
	'--prefork=i' => \$prefork,
	'--resources-path=s{,}' => \@resources_path,
	)

my $inputenc = "UTF-8";

start_server();

sub start_server {
  my $server = PMLTQ::Suggest::Server->new($port);
  $server->host($host);
  $server->prefork($prefork);
  for my $res_path (@resources_path) {
    if($res_path && (-d $res_path)){
      my @resources = File::Find::Rule->directory->name('resources')->in( $res_path );
      print STDERR '['.localtime()."] resources: ". join('|',@resources)."\n";
      Treex::PML::SetResourcePaths(@resources);
    }
  }
  $server->run();
}
