def parse_header(help_file, header_line):
"""
Given the name of a help file and its first line, return back a HeaderData
that provides the information from the header.
The return value is None if the line is not a valid file header.
"""
if not _header_prefix_re.match(header_line):
return None
result = re.findall(_header_keypair_re, header_line)
title = "No Title provided"
date = 0.0
for match in result:
if match[0] == "title":
title = match[1]
elif match[0] == "date":
try:
date = time.mktime(time.strptime(match[1], "%Y-%m-%d"))
except:
_log("Ignoring invalid file date '%s'", match[1])
date = 0.0
else:
_log("Ignoring header key '%s' in '%s'", match[0], help_file)
return HeaderData(help_file, title, date)
评论列表
文章目录