From edunreal at gmail.com Wed Mar 1 14:19:09 2006 From: edunreal at gmail.com (UnrealEd) Date: Wed, 1 Mar 2006 05:19:09 -0800 (PST) Subject: [python-nl] return value probleempje Message-ID: <3182865.post@talk.nabble.com> gegroet allen ik heb hier een "klein" probleempje. Namelijk: ik ben een xml writer aan het schrijven, een class die multidimensionele dictionaries omzet in een xml document. dat gebeurt via een funcie die zichzelf herhaald zolang de instance van een bepaald element uit de array een dictionary is (code volgt hieronder). Er is echter een probleempje: hij slaat de waarden uit de functie niet op, en stuurt ze daarom ook niet door de code: def childSetter(self, subList, parent): toReturn=None; for key in subList: xmlKey = xmlP.Element(key) if isinstance(subList[key], dict): xmlKey.append(self.childSetter(subList[key], key)); elif isinstance(subList[key], str): xmlKey.text = subList[key] if toReturn is None: toReturn = xmlKey print "in None\n",toReturn,"-",xmlKey else: toReturn.append(xmlKey) print "in Else:\n", toReturn,"-",xmlKey return toReturn dit is enkel de childSetter functie, de hele class kan je hier bekijken: downloads.cities-of-faith.com/public/highlightfile.php zou iemand mij hiermee kunnen helpen. (ik heb namelijk hetzelfde probleem ook in Flash, waar ik ook een xmlwriter heb gemaakt) mvg, UnrealEd -- View this message in context: http://www.nabble.com/return-value-probleempje-t1205484.html#a3182865 Sent from the Python - python-nl forum at Nabble.com. From guido at infrae.com Wed Mar 1 14:33:06 2006 From: guido at infrae.com (Guido Wesdorp) Date: Wed, 01 Mar 2006 14:33:06 +0100 Subject: [python-nl] return value probleempje In-Reply-To: <3182865.post@talk.nabble.com> References: <3182865.post@talk.nabble.com> Message-ID: <4405A292.5090908@infrae.com> UnrealEd wrote: > gegroet allen > Hallo... Zou jij je alsjeblieft willen abonneren op de mailinglijst? Ik moet nu voor iedere mail die je stuurt naar de web interface om hem goed te keuren... En ik ben een beetje lui, dus... ;) Je kunt dit hier doen: http://mail.python.org/mailman/listinfo/python-nl Alvast bedankt! Groeten, Guido From faassen at infrae.com Fri Mar 3 14:19:44 2006 From: faassen at infrae.com (Martijn Faassen) Date: Fri, 03 Mar 2006 14:19:44 +0100 Subject: [python-nl] Infrae zoekt een python ontwikkelaar Message-ID: <44084270.7040300@infrae.com> Hoi, Infrae is zoek naar een nieuwe medewerker om ons te helpen te bouwen aan web applicaties: we zoeken een software ontwikkelaar. Infrae is een klein bedrijf in Rotterdam dat web applicaties bouwt met de Python programmeertaal. Het web applicatie platform dat we gebruiken is Zope (2 en 3). We zijn voornamelijk gericht op het werken aan web applicaties die iets te maken hebben met content management. We werken graag met open source - onze eigen applicaties, zoals Silva, zijn open source, en we zijn ook actief betrokken bij verschillende open source projecten, zoals Zope, Plone en Schooltool, die we desgewenst voor klanten aanpassen. Infrae is een echt ontwikkelbedrijf - we houden er van om nieuwe dingen te bouwen en verder uit te breiden, samenwerkend met onze klanten. Dit gaat vaak in de context van een groter project, zoals Silva, Plone of Schooltool. Veelzijdigheid bij onze medewerkers is belangrijk - je krijgt met alles te maken in het software productie proces, van het verzamelen van requirements tot installatie van de software bij de klant. Gewenste kennis: * een goede basis in Python. Een goede basis in object georienteerd programmeren. Hoe meer programmeertalen je verder nog aangekeken hebt, hoe beter. * ervaring met het bouwen van web applicaties, met name web templating technieken en formulier afhandeling. * ervaring met Zope en/of Plone (of Silva natuurlijk!) een plus. Ervaring met andere Python web applicatie platforms is ook interessant. * ervaring met XML technologie, zoals XPath en XSLT, een plus. * ervaring met het linux platform een plus; hier ontwikkelen we voornamelijk mee. * Ben je betrokken bij een open source project? Dat vinden we leuk! Geinteresseerd? Mail ons a.u.b. Groeten, Martijn From edunreal at gmail.com Mon Mar 6 00:05:37 2006 From: edunreal at gmail.com (UnrealEd) Date: Sun, 5 Mar 2006 15:05:37 -0800 (PST) Subject: [python-nl] classes importeren uit subfolders Message-ID: <3253778.post@talk.nabble.com> gegroet allen, weer een klein vraagje: hoe kan je bestanden importeren die in een subfolder staan? vb: ik heb een root folder met een bestand test.py en ik wil de file myclass.py importeren die in de folder: root/classes is gelocaliseerd. mvg, UnrealEd -- View this message in context: http://www.nabble.com/classes-importeren-uit-subfolders-t1230193.html#a3253778 Sent from the Python - python-nl forum at Nabble.com. From spe.stani.be at gmail.com Mon Mar 6 00:17:42 2006 From: spe.stani.be at gmail.com (SPE Stani's Python Editor) Date: Mon, 6 Mar 2006 00:17:42 +0100 Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <3253778.post@talk.nabble.com> References: <3253778.post@talk.nabble.com> Message-ID: <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> On 3/6/06, UnrealEd wrote: > > gegroet allen, > > weer een klein vraagje: hoe kan je bestanden importeren die in een subfolder > staan? > vb: ik heb een root folder met een bestand test.py en ik wil de file > myclass.py importeren die in de folder: root/classes is gelocaliseerd. > > mvg, > UnrealEd > -- > View this message in context: http://www.nabble.com/classes-importeren-uit-subfolders-t1230193.html#a3253778 > Sent from the Python - python-nl forum at Nabble.com. > > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > http://mail.python.org/mailman/listinfo/python-nl > Zorg dat in de folder classes een __init__.py bestand is (mag leeg zijn). Vervolgens doe je: > import classes.myclass Stani -- http://pythonide.stani.be http://pythonide.stani.be/screenshots http://pythonide.stani.be/manual/html/manual.html From andre at vandervlies.xs4all.nl Mon Mar 6 09:16:32 2006 From: andre at vandervlies.xs4all.nl (Andre van der Vlies) Date: Mon, 6 Mar 2006 09:16:32 +0100 (CET) Subject: [python-nl] Huh???? (virus) Message-ID: <31750.212.123.206.71.1141632992.squirrel@vandervlies.xs4all.nl> Hoi, Ik ben 'aan 't spelen' met anti-virus scans op een linux bakkie. En kijkt: /usr/lib/python2.2/test/data/msg_22.txt/wibble2.JPG Wat is nu weer???? Ik kan er niets over vinden in de diverse groepen (of ik zoek niet goed natuurlijk). -- Andre van der Vlies Certifiable UNIX engineer Homepage: http://vandervlies.xs4all.nl/~andre Key fingerprint = 397C 7479 67DB 9306 23DC B423 7B58 CD5A 6EFF 5CF8 -- () ascii ribbon campaign - against html e-mail /\ - against microsoft attachments ^[^#] -- From vladdrac at gmail.com Mon Mar 6 10:17:38 2006 From: vladdrac at gmail.com (Ivo van der Wijk) Date: Mon, 6 Mar 2006 10:17:38 +0100 Subject: [python-nl] Huh???? (virus) In-Reply-To: <31750.212.123.206.71.1141632992.squirrel@vandervlies.xs4all.nl> References: <31750.212.123.206.71.1141632992.squirrel@vandervlies.xs4all.nl> Message-ID: On 3/6/06, Andre van der Vlies wrote: > > > Hoi, > Ik ben 'aan 't spelen' met anti-virus scans op een linux bakkie. En kijkt: > /usr/lib/python2.2/test/data/msg_22.txt/wibble2.JPG > Wat is nu weer???? Ik kan er niets over vinden in de diverse groepen (of > ik zoek niet goed natuurlijk). > Waarom denk je dat het een virus is? Zegt je scansoftware dat? Volgens mij is msg_22.txt gewoon een test-email met een JPG attachement erin. Google geeft in ieder geval genoeg hits (google op "wibble2.jpg") om er vanuit te gaan dat dit geen obscure infectie is :) Groet, Ivo -- Drs. I.R. van der Wijk / m3r Consultancy B.V. Linux/Python/Zope/Plone and Open Source solutions PO-box 51091, 1007 EB Amsterdam, The Netherlands Email: ivo m3r.nl From edunreal at gmail.com Mon Mar 6 19:22:18 2006 From: edunreal at gmail.com (UnrealEd) Date: Mon, 6 Mar 2006 10:22:18 -0800 (PST) Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> Message-ID: <3266729.post@talk.nabble.com> bedankt voor het antwoord, ik maak er al veel gebruik van nu :) die __init__ kan ik ook gebruiken om alle classen die in die subfolder staan aan te roepen, of niet? stel ik heb er myclass1.py, myclass2.py, myclass3.py erin staan en als ik die nu in een ander script allemaal wens aan te roepen, kan ik dat dan doen op deze mannier: import classes waarbij er in de map classes in het bestand __init__.py dit staat: import myclass1 import myclass2 import myclass3 zal dat werken? mvg, UnrealEd -- View this message in context: http://www.nabble.com/classes-importeren-uit-subfolders-t1230193.html#a3266729 Sent from the Python - python-nl forum at Nabble.com. -------------- next part -------------- Er is een HTML-bijlage verwijderd... URL: http://mail.python.org/pipermail/python-nl/attachments/20060306/4fb355dc/attachment.html From a.t.hofkamp at tue.nl Tue Mar 7 08:46:34 2006 From: a.t.hofkamp at tue.nl (A.T.Hofkamp) Date: Tue, 07 Mar 2006 08:46:34 +0100 Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <3266729.post@talk.nabble.com> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> Message-ID: <440D3A5A.3030609@tue.nl> Hai, UnrealEd wrote: > bedankt voor het antwoord, ik maak er al veel gebruik van nu :) > > die __init__ kan ik ook gebruiken om alle classen die in die subfolder staan > aan te roepen, of niet? > > stel ik heb er myclass1.py, myclass2.py, myclass3.py erin staan Om precies te zijn, dit zijn geen classes maar modules. Een module is een file (ie ham.py), terwijl een class wordt gedefinieerd met class bacon(object): etc etc > en als ik die nu in een ander script allemaal wens aan te roepen, kan ik dat > dan doen op deze mannier: > > import classes > > waarbij er in de map classes in het bestand __init__.py dit staat: > > import myclass1 > > import myclass2 > > import myclass3 > > zal dat werken? Het werkt vast, maar het doet wellicht niet wat je wil. De normale manier is iets als # modules/__init__.py import mymod1, mymod2, mymod3 __all__ = [ 'mymod1', 'mymod2', 'mymod3' ] in bijvoorbeeld de file modules/__init__.py De inhoud van __all__ wordt gebruikt als vervanging van *, dus from modules import * betekent dat je eigenlijk doet from modules import mymod1, mymod2, mymod3 Albert From guido at infrae.com Tue Mar 7 11:18:02 2006 From: guido at infrae.com (Guido Wesdorp) Date: Tue, 07 Mar 2006 11:18:02 +0100 Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <3266729.post@talk.nabble.com> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> Message-ID: <440D5DDA.1040606@infrae.com> UnrealEd wrote: > bedankt voor het antwoord, ik maak er al veel gebruik van nu :) die > __init__ kan ik ook gebruiken om alle classen die in die subfolder staan > aan te roepen, of niet? > stel ik heb er myclass1.py, myclass2.py, myclass3.py erin staan > en als ik die nu in een ander script allemaal wens aan te roepen, kan ik > dat dan doen op deze mannier: > *import classes* > waarbij er in de map classes in het bestand __init__.py dit staat: > *import myclass1 > import myclass2 > import myclass3* > > zal dat werken? Er is goede documentatie over modules en packages op de python.org website: http://www.python.org/doc/current/tut/node8.html Een onderdeel van de Python tutorial: http://www.python.org/doc/current/tut/tut.html Dit is een erg goede tutorial, en ik zou aanraden hem helemaal (behalve misschien de aanhangsels) te lezen, anders mis je wellicht een hoop van het moois wat de taal te bieden heeft. Succes! Guido From edunreal at gmail.com Tue Mar 7 19:27:11 2006 From: edunreal at gmail.com (UnrealEd) Date: Tue, 7 Mar 2006 10:27:11 -0800 (PST) Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <440D5DDA.1040606@infrae.com> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> Message-ID: <3286428.post@talk.nabble.com> bedankt voor de tutorials, het hielp wel iets maar ik blijf problemen hebben mijn huidige structuur bij mijn python files is de volgende: Python/ __init__.py MasterClass/ __init__.py test2.py Global/ __init__.py UserData.py wanneer ik echter in test2.py dit schrijf: from Python.Global import UserData geeft hij een error, namelijk dat hij geen module vindt met de naam Python.Global dit is toch de juiste mannier om modules uit een andere subfolder aan te roepen h?? PS: aan Albert: ik weet het, maar ik gebruik altijd dezelfde naam als mijn classes voor mijn files waarin ze staan. dat is eenvoudiger om te onthouden :) mvg, UnrealEd -- View this message in context: http://www.nabble.com/classes-importeren-uit-subfolders-t1230193.html#a3286428 Sent from the Python - python-nl forum at Nabble.com. From guido at infrae.com Tue Mar 7 19:38:22 2006 From: guido at infrae.com (Guido Wesdorp) Date: Tue, 07 Mar 2006 19:38:22 +0100 Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <3286428.post@talk.nabble.com> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> <3286428.post@talk.nabble.com> Message-ID: <440DD31E.50000@infrae.com> UnrealEd wrote: > > wanneer ik echter in test2.py dit schrijf: > from Python.Global import UserData > geeft hij een error, namelijk dat hij geen module vindt met de naam > Python.Global > > dit is toch de juiste mannier om modules uit een andere subfolder aan te > roepen h?? > Ja, hoor, je aanroep is prima, het probleem is dat de Python interpreter niet weet waar 'ie moet zoeken. Packages zijn pas bereikbaar als ze ergens op het 'PYTHONPATH' staan, een : seperated environment variable (in UNIX, niet zeker van Windows), je kunt dus *of* Globals op een al bereikbare locatie zetten (bijvoorbeeld in de 'site-packages' directory van de Python distributie), *of* PYTHONPATH aanpassen zodat de directory waarin je package staat toegevoegd is. Voorbeeld van het laatste (aangenomen wordt dat je dir in /home/foo/bar staat): $ export PYTHONPATH=$PYTHONPATH:/home/foo/bar Succes, Guido From edunreal at gmail.com Tue Mar 7 19:51:13 2006 From: edunreal at gmail.com (UnrealEd) Date: Tue, 7 Mar 2006 10:51:13 -0800 (PST) Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <440DD31E.50000@infrae.com> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> <3286428.post@talk.nabble.com> <440DD31E.50000@infrae.com> Message-ID: <3286846.post@talk.nabble.com> bedankt, maar het werkt nog steeds niet: ik gebruikte de module sys om de PYTHONPATH te wijzigen, zoals in de python-handleiding staat, maar het werkt nog steeds niet. Kan het ook zijn dat python zelf die lijst aanvult als je een script runt in een bepaalde directory? want de paths die ik wilde toevoegen stonden er al in? mvg, UnrealEd -- View this message in context: http://www.nabble.com/classes-importeren-uit-subfolders-t1230193.html#a3286846 Sent from the Python - python-nl forum at Nabble.com. From edunreal at gmail.com Tue Mar 7 19:51:13 2006 From: edunreal at gmail.com (UnrealEd) Date: Tue, 7 Mar 2006 10:51:13 -0800 (PST) Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <440DD31E.50000@infrae.com> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> <3286428.post@talk.nabble.com> <440DD31E.50000@infrae.com> Message-ID: <3286846.post@talk.nabble.com> bedankt, maar het werkt nog steeds niet: ik gebruikte de module sys om de PYTHONPATH te wijzigen, zoals in de python-handleiding staat, maar het werkt nog steeds niet. dit was de code die ik gebruikte: import sys sys.path.append("foo/bar/") Kan het ook zijn dat python zelf die lijst aanvult als je een script runt in een bepaalde directory? want de paths die ik wilde toevoegen stonden er al in? mvg, UnrealEd -- View this message in context: http://www.nabble.com/classes-importeren-uit-subfolders-t1230193.html#a3286846 Sent from the Python - python-nl forum at Nabble.com. From andre at vandervlies.xs4all.nl Tue Mar 7 20:47:01 2006 From: andre at vandervlies.xs4all.nl (Andre van der Vlies) Date: Tue, 7 Mar 2006 20:47:01 +0100 (CET) Subject: [python-nl] [Re: Huh???? (virus)] Message-ID: <1448.192.168.54.65.1141760821.squirrel@vandervlies.xs4all.nl> Ivo van der Wijk wrote: > On 3/6/06, Andre van der Vlies wrote: >> >> >> Hoi, >> Ik ben 'aan 't spelen' met anti-virus scans op een linux bakkie. En >> kijkt: >> /usr/lib/python2.2/test/data/msg_22.txt/wibble2.JPG >> Wat is nu weer???? Ik kan er niets over vinden in de diverse groepen (of >> ik zoek niet goed natuurlijk). >> > > Waarom denk je dat het een virus is? Zegt je scansoftware dat? > Volgens mij is msg_22.txt gewoon een test-email met een JPG > attachement erin. Google geeft in ieder geval genoeg hits (google op > "wibble2.jpg") om er vanuit te gaan dat dit geen obscure infectie is > :) > Nee, ik denk niet dat het een virus is. M'n scan software zegt dat het _misschien_ een virus is. Ik vermoed dat het een testje is. Kijken of infected attachments herkend worden. Het verbaast me een beetje dat er niet meer docu te vinden is. Al is het maar een soort waarschuwing. "Hey, this probably triggers your scanner. But don't be alarmed, it's just a .... Ik had nog niet gegoogled op "wibble2.jpg"... Maar die 48 hits zijn ook niet _echt_ verhelderend... En volgens mij is er dan ook nog een die hoopt dat je httpd onder root draait.... -- Andre van der Vlies Certifiable UNIX engineer Homepage: http://vandervlies.xs4all.nl/~andre Key fingerprint = 397C 7479 67DB 9306 23DC B423 7B58 CD5A 6EFF 5CF8 -- () ascii ribbon campaign - against html e-mail /\ - against microsoft attachments ^[^#] -- -- Andre van der Vlies Certifiable UNIX engineer Homepage: http://vandervlies.xs4all.nl/~andre Key fingerprint = 397C 7479 67DB 9306 23DC B423 7B58 CD5A 6EFF 5CF8 -- () ascii ribbon campaign - against html e-mail /\ - against microsoft attachments ^[^#] -- From lists at janc.be Tue Mar 7 22:09:44 2006 From: lists at janc.be (Jan Claeys) Date: Tue, 07 Mar 2006 22:09:44 +0100 Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <440DD31E.50000@infrae.com> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> <3286428.post@talk.nabble.com> <440DD31E.50000@infrae.com> Message-ID: <1141765784.9024.23.camel@localhost.localdomain> Op di, 07-03-2006 te 19:38 +0100, schreef Guido Wesdorp: > Ja, hoor, je aanroep is prima, het probleem is dat de Python interpreter > niet weet waar 'ie moet zoeken. Packages zijn pas bereikbaar als ze > ergens op het 'PYTHONPATH' staan, een : seperated environment variable > (in UNIX, niet zeker van Windows), $PYTHONPATH is slechts ??n van de plaatsen waar Python kijkt om het "module search path" te bepalen, en je zal zien dat de eerste entry in sys.path steeds '' is... -- Jan Claeys From devriendt.thomas at gmail.com Wed Mar 8 12:24:21 2006 From: devriendt.thomas at gmail.com (Thomas Devriendt) Date: Wed, 8 Mar 2006 12:24:21 +0100 Subject: [python-nl] classes importeren uit subfolders Message-ID: <440ebf35.79adefe9.7d85.ffffc8f7@mx.gmail.com> Hallo, Het is inderdaad zo dat MasterClass een object UserData aanmaakt, en daar bewerkingen mee uitvoert. Wat ik wel niet goed versta is dit: > Als je die naam namelijk hard-coded in MasterClass hebt zitten kun je > nooit meer een ander data base object gebruiken in je MasterClass, > want dan moet je eerst de source van MasterClass aanpassen. Ik maak helemaal in het begin van MasterClass zulk een object aan, en wijs dat toe aan een member-variabele van masterClass. Op deze mannier kan ik toch eenvoudig van database object wisselen, of versta ik u verkeerd? > Wat ik nu niet begrijp is waarom importeer je nu UserData? > Je hoeft een module niet te importeren puur omdat je objecten gebruikt > die in die file gedefinieerd zijn. Je bedoelt dat ik de member-function van UserData zonder de class te initi?ren kan aanroepen? Vb: userdata = userData().getUserInfo() > Het grote voordeel in mijn ervaring!!! van meerdere classes in 1 file > is dat uitprinten eenvoudiger is. 1 file uitprinten is genoeg om te > weten dat > je alle dingen van een bepaald stukje bij elkaar hebt. > Tevens is wijzigen en dingen consistent houden eenvoudiger (ie > wijzigingen in 1 class veroorzaakt vaak wijzigingen in meerdere andere > classes). Bij mij staan al die classes normaal in dezelfde file, wat > erg handig edit, en > ook erg handig is bij een SCM om consistente delta's te krijgen. Qua printen heb je zeker gelijk. Maar ik vind het gewoon te onoverzichtelijk om alles, onderverdeeld in "hoofdstukken", in dezelfde file te zetten. Maar dit is misschien vanwege mijn ervaring in php: daar werd elke keer als je de class aanriep het hele bestand geladen, en voor de bandwijdte was dit vrij lastig, daarom splitste ik zoveel als ik kon. > ik constateer alleen dat je een andere conventie gebruikt (van Java?) In Java doe ik het ook zoals ik zei, gewoonweg om overzicht te houden. Er valt inderdaad wel iets te zeggen voor jouw methode, omdat je alles terug kan vinden in dezelfde file Mvg, UnrealEd PS: staat het oorspronkelijke bericht hier nu? Anders weet ik niet wat ik fout deed -----Oorspronkelijk bericht----- Van: A.T.Hofkamp [mailto:a.t.hofkamp at tue.nl] Verzonden: woensdag 8 maart 2006 11:40 Aan: UnrealEd; python-nl at python.org Onderwerp: Re: [python-nl] classes importeren uit subfolders Hallo, Mijn post bouncede zonet op python-nl at python.org :-(, maar de Cc naar jouw werkt blijkbaar wel. Ik stuur deze ook naar de python-nl mailing-lijst hoewel ik verwacht dat deze ook gaat bouncen. Als je een antwoord stuurt naar de groep zou het fijn zijn als je mijn tekst quote, zodat de andere lezers ook nog snappen waar het over gaat. Alvast bedankt UnrealEd wrote: > Hello, > > Mijn hierarchie zit niet verkeerd in elkaar: > In Global zitten classes die voor heel het systeem nuttig zijn Ik ben > namelijk een multiplayer spel aan het schrijven, waarbij in > MasterClass de grote berekeningen worden gedaan. In UserData zitten classes > die informatie over de user uit de database haalt. Deze classes worden > ook nog gebruikt voor andere delen in het spel. Daarom had ik die map > Global genoemd, omdat ze overal gebruikt worden. Misschien bestaat er een misverstand over import, of over het gebruik van classes? MasterClass gebruikt dus een UserData object om spullen uit een data base te trekken. Het feit dat je een apart object gebruikt impliceert bij mij dat je niet wil dat de MasterClass weet hoe de data base in elkaar zit (anders zou je namelijk die class bij MasterClass voegen). Dat geldt ook voor de naam van de UserData class zelf (althans dat verwacht ik). Als je die naam namelijk hard-coded in MasterClass hebt zitten kun je nooit meer een ander data base object gebruiken in je MasterClass, want dan moet je eerst de source van MasterClass aanpassen. Met andere woorden, ik verwacht dat een UserData object aan MasterClass gegeven wordt, die daar dan vervolgens mee aan de gang kan gaan. Wat ik nu niet begrijp is waarom importeer je nu UserData? Je hoeft een module niet te importeren puur omdat je objecten gebruikt die in die file gedefinieerd zijn. > Juist omdat ik de classes in verschillende subfolders zet, blijft het > overzichtelijk. Ik zet gewoon 1 class per file, om het overzicht te > behouden. Ik weet dat k uiteindelijk over de 100 classes zal zitten, en als > je dan moet gaan zoeken in welke file wat zit, wordt dat echt gekkenwerk :) grep is your friend :-) [ het grotere probleem is over het algemeen vinden waar een bepaalde class gebruikt wordt, niet waar hij gedefinieerd wordt is mijn ervaring, daar heb ik nog geen oplossing voor ] Die ervaring heb ik niet, normaal kies je een filename die een deel van het probleem afdekt, en vervolgens duw je alle code die daar logisch gezien bij hoort in die file. (bijv 'database.py' bevat alle data base gerelateerde classes.) Als de file dan te groot wordt, ga je delen afsplitsen of anders reshuffelen, bijv (user_database.py, en wereld_database.py). Dat kun je ook doen als meerdere stukken code bepaalde delen nodig hebben. Het grote voordeel in mijn ervaring!!! van meerdere classes in 1 file is dat uitprinten eenvoudiger is. 1 file uitprinten is genoeg om te weten dat je alle dingen van een bepaald stukje bij elkaar hebt. Tevens is wijzigen en dingen consistent houden eenvoudiger (ie wijzigingen in 1 class veroorzaakt vaak wijzigingen in meerdere andere classes). Bij mij staan al die classes normaal in dezelfde file, wat erg handig edit, en ook erg handig is bij een SCM om consistente delta's te krijgen. PS Ik beweer niet dat jou manier verkeerd of minder goed is, ik constateer alleen dat je een andere conventie gebruikt (van Java?) dan ik, en ben benieuwd naar de ervaring daarvan. Albert -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-nl/attachments/20060308/d49b6656/attachment.html From a.t.hofkamp at tue.nl Wed Mar 8 13:26:40 2006 From: a.t.hofkamp at tue.nl (A.T.Hofkamp) Date: Wed, 08 Mar 2006 13:26:40 +0100 Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <440ebf35.79adefe9.7d85.ffffc8f7@mx.gmail.com> References: <440ebf35.79adefe9.7d85.ffffc8f7@mx.gmail.com> Message-ID: <440ECD80.1050907@tue.nl> Hallo, Thomas Devriendt wrote: > Hallo, > > Het is inderdaad zo dat MasterClass een object UserData aanmaakt, en daar > bewerkingen mee uitvoert. Dit lees ik als class MasterClass: def __init__(self): self.udata = UserData() def doit(): # doe dingen met self.udata > > Wat ik wel niet goed versta is dit: > > >>Als je die naam namelijk hard-coded in MasterClass hebt zitten kun je > > >>nooit meer een ander data base object gebruiken in je MasterClass, > > >>want dan moet je eerst de source van MasterClass aanpassen. > > > Ik maak helemaal in het begin van MasterClass zulk een object aan, en wijs > dat toe aan een member-variabele van masterClass. Op deze mannier kan ik > toch eenvoudig van database object wisselen, of versta ik u verkeerd? Voetnoot: je mag wel tutoyeren, al is dat wellicht een typisch nederlandse gewoonte? Hoe wou je dat doen zonder source code wijziging? Je moet dan op zijn minst masterclass.py wijzigen met de nieuwe naam. Bovenstaande lees ik als " 'MasterClass' heeft specifiek 'UserData' class nodig, die laatstgenoemde class is dus onderdeel van MasterClass.". Dat is anders dan "MasterClass heeft _een_ (ie *any*) class nodig die database access voor hem doet". Met andere woorden, het maakt MasterClass niet uit waar die userdata vandaan komt, hij heeft een object die dat regelt. In dat laatste geval wil je niet dat MasterClass de naam van het UserData object weet. Ik los dat vaak op met class MasterClass: def __init__(self,udata): self.udata = udata etc Nu krijgt de MasterClass een UserData object (of eigenlijk, een object wat zich (hopelijk) gedraagt als een UserData object. MasterClass weet nu niet wat hij krijgt (als in "dat is voor hem niet van belang, zolang het zich maar houdt aan de interface definitie die MasterClass veracht."). Omdat nu de classdefinitie van UserData niet gebruikt wordt, hoeft die ook niet ge-importeert te worden. > Je bedoelt dat ik de member-function van UserData zonder de class te > initi?ren kan aanroepen? > > Vb: > > userdata = userData().getUserInfo() Hier maak je wel degelijk een UserData object aan, namelijk vlak voor de aanroep naar getUserInfo(). Vlak na de assignment gooi je dan het object weer weg. Je kunt in new-style classes wel zg class-methods gebruiken (in C++ zijn dat static methods (geloof dat ze in Java ook zo heten)). Class methods zijn in Python afaik de enige manier om methods aan te roepen zonder een object te construeren. > Qua printen heb je zeker gelijk. Maar ik vind het gewoon te onoverzichtelijk > om alles, onderverdeeld in "hoofdstukken", in dezelfde file te zetten. Maar > dit is misschien vanwege mijn ervaring in php: daar werd elke keer als je de > class aanriep het hele bestand geladen, en voor de bandwijdte was dit vrij > lastig, daarom splitste ik zoveel als ik kon. Je bedoelt waarschijnlijk 'responsie snelheid' ipv 'bandbreedte'. Ik weet niet of dat ook gedaan zou hebben, ik heb een hekel aan beperkingen die een broken implementatie mij opleggen. Waarschijnlijk zou ik wat scripts in elkaar geflanst hebben die als post-processing stap mijn sources uit elkaar trekken naar iets wat snel gedraaid kan worden. (maar goed, mijn vak is compilatie en code-generatie, dus ik doe dat soort dingen bijna dagelijks). Als je meer code in 1 file stop kost inderdaad wat extra moeite om subdelen in de file uit elkaar te houden. Ik gebruik daar regels commentaar voor als bijv # # ===================================================================== # USER INFORMATIE # wat zelfs als je page-up/down scrolled door de editor nog opvalt. Wat ook erg goed werkt is is een blok docstring, al ben ik daar zelf niet zo'n voorstander van, het breekt de code zo als je de weg weet in de files (maar dat is ongetwijfeld een gebrek mijnerzijds, en deze mening zal op de mailing-lijst niet gedeeld worden :-) ). > In Java doe ik het ook zoals ik zei, gewoonweg om overzicht te houden. Java vindt dat ook een goede gewoonte afaik (ik heb ongeveer 2 Java programmaatjes geschreven tot nu toe (elk van < 30 regels), dus erg veel zinnigs kan ik er niet over zeggen). > PS: staat het oorspronkelijke bericht hier nu? Ja, dat gaat allemaal goed. Wat beter zou zijn is dat mijn posts niet bouncen natuurlijk. Via mail melden dat er wat mis gaat is alleen wat moeilijk als alle admin adressen ook op python.org zitten... :-( Albert From edunreal at gmail.com Wed Mar 8 15:36:57 2006 From: edunreal at gmail.com (UnrealEd) Date: Wed, 8 Mar 2006 06:36:57 -0800 (PST) Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <440ECD80.1050907@tue.nl> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> <3286428.post@talk.nabble.com> <440DD31E.50000@infrae.com> <1141765784.9024.23.camel@localhost.localdomain> <440ebf35.79adefe9.7d85.ffffc8f7@mx.gmail.com> <440ECD80.1050907@tue.nl> Message-ID: <3301398.post@talk.nabble.com> Hallo, > class MasterClass: > def __init__(self,udata): > self.udata = udata dit is zeker handig, maar enkel als je zo maar enkele objecten moet doorgeven. Weet dat in die MasterClass ongeveer 20 externe modules en classes worden geladen > Voetnoot: je mag wel tutoyeren, al is dat wellicht een typisch nederlandse > gewoonte? Vousvoyeren is iets typisch belgisch, vandaar mijn "u". Ik zal er op letten in het vervolg :) bedankt in ieder geval voor de informatie. weet je misschien toevallig hoe je mijn probleem kan oplossen: ik kan vanuit subfolders moduels die in een andere sbfolder staan niet aanroepen. Ik heb nochtans mijn path ingevuld in de sys.path variabele mvg, UnrealEd -- View this message in context: http://www.nabble.com/classes-importeren-uit-subfolders-t1230193.html#a3301398 Sent from the Python - python-nl forum at Nabble.com. From a.t.hofkamp at tue.nl Thu Mar 9 08:49:53 2006 From: a.t.hofkamp at tue.nl (A.T.Hofkamp) Date: Thu, 09 Mar 2006 08:49:53 +0100 Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <3301398.post@talk.nabble.com> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> <3286428.post@talk.nabble.com> <440DD31E.50000@infrae.com> <1141765784.9024.23.camel@localhost.localdomain> <440ebf35.79adefe9.7d85.ffffc8f7@mx.gmail.com> <440ECD80.1050907@tue.nl> <3301398.post@talk.nabble.com> Message-ID: <440FDE21.50305@tue.nl> Hai, Ik wou gisteravond nog naar je probleem kijken maar kreeg onverwacht bezoek, vandaar nu maar even: UnrealEd wrote: > dit is zeker handig, maar enkel als je zo maar enkele objecten moet > doorgeven. Weet dat in die MasterClass ongeveer 20 externe modules en > classes worden geladen 20 ? Dat is 1/5 van al je klassen. Vind ik wat aan de hoge kant. > weet je misschien toevallig hoe je mijn probleem kan oplossen: > ik kan vanuit subfolders moduels die in een andere sbfolder staan niet > aanroepen. > Ik heb nochtans mijn path ingevuld in de sys.path variabele Ik snap het probleem niet, een testje bij mij werkt: mkdir tst cd tst mkdir p x touch p/__init__.py # maak lege __init__.py file touch x/__init__.py # maak lege __init__.py file en dan de files top.py: ------------ import os import sys # Breid sys.path uit met huidige directory sys.path.append( os.getcwd() ) import p.q # import p/q.py ------------ p/q.py: ----------- import x.y print "p/q" ----------- x/y.py: ----------- print "x/y" ----------- python top.py levert bij mij als uitvoer --------------- x/y p/q --------------- dus x/y.py kan gewoon vanuit p/q.py worden ge-importeerd. Wat is nu precies het probleem? Albert From edunreal at gmail.com Thu Mar 9 12:00:18 2006 From: edunreal at gmail.com (UnrealEd) Date: Thu, 9 Mar 2006 03:00:18 -0800 (PST) Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <440FDE21.50305@tue.nl> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> <3286428.post@talk.nabble.com> <440DD31E.50000@infrae.com> <1141765784.9024.23.camel@localhost.localdomain> <440ebf35.79adefe9.7d85.ffffc8f7@mx.gmail.com> <440ECD80.1050907@tue.nl> <3301398.post@talk.nabble.com> <440FDE21.50305@tue.nl> Message-ID: <19062658.991141902018198.JavaMail.nabble@talk.nabble.com> hallo, mijn root folder waar al mijn python files staan is de volgende: E:/Documenten/Server/Cities-Of-Faith/Python hieronder staan de subfolders "MasterClass" en "Global" ik heb via een of ander scriptje in python het volgende gedaan: import sys sys.path.append("E:/Documenten/Server/Cities-Of-Faith/Python") Het probleem is het aanroepen van y.py vanuit q.py. Ik had gelezen dat, wanneer je uit een andere subfolder iets wilt aanroepen, je helemaal tot aan de "root" folder van je python files moet gaan, en dan de subfolders selecteren vb: test.py # in Global import Python.MasterClass.glob # Python is m'n root, en MasterClass de subfolder --------------- glob.py # staat in MasterClass print "hello" Bij jou werkt het blijkbaar wel. wanneer ik dit doe, krijg ik de error dat er geen module bestaat met de naam Python.MasterClass > 20 ? > Dat is 1/5 van al je klassen. Vind ik wat aan de hoge kant. dat is het zeker, maar ja, hier worden echt de hoofdberekeningen gedaan voor het spelleke mvg, UnrealEd -- View this message in context: http://www.nabble.com/classes-importeren-uit-subfolders-t1230193.html#a3317819 Sent from the Python - python-nl forum at Nabble.com. From jeroen.vloothuis at pareto.nl Thu Mar 9 12:07:25 2006 From: jeroen.vloothuis at pareto.nl (Jeroen Vloothuis) Date: Thu, 9 Mar 2006 12:07:25 +0100 Subject: [python-nl] Meeting in Den Haag Message-ID: Hoi, Op vrijdag de 24e (maart) zal er meeting zijn in het ondernemerscafe in Den Haag. We beginnen de avond om acht uur. Voor informatie over het caf? en hoe er te komen zie: http://www.ondernemerscafe.nl/ Op dit moment hebben we al een spreker. Etienne Posthumus zal iets vertellen over het gebruik van PyParsing: http://pyparsing.sourceforge.net/ Mocht iemand anders nog iets leuks willen vertellen dan hoor ik het graag. Als je het leuk vind langs te komen meld je dan wel even van te voren aan via een mailtje naar mij of de lijst. De sponsor voor deze ongetwijfeld ontzettend leuke meeting is Pareto: http://www.pareto.nl Groeten, Jeroen From spe.stani.be at gmail.com Thu Mar 9 14:15:03 2006 From: spe.stani.be at gmail.com (SPE Stani's Python Editor) Date: Thu, 9 Mar 2006 14:15:03 +0100 Subject: [python-nl] Meeting in Den Haag In-Reply-To: References: Message-ID: <2078a7ad0603090515n47e13812la7039c04491d793a@mail.gmail.com> Jammer, ik kan niet. Stani On 3/9/06, Jeroen Vloothuis wrote: > Hoi, > Op vrijdag de 24e (maart) zal er meeting zijn in het ondernemerscafe in Den Haag. We beginnen de avond om acht uur. Voor informatie over het caf? en hoe er te komen zie: > > http://www.ondernemerscafe.nl/ > > Op dit moment hebben we al een spreker. Etienne Posthumus zal iets vertellen over het gebruik van PyParsing: > > http://pyparsing.sourceforge.net/ > > Mocht iemand anders nog iets leuks willen vertellen dan hoor ik het graag. > > Als je het leuk vind langs te komen meld je dan wel even van te voren aan via een mailtje naar mij of de lijst. > > De sponsor voor deze ongetwijfeld ontzettend leuke meeting is Pareto: > > http://www.pareto.nl > > Groeten, > Jeroen > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > http://mail.python.org/mailman/listinfo/python-nl > -- http://pythonide.stani.be http://pythonide.stani.be/screenshots http://pythonide.stani.be/manual/html/manual.html From a.t.hofkamp at tue.nl Thu Mar 9 15:09:25 2006 From: a.t.hofkamp at tue.nl (A.T.Hofkamp) Date: Thu, 09 Mar 2006 15:09:25 +0100 Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <19062658.991141902018198.JavaMail.nabble@talk.nabble.com> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> <3286428.post@talk.nabble.com> <440DD31E.50000@infrae.com> <1141765784.9024.23.camel@localhost.localdomain> <440ebf35.79adefe9.7d85.ffffc8f7@mx.gmail.com> <440ECD80.1050907@tue.nl> <3301398.post@talk.nabble.com> <440FDE21.50305@tue.nl> <19062658.991141902018198.JavaMail.nabble@talk.nabble.com> Message-ID: <44103715.6070608@tue.nl> Hallo, UnrealEd wrote: > hallo, > > mijn root folder waar al mijn python files staan is de volgende: > E:/Documenten/Server/Cities-Of-Faith/Python > > hieronder staan de subfolders "MasterClass" en "Global" > > ik heb via een of ander scriptje in python het volgende gedaan: > import sys > sys.path.append("E:/Documenten/Server/Cities-Of-Faith/Python") > > Het probleem is het aanroepen van y.py vanuit q.py. > Ik had gelezen dat, wanneer je uit een andere subfolder iets wilt aanroepen, > je helemaal tot aan de "root" folder van je python files moet gaan, en dan > de subfolders selecteren > vb: test.py # in Global > import Python.MasterClass.glob # Python is m'n root, en MasterClass > de subfolder Python zit al in het pad, en mag dus weg uit de import. Dan zou het moeten werken. Mijn imports beginnen met 'p' of 'x', niet met 'tst' want die zit als in sys.path.append(os.getcwd()) Albert From edunreal at gmail.com Thu Mar 9 16:28:52 2006 From: edunreal at gmail.com (UnrealEd) Date: Thu, 9 Mar 2006 07:28:52 -0800 (PST) Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <44103715.6070608@tue.nl> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> <3286428.post@talk.nabble.com> <440DD31E.50000@infrae.com> <1141765784.9024.23.camel@localhost.localdomain> <440ebf35.79adefe9.7d85.ffffc8f7@mx.gmail.com> <440ECD80.1050907@tue.nl> <3301398.post@talk.nabble.com> <440FDE21.50305@tue.nl> <19062658.991141902018198.JavaMail.nabble@talk.nabble.com> <44103715.6070608@tue.nl> Message-ID: <33186532.4101141918132692.JavaMail.nabble@talk.nabble.com> hallo, > Python zit al in het pad, en mag dus weg uit de import. Dan zou het moeten > werken. Mijn imports beginnen met 'p' of 'x', niet met 'tst' want die zit > als > in sys.path.append(os.getcwd()) na even gecheckt te hebben, blijkt dat hij niet "E:/Documenten/Server/Cities-Of-Faith/Python" in de path heeft staan, maar wel : "E:/Documenten/Server/Cities-Of-Faith/Python/MasterClass". Ik heb dat even veranderd, en nu werkt het dus. Moet je dat elke keer terug instellen als je je computer opnieuw opstart, of is er een mogelijkheid om dat automatisch te doen? in ieder geval hartelijk dank mvg, UnrealEd -- View this message in context: http://www.nabble.com/classes-importeren-uit-subfolders-t1230193.html#a3321883 Sent from the Python - python-nl forum at Nabble.com. From a.t.hofkamp at tue.nl Thu Mar 9 17:21:24 2006 From: a.t.hofkamp at tue.nl (A.T.Hofkamp) Date: Thu, 09 Mar 2006 17:21:24 +0100 Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <33186532.4101141918132692.JavaMail.nabble@talk.nabble.com> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> <3286428.post@talk.nabble.com> <440DD31E.50000@infrae.com> <1141765784.9024.23.camel@localhost.localdomain> <440ebf35.79adefe9.7d85.ffffc8f7@mx.gmail.com> <440ECD80.1050907@tue.nl> <3301398.post@talk.nabble.com> <440FDE21.50305@tue.nl> <19062658.991141902018198.JavaMail.nabble@talk.nabble.com> <44103715.6070608@tue.nl> <33186532.4101141918132692.JavaMail.nabble@talk.nabble.com> Message-ID: <44105604.6000404@tue.nl> Hallo, UnrealEd wrote: > na even gecheckt te hebben, blijkt dat hij niet > "E:/Documenten/Server/Cities-Of-Faith/Python" in de path heeft staan, maar > wel : "E:/Documenten/Server/Cities-Of-Faith/Python/MasterClass". > Ik heb dat even veranderd, en nu werkt het dus. > Moet je dat elke keer terug instellen als je je computer opnieuw opstart, of > is er een mogelijkheid om dat automatisch te doen? Ik kan je hier niet echt een antwoord op geven, de laatste keer dat ik iets 'echt' gedaan heb onder Windows is minstens 10 jaar geleden, ik draai thuis nog Win95 voor web en DOS-spellen, verder alleen maar Unix-en. Je kunt onder Windows vast environment variabelen instellen bij opstarten. In mijn tijd was dat in c:\autoexec.bat, maar dat is een tijdje geleden (DOS 5 oid). Anders kun je misschien in een start script (start.bat oid was dat vroeger) waarmee je het spel opstart misschien iets doen met environment variabelen? De exacte syntax kan ik je niet meer vertellen, dat is te lang geleden. Als je een start-punt hebt in Python (bijv run_cities.py) zou je sys.path kunnen uitbreiden *voor* de eerste import van het spel. (iets als import sys sys.path('E:/Documenten/Server/Cities-Of-Faith/Python') import Masterclass ) Dan heb je geen environment variabele nodig (die dan ook niet verkeerd kan staan, of niet aanwezig is bijv op een andere machine of een ander account). Als je Python start vanuit een of ander IDE programma, kun je vast aan dat programma vertellen waar Python sources staan. Nadeel van de meeste van deze oplossingen is dat je ergens het hardcoded pad naar de game bibliotheek hebt staan, als je de sources verplaatst naar elders valt er dan vervolgens van alles om. Albert From edunreal at gmail.com Thu Mar 9 21:33:55 2006 From: edunreal at gmail.com (UnrealEd) Date: Thu, 9 Mar 2006 12:33:55 -0800 (PST) Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <44105604.6000404@tue.nl> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> <3286428.post@talk.nabble.com> <440DD31E.50000@infrae.com> <1141765784.9024.23.camel@localhost.localdomain> <440ebf35.79adefe9.7d85.ffffc8f7@mx.gmail.com> <440ECD80.1050907@tue.nl> <3301398.post@talk.nabble.com> <440FDE21.50305@tue.nl> <19062658.991141902018198.JavaMail.nabble@talk.nabble.com> <44103715.6070608@tue.nl> <33186532.4101141918132692.JavaMail.nabble@talk.nabble.com> <44105604.6000404@tue.nl> Message-ID: <10680547.7851141936435719.JavaMail.nabble@talk.nabble.com> hallo, voorlopig heb ik deze code overal in de __init__.py files geplaatst: import sys sys.path.append("E:\\Documenten\\Server\\Cities-Of-Faith\\Python") en voorlopig werkt het ook overal :) dus ik zou zeggen: topic closed hartelijk bedankt voor de hulp mvg, UnrealEd -- View this message in context: http://www.nabble.com/classes-importeren-uit-subfolders-t1230193.html#a3327708 Sent from the Python - python-nl forum at Nabble.com. From spe.stani.be at gmail.com Sat Mar 11 22:13:31 2006 From: spe.stani.be at gmail.com (SPE Stani's Python Editor) Date: Sat, 11 Mar 2006 22:13:31 +0100 Subject: [python-nl] Het "Python multiple IDE Collaboration"project is gelanceerd! Message-ID: <2078a7ad0603111313r356d758bt32b44a7fd48b1138@mail.gmail.com> Sorry voor het Engels... Hier volgt een aankondiging voor het pyxides project (http://pyxides.stani.be) wat als doel heeft alle open source IDE activiteit te verenigen. Iedereen die geinteresseerd is, is welkom! Als je nog niet zo ervaren bent met python, kan je altijd meehelpen te vertalen. Het project heeft ook verschillende RSS feeds als je het meer op afstand wil volgen. Wees welkom, Stani -- (cross posting from comp.lang.python) Dear Pythoneers, Looking at IDE's I can have three observations: 1. For some reasons numerous users prefer to use an open source IDE. 2. For some reasons numerous python programmers like to develop an open source IDE. 3. For some reasons the open source python IDE developers are not collaborating at all. The reasons for 1 or 2 are obvious, at least to me. Recently I have been wondering about the reason for 3. (Probably a lot of python programmers have wondered about this already for ages, but ok I might be slow ;-) I came to the conclusion that there was *NO* reason. As this was so clear, I started to invite all the authors of IDE's personally to collaborate all together. I hope that I didn't forget any, because there are so many. What is really nice, is that we feel the same: we should work together and share as much as possible. We don't want to waste our (often spare) time on reinventing wheels. Almost all IDE's (except of two) are participating no matter if they use Tkinter, wxPython, pyQT, Cocoa, pyGTK, ... (So this could open doors for an ajax python editor, who knows. Any python web framework like Django, Turbogears, ... interested in that?) These projects are participating: NewEdit, scrIDE, Eric3, Leo IDE, ActiveGrid, PIDA, drPython, pyDev, PyCrust, IPython, WinPdb debugger, Extended Python Debugger, PyLint, Gaphor, Envisage, Dabo, SilverCity & SPE. It is not about unification, but about a little bit more collaboration. There are always libraries to share, more as we might think. In order to give the project shape I started building a (wiki based) website in plone which together with a mailing list should give a good platform for collaboration. (You need to login to edit wiki's.) All the developers are already invited, but everyone willing to code or contribute (documentation, translation, artwork, plone website, ..) is welcome. If you work on open source project which might be of interest (parsing, uml, framework, ...) please join or invite the projects which you think should participate as well. We will probably work in smaller teams on the various aspects of IDE's and tools. If this project succeeds it could be a major win for the Python community. These are some useful links: - homepage: http://pyxides.stani.be - mail list: http://pyxides.stani.be/polls/mailing - starting mail: http://pyxides.stani.be/wiki/StartingEmail - developers reaction: http://pyxides.stani.be/wiki/AuthorsOfIDEsTools - poll: http://pyxides.stani.be/polls/20060310-firstfocus/PlonePopoll_results2 Stani -- http://pythonide.stani.be http://pythonide.stani.be/screenshots http://pythonide.stani.be/manual/html/manual.html From kurt_vermeulen_75 at msn.com Sun Mar 12 13:41:09 2006 From: kurt_vermeulen_75 at msn.com (woolfke) Date: Sun, 12 Mar 2006 04:41:09 -0800 (PST) Subject: [python-nl] Informatie over python gevraagd Message-ID: <3363788.post@talk.nabble.com> Hallo,ik zoek info over Python. Momenteel programmeer ik alleen in VB.NET,en ik zou graag andere talen willen verkennen. Bestaat er een freeware versie die ik ergens kan downloaden? Heeft die een grapische usser interface? Wordt er dan ook in een soort van Framework (platform)geprogrammeerd. Is python moeilijk aan te leren? Is er iemand die mij op het goede spoor wil zetten? Dank u al,groetjes -- View this message in context: http://www.nabble.com/Informatie-over-python-gevraagd-t1267524.html#a3363788 Sent from the Python - python-nl forum at Nabble.com. From lists at janc.be Sun Mar 12 15:50:31 2006 From: lists at janc.be (Jan Claeys) Date: Sun, 12 Mar 2006 15:50:31 +0100 Subject: [python-nl] Informatie over python gevraagd In-Reply-To: <3363788.post@talk.nabble.com> References: <3363788.post@talk.nabble.com> Message-ID: <1142175032.7126.40.camel@localhost.localdomain> Op zo, 12-03-2006 te 04:41 -0800, schreef woolfke: > Hallo,ik zoek info over Python. > Momenteel programmeer ik alleen in VB.NET,en ik zou graag andere talen > willen verkennen. Mooi, Python is dan een interessante keuze. > Bestaat er een freeware versie die ik ergens kan downloaden? De meeste versies zijn "freeware", meestal zelfs volledig open source. De "offici?le" versie vind je op onder "download". De "ActivePython" versie is ook erg populair bij Windows-gebruikers (in feite is het de offici?le versie plus enkele nuttige extra's). > Heeft die een grapische usser interface? Als je een IDE (zoals Visual Studio) bedoelt: er is er een, maar die is redelijk eenvoudig, en heeft geen "GUI designer". (Python code wordt meestal in de favoriete editor van de programmeur bewerkt, denk ik.) Als je een grafische UI-bibliotheek bedoelt: die is er standaard ook bij, maar het is een cross-platform bibliotheek gebaseerd op "Tcl/Tk" die niet erg mooi is IMHO. Er zijn op internet echter ook bibliotheken om andere grafische toolkits te gebruiken: wxPython, PyGTK, PyQT, ... > Wordt er dan ook in een soort van Framework (platform)geprogrammeerd. Er is de offici?le standaardbibliotheek, maar er zijn ook een hele hoop open source bibliotheken voor allerlei doeleinden die heel veel gebruikt worden, en dus ook zo goed als "standaard" (maar dus niet officieel) zijn. Een niet-volledige lijst van dergelijke extra bibliotheken vind je hier: > Is python moeilijk aan te leren? De basis is redelijk gemakkelijk te leren (op minder dan een dag kan je zeker al programma's schrijven!), al zijn er ook dingen mee mogelijk die niet zo eenvoudig te begrijpen zijn (vb. metaclasses, maar die zal je misschien zelfs nooit nodig hebben). Het beste is misschien om met de "tutorial" te beginnen: Een goed boek om python te leren (ook als echt boek te koop, als je dat handiger vindt) is "Dive Into Python": > Is er iemand die mij op het goede spoor wil zetten? > Dank u al,groetjes Hopelijk ben je hier al iets mee, en als je meer info wil vraag je maar! -- Jan Claeys From kitblake at gmail.com Sun Mar 12 18:45:48 2006 From: kitblake at gmail.com (kit BLAKE) Date: Sun, 12 Mar 2006 18:45:48 +0100 Subject: [python-nl] Infrae zoekt een interaction designer Message-ID: <32a4a00c0603120945k149f0eabp@mail.gmail.com> Infrae is zoek naar een nieuwe medewerker om ons te helpen te bouwen aan web applicaties. We zoeken een: Interaction designer met technische focus Infrae is een klein bedrijf in Rotterdam dat web applicaties bouwt met de Python programmeertaal. Het web applicatie platform dat we gebruiken is Zope (2 en 3). We zijn voornamelijk gericht op het werken aan web applicaties die iets te maken hebben met content management. We werken graag met open source - onze eigen applicaties, zoals Silva, zijn open source, en we zijn ook actief betrokken bij verschillende open source projecten, zoals Zope, Plone, en Schooltool, die we desgewenst voor klanten aanpassen. Infrae is een echt ontwikkelbedrijf - we houden er van om nieuwe dingen te bouwen en verder uit te breiden, samenwerkend met onze klanten. Dit gaat vaak in de context van een groter project, zoals Silva, Plone, of Schooltool. Veelzijdigheid van onze medewerkers is een must! Behalve een sterk ontwikkeld gevoel voor software kwaliteit, is ook de user interface en daarmee de bruikbaarheid van de software voor Infrae erg belangrijk. Gewenste kennis: * Een gedegen basis in (X)HTML, CSS en (basis)Javascript. * Ontwikkeld een aantoonbaar gevoel voor het ontwerpen van user interfaces, layout en design. * Ervaring met het bouwen van web applicaties, met name web templating technieken en formulier afhandeling. Andere deskundigheden: * Ervaring met XML technologie, zoals XSLT of XPath, is een plus. * Een basis in object georienteerd programmeren. Ervaring met Python is een grote plus. * Ervaring met het Linux of Mac OS X platform een plus. * Ben je betrokken bij een open source project? Dat vinden we erg leuk! Geinteresseerd? Mail ons a.u.b.... kit -- kit BLAKE Infrae ? infrae.com ? +31 10 243 7051 Hoevestraat 10 ? 3033GC ? Rotterdam ? The Netherlands From edunreal at gmail.com Mon Mar 13 12:45:00 2006 From: edunreal at gmail.com (UnrealEd) Date: Mon, 13 Mar 2006 03:45:00 -0800 (PST) Subject: [python-nl] while-lus vraagje Message-ID: <3376251.post@talk.nabble.com> gegroet iedereen, mss een domme vraag, maar ondersteunt python de volgende commando's: while a=b: print b b+=1 op het eerste zicht ziet dit er enorm belachelijk uit, ik weet het, maar het is de bedoeling dat ik dit ga gebruiken met een MySQLdb-interface. Hierbij kan je dan, net zoals in php, via een while loopje de gegevens uit de database halen, bijvoorbeeld met een fetch_row mvg, UnrealEd -- View this message in context: http://www.nabble.com/while-lus-vraagje-t1271983.html#a3376251 Sent from the Python - python-nl forum at Nabble.com. From guido at infrae.com Mon Mar 13 12:54:59 2006 From: guido at infrae.com (Guido Wesdorp) Date: Mon, 13 Mar 2006 12:54:59 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <3376251.post@talk.nabble.com> References: <3376251.post@talk.nabble.com> Message-ID: <44155D93.2020001@infrae.com> UnrealEd wrote: > gegroet iedereen, > > mss een domme vraag, maar ondersteunt python de volgende commando's: > while a=b: > print b > b+=1 > Open een Python interpreter en probeer het: % python Python 2.3.5 (#2, May 4 2005, 08:51:39) [GCC 3.3.5 (Debian 1:3.3.5-12)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> while a=b: File "", line 1 while a=b: ^ SyntaxError: invalid syntax >>> Antwoord: nope... Cheers, Guido From edunreal at gmail.com Mon Mar 13 13:02:13 2006 From: edunreal at gmail.com (UnrealEd) Date: Mon, 13 Mar 2006 04:02:13 -0800 (PST) Subject: [python-nl] while-lus vraagje In-Reply-To: <44155D93.2020001@infrae.com> References: <3376251.post@talk.nabble.com> <44155D93.2020001@infrae.com> Message-ID: <3376446.post@talk.nabble.com> dat had ik gedaan, maar ik was niet zeker of het niets te maken had met de toekenning via een method uit een class. daarna heb ik het geprobeerd met een eenvoudig voorbeeld in de interpreter, en daar gaf hij idd een error. dit is wel spijtig, nu moet ik mijn files gaan aanpassen. :) greetz, UnrealEd -- View this message in context: http://www.nabble.com/while-lus-vraagje-t1271983.html#a3376446 Sent from the Python - python-nl forum at Nabble.com. From guido at infrae.com Mon Mar 13 13:06:44 2006 From: guido at infrae.com (Guido Wesdorp) Date: Mon, 13 Mar 2006 13:06:44 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <78f5441d0603130358o4ab29e98j48f77b9f4ba87926@mail.gmail.com> References: <3376251.post@talk.nabble.com> <44155D93.2020001@infrae.com> <78f5441d0603130358o4ab29e98j48f77b9f4ba87926@mail.gmail.com> Message-ID: <44156054.4080402@infrae.com> Ik zag pas na versturen dat dit een persoonlijke reply was, bij deze naar de lijst... Guyon Mor?e wrote: > misschien bedoelde je : > > while a==b: > > ? > Ik vermoed van niet (al kan ik het mis hebben natuurlijk?): in een hoop C-achtige talen is een dergelijk constructie vrij gebruikelijk: je slaat de waarde van een functie call op in een variabele, en controleert direct of hij naar false resolved, in dat geval stop je met loopen. Dit maakt loops wat compacter, en zorgt dat 'while 1:' constructies zoals je die in Python vaak ziet onnodig... In Python is in een hoop opzichten wat expliciter dan zulke talen, en staat dit niet toe. Voorbeeld van een use case (C-achtige pseudo code): while (row = read_database_row()) { process_row(row); }; (mogelijk) Python equivalent: while 1: row = read_database_row() if not row: break process_row(row) Hoop dat dit helpt! Succes, Guido From remco at gerlich.nl Mon Mar 13 13:12:16 2006 From: remco at gerlich.nl (Remco Gerlich) Date: Mon, 13 Mar 2006 13:12:16 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <3376251.post@talk.nabble.com> References: <3376251.post@talk.nabble.com> Message-ID: <441561A0.1080900@gerlich.nl> UnrealEd wrote: >gegroet iedereen, > >mss een domme vraag, maar ondersteunt python de volgende commando's: >while a=b: > print b > b+=1 > > Je kunt twee getallen vergelijken met ==, niet met = (twee tekens dus). Dus: while a == b: print b b += 1 Maar volgens mij zoek je iets als (dit is Perl, maar PHP is vast vergelijkbaar) : while (my $row = $rs->fetchrow_hashref) { # Doe iets met row } Dat kan niet direct in Python, want in een while lus moet een boolean expressie staan, en daarbinnen mag je geen toekenningen aan variabelen doen. Dus het wordt iets als: while 1: row = rs.fetchone() if not row: break # Doe iets met row Of beter: for row in rs.fetchall(): # Doe iets met row Remco From edunreal at gmail.com Mon Mar 13 13:16:41 2006 From: edunreal at gmail.com (UnrealEd) Date: Mon, 13 Mar 2006 04:16:41 -0800 (PST) Subject: [python-nl] while-lus vraagje In-Reply-To: <44156054.4080402@infrae.com> References: <3376251.post@talk.nabble.com> <44155D93.2020001@infrae.com> <44156054.4080402@infrae.com> Message-ID: <3376626.post@talk.nabble.com> > while 1: > row = read_database_row() > if not row: > break > process_row(row) uiteraard, dat ik daar niet aan gedacht heb. wat dom van me :) hartelijk dank UnrealEd -- View this message in context: http://www.nabble.com/while-lus-vraagje-t1271983.html#a3376626 Sent from the Python - python-nl forum at Nabble.com. From reinout at vanrees.org Mon Mar 13 13:30:06 2006 From: reinout at vanrees.org (Reinout van Rees) Date: Mon, 13 Mar 2006 13:30:06 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <3376626.post@talk.nabble.com> References: <3376251.post@talk.nabble.com> <44155D93.2020001@infrae.com> <44156054.4080402@infrae.com> <3376626.post@talk.nabble.com> Message-ID: <441565CE.9050600@vanrees.org> UnrealEd wrote: >>while 1: >> row = read_database_row() >> if not row: >> break >> process_row(row) Kijk ook even in de database API die je gebruikt. Redelijke kans dat het een iterator functie is. En dan kan je gewoon het volgende doen: for row in dabase.readRows(): print row Net zoiets als in "for line in file.readlines():". Reinout -- Reinout van Rees r.van.rees at zestsoftware.nl http://vanrees.org/weblog/ http://zestsoftware.nl/ "Military engineers build missiles. Civil engineers build targets." From mj at python.org Mon Mar 13 14:24:37 2006 From: mj at python.org (Martijn Pieters) Date: Mon, 13 Mar 2006 14:24:37 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <441561A0.1080900@gerlich.nl> References: <3376251.post@talk.nabble.com> <441561A0.1080900@gerlich.nl> Message-ID: <44157295.1030008@python.org> Remco Gerlich wrote: > while 1: > row = rs.fetchone() > if not row: > break > > # Doe iets met row > > Of beter: > > for row in rs.fetchall(): > # Doe iets met row Nog veel beter is iteratie over een generator: def rowset_iterate(rs): while 1: result = rs.fetchone() if not result: raise StopIteration yield result for row in rowset_iterate(rs): # Doe iets met row Martijn From just at letterror.com Mon Mar 13 15:32:24 2006 From: just at letterror.com (Just van Rossum) Date: Mon, 13 Mar 2006 15:32:24 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <44157295.1030008@python.org> Message-ID: Martijn Pieters wrote: > Remco Gerlich wrote: > > while 1: > > row = rs.fetchone() > > if not row: > > break > > > > # Doe iets met row > > > > Of beter: > > > > for row in rs.fetchall(): > > # Doe iets met row > > Nog veel beter is iteratie over een generator: > > def rowset_iterate(rs): > while 1: > result = rs.fetchone() > if not result: > raise StopIteration ^ Uh, als je dan toch een generator gebruikt hoef je niet expliciet StopIteration te raisen, een break volstaat prima. (return zou ook werken, maar break vind ik beter in deze context.) > yield result > > for row in rowset_iterate(rs): > # Doe iets met row Just From mj at python.org Mon Mar 13 15:44:01 2006 From: mj at python.org (Martijn Pieters) Date: Mon, 13 Mar 2006 15:44:01 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: References: Message-ID: <44158531.5090703@python.org> Just van Rossum wrote: > Uh, als je dan toch een generator gebruikt > hoef je niet expliciet StopIteration te raisen, een break > volstaat prima. (return zou ook werken, maar break vind ik > beter in deze context.) Heh, da was code uit de losse pols, mot ik nou op deze lijst nou ook al op m'n puntjes op de i letten?? ;) Martijn From rr at nederhoed.com Mon Mar 13 15:46:48 2006 From: rr at nederhoed.com (rr at nederhoed.com) Date: Mon, 13 Mar 2006 15:46:48 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <44158531.5090703@python.org> References: <44158531.5090703@python.org> Message-ID: <20060313154648.2lguznsfuitc48kc@webmail.nederhoed.com> "puntjes op de i's" ;) From ep at epoz.org Mon Mar 13 15:59:03 2006 From: ep at epoz.org (Etienne Posthumus) Date: Mon, 13 Mar 2006 15:59:03 +0100 Subject: [python-nl] Meeting in Den Haag In-Reply-To: References: Message-ID: <747a4aea0603130659g3c905bc5o94f3271adff737f7@mail.gmail.com> On 3/9/06, Jeroen Vloothuis wrote: > Op dit moment hebben we al een spreker. Etienne Posthumus zal iets vertellen over het gebruik van PyParsing: > > http://pyparsing.sourceforge.net/ > > Mocht iemand anders nog iets leuks willen vertellen dan hoor ik het graag. Mijn verhaal is maar kort, zo rond de 10-15 min. Ik wou gewoon delen hoe bijzonder maklijk ik het vond om een parser te maken in tegenstelling tot andere tools. Zijn er al ander sprekers op de agenda? EP From mj at python.org Mon Mar 13 16:03:41 2006 From: mj at python.org (Martijn Pieters) Date: Mon, 13 Mar 2006 16:03:41 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <20060313154648.2lguznsfuitc48kc@webmail.nederhoed.com> References: <44158531.5090703@python.org> <20060313154648.2lguznsfuitc48kc@webmail.nederhoed.com> Message-ID: <441589CD.2010606@python.org> rr at nederhoed.com wrote: > "puntjes op de i's" raise StopIter^W^Wbreak :)) Martijn From rr at nederhoed.com Mon Mar 13 16:32:22 2006 From: rr at nederhoed.com (rr at nederhoed.com) Date: Mon, 13 Mar 2006 16:32:22 +0100 Subject: [python-nl] while-lus vraagje Message-ID: <20060313163222.c1csxvnef7cwc84c@webmail.nederhoed.com> (attachment is inclusief doctest) Ach, als we dan toch bezig zijn: class ResultSetIterator: """ Itereer over een result set van een query mbv een klasse """ def __init__(self, result_set): """Constructor """ self.rs = result_set def next(self): """Iterator """ while True: result = self.rs.fetchone() if result is not None: yield result else: raise StopIteration def __iter__(self): return self.next() # in programma: for row in ResultSetIterator(rs): print row -------------- next part -------------- A non-text attachment was scrubbed... Name: ResultSetIterator.py Type: text/x-python Size: 921 bytes Desc: not available Url : http://mail.python.org/pipermail/python-nl/attachments/20060313/961d7f12/attachment.py From just at letterror.com Mon Mar 13 17:16:22 2006 From: just at letterror.com (Just van Rossum) Date: Mon, 13 Mar 2006 17:16:22 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <20060313163222.c1csxvnef7cwc84c@webmail.nederhoed.com> Message-ID: rr at nederhoed.com wrote: > (attachment is inclusief doctest) > > Ach, als we dan toch bezig zijn: Ditto :) > class ResultSetIterator: > """ Itereer over een result set van een query mbv een klasse """ > def __init__(self, result_set): > """Constructor """ > self.rs = result_set > > def next(self): > """Iterator """ > while True: > result = self.rs.fetchone() > if result is not None: > yield result > else: > raise StopIteration ^ Moet ik het echt nog een keer zeggen? > def __iter__(self): > return self.next() [ ... ] Het is nogal verwarrend een class te schrijven die XxxIterator heet en een next() method heeft die niets te maken heeft met het iterator protocol. Samen met hoe je je __iter__ geimplementeerd hebt heb je bovendien nu geen iterator maar een iterable. Je code zou alsvolgt herschreven kunnen worden: class ResultSetIterable: def __init__(self, result_set): self.rs = result_set def __iter__(self): while True: result = self.rs.fetchone() if result is not None: yield result else: break En dat kun je herschrijven zoals Martijn Pieters het al deed voor je dit postte. Het is volkomen overbodig hier een class aan vuil te maken. Mopper ik te veel? :) Just From mj at python.org Mon Mar 13 17:52:54 2006 From: mj at python.org (Martijn Pieters) Date: Mon, 13 Mar 2006 17:52:54 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: References: Message-ID: <4415A366.7050407@python.org> Just van Rossum wrote: > class ResultSetIterable: > def __init__(self, result_set): > self.rs = result_set > > def __iter__(self): > while True: > result = self.rs.fetchone() > if result is not None: > yield result > else: > break Apart van het feit dat ik hier geen classes aan vuil maak, kan dit nog ietsje korter; als we toch aan het mierenneuken zijn... class ResultSetIterable: def __init__(self, result_set): self.rs = result_set def __iter__(self): while True: result = self.rs.fetchone() if result is None: break yield result ;) Martijn From just at letterror.com Mon Mar 13 18:11:05 2006 From: just at letterror.com (Just van Rossum) Date: Mon, 13 Mar 2006 18:11:05 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <4415A366.7050407@python.org> Message-ID: Martijn Pieters wrote: > Just van Rossum wrote: > > class ResultSetIterable: > > def __init__(self, result_set): > > self.rs = result_set > > > > def __iter__(self): > > while True: > > result = self.rs.fetchone() > > if result is not None: > > yield result > > else: > > break > > Apart van het feit dat ik hier geen classes aan vuil maak, kan dit nog > ietsje korter; als we toch aan het mierenneuken zijn... > > class ResultSetIterable: > def __init__(self, result_set): > self.rs = result_set > > def __iter__(self): > while True: > result = self.rs.fetchone() > if result is None: > break > yield result > > ;) Waarom dit nog verbeteren als jouw classloze versie bij voorbaat al beter was? (Op een miereneukerig detailtje na waar we het niet meer over zullen hebben ;-) Just From rr at nederhoed.com Mon Mar 13 18:27:06 2006 From: rr at nederhoed.com (rr at nederhoed.com) Date: Mon, 13 Mar 2006 18:27:06 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: References: Message-ID: <20060313182706.og0bohal809kc8oc@webmail.nederhoed.com> Just: > En dat kun je herschrijven zoals Martijn Pieters het al deed voor je > dit postte. Het is volkomen overbodig hier een class aan vuil te > maken. Het was juist mijn bedoeling Martijn zijn code in een klasse te gieten. Ik zie niet in wat daar 'vuil' van wordt. Waarom is het beter om geen klasse te gebruiken? De 'next' komt voort uit hoe ik het Iterator patroon ken. Maar dat is vast niet pythonisch genoeg. > Mopper ik te veel? :) Nee hoor, ik was wel benieuwd naar jullie mening. Robert-Reinder -- From just at letterror.com Mon Mar 13 18:42:34 2006 From: just at letterror.com (Just van Rossum) Date: Mon, 13 Mar 2006 18:42:34 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <20060313182706.og0bohal809kc8oc@webmail.nederhoed.com> Message-ID: rr at nederhoed.com wrote: > Het was juist mijn bedoeling Martijn zijn code in een klasse te > gieten. Ik zie niet in wat daar 'vuil' van wordt. > > Waarom is het beter om geen klasse te gebruiken? Het lijkt me logisch dat als je kunt kiezen tussen twee oplossingen die equivalent zijn, je voor de simpelste kiest. De class voegt niets toe behalve boilerplate. Maar waarom makkelijk als het ook moeilijk kan :) > De 'next' komt voort uit hoe ik het Iterator patroon ken. > Maar dat is vast niet pythonisch genoeg. Het iterator protocol is bijzonder Pythonic, maar je kent het blijkbaar niet goed. Zie http://docs.python.org/lib/typeiter.html Heel in het kort: Iterable (ding waarover je kunt loopen): - heeft een .__iter__() method die een iterator returnt Iterator: - heeft een .next() method die het volgende ding returnt, of StopIteration raised als er geen volgend ding is. - heeft een __next__() method die self returnt (waarmee elke iterator dus gelijk ook een iterable is). Jouw class was geen iterator, want de .next() method returnde niet "het volgende item" en de __next__ method returnde niet self. Het was wel een iterable, dus het werkte wel in de context van een for loop. Just From guido at infrae.com Mon Mar 13 18:47:46 2006 From: guido at infrae.com (Guido Wesdorp) Date: Mon, 13 Mar 2006 18:47:46 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: References: Message-ID: <4415B042.1090503@infrae.com> Just van Rossum wrote: > > Waarom dit nog verbeteren als jouw classloze versie bij voorbaat al > beter was? (Op een miereneukerig detailtje na waar we het niet meer over > zullen hebben ;-) > Jongens, jongens, houden jullie het wel een beetje rustig? ;) Cheers, Guido P.S. Ik ben op dit moment bezig met een spelletje waarin spelers het tegen elkaar op kunnen nemen in een Python gevecht, je krijgt een opdracht en moet dan proberen het zo snel mogelijk op te lossen, met een zo optimaal mogelijk resultaat (zowel executie snelheid als aantal geproduceerde gecompileerde bytes)... Het lijkt er op dat jullie een goed stel testers zouden zijn? ;) From mathweijzen at home.nl Mon Mar 13 19:30:11 2006 From: mathweijzen at home.nl (Math) Date: Mon, 13 Mar 2006 19:30:11 +0100 Subject: [python-nl] Running more than 1 App- instance Message-ID: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff> Hello, Pardon my English... Does anybody know what I have to do to run only 1 instance of my Python Application? How do I check if I'm running more instances of a Application? Thank you all From reinout at vanrees.org Mon Mar 13 19:37:36 2006 From: reinout at vanrees.org (Reinout van Rees) Date: Mon, 13 Mar 2006 19:37:36 +0100 Subject: [python-nl] Running more than 1 App- instance In-Reply-To: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff> References: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff> Message-ID: <4415BBF0.1010105@vanrees.org> Math wrote: > > Pardon my English... Pardon my poor Dutch, but dit is gewoon een Nederlandse lijst hoor :-) > Does anybody know what I have to do to run only 1 instance of my Python > Application? Hem maar 1 keer opstarten? Met zo'n kort antwoord vermoed ik dat je ons niet alles vertelt of dat je iets anders bedoeld... > How do I check if I'm running more instances of a Application? "ps ax" onder linux/osx/enz. Onder windows weet ik het zo gauw niet. ctrl-alt-del heeft wel een knopje waarmee je een overzicht krijgt. Reinout -- Reinout van Rees r.van.rees at zestsoftware.nl http://vanrees.org/weblog/ http://zestsoftware.nl/ "Military engineers build missiles. Civil engineers build targets." From lists at janc.be Mon Mar 13 20:04:26 2006 From: lists at janc.be (Jan Claeys) Date: Mon, 13 Mar 2006 20:04:26 +0100 Subject: [python-nl] Running more than 1 App- instance In-Reply-To: <4415BBF0.1010105@vanrees.org> References: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff> <4415BBF0.1010105@vanrees.org> Message-ID: <1142276666.26672.39.camel@localhost.localdomain> Op ma, 13-03-2006 te 19:37 +0100, schreef Reinout van Rees: > > How do I check if I'm running more instances of a Application? > > "ps ax" onder linux/osx/enz. Dat is zeker niet 100% safe: * er kunnen meerdere verschillende scripts met dezelfde naam in verschillende directories staan * hetzelfde script kan via symlinks in meerdere directories staan of verschillende namen hebben * race conditions... (misschien moeilijk te voorkomen?) E?n of andere vorm van IPC lijkt me aangewezen... > Onder windows weet ik het zo gauw niet. > ctrl-alt-del heeft wel een knopje waarmee je een overzicht krijgt. Er is een soort standaard-praktijk waar je voor zowat elke programmeertaal wel ergens een voorbeeld van kan vinden, maar het is 10 jaar geleden dat ik die bekeken heb... ;-) -- Jan Claeys From reinoud.v at n.leeuwen.net Mon Mar 13 20:12:14 2006 From: reinoud.v at n.leeuwen.net (Reinoud van Leeuwen) Date: Mon, 13 Mar 2006 20:12:14 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <4415B042.1090503@infrae.com> References: <4415B042.1090503@infrae.com> Message-ID: <20060313191214.GX77583@spoetnik.xs4all.nl> On Mon, Mar 13, 2006 at 06:47:46PM +0100, Guido Wesdorp wrote: > opdracht en moet dan proberen het zo snel mogelijk op te lossen, met een > zo optimaal mogelijk resultaat (zowel executie snelheid als aantal Als we aan het mierenneuken zijn: "zo optimaal mogelijk" kan niet. iets is optimaal of niet. Je kan ook niet zo zwanger mogelijk zijn. -- __________________________________________________ "Nothing is as subjective as reality" Reinoud van Leeuwen reinoud.v at n.leeuwen.net http://www.xs4all.nl/~reinoud __________________________________________________ From mj at python.org Mon Mar 13 20:19:40 2006 From: mj at python.org (Martijn Pieters) Date: Mon, 13 Mar 2006 20:19:40 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: References: Message-ID: <4415C5CC.5040509@python.org> Just van Rossum wrote: > Iterator: > - heeft een .next() method die het volgende ding returnt, of > StopIteration raised als er geen volgend ding is. > - heeft een __next__() method die self returnt (waarmee elke iterator > dus gelijk ook een iterable is). > > Jouw class was geen iterator, want de .next() method returnde niet "het > volgende item" en de __next__ method returnde niet self. Het was wel een > iterable, dus het werkte wel in de context van een for loop. En om het nog wat verder te verwarren: je bedoelt waarschijnlijk dat een Iterator een __iter__ method heeft, die voor een Iterator terug geeft (een .next method heeft); Iterators kunnen daar dus self terug geven. :) Voor de duidelijkheid: elke callable (function, method, __call__ method) dat het keyword 'yield' gebruikt, geeft bij aanroepen een Generator Iterator terug. Zie http://docs.python.org/ref/yield.html. Vandaar dat je voor __iter__ ook een method kan begruiken dat het yield statement gebruikt, want dan geeft aanroep van zo'n methode een Iterator terug. Martijn Pieters From just at letterror.com Mon Mar 13 20:26:56 2006 From: just at letterror.com (Just van Rossum) Date: Mon, 13 Mar 2006 20:26:56 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: <4415C6A4.5030604@nederhoed.com> Message-ID: RR Nederhoed wrote: > Ik krijg wel een beetje jeuk van je manier van corrigeren. Goed, doe ik volgende keer niet mijn best het uit te leggen. Just From rr at nederhoed.com Mon Mar 13 20:23:16 2006 From: rr at nederhoed.com (RR Nederhoed) Date: Mon, 13 Mar 2006 20:23:16 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: References: Message-ID: <4415C6A4.5030604@nederhoed.com> > Het iterator protocol is bijzonder Pythonic, maar je kent het > blijkbaar niet goed. Zie http://docs.python.org/lib/typeiter.html Blijkbaar. Ik krijg wel een beetje jeuk van je manier van corrigeren. -- From reinout at vanrees.org Mon Mar 13 21:43:21 2006 From: reinout at vanrees.org (Reinout van Rees) Date: Mon, 13 Mar 2006 21:43:21 +0100 Subject: [python-nl] Running more than 1 App- instance In-Reply-To: <003901c646ce$441ebbf0$0202a8c0@uw403axvp2ndff> References: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff> <4415BBF0.1010105@vanrees.org> <003901c646ce$441ebbf0$0202a8c0@uw403axvp2ndff> Message-ID: <4415D969.20407@vanrees.org> Math wrote: > Verkeerde lijst .... Reply weer naar de lijst. > Momenteel kan ik mijn Python programma meerdere malen starten. > Is er een manier om dit "weg te programmeren" om het zomaar eens te > stellen? Ah, lockfile ergens opslaan. if bestand bestaat, then roep "ik kan niet starten, lockfile gevonden". Reinout -- Reinout van Rees r.van.rees at zestsoftware.nl http://vanrees.org/weblog/ http://zestsoftware.nl/ "Military engineers build missiles. Civil engineers build targets." From rob at hooft.net Mon Mar 13 22:05:50 2006 From: rob at hooft.net (Rob Hooft) Date: Mon, 13 Mar 2006 22:05:50 +0100 Subject: [python-nl] Running more than 1 App- instance In-Reply-To: <4415D969.20407@vanrees.org> References: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff> <4415BBF0.1010105@vanrees.org> <003901c646ce$441ebbf0$0202a8c0@uw403axvp2ndff> <4415D969.20407@vanrees.org> Message-ID: <4415DEAE.5020403@hooft.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Reinout van Rees wrote: > Math wrote: > >>Verkeerde lijst .... > > > Reply weer naar de lijst. > > >>Momenteel kan ik mijn Python programma meerdere malen starten. >>Is er een manier om dit "weg te programmeren" om het zomaar eens te >>stellen? > > > Ah, lockfile ergens opslaan. if bestand bestaat, then roep "ik kan niet > starten, lockfile gevonden". Op een multi-user machine kan dat vervelend worden: gebruiker A start het programma, gebruiker B wil dat ook, maar kan niet want A heeft het in gebruik. Met een licentiesysteem kan dat goed zijn, maar meestal is dat niet wat je bedoelt. Ook moet je uitkijken dat je die lockfile niet tussen machines deelt, want dan zou een gebruiker met een gedeelde login directory slechts op 1 machine het programma kunnen starten. Verder moet je een trucje hebben om een lockfile als deze is verlopen te kunnen weggooien. Je kunt er bijvoorbeeld op een unix-kast de proces-id van de taak inzetten, een nieuw gestart proces zou dan kunnen kijken of dat proces nog loopt (met een kill-probe). Onder MS/Win is dit soort techniek gebruikelijk, onder unix start men vaak het programma een tweede maal. Alleen als het programma resources (bijv. hardware) gebruikt die niet gedeeld kunnen worden is dat een mogelijk probleem. Maar in dat geval zou je niet moeten controleren of er al een kloon van het programma draait, maar of de resources nog beschikbaar zijn. Zo programmeren we ook in python: niet controleren of een object van het juiste type is, maar controleren of het een bepaalde methode kent.... Rob - -- Rob W.W. Hooft || rob at hooft.net || http://www.hooft.net/people/rob/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFEFd6uH7J/Cv8rb3QRAmMJAJ4gBdTLK4F7oQdv8s5K3ci5NrTnMQCeJ35n o4G0grY97vrz439o3ySANvg= =8C1b -----END PGP SIGNATURE----- From mathweijzen at home.nl Mon Mar 13 23:17:09 2006 From: mathweijzen at home.nl (Math) Date: Mon, 13 Mar 2006 23:17:09 +0100 Subject: [python-nl] Running more than 1 App- instance References: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff><4415BBF0.1010105@vanrees.org><003901c646ce$441ebbf0$0202a8c0@uw403axvp2ndff> <4415D969.20407@vanrees.org> Message-ID: <006701c646eb$e0955620$0202a8c0@uw403axvp2ndff> LockFile? Waar vindt ik die dan wel? (Windows machine) ----- Original Message ----- From: "Reinout van Rees" To: Sent: Monday, March 13, 2006 9:43 PM Subject: Re: [python-nl] Running more than 1 App- instance > Math wrote: >> Verkeerde lijst .... > > Reply weer naar de lijst. > >> Momenteel kan ik mijn Python programma meerdere malen starten. >> Is er een manier om dit "weg te programmeren" om het zomaar eens te >> stellen? > > Ah, lockfile ergens opslaan. if bestand bestaat, then roep "ik kan niet > starten, lockfile gevonden". > > Reinout > > -- > Reinout van Rees r.van.rees at zestsoftware.nl > http://vanrees.org/weblog/ http://zestsoftware.nl/ > "Military engineers build missiles. Civil engineers build targets." > > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > http://mail.python.org/mailman/listinfo/python-nl From rob at hooft.net Tue Mar 14 07:18:40 2006 From: rob at hooft.net (Rob W.W. Hooft) Date: Tue, 14 Mar 2006 07:18:40 +0100 Subject: [python-nl] Running more than 1 App- instance In-Reply-To: <006701c646eb$e0955620$0202a8c0@uw403axvp2ndff> References: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff><4415BBF0.1010105@vanrees.org><003901c646ce$441ebbf0$0202a8c0@uw403axvp2ndff> <4415D969.20407@vanrees.org> <006701c646eb$e0955620$0202a8c0@uw403axvp2ndff> Message-ID: <44166040.3060801@hooft.net> Lockfiles vind je niet, die maak je. Een voorbeeld: elke keer als je het programma start dan probeer je een nieuwe file "C:\temp\myprog.lck" te maken. Als dat niet lukt, dan draait het programma blijkbaar al. En als je het programma verlaat, zorg je ervoor dat deze file altijd wordt weggegooid. Dat laatste maakt het in de praktijk moeilijker: als het een keer niet lukt om de file weg te gooien (bijvoorbeeld een systeemcrash; gebeurt soms wel eens op M$ systemen), dan zit je de volgende keer.... Rob Math wrote: > LockFile? > Waar vindt ik die dan wel? > (Windows machine) > > ----- Original Message ----- > From: "Reinout van Rees" > To: > Sent: Monday, March 13, 2006 9:43 PM > Subject: Re: [python-nl] Running more than 1 App- instance > > > >>Math wrote: >> >>>Verkeerde lijst .... >> >>Reply weer naar de lijst. >> >> >>>Momenteel kan ik mijn Python programma meerdere malen starten. >>>Is er een manier om dit "weg te programmeren" om het zomaar eens te >>>stellen? >> >>Ah, lockfile ergens opslaan. if bestand bestaat, then roep "ik kan niet >>starten, lockfile gevonden". >> >>Reinout >> >>-- >>Reinout van Rees r.van.rees at zestsoftware.nl >>http://vanrees.org/weblog/ http://zestsoftware.nl/ >>"Military engineers build missiles. Civil engineers build targets." >> >>_______________________________________________ >>Python-nl mailing list >>Python-nl at python.org >>http://mail.python.org/mailman/listinfo/python-nl > > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > http://mail.python.org/mailman/listinfo/python-nl > -- Rob W.W. Hooft || rob at hooft.net || http://www.hooft.net/people/rob/ From jeroen at vloothuis.net Tue Mar 14 07:52:39 2006 From: jeroen at vloothuis.net (Jeroen Vloothuis) Date: Tue, 14 Mar 2006 07:52:39 +0100 Subject: [python-nl] Meeting in Den Haag In-Reply-To: <747a4aea0603130659g3c905bc5o94f3271adff737f7@mail.gmail.com> Message-ID: <000101c64733$e309eae0$3378a8c0@pareto.local> > Zijn er al ander sprekers op de agenda? Goed dat je het vraagt. Frans Schippers heeft zich opgeworpen om iets te vertellen over Python bij TPG post. Groeten, Jeroen From ep at epoz.org Tue Mar 14 10:10:18 2006 From: ep at epoz.org (Etienne Posthumus) Date: Tue, 14 Mar 2006 10:10:18 +0100 Subject: [python-nl] while-lus vraagje In-Reply-To: References: <4415C6A4.5030604@nederhoed.com> Message-ID: <747a4aea0603140110q6f7b3486n7493534ce1d20e35@mail.gmail.com> On 3/13/06, Just van Rossum wrote: > RR Nederhoed wrote: > > > Ik krijg wel een beetje jeuk van je manier van corrigeren. > > Goed, doe ik volgende keer niet mijn best het uit te leggen. Nee, nee, niet stoppen! Ik vond deze discussie wel leuk, 'ant-fucking included'. IMHO is het veel beter om wel discussie en content op de lijst te hebben dan een dooie boel. Wat manier van corrigeren betreft, wij moeten maar de asbestpakken aantrekken. Het is toch de aard van een mailing lijst dat wij naar hartelust kan discussi?ren en corrigeren? Vergeleken met andere fora is het hier vrij beschaafd. DISCLAIMER: Comments from the peanut-gallery. Discard at will. EP From ep at epoz.org Tue Mar 14 10:17:12 2006 From: ep at epoz.org (Etienne Posthumus) Date: Tue, 14 Mar 2006 10:17:12 +0100 Subject: [python-nl] Running more than 1 App- instance In-Reply-To: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff> References: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff> Message-ID: <747a4aea0603140117t3748d455yd69b0a20258c114a@mail.gmail.com> On 3/13/06, Math wrote: > Does anybody know what I have to do to run only 1 instance of my Python > Application? > How do I check if I'm running more instances of a Application? Met een beetje Googlen kwam ik hier terecht: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/474070 Lijk mij een kant-en-klaar oplossing voor wat je nodig heb. De Python Cookbook is door-en-door de geld waard om als boek aan te schaffen. EP From mj at python.org Tue Mar 14 10:49:11 2006 From: mj at python.org (Martijn Pieters) Date: Tue, 14 Mar 2006 10:49:11 +0100 Subject: [python-nl] Running more than 1 App- instance In-Reply-To: <747a4aea0603140117t3748d455yd69b0a20258c114a@mail.gmail.com> References: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff> <747a4aea0603140117t3748d455yd69b0a20258c114a@mail.gmail.com> Message-ID: <44169197.2030206@python.org> Etienne Posthumus wrote: > Lijk mij een kant-en-klaar oplossing voor wat je nodig heb. > De Python Cookbook is door-en-door de geld waard om als boek aan te schaffen. Kan ik zeker beamen! Alleen al voor de schat aan best-practices informatie is het de prijs waard. (Het feit dat ik mijn kopie gratis heb gekregen doet daar zeker niets aan af ;)) Martijn From rs445 at lycos.com Tue Mar 14 11:01:25 2006 From: rs445 at lycos.com (Ron Speerstra) Date: Tue, 14 Mar 2006 05:01:25 -0500 Subject: [python-nl] Python-nl Digest, Vol 22, Issue 13 Message-ID: <20060314100125.4E75B86BAD@ws7-1.us4.outblaze.com> > > Ik krijg wel een beetje jeuk van je manier van corrigeren. > > > Goed, doe ik volgende keer niet mijn best het uit te leggen. Ik wil hier ook even op inhaken, dit zou klopen als jullie onder elkaar een mail sturen. Echter daar het hier om een M-list gaat, "smullen" hier anderen van. Ik b.v., ik vond dit heel interesant. Zo'n uileg mocht voor mij elke dag komen. Voor die beginnnende Pythonnaars is dit 'de' stuf wat ze nodig hebben. Wat je eigelijk maar weinig tegen komt in een tutor. Daar gaan ze niet zo diep er op in. Nog meer, eke dag over een ander onderwerp? Graag. Welkom Gr. Ron Speerstra -- _______________________________________________ Search for businesses by name, location, or phone number. -Lycos Yellow Pages http://r.lycos.com/r/yp_emailfooter/http://yellowpages.lycos.com/default.asp?SRC=lycos10 From a.t.hofkamp at tue.nl Tue Mar 14 13:51:52 2006 From: a.t.hofkamp at tue.nl (A.T.Hofkamp) Date: Tue, 14 Mar 2006 13:51:52 +0100 Subject: [python-nl] Python-nl Digest, Vol 22, Issue 13 In-Reply-To: <20060314100125.4E75B86BAD@ws7-1.us4.outblaze.com> References: <20060314100125.4E75B86BAD@ws7-1.us4.outblaze.com> Message-ID: <4416BC68.1050508@tue.nl> Ron Speerstra wrote: > Nog meer, eke dag over een ander onderwerp? Graag. Welkom Dat is heel eenvoudig, stel elke dag een vraag over een ander onderwerp, en wacht dan op de lawine van antwoorden..... Albert From egbert.bouwman at hccnet.nl Tue Mar 14 13:47:55 2006 From: egbert.bouwman at hccnet.nl (egbert) Date: Tue, 14 Mar 2006 13:47:55 +0100 Subject: [python-nl] gnome-panel Message-ID: <20060314124755.GA5365@hccnet.nl> Een oude vraag, die ik al eerder elders heb gesteld, en waar ik nooit antwoorden op kreeg waar ik mee uit de voeten kon. Python-pygtk scripts kan ik starten vanuit gnome-terminal, gaat prima. Draaien van hetzelfde script via een launcher in het gnome-panel lukt niet: ik zie wel iets flitsen, maar dat is alles. Ik dacht dat het iets te maken heeft met mijn eigen PYTHONPATH, en daarom heb ik een verwijzing naar een bash startup script opgenomen in /etc/X11/Xsession.d , zonder resultaat. Suggesties ? -- Egbert Bouwman - Keizersgracht 197 II - 1016 DS Amsterdam - 020 6257991 ======================================================================== From ruben.decleyn at telenet.be Tue Mar 14 14:08:03 2006 From: ruben.decleyn at telenet.be (Ruben Decleyn) Date: Tue, 14 Mar 2006 14:08:03 +0100 Subject: [python-nl] Python-nl Digest, Vol 22, Issue 13 In-Reply-To: <4416BC68.1050508@tue.nl> References: <20060314100125.4E75B86BAD@ws7-1.us4.outblaze.com> <4416BC68.1050508@tue.nl> Message-ID: <4592D70A-15BA-41FF-B648-73D79626C7D6@telenet.be> Hmmm, Normaal eply ik nooit hier en vraag hier ook nooit iets maar ik lees wel alles. Ge weet maar nooit he. Zoals nu. Als ge echt een ellelange discusie wilt. Welke is de beste programeertaal , en warom heb je voor Phython gekozen... Op 14-mrt-06, om 13:51 heeft A.T.Hofkamp het volgende geschreven: > Ron Speerstra wrote: >> Nog meer, eke dag over een ander onderwerp? Graag. Welkom > > Dat is heel eenvoudig, stel elke dag een vraag over een ander > onderwerp, en > wacht dan op de lawine van antwoorden..... > > Albert > > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > http://mail.python.org/mailman/listinfo/python-nl > ---------------------------------- Ruben "It's so simple to be wise. Just think of something stupid to say, then don't say it." - SL Windows users take heart, dual core processors from AMD and Intel will allow you to run processor-intensive antivirus scans all day long on one of the cores. Or you could just get a Mac OS X machine. If you do, you'll wonder why you waited so long. -------------- next part -------------- Er is een HTML-bijlage verwijderd... URL: http://mail.python.org/pipermail/python-nl/attachments/20060314/9220846b/attachment.html From guido at infrae.com Tue Mar 14 15:12:18 2006 From: guido at infrae.com (Guido Wesdorp) Date: Tue, 14 Mar 2006 15:12:18 +0100 Subject: [python-nl] gnome-panel In-Reply-To: <20060314124755.GA5365@hccnet.nl> References: <20060314124755.GA5365@hccnet.nl> Message-ID: <4416CF42.3020703@infrae.com> egbert wrote: > > Python-pygtk scripts kan ik starten vanuit gnome-terminal, > gaat prima. > Draaien van hetzelfde script via een launcher in het gnome-panel > lukt niet: ik zie wel iets flitsen, maar dat is alles. > Klinkt alsof er een exceptie is, misschien iets van een probleem om de GTK main loop te starten of zo? Ik zou eens een grote try/except om je code heen zetten, en eventuele excepties naar een file schrijven, kijken wat er gebeurt. Groeten, Guido From a.t.hofkamp at tue.nl Tue Mar 14 15:24:05 2006 From: a.t.hofkamp at tue.nl (A.T.Hofkamp) Date: Tue, 14 Mar 2006 15:24:05 +0100 Subject: [python-nl] Python-nl Digest, Vol 22, Issue 13 In-Reply-To: <4592D70A-15BA-41FF-B648-73D79626C7D6@telenet.be> References: <20060314100125.4E75B86BAD@ws7-1.us4.outblaze.com> <4416BC68.1050508@tue.nl> <4592D70A-15BA-41FF-B648-73D79626C7D6@telenet.be> Message-ID: <4416D205.4030102@tue.nl> Hallo, Ruben Decleyn wrote: > Hmmm, > Normaal eply ik nooit hier en vraag hier ook nooit iets maar ik lees > wel alles. > Ge weet maar nooit he. > Zoals nu. > Als ge echt een ellelange discusie wilt. > > Welke is de beste programeertaal , en warom heb je voor Phython gekozen... Op de Python mailinglist zijn we het vast volledig met elkaar eens en is dit een korte discussie :-) Overigens ben ik van mening dat er niet een beste programmeertaal is. Als die er zou zijn, hadden we alle andere talen al lang geleden afgeschaft. Het hoogste wat zou kunnen imho, is dat er een hele goede taal bestaat voor een bepaalde klasse van problemen, maar die klasse is zeker kleiner dan het universum. Waar de grenzen van klassen precies liggen is ook nog per persoon verschillend. Tevens verschuiven die grenzen in de tijd voor een persoon, dus het concept dat er een universele taal is of te ontwerpen zou zijn lijkt mij een slecht ontworpen model van de werkelijkheid. Het antwoord op het 2e deel is dat ik Python niet als universele hamer beschouw. Ik heb een aantal talen die ik naast elkaar gebruik, zodanig dat het naar mijn idee voor mij de meest ideale oplossing oplevert voor het probleem. Het grootste nadeel daarvan is dat je gek wordt van al die verschillende conventies en aanpakken van al die verschillende talen.... ;-) Dat betekent niet imho dat iemand anders dezelfde problemen op dezelfde manier zou (moeten) oplossen. Er zijn oneindig veel wegen naar Rome, voor iedereen ligt Rome op een andere plek op de wereld, en Rome heeft ook nog de neiging om zich te verplaatsen in tijd tengevolge van ervaringen, inzichten, en voortschrijden der techniek. Albert From mathweijzen at home.nl Tue Mar 14 17:42:49 2006 From: mathweijzen at home.nl (Math) Date: Tue, 14 Mar 2006 17:42:49 +0100 Subject: [python-nl] Running more than 1 App- instance References: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff><747a4aea0603140117t3748d455yd69b0a20258c114a@mail.gmail.com> <44169197.2030206@python.org> Message-ID: <006801c64787$088cf390$0702a8c0@uw403axvp2ndff> Jongens bedankt. Zowel voor de LockFile oplossing alsook de CreateMutex(None, False, self.mutex) oplossing. (by the way...wat is een mutex?) -------------------------------------------------------------------------------------------- ----- Original Message ----- From: "Martijn Pieters" To: Cc: Sent: Tuesday, March 14, 2006 10:49 AM Subject: Re: [python-nl] Running more than 1 App- instance > Etienne Posthumus wrote: >> Lijk mij een kant-en-klaar oplossing voor wat je nodig heb. >> De Python Cookbook is door-en-door de geld waard om als boek aan te >> schaffen. > > Kan ik zeker beamen! Alleen al voor de schat aan best-practices > informatie is het de prijs waard. > > (Het feit dat ik mijn kopie gratis heb gekregen doet daar zeker niets > aan af ;)) > > Martijn > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > http://mail.python.org/mailman/listinfo/python-nl From andre at vandervlies.xs4all.nl Tue Mar 14 18:24:33 2006 From: andre at vandervlies.xs4all.nl (Andre van der Vlies) Date: Tue, 14 Mar 2006 18:24:33 +0100 (CET) Subject: [python-nl] Running more than 1 App- instance In-Reply-To: <006801c64787$088cf390$0702a8c0@uw403axvp2ndff> References: <003f01c646cc$29e19480$0202a8c0@uw403axvp2ndff><747a4aea0603140117t3748d455yd69b0a20258c114a@mail.gmail.com> <44169197.2030206@python.org> <006801c64787$088cf390$0702a8c0@uw403axvp2ndff> Message-ID: <40104.192.168.54.65.1142357073.squirrel@vandervlies.xs4all.nl> Math wrote: > Jongens bedankt. > Zowel voor de LockFile oplossing alsook de CreateMutex(None, False, > self.mutex) oplossing. > (by the way...wat is een mutex?) > Een MUTual EXclusion (wederzijdse uitsluiting). Googlen op deadlocks, semaforen, IPC, Dijkstra.... -- Andre van der Vlies Certifiable UNIX engineer Homepage: http://vandervlies.xs4all.nl/~andre Key fingerprint = 397C 7479 67DB 9306 23DC B423 7B58 CD5A 6EFF 5CF8 -- () ascii ribbon campaign - against html e-mail /\ - against microsoft attachments ^[^#] -- From egbert.bouwman at hccnet.nl Wed Mar 15 15:00:43 2006 From: egbert.bouwman at hccnet.nl (egbert) Date: Wed, 15 Mar 2006 15:00:43 +0100 Subject: [python-nl] gnome-panel In-Reply-To: <4416CF42.3020703@infrae.com> References: <20060314124755.GA5365@hccnet.nl> <4416CF42.3020703@infrae.com> Message-ID: <20060315140043.GA6203@hccnet.nl> On Tue, Mar 14, 2006 at 03:12:18PM +0100, Guido Wesdorp wrote: > Klinkt alsof er een exceptie is, misschien iets van een probleem om de > GTK main loop te starten of zo? Ik zou eens een grote try/except om je > code heen zetten, en eventuele excepties naar een file schrijven, kijken > wat er gebeurt. Met try/except ging het niet zo goed, omdat een opgevangen exceptie 'dood' is: je krijgt geen mededelingen meer. Ik heb toen stderr naar een file omgeleid, en daar kwam het volgende in te staan: Traceback (most recent call last): File "/local/ptn/pad", line 11, in ? print "PYTHONPATH is: %s" % os.environ["PYTHONPATH"] File "/usr/lib/python2.3/UserDict.py", line 19, in __getitem__ def __getitem__(self, key): return self.data[key] KeyError: 'PYTHONPATH' Het probleem is dus wat ik al dacht: gnome-panel kent PYTHONPATH niet. Hoe los ik dat op ? -- Egbert Bouwman - Keizersgracht 197 II - 1016 DS Amsterdam - 020 6257991 ======================================================================== From guido at infrae.com Wed Mar 15 14:29:40 2006 From: guido at infrae.com (Guido Wesdorp) Date: Wed, 15 Mar 2006 14:29:40 +0100 Subject: [python-nl] gnome-panel In-Reply-To: <20060315140043.GA6203@hccnet.nl> References: <20060314124755.GA5365@hccnet.nl> <4416CF42.3020703@infrae.com> <20060315140043.GA6203@hccnet.nl> Message-ID: <441816C4.1060100@infrae.com> egbert wrote: > > Traceback (most recent call last): > File "/local/ptn/pad", line 11, in ? > print "PYTHONPATH is: %s" % os.environ["PYTHONPATH"] > File "/usr/lib/python2.3/UserDict.py", line 19, in __getitem__ > def __getitem__(self, key): return self.data[key] > KeyError: 'PYTHONPATH' > > Het probleem is dus wat ik al dacht: > gnome-panel kent PYTHONPATH niet. Hoe los ik dat op ? > Weet niet wat je er precies mee wilt doen, maar kun je niet beter met sys.path werken? Dat zou altijd aanwezig moeten zijn, en kan gewoon vanuit je script worden aangepast. Groeten, Guido From egbert.bouwman at hccnet.nl Wed Mar 15 22:11:08 2006 From: egbert.bouwman at hccnet.nl (egbert) Date: Wed, 15 Mar 2006 22:11:08 +0100 Subject: [python-nl] gnome-panel In-Reply-To: <441816C4.1060100@infrae.com> References: <20060314124755.GA5365@hccnet.nl> <4416CF42.3020703@infrae.com> <20060315140043.GA6203@hccnet.nl> <441816C4.1060100@infrae.com> Message-ID: <20060315211108.GA12111@hccnet.nl> On Wed, Mar 15, 2006 at 02:29:40PM +0100, Guido Wesdorp wrote: > Weet niet wat je er precies mee wilt doen, Ik wil python scripts kunnen starten door op een icoontje in een task-bar te klikken, ipv de naam in te typen in een xterm-achtig iets. > maar kun je niet beter met > sys.path werken? Dat zou altijd aanwezig moeten zijn, en kan gewoon > vanuit je script worden aangepast. Dat kan inderdaad, bedankt voor de tip, maar het omzeilt het probleem. Ik vond PYTHONPATH zo'n handige plek om sys.path aan te passen: een keer veranderen en nooit meer naar omkijken. De simpelste oplossing lijkt te zijn: al mijn modules verplaatsen naar een directory in (onder ?) de standaard sys.path. egbert -- Egbert Bouwman - Keizersgracht 197 II - 1016 DS Amsterdam - 020 6257991 ======================================================================== From egbert.bouwman at hccnet.nl Wed Mar 15 22:51:09 2006 From: egbert.bouwman at hccnet.nl (egbert) Date: Wed, 15 Mar 2006 22:51:09 +0100 Subject: [python-nl] gnome-panel In-Reply-To: <20060315211108.GA12111@hccnet.nl> References: <20060314124755.GA5365@hccnet.nl> <4416CF42.3020703@infrae.com> <20060315140043.GA6203@hccnet.nl> <441816C4.1060100@infrae.com> <20060315211108.GA12111@hccnet.nl> Message-ID: <20060315215109.GA12967@hccnet.nl> Ik ontdek net (eigenlijk: her-ontdek) de pth-files. Die lossen mijn probleem op. Bechouw mijn vorig bericht als niet geschreven. egbert -- Egbert Bouwman - Keizersgracht 197 II - 1016 DS Amsterdam - 020 6257991 ======================================================================== From rs445 at lycos.com Tue Mar 21 15:30:17 2006 From: rs445 at lycos.com (Ron Speerstra) Date: Tue, 21 Mar 2006 09:30:17 -0500 Subject: [python-nl] Chip Message-ID: <20060321143017.D3525E5BC7@ws7-2.us4.outblaze.com> Hallo, ik heb een vraagje. Als een print plaat heb met een chip, zou ik dan met Python een programma kunnen schrijven zodat ik die compileer en vervolgens naar die chip upload. Of kan Python zoiets niet aan? Gr. Ron Speerstra -- _______________________________________________ Search for businesses by name, location, or phone number. -Lycos Yellow Pages http://r.lycos.com/r/yp_emailfooter/http://yellowpages.lycos.com/default.asp?SRC=lycos10 From remco at gerlich.nl Tue Mar 21 15:34:46 2006 From: remco at gerlich.nl (Remco Gerlich) Date: Tue, 21 Mar 2006 15:34:46 +0100 Subject: [python-nl] Chip In-Reply-To: <20060321143017.D3525E5BC7@ws7-2.us4.outblaze.com> References: <20060321143017.D3525E5BC7@ws7-2.us4.outblaze.com> Message-ID: <44200F06.8050602@gerlich.nl> Ron Speerstra wrote: >Hallo, > >ik heb een vraagje. Als een print plaat heb met een chip, zou ik dan met Python een programma kunnen schrijven zodat ik die compileer en vervolgens naar die chip upload. Of kan Python zoiets niet aan? > > Dit lijkt mij typisch iets waar je geen Python voor gebruikt, inderdaad. Iets als C lijkt me normaler. Je moet dan wel een specifieke C compiler voor die chip hebben. Wat wil je precies doen? Remco From gijs at looze.net Tue Mar 21 16:13:23 2006 From: gijs at looze.net (Gijs Molenaar) Date: Tue, 21 Mar 2006 16:13:23 +0100 Subject: [python-nl] Chip In-Reply-To: <20060321143017.D3525E5BC7@ws7-2.us4.outblaze.com> References: <20060321143017.D3525E5BC7@ws7-2.us4.outblaze.com> Message-ID: <44201813.6030302@looze.net> Ron Speerstra schreef: > Hallo, > > ik heb een vraagje. Als een print plaat heb met een chip, zou ik dan met Python een programma kunnen schrijven zodat ik die compileer en vervolgens naar die chip upload. Of kan Python zoiets niet aan? > Mijn PC heeft ook een printplaat met een chip er op, en volgens mij kan ik hier python op draaien ;) From lists at janc.be Tue Mar 21 23:24:09 2006 From: lists at janc.be (Jan Claeys) Date: Tue, 21 Mar 2006 23:24:09 +0100 Subject: [python-nl] Chip In-Reply-To: <20060321143017.D3525E5BC7@ws7-2.us4.outblaze.com> References: <20060321143017.D3525E5BC7@ws7-2.us4.outblaze.com> Message-ID: <1142979849.8054.22.camel@localhost.localdomain> Op di, 21-03-2006 te 09:30 -0500, schreef Ron Speerstra: > ik heb een vraagje. Als een print plaat heb met een chip, zou ik dan > met Python een programma kunnen schrijven zodat ik die compileer en > vervolgens naar die chip upload. Of kan Python zoiets niet aan? Dat hangt van de "chip" af. Als je op je "chip" een VM kan draaien (de Python vm, of eventueel een Java of .NET VM), dan mag het op zich geen probleem zijn... PS: je kan zelfs het ontwerp van je chip in Python schrijven als je wil: ;-) -- Jan Claeys From edunreal at gmail.com Thu Mar 23 16:34:58 2006 From: edunreal at gmail.com (UnrealEd) Date: Thu, 23 Mar 2006 07:34:58 -0800 (PST) Subject: [python-nl] dir(module_name) Message-ID: <3554068.post@talk.nabble.com> gegroet, omdat ik redelijk wat modules gebruik bij mijn scripts, en omdat ik te lui ben om op het web te gaan zoeken, wilde ik via een python scriptje alle methods uit een module displayen via de functie dir(module_name). hier is mijn code: > print "Insert module to display:" > mod = str(raw_input()) > print "\n",mod+":\n" >for i in dir(mod): > print i >raw_input("\n\nAwaiting exit...") wanneer ik echter een module invul, laat ons zeggen "os", dan geeft hij, ongeacht welke module je invult, dezelfde waardes terug. heeft iemand een idee waarom dit is? mvg, UnrealEd -- View this message in context: http://www.nabble.com/dir%28module_name%29-t1330890.html#a3554068 Sent from the Python - python-nl forum at Nabble.com. From edunreal at gmail.com Thu Mar 23 16:41:25 2006 From: edunreal at gmail.com (UnrealEd) Date: Thu, 23 Mar 2006 07:41:25 -0800 (PST) Subject: [python-nl] classes importeren uit subfolders In-Reply-To: <3327708.post@talk.nabble.com> References: <3253778.post@talk.nabble.com> <2078a7ad0603051517h78e2485bna56cea96de331393@mail.gmail.com> <3266729.post@talk.nabble.com> <440D5DDA.1040606@infrae.com> <3286428.post@talk.nabble.com> <440DD31E.50000@infrae.com> <1141765784.9024.23.camel@localhost.localdomain> <440ebf35.79adefe9.7d85.ffffc8f7@mx.gmail.com> <440ECD80.1050907@tue.nl> <3301398.post@talk.nabble.com> <440FDE21.50305@tue.nl> <19062658.991141902018198.JavaMail.nabble@talk.nabble.com> <44103715.6070608@tue.nl> <33186532.4101141918132692.JavaMail.nabble@talk.nabble.com> <44105604.6000404@tue.nl> <3327708.post@talk.nabble.com> Message-ID: <3554196.post@talk.nabble.com> moest er nog iemand geintreseerd zijn: ik heb gevonden hoe je het zonder sys.path.append("foo/bar") kan doen (toch in windows XP). je moet in je regedit gewoon een extra locale variabele maken, genaamd PYTHONPATH (in hoofdletters) met als waarde de "foo/bar" path. een locale variabele aanmaken kan je zo doen: > rechtermuisknop op "deze computer" > "eigenschappen" selecteren > naar het tabblad "geavanceerd" gaan > op de knop "omgevingsvariabelen" drukken > bij "gebruikersvariabelen" klik je op nieuw > geef het de naam PYTHONPATH, en de desgewenste waarde mvg, UnrealEd -- View this message in context: http://www.nabble.com/classes-importeren-uit-subfolders-t1230193.html#a3554196 Sent from the Python - python-nl forum at Nabble.com. From just at letterror.com Thu Mar 23 16:47:09 2006 From: just at letterror.com (Just van Rossum) Date: Thu, 23 Mar 2006 16:47:09 +0100 Subject: [python-nl] dir(module_name) In-Reply-To: <3554068.post@talk.nabble.com> Message-ID: UnrealEd wrote: > > gegroet, > > omdat ik redelijk wat modules gebruik bij mijn scripts, en omdat ik > te lui ben om op het web te gaan zoeken, wilde ik via een python > scriptje alle methods uit een module displayen via de functie > dir(module_name). hier is mijn code: > > > print "Insert module to display:" > > mod = str(raw_input()) (Die str() call is niet nodig, raw_input() returnt al een string) > > print "\n",mod+":\n" > >for i in dir(mod): > > print i > >raw_input("\n\nAwaiting exit...") > > wanneer ik echter een module invul, laat ons zeggen "os", dan geeft > hij, ongeacht welke module je invult, dezelfde waardes terug. heeft > iemand een idee waarom dit is? Omdat je een dir() op een string object doet, niet op een module. Probeer eens: mod = __import__(modname) print dir(mod) Just From mj at python.org Thu Mar 23 16:47:34 2006 From: mj at python.org (Martijn Pieters) Date: Thu, 23 Mar 2006 16:47:34 +0100 Subject: [python-nl] dir(module_name) In-Reply-To: <3554068.post@talk.nabble.com> References: <3554068.post@talk.nabble.com> Message-ID: <4422C316.7020708@python.org> UnrealEd wrote: >> print "Insert module to display:" >> mod = str(raw_input()) >> print "\n",mod+":\n" >> for i in dir(mod): >> print i >> raw_input("\n\nAwaiting exit...") > > wanneer ik echter een module invul, laat ons zeggen "os", dan geeft hij, > ongeacht welke module je invult, dezelfde waardes terug. heeft iemand een > idee waarom dit is? 'mod' is een string object, ongeacht wat de inhoud daarvan is heeft deze altijd dezelfde methodes. Python zet dat niet automatisch om in een module; je zult daar zelf voor moeten zorgen. sys.modules is een dictionary met alle ge?mporteerde modules, daar kun je dus aan de hand van een label een module uithalen: > import sys > print "Insert module to display:" > mod = str(raw_input()) > print "\n",mod+":\n" > for i in dir(sys.modules[mod]): > print i > raw_input("\n\nAwaiting exit...") De code verwacht wel dat de betreffende module al is ge?mporteerd. Martijn Pieters From edunreal at gmail.com Thu Mar 23 17:26:00 2006 From: edunreal at gmail.com (UnrealEd) Date: Thu, 23 Mar 2006 08:26:00 -0800 (PST) Subject: [python-nl] dir(module_name) In-Reply-To: References: <3554068.post@talk.nabble.com> Message-ID: <3555118.post@talk.nabble.com> bedankt, nu werkt het inderdaad -- View this message in context: http://www.nabble.com/dir%28module_name%29-t1330890.html#a3555118 Sent from the Python - python-nl forum at Nabble.com. From lists at janc.be Thu Mar 23 21:07:54 2006 From: lists at janc.be (Jan Claeys) Date: Thu, 23 Mar 2006 21:07:54 +0100 Subject: [python-nl] dir(module_name) In-Reply-To: <3554068.post@talk.nabble.com> References: <3554068.post@talk.nabble.com> Message-ID: <1143144475.19218.3.camel@localhost.localdomain> Op do, 23-03-2006 te 07:34 -0800, schreef UnrealEd: > omdat ik redelijk wat modules gebruik bij mijn scripts, en omdat ik te lui > ben om op het web te gaan zoeken, wilde ik via een python scriptje alle > methods uit een module displayen via de functie dir(module_name). Kijk zeker ook eens naar 'pydoc' als je dit soort info wil! :-) -- Jan Claeys From erik at letterror.com Sun Mar 26 15:43:36 2006 From: erik at letterror.com (Erik van Blokland) Date: Sun, 26 Mar 2006 15:43:36 +0200 Subject: [python-nl] Meeting in Den Haag In-Reply-To: <000101c64733$e309eae0$3378a8c0@pareto.local> References: <000101c64733$e309eae0$3378a8c0@pareto.local> Message-ID: <58E5353D-D71B-45E7-97A1-90FA5C1A7620@letterror.com> On 14 Mar 2006, at 07:52, Jeroen Vloothuis wrote: >> Zijn er al ander sprekers op de agenda? > > Goed dat je het vraagt. Frans Schippers heeft zich opgeworpen om > iets te > vertellen over Python bij TPG post. Het was een leuke avond. Pyparsing en Post, dank aan Pareto voor de hapjes & bier! Erik From kitblake at gmail.com Fri Mar 31 12:30:42 2006 From: kitblake at gmail.com (kit BLAKE) Date: Fri, 31 Mar 2006 12:30:42 +0200 Subject: [python-nl] Meeting in Den Haag In-Reply-To: <58E5353D-D71B-45E7-97A1-90FA5C1A7620@letterror.com> References: <000101c64733$e309eae0$3378a8c0@pareto.local> <58E5353D-D71B-45E7-97A1-90FA5C1A7620@letterror.com> Message-ID: <32a4a00c0603310230u599a5227nacc35eeac8ab01ed@mail.gmail.com> 2006/3/26, Erik van Blokland : > Het was een leuke avond. Pyparsing en Post, dank aan Pareto voor de > hapjes & bier! Inderdaad, nog eens dank! kit -- kit BLAKE Infrae ? infrae.com ? office + 31 10 243 7051 Hoevestraat 10 ? 3033GC ? Rotterdam ? The Netherlands