parse_signed_off_by.py 766 B

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