Author: bugman
Date: Sun Jan 11 16:28:13 2009
New Revision: 8382
URL: http://svn.gna.org/viewcvs/relax?rev=8382&view=rev
Log:
Redesigned the generic BMRB write() function for the pystarlib.File.File class
object.
The open_write_file() function should not be used as pystarlib already creates
the file.
Modified:
branches/bmrb/generic_fns/bmrb.py
Modified: branches/bmrb/generic_fns/bmrb.py
URL:
http://svn.gna.org/viewcvs/relax/branches/bmrb/generic_fns/bmrb.py?rev=8382&r1=8381&r2=8382&view=diff
==============================================================================
--- branches/bmrb/generic_fns/bmrb.py (original)
+++ branches/bmrb/generic_fns/bmrb.py Sun Jan 11 16:28:13 2009
@@ -23,10 +23,13 @@
# Module docstring.
"""Module for interfacing with the BMRB (http://www.bmrb.wisc.edu/) by
handling NMR-STAR v3.1 files."""
+# Python module imports.
+from os import F_OK, access
+
# relax module imports.
from data import Relax_data_store; ds = Relax_data_store()
-from relax_errors import RelaxError, RelaxNoPipeError
-from relax_io import open_read_file, open_write_file
+from relax_errors import RelaxError, RelaxFileOverwriteError, RelaxNoPipeError
+from relax_io import get_file_path
from specific_fns.setup import get_specific_fn
@@ -68,7 +71,7 @@
read_function(file)
-def write(file=None, directory=None, force=False, compress_type=0,
verbosity=1):
+def write(file=None, directory=None, force=False):
"""Create a BMRB NMR-STAR v3.1 formatted file."""
# Test if the current data pipe exists.
@@ -82,11 +85,12 @@
# Specific results writing function.
write_function = get_specific_fn('bmrb_write',
ds[ds.current_pipe].pipe_type)
- # Open the file for writing.
- results_file = open_write_file(file_name=file, dir=directory, force=force,
compress_type=compress_type, verbosity=verbosity)
+ # Get the full file path.
+ file_path = get_file_path(file, directory)
- # Write the results.
- write_function(results_file)
+ # Fail if the file already exists and the force flag is False.
+ if access(file_path, F_OK) and not force:
+ raise RelaxFileOverwriteError, (file_path, 'force flag')
- # Close the results file.
- results_file.close()
+ # Execute the specific BMRB writing code.
+ write_function(file_path)
_______________________________________________
relax (http://nmr-relax.com)
This is the relax-commits mailing list
[email protected]
To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits