Changeset 946

Show
Ignore:
Timestamp:
10/10/07 20:39:32 (6 years ago)
Author:
max
Message:

shepherd: implement storing of default cmd line options via --component-set in shepherd.conf, rather than requiring support in individual components. This means that default parameters of any type can now be set for any component.

Closes #62.

Location:
trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/applications/shepherd

    r932 r946  
    22 
    33my $progname = 'shepherd'; 
    4 my $version = '1.2.24'; 
     4my $version = '1.2.25'; 
    55 
    66# tv_grab_au 
     
    13661366    $display_output = 1 if (!defined $display_output); 
    13671367    $progtype = $components->{$component}->{type} unless ($progtype); 
     1368    if ($components->{$component}->{default_cmdline}) 
     1369    { 
     1370        my $parameters = $components->{$component}->{default_cmdline}; 
     1371        $parameters =~ s/:/ /g; 
     1372        $prog .= " $parameters"; 
     1373    } 
    13681374 
    13691375    my $prog_output = ""; 
     
    18171823    my $arg = join(":",@args); 
    18181824 
    1819     if ($component eq $progname) { 
    1820         if ((!defined $arg) || ($arg eq "")) { 
    1821             delete $components->{$progname}->{default_cmdline}; 
    1822             &log("\ncleared default options for $progname\n"); 
    1823         } else { 
    1824             $components->{$progname}->{default_cmdline} = "--".join(":--",@args); 
    1825             &log("\nset default options for $progname to: ".$components->{$progname}->{default_cmdline}."\n"); 
    1826         } 
    1827         write_config_file(); 
    1828         return; 
    1829     } 
    1830  
    18311825    if ((!defined $arg) || ($arg eq "")) { 
    1832         &log("\nNothing to set: you need to use this as --component-set (component):(settings)\n"); 
    1833         return; 
    1834     } 
    1835  
    1836     my $opt_set = query_config($component, 'option_set'); 
    1837     if (!defined $opt_set) { 
    1838         &log("\nComponent $component does not have any tunable parameters.\n"); 
    1839         return; 
    1840     } 
    1841  
    1842     my ($result,$resultmsg,$test_output) = call_prog($component,query_filename($component,$components->{$component}->{type})." $opt_set $arg"." 2>&1",1,1,1); 
     1826        delete $components->{$component}->{default_cmdline}; 
     1827        &log("\nCleared default options for $component.\n"); 
     1828    } else { 
     1829        $components->{$component}->{default_cmdline} = "--".join(":--",@args); 
     1830        &log("\nSet default options for $component to: --".join(" --",@args)."\n"); 
     1831    } 
     1832    &write_config_file; 
    18431833} 
    18441834 
  • trunk/grabbers/abc_website.conf

    r790 r946  
    66            'regions' => '', 
    77            'option_ready' => '--version', 
    8             'option_set' => '--set', 
    98            'desc' => 'guide data for ABC only from http://www.abc.net.au/tv/guide/netw/', 
    109            'max_days' => '14', 
  • trunk/status

    r945 r946  
    1 application     shepherd            1.2.24 
     1application     shepherd            1.2.25 
    22reference       channel_list        6 
    33reference       Shepherd/Common.pm  0.28 
     
    55grabber         yahoo7widget        1.92 
    66grabber         rex                 3.6.1 
    7 grabber         abc_website         3.14 
     7grabber         abc_website         3.14-r1 
    88grabber         sbsnews_website     0.18 
    99grabber         oztivo              1.14