'NOTE: the sniff.convert_newlines() call in the upload utility will keep Gmaj data types from being
correctly sniffed, but the files can be uploaded (they\'ll be sniffed as \'txt\').  This sniff function
is here to provide an example of a sniffer for a zip file.'

def sniff(self, filename):

    if (not zipfile.is_zipfile(filename)):
        return False
    contains_gmaj_file = False
    zip_file = zipfile.ZipFile(filename, 'r')
    for name in zip_file.namelist():
        if (name.split('.')[1].strip().lower() == 'gmaj'):
            contains_gmaj_file = True
            break
    zip_file.close()
    if (not contains_gmaj_file):
        return False
    return True
