code: def margin(file_, geometry_string):
      
  
      if not file_ or (sorl_settings.THUMBNAIL_DUMMY or isinstance(file_, DummyImageFile)):
          return 'auto'
  
      margin = [0, 0, 0, 0]
  
      image_file = default.kvstore.get_or_set(ImageFile(file_))
  
      x, y = parse_geometry(geometry_string, image_file.ratio)
      ex = x - image_file.x
      margin[3] = ex / 2
      margin[1] = ex / 2
  
      if ex % 2:
          margin[1] += 1
  
      ey = y - image_file.y
      margin[0] = ey / 2
      margin[2] = ey / 2
  
      if ey % 2:
          margin[2] += 1
  
      return ' '.join(['%dpx' % n for n in margin])
docs: Returns the calculated margin for an image and geometry