diff mbox

[maintainer-tools,3/7] dim: split out email parsing functions

Message ID 20170809111101.11315-3-eric.engestrom@imgtec.com (mailing list archive)
State New, archived
Headers show

Commit Message

Eric Engestrom Aug. 9, 2017, 11:10 a.m. UTC
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
---
 dim | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

Comments

Jani Nikula Aug. 9, 2017, 1 p.m. UTC | #1
On Wed, 09 Aug 2017, Eric Engestrom <eric.engestrom@imgtec.com> wrote:
> Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
> ---
>  dim | 18 ++++++++++++++----
>  1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/dim b/dim
> index eaabcec43c8f..a656afa0d255 100755
> --- a/dim
> +++ b/dim
> @@ -1958,6 +1958,16 @@ function dim_fixes
>  	fi
>  }
>  
> +function email_get_address
> +{
> +	sed -e 's/.*<//' -e 's/>.*//' <<< "$1"
> +}
> +
> +function email_get_name
> +{
> +	echo ${cc/<*/} | sed -e 's/[[:space:]]*$//' <<< "$1"

I don't think the ${cc bit belongs in this function, even for the
transitional period until you fix it in a later patch.

BR,
Jani.

> +}
> +
>  function dim_add_missing_cc
>  {
>  	if [ $(git cat-file -p HEAD | grep -cE ^parent) -ne 1 ]; then
> @@ -1966,11 +1976,11 @@ function dim_add_missing_cc
>  	fi
>  
>  	git show | scripts/get_maintainer.pl --email --norolestats --pattern-depth 1 | while read cc; do
> -		email="$(echo "$cc" | sed -e 's/.*<//' -e 's/>.*//')"
> +		email="$(email_get_address "$cc")"
>  		name=''
>  
>  		if echo "$cc" | grep -q '<'; then
> -			name="$(echo ${cc/<*/} | sed -e 's/[[:space:]]*$//')";
> +			name="$(email_get_name "$cc")";
>  		fi
>  
>  		# Don't add main mailing lists
> @@ -1983,12 +1993,12 @@ function dim_add_missing_cc
>  		# print out a 1 on success
>  		matches=$(
>  			git show -s | grep -i "^    Cc:" | sed 's/^ *[Cc][Cc]: *//' | while read testcc; do
> -				testemail="$(echo "$testcc" | sed -e 's/.*<//' -e 's/>.*//')"
> +				testemail="$(email_get_address "$testcc")"
>  
>  				if [ "$testemail" != "$email" ]; then
>  					if [ -z "$name" ]; then continue; fi
>  
> -					testname="$(echo ${testcc/<*/} | sed -e 's/[[:space:]]*$//' -e 's/^[[:space:]]*//')"
> +					testname="$(email_get_name "$testcc" | sed -e 's/^[[:space:]]*//')"
>  
>  					if [ "$testname" != "$name" ]; then continue; fi
>  				fi
diff mbox

Patch

diff --git a/dim b/dim
index eaabcec43c8f..a656afa0d255 100755
--- a/dim
+++ b/dim
@@ -1958,6 +1958,16 @@  function dim_fixes
 	fi
 }
 
+function email_get_address
+{
+	sed -e 's/.*<//' -e 's/>.*//' <<< "$1"
+}
+
+function email_get_name
+{
+	echo ${cc/<*/} | sed -e 's/[[:space:]]*$//' <<< "$1"
+}
+
 function dim_add_missing_cc
 {
 	if [ $(git cat-file -p HEAD | grep -cE ^parent) -ne 1 ]; then
@@ -1966,11 +1976,11 @@  function dim_add_missing_cc
 	fi
 
 	git show | scripts/get_maintainer.pl --email --norolestats --pattern-depth 1 | while read cc; do
-		email="$(echo "$cc" | sed -e 's/.*<//' -e 's/>.*//')"
+		email="$(email_get_address "$cc")"
 		name=''
 
 		if echo "$cc" | grep -q '<'; then
-			name="$(echo ${cc/<*/} | sed -e 's/[[:space:]]*$//')";
+			name="$(email_get_name "$cc")";
 		fi
 
 		# Don't add main mailing lists
@@ -1983,12 +1993,12 @@  function dim_add_missing_cc
 		# print out a 1 on success
 		matches=$(
 			git show -s | grep -i "^    Cc:" | sed 's/^ *[Cc][Cc]: *//' | while read testcc; do
-				testemail="$(echo "$testcc" | sed -e 's/.*<//' -e 's/>.*//')"
+				testemail="$(email_get_address "$testcc")"
 
 				if [ "$testemail" != "$email" ]; then
 					if [ -z "$name" ]; then continue; fi
 
-					testname="$(echo ${testcc/<*/} | sed -e 's/[[:space:]]*$//' -e 's/^[[:space:]]*//')"
+					testname="$(email_get_name "$testcc" | sed -e 's/^[[:space:]]*//')"
 
 					if [ "$testname" != "$name" ]; then continue; fi
 				fi