docs: def combine_chunks(storage, args, prefix=None):
      '''
      Combine a chunked file into a whole file again.
      Goes through each part, in order,
      and appends that part's bytes to another destination file.
      Chunks are stored in the chunks storage.
      '''
      uuid = args['uuid']
      # Normalize filename including extension
      target = utils.normalize(args['filename'])
      if prefix:
          target = os.path.join(prefix, target)
      with storage.open(target, 'wb') as out:
          for i in xrange(args['totalparts']):
              partname = chunk_filename(uuid, i)
              out.write(chunks.read(partname))
              chunks.delete(partname)
      chunks.delete(chunk_filename(uuid, META))
      return target