annotate scripts/whitespacecleanup.sh @ 8751:ad239692ea95

mail: fix duplicate "From" headers Problem introduced in 9a0c41175e66: When iterating the headers dict and setting "msg[key] = value", it wasn't replacing the header but performing add_header so we sometimes ended up with two From headers. It is also a general problem that while the headers dict only can contain each key once, it can contain entries that only differ in casing and thus will fold to the same message header, making it possible to end up adding duplicate headers. "msg.replace_header(key, value)" is not a simple solution to the problem: it will raise KeyError if no such previous key exists. Now, make the problem more clear by explicitly using add_header. Avoid the duplication problem by deleting the key (no matter which casing) before invoking add_header. Delete promises that "No exception is raised if the named field isn’t present in the headers".
author Mads Kiilerich <mads@kiilerich.com>
date Wed, 04 Nov 2020 00:35:21 +0100
parents d379e2c39bba
children 0a84ef075575
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8340
bf85e6018daa scripts: properly check for errors in whitespacecleanup/run-all-cleanup
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 8295
diff changeset
1 #!/bin/bash -xe
4727
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
2
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
3 # Enforce some consistency in whitespace - just to avoid spurious whitespaces changes
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
4
8652
d379e2c39bba templates: rename email_templates to email
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 8340
diff changeset
5 files=`hg mani | egrep -v '/fontello/|/templates/email/|(^LICENSE-MERGELY.html|^docs/Makefile|^scripts/whitespacecleanup.sh|/(graph|mergely|native.history)\.js|/test_dump_html_mails.ref.html|\.png|\.gif|\.ico|\.pot|\.po|\.mo|\.tar\.gz|\.diff)$'`
5379
1949ece749ce cleanup: fix whitespace in CONTRIBUTORS (and other forgotten files) too
Mads Kiilerich <madski@unity3d.com>
parents: 5378
diff changeset
6
6390
6e952212bf06 scripts: ensure unix line endings
Mads Kiilerich <mads@kiilerich.com>
parents: 6370
diff changeset
7 sed -i "s/`printf '\r'`//g" $files
5378
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
8 sed -i -e "s,`printf '\t'`, ,g" $files
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
9 sed -i -e "s, *$,,g" $files
5598
edb24bc0f71a cleanup: consistent space before line continuation backslash
Mads Kiilerich <madski@unity3d.com>
parents: 5517
diff changeset
10 sed -i -e 's,\([^ ]\)\\$,\1 \\,g' -e 's,\(["'"'"']["'"'"']["'"'"']\) \\$,\1\\,g' $files
5378
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
11 # ensure one trailing newline - remove empty last line and make last line include trailing newline:
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
12 sed -i -e '$,${/^$/d}' -e '$a\' $files
4727
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
13
5378
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
14 sed -i -e 's,\([^ /]\){,\1 {,g' `hg loc '*.css'`
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
15 sed -i -e 's|^\([^ /].*,\)\([^ ]\)|\1 \2|g' `hg loc '*.css'`
4727
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
16
5390
530bcb645d32 cleanup: set reasonable x bits
Mads Kiilerich <madski@unity3d.com>
parents: 5379
diff changeset
17 hg mani | xargs chmod -x
530bcb645d32 cleanup: set reasonable x bits
Mads Kiilerich <madski@unity3d.com>
parents: 5379
diff changeset
18 hg loc 'set:!binary()&grep("^#!")&!(**_tmpl.py)&!(**/template**)' | xargs chmod +x
530bcb645d32 cleanup: set reasonable x bits
Mads Kiilerich <madski@unity3d.com>
parents: 5379
diff changeset
19
7810
5698307382de scripts: introduce import cleanup using isort
Mads Kiilerich <mads@kiilerich.com>
parents: 7470
diff changeset
20 # isort is installed from dev_requirements.txt
8288
5b1f43027662 scripts: drop isort --wrap-length 160 - it is broken with py3 and not really necessary
Mads Kiilerich <mads@kiilerich.com>
parents: 8287
diff changeset
21 hg loc 'set:!binary()&grep("^#!.*python")' '*.py' | xargs isort --line-width 160 --lines-after-imports 2
7810
5698307382de scripts: introduce import cleanup using isort
Mads Kiilerich <mads@kiilerich.com>
parents: 7470
diff changeset
22
8295
8d663d23ab85 scripts: make output from run-all-cleanup easier to parse
Mads Kiilerich <mads@kiilerich.com>
parents: 8288
diff changeset
23 echo "diff after $0:"
4727
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
24 hg diff