Mercurial > kallithea
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 |
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 |