Mercurial > repos > greg > icqsol_compose_shapes
comparison icqsol_utils.py @ 0:36f5fa5bd6d9 draft
Uploaded
author | greg |
---|---|
date | Sat, 14 Nov 2015 14:06:46 -0500 |
parents | |
children | d35e68ba13b4 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:36f5fa5bd6d9 |
---|---|
1 import os | |
2 import sys | |
3 import tempfile | |
4 | |
5 POLYDATA='POLYDATA' | |
6 | |
7 def asbool( val ): | |
8 return str( val ).lower() in [ 'yes', 'true' ] | |
9 | |
10 def get_format_and_type( galaxy_ext ): | |
11 # Define the output file format and type. | |
12 format = None | |
13 datatype = None | |
14 if galaxy_ext in [ 'vtkascii', 'vtkbinary' ]: | |
15 format = 'vtk' | |
16 elif galaxy_ext in [ 'plyascii', 'plybinary' ]: | |
17 format = 'ply' | |
18 if galaxy_ext in [ 'vtkascii', 'plyascii' ]: | |
19 datatype = 'ascii' | |
20 elif galaxy_ext in [ 'vtkbinary', 'plybinary' ]: | |
21 datatype = 'binary' | |
22 return format, datatype | |
23 | |
24 def get_input_file_path( tmp_dir, input_file, format ): | |
25 """ | |
26 iCqSol uses file extensions (e.g., .ply, .vtk) when reading and | |
27 writing files, so the Galaxy dataset naming convention of | |
28 setting all file extensions as .dat must be handled. | |
29 """ | |
30 file_path = get_temporary_file_path( tmp_dir, format ) | |
31 # Remove the file so we can create a symlink. | |
32 os.remove( file_path ) | |
33 os.symlink( input_file, file_path ) | |
34 return file_path | |
35 | |
36 def get_temp_dir( prefix='tmp-vtk-', dir=None ): | |
37 """ | |
38 Return a temporary directory. | |
39 """ | |
40 return tempfile.mkdtemp( prefix=prefix, dir=dir ) | |
41 | |
42 def get_tempfilename( dir=None, suffix=None ): | |
43 """ | |
44 Return a temporary file name. | |
45 """ | |
46 fd, name = tempfile.mkstemp( suffix=suffix, dir=dir ) | |
47 os.close( fd ) | |
48 return name | |
49 | |
50 def get_temporary_file_path( tmp_dir, file_extension ): | |
51 """ | |
52 Return the path to a temporary file with a valid VTK format | |
53 file extension. | |
54 """ | |
55 return get_tempfilename( tmp_dir, file_extension ) | |
56 | |
57 def stop_err( msg ): | |
58 sys.stderr.write( "%s\n" % msg ) | |
59 sys.exit() |