[session] cleanup hook / operation / entity edition api
Operation api
~~~~~~~~~~~~~
* commit_event killed, recently introduced postcommit_event is enough and has a better name
* kill SingleOperation class, it's a) currently never used b) superseeded by set_operation if needed.
Entity edition api
~~~~~~~~~~~~~~~~~~
edited_attributes turned into a special object holding edition specific attributes:
- attributes to be edited (simply mirrored in cw_attr_cache, actual values are there)
- former _cw_skip_security set (cw_edited) and querier_pending_relations
It has also been renamed to `cw_edited` on the way (it may also contains inlined relations)
The entity dict interface has been deprecated. One should explicitly use either
cw_attr_cache or cw_edited according to the need.
Also, there is now a control that we don't try to hi-jack edited attributes
once this has no more effect (eg modification have already been saved)
At last, _cw_set_defaults/cw_check internal methods have been moved to this
special object
Hook api
~~~~~~~~
hook.entity_oldnewvalue function now moved to a method of cw_edited object.
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
PY_VERSION:=$(shell pyversions -d)
build: build-stamp
build-stamp:
dh_testdir
# XXX doesn't work if logilab-doctools, logilab-xml are not in build depends
# and I can't get pbuilder find them in its chroot :(
# cd doc && make
# FIXME cleanup and use sphinx-build as build-depends ?
NO_SETUPTOOLS=1 python setup.py build
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
rm -rf build
#rm -rf debian/cubicweb-*/
find . -name "*.pyc" -delete
rm -f $(basename $(wildcard debian/*.in))
dh_clean
install: build $(basename $(wildcard debian/*.in))
dh_testdir
dh_testroot
dh_clean
dh_installdirs
#python setup.py install_lib --no-compile --install-dir=debian/cubicweb-common/usr/lib/python2.4/site-packages/
NO_SETUPTOOLS=1 python setup.py -q install --no-compile --prefix=debian/tmp/usr
# Put all the python library and data in cubicweb-common
# and scripts in cubicweb-server
dh_install -vi
# cwctl in the cubicweb-ctl package
rm -f debian/cubicweb-common/usr/share/pyshared/cubicweb/cwctl.py
dh_lintian
# Remove unittests directory (should be available in cubicweb-dev only)
rm -rf debian/cubicweb-server/usr/lib/${PY_VERSION}/site-packages/cubicweb/server/test
rm -rf debian/cubicweb-server/usr/lib/${PY_VERSION}/site-packages/cubicweb/hooks/test
rm -rf debian/cubicweb-server/usr/lib/${PY_VERSION}/site-packages/cubicweb/sobjects/test
rm -rf debian/cubicweb-web/usr/lib/${PY_VERSION}/site-packages/cubicweb/web/test
rm -rf debian/cubicweb-twisted/usr/lib/${PY_VERSION}/site-packages/cubicweb/etwist/test
rm -rf debian/cubicweb-common/usr/lib/${PY_VERSION}/site-packages/cubicweb/ext/test
rm -rf debian/cubicweb-common/usr/lib/${PY_VERSION}/site-packages/cubicweb/entities/test
# cubes directory must be managed as a valid python module
touch debian/cubicweb-common/usr/share/cubicweb/cubes/__init__.py
%: %.in
sed "s/PY_VERSION/${PY_VERSION}/g" < $< > $@
# Build architecture-independent files here.
binary-indep: build install
dh_testdir
dh_testroot -i
dh_pycentral -i
dh_installinit -i -n --name cubicweb -u"defaults 99"
dh_installlogrotate -i
dh_installdocs -i -A README
dh_installman -i
dh_installchangelogs -i
dh_link -i
dh_compress -i -X.py -X.ini -X.xml
dh_fixperms -i
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
binary-arch:
binary: binary-indep
.PHONY: build clean binary binary-indep binary-arch