#! /usr/bin/perl -w

use strict;
use Getopt::Long;
use YaST::YCP;
YaST::YCP::Import ("Product");

my $product     = 0;
my $version     = 0;
my $vendor      = 0;
my $dist        = 0;
my $distproduct = 0;
my $distversion = 0;
my $baseproduct = 0;
my $baseversion = 0;
my $all         = 0;
my $strip       = 0;
my $help        = 0;

my $outputWritten = 0;

sub usage 
{
    print "usage: suse_release <options>\n";
    print "       \n";
    print "       Options:\n";
    print "       --product\n";
    print "       --version\n";
    print "       --vendor\n";
    print "       --dist\n";
    print "       --distproduct\n";
    print "       --distversion\n";
    print "       --baseproduct\n";
    print "       --baseversion\n";
    print "       --all   -a\n";
    print "       --strip -s\n";
    print "       --help  -h\n";
    
    exit 1;
}

sub printString 
{
    my $string = shift || "";
    my $prefix = shift || "";
    
    if($strip) 
    {
        print "$string\n";
    }
    else
    {
        print "$prefix: $string\n";
    }
    $outputWritten = 1;
}


my $result = GetOptions ("product"     => \$product,
                         "version"     => \$version,
                         "vendor"      => \$vendor,
                         "dist"        => \$dist,
                         "distproduct" => \$distproduct,
                         "distversion" => \$distversion,
                         "baseproduct" => \$baseproduct,
                         "baseversion" => \$baseversion,
                         "all|a"       => \$all,
                         "strip|s"     => \$strip,
                         "help|h"      => \$help
                        );

if ($help) 
{
    usage();
}

if($product || $all) 
{
    printString(Product->name, "Product");
}
if($version || $all)
{
    printString(Product->version , "Version");
}
if($vendor || $all)
{
    printString(Product->vendor , "Vendor");
}
if($dist || $all)
{
    printString(Product->dist , "Dist");
}
if($distproduct || $all)
{
    printString(Product->distproduct , "Distproduct");
}
if($distversion || $all)
{
    printString(Product->distversion , "Distversion");
}
if($baseproduct || $all)
{
    printString(Product->baseproduct , "Baseproduct");
}
if($baseversion || $all)
{
    printString(Product->baseversion , "Baseversion");
}

if(!$outputWritten) 
{
    usage();
}

exit 0;


