Commit e6b74595 authored by Nadir Dalla Pozza's avatar Nadir Dalla Pozza
Browse files

Working path update

parent cbe68dcf
...@@ -42,35 +42,59 @@ To execute the script without issues, the inner structure of the `WORKING_PATH` ...@@ -42,35 +42,59 @@ To execute the script without issues, the inner structure of the `WORKING_PATH`
``` ```
. .
├── AccessCopyFiles ├── AccessCopyFiles
│ └── ...
├── PreservationAudioFile ├── PreservationAudioFile
   ├── File1.wav ├── File1.wav
   ├── File2.wav ├── File2.wav
   └── ... └── ...
├── PreservationAudioVisualFile ├── PreservationAudioVisualFile
   ├── File1.wav ├── File1.wav
   ├── File2.wav ├── File2.wav
   └── ... └── ...
├── PreservationMasterFiles ├── PreservationMasterFiles
│ └── ...
└── temp └── temp
├── AudioAnalyser_IrregullarityFileOutput1.json ├── File1
├── AudioAnalyser_IrregullarityFileOutput2.json │ ├── AudioAnalyser_IrregullarityFileOutput1.json
├── AudioBlocks │ ├── AudioAnalyser_IrregullarityFileOutput2.json
│   ├── AudioBlock1.jpg │ ├── AudioBlocks
│   ├── AudioBlock2.jpg │ │ ├── AudioBlock1.jpg
│   └── ... │ │ ├── AudioBlock2.jpg
├── EditingList.json │ │ └── ...
├── IrregularityImages │ ├── EditingList.json
│   ├── IrregularityImage1.jpg │ ├── IrregularityImages
│   ├── IrregularityImage2.jpg │ │ ├── IrregularityImage1.jpg
│   └── ... │ │ ├── IrregularityImage2.jpg
├── RestoredAudioFiles │ │ └── ...
│   ├── RestoredAudioFile1.wav │ ├── RestoredAudioFiles
│   └── RestoredAudioFile2.wav │ │ ├── RestoredAudioFile1.wav
│   └── ... │ │ ├── RestoredAudioFile2.wav
├── TapeIrregularityClassifier_IrregularityFileOutput1.json │ │ └── ...
├── TapeIrregularityClassifier_IrregularityFileOutput2.json │ ├── TapeIrregularityClassifier_IrregularityFileOutput1.json
├── VideoAnalyser_IrregularityFileOutput1.json │ ├── TapeIrregularityClassifier_IrregularityFileOutput2.json
└── VideoAnalyser_IrregularityFileOutput2.json │ ├── VideoAnalyser_IrregularityFileOutput1.json
│ └── VideoAnalyser_IrregularityFileOutput2.json
├── File2
│ ├── AudioAnalyser_IrregullarityFileOutput1.json
│ ├── AudioAnalyser_IrregullarityFileOutput2.json
│ ├── AudioBlocks
│ │ ├── AudioBlock1.jpg
│ │ ├── AudioBlock2.jpg
│ │ └── ...
│ ├── EditingList.json
│ ├── IrregularityImages
│ │ ├── IrregularityImage1.jpg
│ │ ├── IrregularityImage2.jpg
│ │ └── ...
│ ├── RestoredAudioFiles
│ │ ├── RestoredAudioFile1.wav
│ │ ├── RestoredAudioFile2.wav
│ │ └── ...
│ ├── TapeIrregularityClassifier_IrregularityFileOutput1.json
│ ├── TapeIrregularityClassifier_IrregularityFileOutput2.json
│ ├── VideoAnalyser_IrregularityFileOutput1.json
│ └── VideoAnalyser_IrregularityFileOutput2.json
└── ...
``` ```
`PreservationAudioFile` and `PreservationAudioVisualFile` directories contain the input of ARP Workflow, while `AccessCopyFiles` and `PreservationMasterFiles` directories contain its output. `temp` directory is used to store all files exchanged between the AIMs within the Workflow. `PreservationAudioFile` and `PreservationAudioVisualFile` directories contain the input of ARP Workflow, while `AccessCopyFiles` and `PreservationMasterFiles` directories contain its output. `temp` directory is used to store all files exchanged between the AIMs within the Workflow.
......
...@@ -60,7 +60,8 @@ if __name__ == '__main__': ...@@ -60,7 +60,8 @@ if __name__ == '__main__':
print(ConsoleColors.RED + 'config.yaml file not found!' + ConsoleColors.END) print(ConsoleColors.RED + 'config.yaml file not found!' + ConsoleColors.END)
quit(os.EX_NOINPUT) quit(os.EX_NOINPUT)
temp_path = os.path.join(config['WORKING_PATH'], 'temp/') temp_path = os.path.join(config['WORKING_PATH'], 'temp/', config['PRESERVATION_FILES_NAME'])
print(temp_path)
# Access Copy Files # Access Copy Files
print('\n' + ConsoleColors.BOLD + 'Creation of Access Copy Files...' + ConsoleColors.END) print('\n' + ConsoleColors.BOLD + 'Creation of Access Copy Files...' + ConsoleColors.END)
...@@ -74,16 +75,16 @@ if __name__ == '__main__': ...@@ -74,16 +75,16 @@ if __name__ == '__main__':
# Create directory # Create directory
os.mkdir(acf_path) os.mkdir(acf_path)
make_acf = True make_acf = True
print("Directory '% s' created" % acf_path) print("Access Copy Files directory '% s' created" % acf_path)
else: else:
print(ConsoleColors.PURPLE + 'AccessCopyFiles directory already exists!' + ConsoleColors.END) print((ConsoleColors.PURPLE + "Access Copy Files directory '% s' already exists!" + ConsoleColors.END) % acf_path)
overwrite = input('Do you want to overwrite it? [y/n]: ') overwrite = input('Do you want to overwrite it? [y/n]: ')
if overwrite.casefold() == 'y': if overwrite.casefold() == 'y':
# Overwrite directory # Overwrite directory
shutil.rmtree(acf_path) shutil.rmtree(acf_path)
os.mkdir(acf_path) os.mkdir(acf_path)
make_acf = True make_acf = True
print("Directory '% s' overwritten" % acf_path) print('Access Copy Files directory overwritten')
elif overwrite.casefold() != 'n': elif overwrite.casefold() != 'n':
print(ConsoleColors.RED + 'Unknown command, exiting' + ConsoleColors.END) print(ConsoleColors.RED + 'Unknown command, exiting' + ConsoleColors.END)
quit(os.EX_USAGE) quit(os.EX_USAGE)
...@@ -92,38 +93,40 @@ if __name__ == '__main__': ...@@ -92,38 +93,40 @@ if __name__ == '__main__':
# Copy RestoredAudioFiles # Copy RestoredAudioFiles
raf_path = os.path.join(temp_path, 'RestoredAudioFiles') raf_path = os.path.join(temp_path, 'RestoredAudioFiles')
if not os.path.exists(raf_path): if not os.path.exists(raf_path):
print(ConsoleColors.RED + 'RestoredAudioFiles directory not found!' + ConsoleColors.END) print((ConsoleColors.RED + "Restored Audio Files directory '% s' not found!" + ConsoleColors.END) % raf_path)
quit(os.EX_NOINPUT) quit(os.EX_NOINPUT)
restored_audio_files = os.listdir(raf_path) restored_audio_files = os.listdir(raf_path)
if len(restored_audio_files) == 1: if len(restored_audio_files) == 1:
print(ConsoleColors.YELLOW + 'RestoredAudioFiles directory is empty' + ConsoleColors.END) print((ConsoleColors.YELLOW + "Restored Audio Files directory '% s' is empty" + ConsoleColors.END) % raf_path)
shutil.copytree(raf_path, os.path.join(acf_path, 'RestoredAudioFiles')) shutil.copytree(raf_path, os.path.join(acf_path, 'RestoredAudioFiles'))
print("Restored Audio Files copied") print("Restored Audio Files copied")
# Copy Editing List # Copy Editing List
el_path = os.path.join(temp_path, 'EditingList.json')
try: try:
shutil.copy2(temp_path + 'EditingList.json', acf_path) shutil.copy2(el_path, acf_path)
except FileNotFoundError: except FileNotFoundError:
print(ConsoleColors.RED + 'EditingList.json file not found!' + ConsoleColors.END) print((ConsoleColors.RED + "Editing List file '% s' not found!" + ConsoleColors.END) % el_path)
quit(os.EX_NOINPUT) quit(os.EX_NOINPUT)
print("Editing List copied") print("Editing List copied")
# Create Irregularity Images archive # Create Irregularity Images archive
ii_path = os.path.join(temp_path, 'IrregularityImages') ii_path = os.path.join(temp_path, 'IrregularityImages')
if not os.path.exists(ii_path): if not os.path.exists(ii_path):
print(ConsoleColors.RED + 'IrregularityImages directory not found!' + ConsoleColors.END) print((ConsoleColors.RED + "Irregularity Images directory '% s' not found!" + ConsoleColors.END) % ii_path)
quit(os.EX_NOINPUT) quit(os.EX_NOINPUT)
irregularity_images = os.listdir(ii_path) irregularity_images = os.listdir(ii_path)
if len(irregularity_images) == 1: if len(irregularity_images) == 1:
print(ConsoleColors.YELLOW + 'IrregularityImages directory is empty' + ConsoleColors.END) print((ConsoleColors.YELLOW + "Irregularity Images directory '% s' is empty" + ConsoleColors.END) % ii_path)
shutil.make_archive(acf_path + 'IrregularityImages', 'zip', temp_path, 'IrregularityImages') shutil.make_archive(acf_path + 'IrregularityImages', 'zip', temp_path, 'IrregularityImages')
print("Irregularity Images archive created") print("Irregularity Images archive created")
# Copy Irregularity File # Copy Irregularity File
if_path = os.path.join(temp_path, 'TapeIrregularityClassifier_IrregularityFileOutput2.json')
try: try:
shutil.copy2(temp_path + 'TapeIrregularityClassifier_IrregularityFileOutput2.json', acf_path + 'IrregularityFile.json') shutil.copy2(if_path, os.path.join(acf_path, 'IrregularityFile.json'))
except FileNotFoundError: except FileNotFoundError:
print(ConsoleColors.RED + 'TapeIrregularityClassifier_IrregularityFileOutput2.json file not found!' + ConsoleColors.END) print((ConsoleColors.RED + "Irregularity File file '% s' not found!" + ConsoleColors.END) % if_path)
quit(os.EX_NOINPUT) quit(os.EX_NOINPUT)
print("Irregularity File copied") print("Irregularity File copied")
...@@ -139,37 +142,39 @@ if __name__ == '__main__': ...@@ -139,37 +142,39 @@ if __name__ == '__main__':
# ...however, if it already exists, it is possible to skip its creation # ...however, if it already exists, it is possible to skip its creation
if not os.path.exists(pmf_path): if not os.path.exists(pmf_path):
os.mkdir(pmf_path) os.mkdir(pmf_path)
print("Directory '% s' created" % pmf_path) print("Preservation Master Files directory '% s' created" % pmf_path)
else: else:
print(ConsoleColors.PURPLE + 'PreservationMasterFiles directory already exists!' + ConsoleColors.END) print((ConsoleColors.PURPLE + "Preservation Master Files directory '% s' already exists!" + ConsoleColors.END) % pmf_path)
overwrite = input('Do you want to overwrite it? [y/n]: ') overwrite = input('Do you want to overwrite it? [y/n]: ')
if overwrite.casefold() == 'y': if overwrite.casefold() == 'y':
shutil.rmtree(pmf_path) shutil.rmtree(pmf_path)
os.mkdir(pmf_path) os.mkdir(pmf_path)
print("Directory '% s' overwritten" % pmf_path) print("Preservation Master Files directory overwritten")
elif overwrite.casefold() == 'n': elif overwrite.casefold() == 'n':
print('Exit\n') print('\nExit\n')
quit(os.EX_OK) quit(os.EX_OK)
else: else:
print(ConsoleColors.RED + 'Unknown command, exiting' + ConsoleColors.END) print(ConsoleColors.RED + 'Unknown command, exiting\n' + ConsoleColors.END)
quit(os.EX_USAGE) quit(os.EX_USAGE)
# Copy Preservation Audio File # Copy Preservation Audio File
audio_file = config['PRESERVATION_FILES_NAME'] + '.wav' audio_file = config['PRESERVATION_FILES_NAME'] + '.wav'
paf_path = os.path.join(config['WORKING_PATH'], 'PreservationAudioFile/', audio_file)
try: try:
shutil.copy2(os.path.join(config['WORKING_PATH'], 'PreservationAudioFile/') + audio_file, pmf_path + 'PreservationAudioFile.wav') shutil.copy2(paf_path, pmf_path + 'PreservationAudioFile.wav')
except FileNotFoundError: except FileNotFoundError:
print(ConsoleColors.RED + audio_file + ' file not found!' + ConsoleColors.END) print((ConsoleColors.RED + "Preservation Audio File file '% s' not found!" + ConsoleColors.END) % paf_path)
quit(os.EX_NOINPUT) quit(os.EX_NOINPUT)
print("Preservation Audio File copied") print("Preservation Audio File copied")
# Create Preservation Audio-Visual File with substituted audio # Create Preservation Audio-Visual File with substituted audio
video_file = config['PRESERVATION_FILES_NAME'] + '.mov' video_file = config['PRESERVATION_FILES_NAME'] + '.mov'
pvf_path = os.path.join(config['WORKING_PATH'], 'PreservationAudioVisualFile/', video_file)
try: try:
video = VideoFileClip(os.path.join(config['WORKING_PATH'], 'PreservationAudioVisualFile/') + video_file) audio = AudioFileClip(paf_path)
audio = AudioFileClip(os.path.join(config['WORKING_PATH'], 'PreservationAudioFile/') + audio_file) video = VideoFileClip(pvf_path)
# Open Irregularity File to get offset # Open Irregularity File to get offset
irregularity_file_json = open(temp_path + 'TapeIrregularityClassifier_IrregularityFileOutput2.json') irregularity_file_json = open(os.path.join(temp_path, 'TapeIrregularityClassifier_IrregularityFileOutput2.json'))
irregularity_file = json.load(irregularity_file_json) irregularity_file = json.load(irregularity_file_json)
offset = irregularity_file['Offset']/1000 offset = irregularity_file['Offset']/1000
if offset > 0: if offset > 0:
...@@ -180,7 +185,7 @@ if __name__ == '__main__': ...@@ -180,7 +185,7 @@ if __name__ == '__main__':
video.write_videofile(pmf_path + 'PreservationAudioVisualFile.mov', bitrate='3000k', codec='mpeg4') video.write_videofile(pmf_path + 'PreservationAudioVisualFile.mov', bitrate='3000k', codec='mpeg4')
print("Preservation Audio-Visual File created") print("Preservation Audio-Visual File created")
except OSError: except OSError:
print(ConsoleColors.RED + video_file + ' file not found!' + ConsoleColors.END) print((ConsoleColors.RED + "Preservation Audio-Visual File file '% s' not found!" + ConsoleColors.END) % pvf_path)
quit(os.EX_NOINPUT) quit(os.EX_NOINPUT)
# Create Irregularity Images archive (already checked) # Create Irregularity Images archive (already checked)
...@@ -188,7 +193,7 @@ if __name__ == '__main__': ...@@ -188,7 +193,7 @@ if __name__ == '__main__':
print("Irregularity Images archive created") print("Irregularity Images archive created")
# Copy Irregularity File (already checked) # Copy Irregularity File (already checked)
shutil.copy2(temp_path + 'TapeIrregularityClassifier_IrregularityFileOutput2.json', pmf_path + 'IrregularityFile.json') shutil.copy2(os.path.join(temp_path, 'TapeIrregularityClassifier_IrregularityFileOutput2.json'), os.path.join(pmf_path, 'IrregularityFile.json'))
print("Irregularity File copied") print("Irregularity File copied")
# End Preservation Master Files # End Preservation Master Files
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment