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