Hello, I would like to report on a Galaxy issue and the my proposed solution for it, hopefully it will be helpful to other Galaxy users that encounter [are encountering] the same problem.
I tried to upload to my local Galaxy a file that I has been transferred by a FTP client. Then, when Galaxy tried to "pull out" this file from the FTP server, the operation failed with this traceback: File "/home/galaxy/galaxy-dist/tools/data_source/upload.py", line 403, in <module> __main__() File "/home/galaxy/galaxy-dist/tools/data_source/upload.py", line 392, in __main__ add_file( dataset, registry, json_file, output_path ) File "/home/galaxy/galaxy-dist/tools/data_source/upload.py", line 289, in add_file line_count, converted_path = sniff.convert_newlines( dataset.path, in_place=in_place ) File "/home/galaxy/galaxy-dist/lib/galaxy/datatypes/sniff.py", line 98, in convert_newlines shutil.move( temp_name, fname ) File "/usr/lib64/python2.6/shutil.py", line 260, in move copy2(src, real_dst) File "/usr/lib64/python2.6/shutil.py", line 96, in copy2 copystat(src, dst) File "/usr/lib64/python2.6/shutil.py", line 66, in copystat os.utime(dst, (st.st_atime, st.st_mtime)) OSError: [Errno 1] Operation not permitted: '/home/galaxy_upload/data_upload/...' The source file that I tried to copy had read/write permissions for all, therefore, logically, this operation should not have failed... I read a bit about this issue and I found out that python command shutil.move might raise an OSError when it tries to move a file to a partition where the user (galaxy in this case) has write permission but he is not the owner. More specifically, the exception fails to modify the copystat data. I have found a post suggesting to simply IGNORE this OSError that was raised from copystat... Therefore, I added the following "try" statement to "galaxy-dist/lib/galaxy/datatypes/sniff.py on line 98: try: shutil.move( temp_name, fname ) # Return number of lines in file. except OSError: pass return ( i + 1, None ) and it solved the problem completely! This is the link to the post that I took the solution from: http://bugs.python.org/issue1438480 I'm also attaching a modified "sniff.py". Hopefully, this will be helpful to other galaxy developers, Best, Liram
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/