Skip to content
Snippets Groups Projects
Commit f4fd8299 authored by Andreas Romeyke's avatar Andreas Romeyke
Browse files

- refactoring, extracted common code from buildBagWithCopyOption(),

  buildBagWithMoveOption() and buildBagWithReplaceOption() to __buildBag()
parent a51ac93d
No related branches found
No related tags found
No related merge requests found
...@@ -334,7 +334,17 @@ sub create_slub_bagit($bagPath,$refAddBagInfo){ ...@@ -334,7 +334,17 @@ sub create_slub_bagit($bagPath,$refAddBagInfo){
return 1; return 1;
} }
sub buildBagWithCopyOption($ppn,$noppn,$ieDirectory,$rightsFilePath,$aRefAddMetaFile,$refAddBagInfo,$bagPath,$dataPath,$metaPath){ sub __buildBag {
my $ppn = shift;
my $noppn = shift;
my $rightsFilePath = shift;
my $aRefAddMetaFile = shift;
my $refAddBagInfo = shift;
my $bagPath = shift;
my $metaPath = shift;
# create meta dir
SLUB::LZA::SIPBuilderBagIt::createDir($metaPath);
my @addMetaFile = @{ $aRefAddMetaFile }; my @addMetaFile = @{ $aRefAddMetaFile };
my @addBagInfo = @{ $refAddBagInfo }; my @addBagInfo = @{ $refAddBagInfo };
my $marc21; my $marc21;
...@@ -343,15 +353,7 @@ sub buildBagWithCopyOption($ppn,$noppn,$ieDirectory,$rightsFilePath,$aRefAddMeta ...@@ -343,15 +353,7 @@ sub buildBagWithCopyOption($ppn,$noppn,$ieDirectory,$rightsFilePath,$aRefAddMeta
if ($ppn) { if ($ppn) {
$marc21 = get_marc21_from_catalogue($ppn); $marc21 = get_marc21_from_catalogue($ppn);
} }
# create bag dir
SLUB::LZA::SIPBuilderBagIt::createDir($bagPath);
# create data dir
SLUB::LZA::SIPBuilderBagIt::createDir($dataPath);
# copy payload files to data
print_scalar_data("", "INFO: copying original data...", "", "white");
dircopy($ieDirectory, $dataPath) || die ("Error coping $ieDirectory to $dataPath");
# create meta dir
SLUB::LZA::SIPBuilderBagIt::createDir($metaPath);
# copy not payload files to meta # copy not payload files to meta
SLUB::LZA::SIPBuilderBagIt::copyFilesToMeta($ppn, $metaPath, $rightsFilePath, \@addMetaFile, $marc21); SLUB::LZA::SIPBuilderBagIt::copyFilesToMeta($ppn, $metaPath, $rightsFilePath, \@addMetaFile, $marc21);
# add metadata for bag-info.txt # add metadata for bag-info.txt
...@@ -361,65 +363,38 @@ sub buildBagWithCopyOption($ppn,$noppn,$ieDirectory,$rightsFilePath,$aRefAddMeta ...@@ -361,65 +363,38 @@ sub buildBagWithCopyOption($ppn,$noppn,$ieDirectory,$rightsFilePath,$aRefAddMeta
# create slub bagit # create slub bagit
print_scalar_data("", "INFO: building SIP...", "", "white"); print_scalar_data("", "INFO: building SIP...", "", "white");
SLUB::LZA::SIPBuilderBagIt::create_slub_bagit($bagPath, \@addBagInfo); SLUB::LZA::SIPBuilderBagIt::create_slub_bagit($bagPath, \@addBagInfo);
return 1;
}
sub buildBagWithCopyOption($ppn,$noppn,$ieDirectory,$rightsFilePath,$aRefAddMetaFile,$refAddBagInfo,$bagPath,$dataPath,$metaPath){
# create bag dir
SLUB::LZA::SIPBuilderBagIt::createDir($bagPath);
# create data dir
SLUB::LZA::SIPBuilderBagIt::createDir($dataPath);
# copy payload files to data
print_scalar_data("", "INFO: copying original data...", "", "white");
dircopy($ieDirectory, $dataPath) || die ("Error coping $ieDirectory to $dataPath");
__buildBag($ppn,$noppn,$rightsFilePath,$aRefAddMetaFile,$refAddBagInfo,$bagPath,$metaPath);
return 1; return 1;
} }
sub buildBagWithMoveOption($ppn,$noppn,$ieDirectory,$rightsFilePath,$aRefAddMetaFile,$refAddBagInfo,$bagPath,$dataPath,$metaPath){ sub buildBagWithMoveOption($ppn,$noppn,$ieDirectory,$rightsFilePath,$aRefAddMetaFile,$refAddBagInfo,$bagPath,$dataPath,$metaPath){
my @addMetaFile = @{ $aRefAddMetaFile };
my @addBagInfo = @{ $refAddBagInfo };
my $marc21;
# get descriptive metadata from catalog
if ($ppn) {
$marc21 = get_marc21_from_catalogue($ppn);
}
# create bag dir # create bag dir
SLUB::LZA::SIPBuilderBagIt::createDir($bagPath); SLUB::LZA::SIPBuilderBagIt::createDir($bagPath);
# move payloads to data dir (which is automatically renamed from IE Directory) # move payloads to data dir (which is automatically renamed from IE Directory)
print_scalar_data("", "INFO: moving original data...", "", "white"); print_scalar_data("", "INFO: moving original data...", "", "white");
dirmove($ieDirectory, $dataPath) || die ("Error moving $ieDirectory to $dataPath"); dirmove($ieDirectory, $dataPath) || die ("Error moving $ieDirectory to $dataPath");
# create meta dir __buildBag($ppn,$noppn,$rightsFilePath,$aRefAddMetaFile,$refAddBagInfo,$bagPath,$metaPath);
SLUB::LZA::SIPBuilderBagIt::createDir($metaPath);
# copy not payload files to meta
SLUB::LZA::SIPBuilderBagIt::copyFilesToMeta($ppn, $metaPath, $rightsFilePath, \@addMetaFile, $marc21);
# add metadata for bag-info.txt
add_metadata(\@addBagInfo, $ppn, $noppn, $marc21);
# metadata warnings
SLUB::LZA::SIPBuilderBagIt::checkForTitle(\@addBagInfo);
# create slub bagit
print_scalar_data("", "INFO: building SIP...", "", "white");
SLUB::LZA::SIPBuilderBagIt::create_slub_bagit($bagPath, \@addBagInfo);
return 1; return 1;
} }
sub buildBagWithReplaceOption($ppn,$noppn,$ieDirectory,$rightsFilePath,$aRefAddMetaFile,$refAddBagInfo,$bagPath,$dataPath,$metaPath){ sub buildBagWithReplaceOption($ppn,$noppn,$ieDirectory,$rightsFilePath,$aRefAddMetaFile,$refAddBagInfo,$bagPath,$dataPath,$metaPath){
my @addMetaFile = @{ $aRefAddMetaFile };
my @addBagInfo = @{ $refAddBagInfo };
my $marc21;
# get descriptive metadata from catalog
if ($ppn) {
$marc21 = get_marc21_from_catalogue($ppn);
}
# create bag dir # create bag dir
SLUB::LZA::SIPBuilderBagIt::createDir($bagPath); SLUB::LZA::SIPBuilderBagIt::createDir($bagPath);
# move payloads to data dir (which is automatically renamed from IE Directory) # move payloads to data dir (which is automatically renamed from IE Directory)
print_scalar_data("", "INFO: moving original data...", "", "white"); print_scalar_data("", "INFO: moving original data...", "", "white");
dirmove($ieDirectory, $dataPath) || die ("Error moving $ieDirectory to $dataPath"); dirmove($ieDirectory, $dataPath) || die ("Error moving $ieDirectory to $dataPath");
# create meta dir __buildBag($ppn,$noppn,$rightsFilePath,$aRefAddMetaFile,$refAddBagInfo,$bagPath,$metaPath);
SLUB::LZA::SIPBuilderBagIt::createDir($metaPath);
# copy not payload files to meta
SLUB::LZA::SIPBuilderBagIt::copyFilesToMeta($ppn, $metaPath, $rightsFilePath, \@addMetaFile, $marc21);
# add metadata for bag-info.txt
add_metadata(\@addBagInfo, $ppn, $noppn, $marc21);
# metadata warnings
SLUB::LZA::SIPBuilderBagIt::checkForTitle(\@addBagInfo);
# create slub bagit
print_scalar_data("", "INFO: building SIP...", "", "white");
SLUB::LZA::SIPBuilderBagIt::create_slub_bagit($bagPath, \@addBagInfo);
return 1; return 1;
} }
...@@ -436,4 +411,4 @@ sub checkForTitle($key_hash_list_aref){ ...@@ -436,4 +411,4 @@ sub checkForTitle($key_hash_list_aref){
} }
return 1; return 1;
} }
1; 1;
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment