xisofs

 view release on metacpan or  search on metacpan

xisofs.pl  view on Meta::CPAN

	system("mv $filename $filename.orig") if (-r $filename);

	open(OUT,">$filename");

	while (($key,$val) = each %entryField)
	{
		if (length($dataField{$key}) > $lengthField{$key})
		{
			dlg::error($mw,"The $key field has a maximum length of $lengthField{$key} characters",'Error');
			return;
		}
	}

	print OUT "APPI=",$dataField{'application'},"\n" 
		if (length($dataField{'application'}) > 0);
	print OUT "COPY=",$dataField{'copyright'},"\n" 
		if (length($dataField{'copyright'}) > 0);
	print OUT "PUBL=",$dataField{'publisher'},"\n" 
		if (length($dataField{'publisher'}) > 0);
	print OUT "PREP=",$dataField{'preparer'},"\n" 
		if (length($dataField{'preparer'}) > 0);
	print OUT "VOLI=",$dataField{'volumeid'},"\n" 
		if (length($dataField{'volumeid'}) > 0);
	print OUT "ABST=",$dataField{'abstract'},"\n" 
		if (length($dataField{'abstract'}) > 0);
	print OUT "BIBL=",$dataField{'bibliographic'},"\n" 
		if (length($dataField{'bibliographic'}) > 0);
	print OUT "SYSI=",$dataField{'systemid'},"\n" 
		if (length($dataField{'systemid'}) > 0);
	print OUT "VOLS=",$dataField{'volumeset'},"\n" 
		if (length($dataField{'volumeset'}) > 0);

	close(OUT);

	status::status_window(1,'Building ISO9660 Image');
	status::status_window(3,"Command Line: $cmdline\n");
	status::runCommand($cmdline);

	unlink($filename);
	system("mv $filename.orig $filename") if (-r "$filename.orig");

	dlg::error($mw,'Build Finished','Information');
	status::status_window(4);
}

#------------------------------------
# get the current .mkisofsrc filename
#------------------------------------

sub get_mkisofsrc_filename
{
	my ($name,$passwd,$uid,$gid,$quota,$comment,$gcos,$dir);
	my ($cmd) = @_;

	if (length($ENV{'HOME'}) > 0)
	{
		$dir = $ENV{'HOME'};
	}
	else
	{
		($name,$passwd,$uid,$gid,$quota,$comment,$gcos,$dir) = getpwuid($>);
	}
	my $filename = '';

	$dir = '' if ($dir eq '/');

	if (-r '.mkisofsrc')
	{
		$filename = '.mkisofsrc';
	}
	else
	{
		if (-r "$dir/.mkisofsrc")
		{
			$filename = "$dir/.mkisofsrc";
		}
		else
		{
			chomp(my $which = `which mkisofs`);
			if (substr($which,0,1) eq '/')
			{
				my @tmp = split('/',$which);
				$tmp[$#tmp] = '.mkisofsrc';
				$filename = join('/',@tmp);

			}
			
			if ($cmd eq 'new')
			{
				return "$dir/.mkisofsrc" unless (-r $filename);
			}
			else
			{
				return unless (-r $filename);
			}
		}
	}

	return $filename;
}

#---------------------------------
# Read the current .mkisofsrc file
#---------------------------------

sub read_mkisofsrc
{
	my ($appi,$copy,$abst,$bibl,$prep,$publ,$sysi,$vols);
	my $filename;

	return unless ($filename = get_mkisofsrc_filename());
	
	open(IN,$filename);
	while(<IN>)
	{
		chomp;
		study;

		next if ((/^#/)||(length($_) == 0));

		($dataField{'application'}) = /APPI\s*=\s*(.*)/ if (/APPI\s*=\s*(.*)/);



( run in 0.459 second using v1.01-cache-2.11-cpan-5511b514fd6 )