the beginnings of user-art relations. You can add relations, and it makes sure they...
[zzz-floof.git] / floof / lib / file_storage.py
index 1d1c720..90561d0 100644 (file)
@@ -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
+