File Coverage

lib/PMLTQ/Command/suggest.pm
Criterion Covered Total %
statement 35 35 100.0
branch 2 4 50.0
condition n/a
subroutine 8 8 100.0
pod 0 1 0.0
total 45 48 93.7


line stmt bran cond sub pod time code
1             package PMLTQ::Command::suggest;
2             our $AUTHORITY = 'cpan:MATY';
3             $PMLTQ::Command::suggest::VERSION = '1.1.1';
4             # ABSTRACT: Return query for given nodes
5              
6 1     1   161947 use PMLTQ::Base 'PMLTQ::Command';
  1         3175  
  1         4  
7 1     1   144528 use PMLTQ;
  1         23486  
  1         37  
8 1     1   997 use PMLTQ::Suggest::Utils;
  1         3  
  1         10  
9 1     1   980 use PMLTQ::Suggest;
  1         3  
  1         16  
10 1     1   37 use File::Path qw( make_path );
  1         1  
  1         51  
11 1     1   708 use Getopt::Long qw(GetOptionsFromArray);
  1         8890  
  1         9  
12 1     1   144 use Treex::PML;
  1         2  
  1         316  
13              
14             has usage => sub { shift->extract_usage };
15              
16             my %opts;
17              
18             sub run {
19 8     8 0 52698 my $self = shift;
20 8         27 my @args = @_;
21 8 50       56 GetOptionsFromArray(\@args, \%opts,
22             'nodes|N=s'
23             ) || die "invalid options";
24             Treex::PML::AddResourcePath(
25             PMLTQ->resources_dir,
26             File::Spec->catfile(${FindBin::RealBin},'config'),
27             $ENV{HOME}.'/.tred.d',
28             $self->config->{resources}
29 8         2687 );
30 8 50       839 my @paths = $opts{nodes} ? split(/\|/, $opts{nodes}) : ();
31 8         17 my @positions;
32 8         26 foreach my $p (@paths) {
33 15         55 my ($path, $goto)=PMLTQ::Suggest::Utils::parse_file_suffix($p);
34 15         98 $path = URI->new($path)->canonical->as_string;
35 15         1099 push @positions, [$path,$goto];
36             }
37 8         44 my $pmltq = PMLTQ::Suggest::make_pmltq(
38             \@positions
39             );
40 8         23334 Encode::_utf8_off($pmltq);
41 8         346482 print "$pmltq\n";
42 8         195 return 1;
43             }
44              
45             =head1 SYNOPSIS
46              
47             pmltq suggest [--resources="path to resources directory"] --nodes "FILE2#NODE_ID1|FILE2#NODE_ID2|..."
48              
49             =head1 DESCRIPTION
50              
51             Return query for given nodes. It works on local PML files.
52              
53             =head1 OPTIONS
54              
55             =head1 PARAMS
56              
57             =over 5
58              
59             =item B
60              
61             Path to configuration file. If a treebank_config is --, config is readed from STDIN.
62              
63             =back
64              
65             =cut
66              
67             1;