Files
@ 4136526cce20
Branch filter:
Location: kallithea/scripts/whitespacecleanup.sh - annotation
4136526cce20
1.4 KiB
text/x-sh
db: remove superfluous Session.add calls
Don't re-add objects to the SQLAlchemy Session just because they were
modified. Session.add is only for freshly constructed objects that
SQLAlchemy doesn't know about yet.
The rules are quite simple:
When creating a database object by calling the constructor directly, it
must explicitly be added to the session.
When creating an object using a factory function (like "create_repo"),
the returned object has already (by convention) been added to the
session, and should not be added again.
When getting an object from the session (via Session.query or any of the
utility functions that look up objects in the database), it's already
added, and should not be added again. SQLAlchemy notices attribute
modifications automatically for all objects it knows about.
Don't re-add objects to the SQLAlchemy Session just because they were
modified. Session.add is only for freshly constructed objects that
SQLAlchemy doesn't know about yet.
The rules are quite simple:
When creating a database object by calling the constructor directly, it
must explicitly be added to the session.
When creating an object using a factory function (like "create_repo"),
the returned object has already (by convention) been added to the
session, and should not be added again.
When getting an object from the session (via Session.query or any of the
utility functions that look up objects in the database), it's already
added, and should not be added again. SQLAlchemy notices attribute
modifications automatically for all objects it knows about.
fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 8b75085c2c02 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 edb24bc0f71a fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 42d1e1ab41a8 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 | #!/bin/bash -x
# Enforce some consistency in whitespace - just to avoid spurious whitespaces changes
files=`hg loc '*.py' '*.html' '*.css' '*.rst' '*.txt' '*.js' '*.ini' '*.cfg' CONTRIBUTORS LICENSE.md | egrep -v '/lockfiles.py|LICENSE-MERGELY.html|/codemirror/|/fontello/|(graph|mergely|native.history|select2/select2|yui.flot|yui.2.9|jquery.dataTables)\.js$|/email_templates/|/test_dump_html_mails.ref.html'`
sed -i -e "s,`printf '\t'`, ,g" $files
sed -i -e "s, *$,,g" $files
sed -i -e 's,\([^ ]\)\\$,\1 \\,g' -e 's,\(["'"'"']["'"'"']["'"'"']\) \\$,\1\\,g' $files
# ensure one trailing newline - remove empty last line and make last line include trailing newline:
sed -i -e '$,${/^$/d}' -e '$a\' $files
sed -i -e 's,\([^ /]\){,\1 {,g' `hg loc '*.css'`
sed -i -e 's|^\([^ /].*,\)\([^ ]\)|\1 \2|g' `hg loc '*.css'`
sed -i -e 's/^\( [^: ]*\) *: *\([^/]\)/\1: \2/g' kallithea/public/css/{style,contextbar}.css
sed -i -e '1s|, |,|g' kallithea/public/css/{style,contextbar}.css
sed -i -e 's/^\([^ ,/]\+ [^,]*[^ ,]\) *, *\(.\)/\1,\n\2/g' kallithea/public/css/{style,contextbar}.css
sed -i -e 's/^\([^ ,/].*\) */\1 /g' kallithea/public/css/{style,contextbar}.css
sed -i -e 's,^--$,-- ,g' kallithea/templates/email_templates/main.txt
sed -i -e 's,[ ][ ]*$,,g' -e 's, , ,g' kallithea/public/js/graph.js
hg mani | xargs chmod -x
hg loc 'set:!binary()&grep("^#!")&!(**_tmpl.py)&!(**/template**)' | xargs chmod +x
hg diff
|