docs: def get_file(filename):
      '''Downloads filename from ChEBI FTP site'''
      destination = __DOWNLOAD_PARAMS['path']
      filepath = os.path.join(destination, filename)
  
      if not __is_current(filepath):
  
          if not os.path.exists(destination):
              os.makedirs(destination)
  
          url = 'ftp://ftp.ebi.ac.uk/pub/databases/chebi/' + \
              'Flat_file_tab_delimited/'
          urlretrieve(urlparse.urljoin(url, filename), filepath)
          urlcleanup()
  
      if filepath.endswith('.zip'):
          zfile = zipfile.ZipFile(filepath, 'r')
          filepath = os.path.join(destination, zfile.namelist()[0])
          zfile.extractall(destination)
      elif filepath.endswith('.gz'):
          unzipped_filepath = filepath[:-len('.gz')]
  
          if os.path.exists(unzipped_filepath) \
                  and __is_current(unzipped_filepath):
              filepath = unzipped_filepath
          else:
              input_file = gzip.open(filepath, 'rb')
              filepath = os.path.join(destination, input_file.name[:-len('.gz')])
              output_file = open(filepath, 'wb')
  
              for line in input_file:
                  output_file.write(line)
  
              input_file.close()
              output_file.close()
  
      return filepath