[python-nl] gebruik van propertyklasse

Edzard Pasma edzard at volcanomail.com
Mon Jul 3 14:31:53 CEST 2006


Bedankt voor de reacties. Het maakt duidelijk dat het niet kan en ik zoek ook niet verder. Het is niet essentieel voor waar ik mee bezig ben. Ik wil nog wel proberen uit te leggen wat dat is. Feitelijk ben ik sql-hobbyist en kom via sqlite by python terecht. Hiervoor bestaat een zeer volledige interface module, pysqlite2. Nu biedt sqlite sinds versie 3.3 (januari) een optie om zijn cache tussen meerdere database verbindingen te delen. Dit is maar bedoeld voor gebruik binnen een programma maar onder voorwaarden zijn wel meerdere threads mogelijk. Wat ik probeer is om deze optie vanuit meerder programma's te gebruiken, door deze via het netwerk en een gemeenschappelijk serverprocess te database te laten benaderen. Eigenlijk dus een heuse database server. In ieder geval gebruiken de programma's nu niet meer pysqlite maar een vervangende interface module, die via socket met de server verbindt. Het zou voor de programma's transparant moeten zijn of pysqlite, dan wel deze netwerk interface gebruikt wordt.  Daarom moet ook op module nivo bepaalde attributen bekend zijn, zoals param_style en api_version. Deze zijn al voorgeschreven door de python dbapi en daar komen ook nog specifieke pysqlite attributen bij, zoals sqlite_version. Een toepassing kan dus zijn:

from pysqlite2 import dbapi2
print dbapi2.sqlite_version

Maar hoe moet dit nu in de vervangende module? Hier is de sqlite versie onbekend, totdat op zijn minst een verbinding is gelegd. Dit dacht ik aan te pakken met een property. Daar zou dan een actie achter kunnen zitten, misschien een interactie met het server-proces, om het gegeven te bepalen. Ik wil dat nog steeds proberen maar dan in de vorm van een oject met een __str__ methode. Alle suggesties en kritiek op deze aanpak zijn welkom.

Edzard Pasma


More information about the Python-nl mailing list