1# signed-off-by pyparsing definition 2# 3# Copyright (C) 2016 Intel Corporation 4# 5# SPDX-License-Identifier: GPL-2.0-only 6 7 8import pyparsing 9import common 10 11name = pyparsing.Regex('\S+.*(?= <)') 12username = pyparsing.OneOrMore(common.worddot) 13domain = pyparsing.OneOrMore(common.worddot) 14 15# taken from https://pyparsing-public.wikispaces.com/Helpful+Expressions 16email = pyparsing.Regex(r"(?P<user>[A-Za-z0-9._%+-]+)@(?P<hostname>[A-Za-z0-9.-]+)\.(?P<domain>[A-Za-z]{2,})") 17 18email_enclosed = common.lessthan + email + common.greaterthan 19 20signed_off_by_mark = pyparsing.Literal("Signed-off-by:") 21signed_off_by = pyparsing.AtLineStart(signed_off_by_mark + name + email_enclosed) 22patch_signed_off_by = pyparsing.AtLineStart("+" + signed_off_by_mark + name + email_enclosed) 23