X-Git-Url: http://git.veekun.com/zzz-floof.git/blobdiff_plain/f7617496a08f10a77eb909982dae4e995c132900..332de9696e2cca102332d5543adad9b289c35214:/floof/lib/file_storage.py diff --git a/floof/lib/file_storage.py b/floof/lib/file_storage.py index 1d1c720..90561d0 100644 --- a/floof/lib/file_storage.py +++ b/floof/lib/file_storage.py @@ -19,22 +19,22 @@ guess_type(temp.filename)[0] """ def get_path(space, hash): - return os.path.join( space, hash[:2], hash[2:] ) - + return "/" + os.path.join( space, hash[:2], hash[2:] ) + + +def save_file(space, temp): -def save_file(space, temp): - dest_root = os.path.join( config['app_conf']['static_root'], space ) - + # we don't know where we're going to save this stuff yet, # so I guess we'll write it to another tempfile. One we know the path of. - # I'm assuming the tempfile we get from pylons is set to delete itself + # I'm assuming the tempfile we get from pylons is set to delete itself # when it closes, and has no visible path. Maybe I'm wrong? intermediate_file_descriptor, intermediate_path = tempfile.mkstemp() - + # that function gives me an integer file descriptor for some reason. intermediate_file = os.fdopen(intermediate_file_descriptor, "wb") - + sha1 = hashlib.sha1() while 1: data = temp.file.read(chunk_size) @@ -52,7 +52,7 @@ def save_file(space, temp): dest_path = os.path.join( dest_dir, hash[2:] ) makedirs(dest_dir) - os.rename(intermediate_path, dest_path) + shutil.move(intermediate_path, dest_path) return hash @@ -63,4 +63,4 @@ def makedirs(dir): os.makedirs(dir) except OSError: pass - \ No newline at end of file +