docs: def combine_files(joinfile, sourcefiles, client):
      """
      Given a combo file name (joinfile), combine the sourcefiles into a single
      monolithic file.
      
      Returns a string containing the combo file, or None if the specified
      file can not be combo'd.
      """
      from mediasync.conf import msettings
  
      joinfile = joinfile.strip('/')
  
      if joinfile.endswith('.css'):
          dirname = msettings['CSS_PATH'].strip('/')
          separator = '\n'
      elif joinfile.endswith('.js'):
          dirname = msettings['JS_PATH'].strip('/')
          separator = ';\n'
      else:
          # By-pass this file since we only join CSS and JS.
          return None
  
      buffer = cStringIO.StringIO()
  
      for sourcefile in sourcefiles:
          sourcepath = os.path.join(client.media_root, dirname, sourcefile)
          if os.path.isfile(sourcepath):
              f = open(sourcepath)
              buffer.write(f.read())
              f.close()
              buffer.write(separator)
  
      filedata = buffer.getvalue()
      buffer.close()
      return (filedata, dirname)