def __init__(self, fname, lines):

        self.fname = fname
        self.tags = {}

        self.lines = lines

        if not ''.join(self.lines).strip():
            self.is_empty = True
        else:
            self.is_empty = False

        for line in self.lines:
            re_obj = self.is_tag_line(line)

            if re_obj:
                for tag in re_obj.groupdict()['tags'].split(';'):
                    tag_name, tag_values = tag.split(':')
                    tag_name = tag_name.strip()
                    if tag_name.endswith('s'):
                        tag_name = tag_name[:-1]
                        tag_values = [
                            v.strip() for v in tag_values.split(',')]
                    else:
                        tag_values = [tag_values.strip()]
                    self.tags[tag_name] = tag_values
                break

        m = hashlib.md5()
        m.update(self.text_no_comment)
        self.gen_md5 = m.hexdigest()

        # check file md5 if exists
        # md5 should be generated EXCLUDE the tag line
        tag_md5 = self.tags.get('md5')
        if tag_md5:
            if self.gen_md5.lower() != tag_md5[0].lower():
                PrintReminder.yellow(
                        '%s seems modified as md5 not matched.' % self.name)
dataset/ETHPy150Open facebook/fbpush/fbpush/main.py/Configlet.__init__/original