Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple works within one object #329

Merged
merged 3 commits into from
Mar 27, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 28 additions & 22 deletions accession.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def parse_args(args_):
)
parser.add_argument(
'-reference',
help='Enter the Filmographic reference number for the representation. This is only relevant when used with -pbcore'
help='Enter the Filmographic reference number for the representation. This is only relevant when used with -pbcore. For multiple works that are represented, seperate each reference number with a + sign eg AF1234+AC456'
)
parser.add_argument(
'-register',
Expand Down Expand Up @@ -236,15 +236,20 @@ def main(args_):
# want to make the pbcore csv, perhaps because the latter already exists.
if args.csv:
metadata_dir = os.path.join(new_uuid_path, 'metadata')
package_filmographic = os.path.join(metadata_dir, Reference_Number + '_filmographic.csv')
insert_filmographic(args.csv, Reference_Number, package_filmographic)
ififuncs.generate_log(
sipcreator_log,
'EVENT = Metadata extraction - eventDetail=Filmographic descriptive metadata added to metadata folder, eventOutcome=%s, agentName=accession.py' % (package_filmographic)
)
ififuncs.manifest_update(sip_manifest, package_filmographic)
ififuncs.sha512_update(sha512_manifest, package_filmographic)
print('Filmographic descriptive metadata added to metadata folder')
if '+' in Reference_Number:
reference_list = Reference_Number.split('+')
else:
reference_list = [Reference_Number]
for ref in reference_list:
package_filmographic = os.path.join(metadata_dir, ref + '_filmographic.csv')
insert_filmographic(args.csv, ref , package_filmographic)
ififuncs.generate_log(
sipcreator_log,
'EVENT = Metadata extraction - eventDetail=Filmographic descriptive metadata added to metadata folder, eventOutcome=%s, agentName=accession.py' % (package_filmographic)
)
ififuncs.manifest_update(sip_manifest, package_filmographic)
ififuncs.sha512_update(sha512_manifest, package_filmographic)
print('Filmographic descriptive metadata added to metadata folder')
ififuncs.generate_log(
sipcreator_log,
'EVENT = accession.py finished'
Expand All @@ -254,18 +259,19 @@ def main(args_):
ififuncs.manifest_update(sip_manifest, dfxml)
ififuncs.sha512_update(sha512_manifest, dfxml)
if args.pbcore:
makepbcore_cmd = [accession_path, '-p', '-user', user, '-reference', Reference_Number]
if args.parent:
makepbcore_cmd.extend(['-parent', args.parent])
if args.acquisition_type:
makepbcore_cmd.extend(['-acquisition_type', args.acquisition_type])
if args.donor:
makepbcore_cmd.extend(['-donor', args.donor])
if args.donor:
makepbcore_cmd.extend(['-depositor_reference', args.depositor_reference])
if args.donation_date:
makepbcore_cmd.extend(['-donation_date', args.donation_date])
makepbcore.main(makepbcore_cmd)
for ref in reference_list:
makepbcore_cmd = [accession_path, '-p', '-user', user, '-reference', ref]
if args.parent:
makepbcore_cmd.extend(['-parent', args.parent])
if args.acquisition_type:
makepbcore_cmd.extend(['-acquisition_type', args.acquisition_type])
if args.donor:
makepbcore_cmd.extend(['-donor', args.donor])
if args.donor:
makepbcore_cmd.extend(['-depositor_reference', args.depositor_reference])
if args.donation_date:
makepbcore_cmd.extend(['-donation_date', args.donation_date])
makepbcore.main(makepbcore_cmd)
else:
print('not a valid package. The input should include a package that has been through Object Entry')

Expand Down
23 changes: 6 additions & 17 deletions ififuncs.py
Original file line number Diff line number Diff line change
Expand Up @@ -958,24 +958,13 @@ def get_accession_number():

def get_reference_number():
'''
Asks user for a Filmographic reference number. A valid number (af1####) must be provided.
Asks user for a Filmographic reference number. Due to the variety of reference numbers, validation
will be removed for now.
'''
reference_number = False
while reference_number is False:
reference_number = input(
'\n\n**** Please enter the Filmographic reference number of the representation\n\n'
)
if reference_number[:3] != 'af1':
print(' - First two characters must be \'af\' and the last five characters must be five digits')
reference_number = False
elif len(reference_number[2:]) != 5:
reference_number = False
print(' - First two characters must be \'af\' and last five characters must be five digits')
elif not reference_number[2:].isdigit():
reference_number = False
print(' - First two characters must be \'af\' and last five characters must be five digits')
else:
return reference_number.upper()
reference_number = input(
'\n\n**** Please enter the Filmographic reference number of the representation- if there is more than one work that is represented, seperate them with an ampersand, eg af1234&aa675\n\n'
)
return reference_number.upper()

def get_contenttitletext(cpl):
'''
Expand Down
2 changes: 1 addition & 1 deletion makepbcore.py
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ def main(args_):
metadata_dir = root
elif os.path.basename(root) == 'logs':
logs_dir = root
csv_filename = os.path.join(metadata_dir, Accession_Number + '_pbcore.csv')
csv_filename = os.path.join(metadata_dir, Accession_Number + '_%s_pbcore.csv' % Reference_Number)
sipcreator_log = os.path.join(
logs_dir, instantiationIdentif + '_sip_log.log'
)
Expand Down