--- 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;
-
-
-
-
-
-
-
-
-
-
-