internetradio2.0/cenrep/cenrep_keys_syntax_checker.pl
changeset 14 896e9dbc5f19
parent 12 608f67c22514
child 15 065198191975
--- a/internetradio2.0/cenrep/cenrep_keys_syntax_checker.pl	Tue Jul 06 14:07:20 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,286 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-#####################################
-# Run with -h to get help
-######################################
-use strict;
-use lib   ".";
-use Win32::OLE qw(in with);
-use Win32::OLE::Const 'Microsoft Excel';
-use Cwd;
-use Getopt::Long;
-use File::Basename;
-use excel_support;  # Own perl module that contains the reading of memory-sheets
-use cenrep_keys;  # Own perl module that contains the reading of memory-sheets
-
-###########################################################################
-# Function that gets a dir as parameter and reads the list of excel files from the
-# given directory.
-#
-# Params: a directory name
-#
-# Return value: a reference to a list of filenames.
-###########################################################################
-sub getExcelFilesFromDir
-{
-    my $dir = shift;
-    
-    # the given dir should be relative to the dir, where the script is executed.
-    if($dir !~ /^[\\\/]/ && $dir !~ /^[A-Za-z]:/)
-    {
-	$dir =  cwd . "\\$dir"; 
-    }
-    my @files;
-    @files = <$dir\\*.xls >;
-   
-    return \@files;
-}
-
-
-###################################################
-# Function that reads the file names from the given file.
-# THe information is read from Column A and 1st empty row indicates
-# end of input.
-#
-# Params: fileNameRead, refToExcelApp
-###################################################
-sub getExcelFilesFromFile
-{
-    my $file = shift;
-    my $refToExcel = shift;
-    
-    my @fileList;
-    # ----------------------------------------------------------------  
-    # Open the file and get the worksheet
-    # ----------------------------------------------------------------  
-    my $refToWb =  openWorkbook( $file,$refToExcel);
-    my $refToWorkSheet = getWorkSheet( $refToWb,"Info");
-    
-    #------------------------------------------------------------
-    # Read the needed rows from the row, until empty row found
-    #------------------------------------------------------------
-    my $row;
-    for( $row = 1;; $row++ ) 
-    {	         
-	my $fileName = $$refToWorkSheet->Cells( $row, 1  )->{ 'Value' };
-	
-	if(!defined($fileName) || $fileName =~ /^\s*$/)
-	{
-	    last;
-	}
-
-	push(@fileList,$fileName);
-    }
-	
-    return \@fileList;
-}
-
-###########################################################################
-# Main function, 
-###########################################################################
-sub main
-{
-    my $refToExcelFiles = shift;
-    my $refToExcel = shift;
-    my $ignoreWarnings = shift;
-
-    my %reshHash;
-    my $refToWorkSheet;
-    
-    my $errorsFound = 0;
-
-    # Loop through each found excel sheet. This will open one file after each other
-    # and parse information into the hashes defined above.
-    foreach my $file ( @{$refToExcelFiles} ) 
-    {
-	$file =~ /[\\\/]([a-zA-Z0-9\-_\.\s\&]+\.xls)/;
-	print "\n--------------------------------------------\nReading: $1\n";
-
-	my ($name,$path,$suffix) = fileparse($file,qr{\.xls});
-	checkCentrepKeySheetName("$name$suffix");
-	# ----------------------------------------------------------------  
-	# Open the file
-	# ----------------------------------------------------------------  
-	my $refToWb = openWorkbook( $file,$refToExcel);
-	
-	# ----------------------------------------------------------------  
-	# Read the information from the worksheets
-	# ----------------------------------------------------------------
-	for( my $i = 0; $i < $$refToWb->Worksheets->Count; $i++)
-	{
-	    my $workSheet = $$refToWb->WorkSheets($i + 1);
-	    $refToWorkSheet = getWorkSheet( $refToWb,$workSheet->Name);
-	    if(checkCentrepKeyInfo( $refToWorkSheet,$ignoreWarnings))
-	    {
-		$errorsFound = 1;
-	    }
-	}
-	# "delete" the workbooks, this closes the excel application	    
-	$$refToWb->Close(0);
-	undef $$refToWb;
-	undef $refToWb;
-    }
-
-    return $errorsFound;
-}
-
-###########################################################################
-# Shows help.
-#
-# Params: -
-#
-# Return: -
-#
-###########################################################################
-sub usage
-{
-    print "\n";
-    print "\n";
-    print "This script reads all the cenrep keys sheets from the given\n";
-    print "directory and makes a syntax check for them.\n";
-    print "\n";
-    print "Usage:\n";
-    print "  $0 [-h|-help] (-d <cenrepSheetDir> | -f <excelSheetName>) \n";
-    print "\n";
-    print "Options:\n";
-    print "  -h                  : Show this help\n";
-    print "  -help               : Show this help\n";
-    print "  -d <sheetDir>       : relative path from the dir where this script is run\n";
-    print "                        to the directory where the cenrep-sheets exist.\n";
-    print "  -e <excelSheetName> : name of the sheet, that specifies the read excel sheet names in the column A.\n";
-    print "                        No empty rows allowed, reading is stopped, when the 1st empty row is found.\n";	
-    print "                        The sheet name defining the files inside Workbook has to be \"Info\".\n";	
-    print "                        Also no header expected for the column (reading starts from row 1)\n";
-    print "  -w                  : Ignores warning messages\n";
-    print "  -h                  : Show this help\n";
-    print "\n";
-    print "You have specify either -d or -e, but not both at the same time.\n";
-    print "\n";
-    print "Example usage:\n";
-    print "    perl $0  -d cenrep\n"; 
-    print "\n";
-    print "Known issues:\n";
-    print "   - The script will give an error, if directory names in the path contain spaces\n";
-    print "\n";
-    print "\n";
-
-    exit(0);
-}
-###########################################################################
-# Parses the command line parameters from ARGV
-#
-# Params: -
-#
-# Return: -		    
-#
-###########################################################################
-sub parseCmdLine
-{
-    my $dir = "";
-    my $file = "";
-    my $sheetFile = "";
-    my $ignoreWarnings = 0;
-    
-    if( ! GetOptions('d:s'      => \$dir,
-		     's:s'      => \$sheetFile,
-		     'f:s'      => \$file,
-		     'h'        => \&usage,
-		     'w'        => \$ignoreWarnings,
-		     'help'     => \&usage,
-		     '<>'       => \&usage))
-    {
-	exit(1);
-    }
-    
-    if($dir ne "" and $file ne "" )
-    {
-	print "\nError: The file and directory arguments can't be specified at the same time.\n";
-	exit(1);
-    }
-    elsif($dir eq "" and $file eq "" )
-    {
-	usage;
-	print "\n\nError: You have to specify either the  -d or -f argument.\n";
-	exit(1);
-    }
-    
-    
-    return ($dir,$file,$sheetFile,$ignoreWarnings);
-}
-
-
-###################################################
-# Actual program
-###################################################
-my $sheetDir;
-my $file;
-my $sheetFile;
-my $ignoreWarnings;
-
-($sheetDir,$file,$sheetFile,$ignoreWarnings) = parseCmdLine;
-
-# ----------------------------------------------------------------  
-# Get excel application
-# ----------------------------------------------------------------  
-my $refToExcel = getExcelApp();
-
-#-----------------------------------------------------------------
-# There are 2 options how the user can give the if-sheet names handled:
-# 1) He gives the directory where all files are located
-# 2) He gives an excel sheet, which contains all the files in column A.
-#-----------------------------------------------------------------
-my $refToExcelFilesList;
-
-if($sheetFile !~ /^\s*$/)
-{
-    my @list;
-    push(@list,$sheetFile);
-    $refToExcelFilesList =  \@list;
-}
-if($sheetDir !~ /^\s*$/)
-{
-    # Read the filenames from the directory given
-    $refToExcelFilesList = getExcelFilesFromDir $sheetDir;
-}
-else
-{
-    # Read the filenames from the excel file given
-     $refToExcelFilesList = getExcelFilesFromFile $file, $refToExcel;
-}
-
-#-----------------------------------------------------------------
-# The main function that parses the information
-#-----------------------------------------------------------------
-
-my $errors = main $refToExcelFilesList,$refToExcel,$ignoreWarnings;
-
-#-----------------------------------------------------------------
-# quit excel and "delete" the instances.
-#-----------------------------------------------------------------
-quitExcelApp($refToExcel);
-
-exit $errors;
-
-
-
-
-
-
-
-
-
-
-