def test_get_file_line_count(self): temp_dir = tempfile.mkdtemp() try: try: # Try with double None util.get_file_line_count(None) self.fail('Expected TypeError') except TypeError: pass try: # try on non existant file util.get_file_line_count(os.path.join(temp_dir, 'non')) except IOError: pass # try on empty file open(os.path.join(temp_dir, 'empty'), 'a').close() self.assertEqual( util.get_file_line_count(os.path.join(temp_dir, 'empty')), 0) # try on file with data util.append_string_to_file(os.path.join(temp_dir, 'three'), 'h\no\nw\n') self.assertEqual( util.get_file_line_count(os.path.join(temp_dir, 'three')), 3) finally: shutil.rmtree(temp_dir)
def test_append_string_to_file(self): temp_dir = tempfile.mkdtemp() try: try: # Try with double None util.append_string_to_file(None, None) self.fail('Expected TypeError') except TypeError: pass try: # Try with value set to None util.append_string_to_file(os.path.join(temp_dir, 'foo'), None) except TypeError: pass # try on non existant file util.append_string_to_file(os.path.join(temp_dir, 'non'), 'hi') f = open(os.path.join(temp_dir, 'non')) self.assertEqual(f.readline(), 'hi') f.close() # try on empty file open(os.path.join(temp_dir, 'empty'), 'a').close() util.append_string_to_file(os.path.join(temp_dir, 'empty'), 'hi') f = open(os.path.join(temp_dir, 'empty')) self.assertEqual(f.readline(), 'hi') f.close() # try on file with data util.append_string_to_file(os.path.join(temp_dir, 'empty'), 'how') f = open(os.path.join(temp_dir, 'empty')) self.assertEqual(f.readline(), 'hihow') finally: shutil.rmtree(temp_dir)
def append_standard_to_files(self): """Appends standard 1FCZ to tsv files as mapped below NONPOLYMER_TSV_STANDARD is appended to `get_nonpolymer_tsv()` CRYSTALPH_TSV_STANDARD is appended to `get_crystalph_tsv()` SEQUENCE_TSV_STANDARD is appended to `get_sequence_tsv()` SEQUENCE_TSV_STANDARD is appended to `get_oldsequence_tsv()` """ logger.debug('Appending 1FCZ standard to tsv files') try: util.append_string_to_file(self.get_nonpolymer_tsv(), DataImportTask.NONPOLYMER_TSV_STANDARD) util.append_string_to_file(self.get_sequence_tsv(), DataImportTask.SEQUENCE_TSV_STANDARD) util.append_string_to_file(self.get_oldsequence_tsv(), DataImportTask.SEQUENCE_TSV_STANDARD) util.append_string_to_file(self.get_crystalph_tsv(), DataImportTask.CRYSTALPH_TSV_STANDARD) self.append_to_email_log('\nAppending 1FCZ standard to tsv' ' files\n') nonpoly_count = util.get_file_line_count(self.get_nonpolymer_tsv()) seq_count = util.get_file_line_count(self.get_sequence_tsv()) crystal_count = util.get_file_line_count(self.get_crystalph_tsv()) inchi_count = util.get_file_line_count( self.get_components_inchi_file()) self.append_to_email_log('Line counts:\n') self.append_to_email_log( str(inchi_count) + ' ' + DataImportTask.COMPINCHI_ICH + '\n') self.append_to_email_log( str(nonpoly_count) + ' ' + DataImportTask.NONPOLYMER_TSV + '\n') self.append_to_email_log( str(seq_count) + ' ' + DataImportTask.SEQUENCE_TSV + '\n') self.append_to_email_log( str(seq_count) + ' ' + DataImportTask.OLDSEQUENCE_TSV + '\n') self.append_to_email_log( str(crystal_count) + ' ' + DataImportTask.CRYSTALPH_TSV + '\n') except IOError: logger.exception('Error appending standard to file')