testing environments should not write MARC to main folder because of overwrite risk

pull/1/head
Andromeda Yelton 2013-07-22 14:33:01 -04:00
parent 287f017551
commit baa1f3f3ac
1 changed files with 8 additions and 3 deletions

View File

@ -18,13 +18,18 @@ from regluit.core import models
def makemarc(marcfile, license, edition): def makemarc(marcfile, license, edition):
""" """
if we're going to suck down LOC records directly: fyi if we're going to suck down LOC records directly:
parse_xml_to_array takes a file, so we need to faff about with file writes parse_xml_to_array takes a file, so we need to faff about with file writes
would be nice to have a suitable z39.50 would be nice to have a suitable z39.50
can use LCCN to grab record with urllib, but file writes are inconsistent can use LCCN to grab record with urllib, but file writes are inconsistent
""" """
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
logger.info("Making MARC records for edition %s and license %s" % (edition, license)) logger.info("Making MARC records for edition %s and license %s" % (edition, license))
if '/unglue.it' in settings.BASE_URL:
directory = 'marc'
else:
directory = 'marc_test'
record = pymarc.parse_xml_to_array(marcfile)[0] record = pymarc.parse_xml_to_array(marcfile)[0]
fields_to_delete = [] fields_to_delete = []
@ -182,7 +187,7 @@ def makemarc(marcfile, license, edition):
record.remove_field(field) record.remove_field(field)
# write the unglued MARCxml records # write the unglued MARCxml records
xml_filename = 'marc/' + accession + '_unglued.xml' xml_filename = directory + '/' + accession + '_unglued.xml'
xmlrecord = pymarc.record_to_xml(record) xmlrecord = pymarc.record_to_xml(record)
xml_file = default_storage.open(xml_filename, 'w') xml_file = default_storage.open(xml_filename, 'w')
xml_file.write(xmlrecord) xml_file.write(xmlrecord)
@ -191,7 +196,7 @@ def makemarc(marcfile, license, edition):
# write the unglued .mrc record, then save to s3 # write the unglued .mrc record, then save to s3
string = StringIO() string = StringIO()
mrc_filename = 'marc/' + accession + '_unglued.mrc' mrc_filename = directory + '/' + accession + '_unglued.mrc'
writer = pymarc.MARCWriter(string) writer = pymarc.MARCWriter(string)
writer.write(record) writer.write(record)
mrc_file = default_storage.open(mrc_filename, 'w') mrc_file = default_storage.open(mrc_filename, 'w')