Re: List of (un)sponsored packages on Mentors (approximate)
On Fri, Jul 27, 2007 at 05:25:43PM +1000, Paul Wise wrote: On 7/27/07, Neil Williams [EMAIL PROTECTED] wrote: There needs to be some way of indicating which packages have been reviewed but which are not ready for upload. Maybe mentors.debian.net could have some kind of wiki (or links to pages on wiki.debian.org) to track the status of such packages - the report could then look up such a page and link to that instead of the RFS. Perhaps someone could motivate siretart to adapt REVU (revu.tauware.de) features to mentors.d.n code and Debian? I seem to have seen a video or read somewhere that he intended to do something like this. I'm about to refactor m.d.n anyway (as I do every to years for the sheer boredom). There are a few planned features like better statistics, a dicussion forum for each package, better tracking of whether a package was uploaded etc. But mainly it's important that we allow direct comments from potential sponsors on the respective package page. Like with IRC notification to the sponsorees if they are online. So if anyone could tell me what features REVU has that m.d.n is lacking then I'll consider adding them in the next release. I'm not active in Ubuntu so I can't tell how things work there. I just see the commenting feature and colorful icons there. ;) Cheers Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: List of (un)sponsored packages on Mentors (approximate)
On Fri, Jul 27, 2007 at 03:03:22PM -0500, Raphael Geissert wrote: Personally I would prefer to keep m.d.n simple and not having all of REVU's features. I'm giving some comments on the features and how I would prefer to be added to m.d.n The less features the better (to implement). :) On 27/07/07, Paul Wise [EMAIL PROTECTED] wrote: On 7/27/07, Christoph Haas [EMAIL PROTECTED] wrote: Instead of only using dates (not to mention the lack of year) it should also display the package version. And I don't think it would be very useful to keep all versions (maybe only the comments and purge them after some time). Seconded. The sponsors will need to diff the changes anyway. I could offer to save a debdiff perhaps. But if I sponsor packages I get the previous version (e.g. the one in the Debian archives), dget -x the new version and diff them (kdiff3) to find out what has changed. Automated archiving of uploaded packages (last I checked, there were still some packages on mentors/sponsor-pkglist that have been uploaded) - 2 examples are paris-traceroute and monotone This depends on the definition of 'archiving'. It would be nice to have the package deleted from m.d.n when it is uploaded so maintainers are able to choose the package sponsor's status (e.g. when looking for a sponsor). That's done already. If m.d.n detects that a package is uploaded (by monitoring the debian-devel-changes mailing list) then the maintainer/sponsoree gets an email and the package is removed. The only exception is when package versions differ - then the maintainer is informed but the package is kept. I can view the diff.gz files in my browser Can mark comments as 'advocating an upload' By the way, is there any way to make sure that the person marking a comment as 'advocating an upload' is really a DD (or in REVU's case UD, if that's how they call them :-/ ) Two things that make a DD a DD are the PGP/GPG keyring membership and the @debian.org address. So if DDs hat to sign up at m.d.n they could get a confirmation email sent to their @debian.org address. Unpacked source trees I think it is easier to download the package files and check everything in the local computer than browsing every single file with a web browser. Otherwise I would expect the online file viewer to have syntax colouring and that kind of things. I wouldn't want to hack that together really. Cheers Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: List of (un)sponsored packages on Mentors (approximate)
On Fri, Jul 27, 2007 at 04:13:21PM -0400, Scott Kitterman wrote: BTW, postfix-policyd-spf-perl is still looking for a sponsor: http://lists.debian.org/debian-mentors/2007/07/msg00578.html Pretty off-thread-topic. :) But I would generally sponsor it if it were running properly as a daemon (e.g. init.d). Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: RFS for postfix-policyd-spf-perl was - Re: List of (un)sponsored packages on Mentors (approximate)
On Fri, Jul 27, 2007 at 04:26:54PM -0400, Scott Kitterman wrote: http://mentors.debian.net/debian/pool/main/p/postfix-policyd-spf-perl Sponsored. Christoph -- Peer review means that you can feel better because someone else missed the problem, too. signature.asc Description: Digital signature
Re: List of (un)sponsored packages on Mentors (approximate)
On Fri, Jul 27, 2007 at 03:31:16PM -0500, Raphael Geissert wrote: On 27/07/07, Christoph Haas [EMAIL PROTECTED] wrote: That's done already. If m.d.n detects that a package is uploaded (by monitoring the debian-devel-changes mailing list) then the maintainer/sponsoree gets an email and the package is removed. The only exception is when package versions differ - then the maintainer is informed but the package is kept. I can tell you that it doesn't works as expected, you can take a look at: http://mentors.debian.net/debian/pool/main/f/ffmpeg-php/ http://mentors.debian.net/debian/pool/main/k/kgb/ http://mentors.debian.net/debian/pool/main/p/php-adodb/ Those three are already in Debian and I never received a notification. Sorry, after checking I found that somehow the automatic processing address on m.d.n was no longer subscribed to debian-devel-changes. This should be fixed now. I wish there were an easy way to parse the NEW queue. Perhaps I'll need to use BeautifulSoup and just parse that page. Christoph -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Accepted python-authkit 0.4.0~r95-1 (source all)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Format: 1.7 Date: Tue, 17 Jul 2007 00:37:16 +0200 Source: python-authkit Binary: python-authkit Architecture: source all Version: 0.4.0~r95-1 Distribution: unstable Urgency: low Maintainer: Christoph Haas [EMAIL PROTECTED] Changed-By: Christoph Haas [EMAIL PROTECTED] Description: python-authkit - authentication and authorisation framework for Python WSGI applic Changes: python-authkit (0.4.0~r95-1) unstable; urgency=low . * New upstream version (trunk, subversion revision 95) packaged. Upstream version 0.3.0 is deprecated and the current trunk is suggested for use by the upstream developer. Files: deb86a75b36a7818d05faca0c444af12 825 python optional python-authkit_0.4.0~r95-1.dsc af94f25328e4d7c756fa9347237acff0 165341 python optional python-authkit_0.4.0~r95.orig.tar.gz 91e0562b13b59b87ab408fc3660ba3a3 3562 python optional python-authkit_0.4.0~r95-1.diff.gz d8c74a04b3336e3e6d3dce8765a5a177 57822 python optional python-authkit_0.4.0~r95-1_all.deb -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFGqIMtCV53xXnMZYYRAiWyAKCAGkyQ8xI5BSeSajPOK8Joo4PzKQCgxjy4 XmjQtBsm7quV30KYQViCfp4= =EaXC -END PGP SIGNATURE- Accepted: python-authkit_0.4.0~r95-1.diff.gz to pool/main/p/python-authkit/python-authkit_0.4.0~r95-1.diff.gz python-authkit_0.4.0~r95-1.dsc to pool/main/p/python-authkit/python-authkit_0.4.0~r95-1.dsc python-authkit_0.4.0~r95-1_all.deb to pool/main/p/python-authkit/python-authkit_0.4.0~r95-1_all.deb python-authkit_0.4.0~r95.orig.tar.gz to pool/main/p/python-authkit/python-authkit_0.4.0~r95.orig.tar.gz -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Why PHP is so much more popular for web-development
On Wed, Jul 25, 2007 at 12:34:08PM -0700, walterbyrd wrote: When I posted Python I meant the Python web-developement world. In particular, python frameworks, like CherryPy, have requirements that are not realistic for most shared hosting plans. It's true that the requirements are higher than what the old-school CGI/PHP web hosters offer. But with todays virtual root servers it's really inexpensive to run such a server. And using frameworks allows you to control all aspects of the web serving like URL dispatching, error handling and is probably even faster than PHP because necessary resources (like database connections) are initalized upon startup of the web application. PHP and CGIs do this everytime they get called. Maybe I'm wrong, but I often get the idea that those who develop python frameworks don't give a thought to the realities of shared hosting. They seem to think that everybody has complete control over the server. Things are very different in the PHP universe. Without wanting to sound arrogant: it's my belief that web hosters just offering htdocs/PHP will probably just be useful for the noob-customers who have no idea of operating systems but just want their blinking personal homepage online. There are good PHP applications and I wouldn't want to give up phpmyadmin or squirrelmail. But with today's demand for fully controllable interactive (you will never hear me propagate that bullshit buzzword Web x.0) web sites a framework seems to be a viable way. For me PHP has a bitter taste of easy enough for every noob to use it which makes it the language the most insecure applications are written in. The point is: PHP framework makers are very considerate of the realities of shared hosting. Python framework makers don't seem to give it a thought. Just maybe, that's something that Python could learn from PHP. Perhaps. But the hosting market changes. And I believe that PHP suits the simpler applications better. I would point a beginner in web programming more likely to PHP than torture them with frameworks. It's just too heavy. OTOH full-featured frameworks are way more complicated and have eviler requirements but there are hardly any limitation on the kinds of sites you can power with them. EO2¢ Cheers Christoph -- http://mail.python.org/mailman/listinfo/python-list
Re: Sponsorship guidelines for codehelp - now online.
On Tue, Jul 24, 2007 at 03:32:15PM +0100, Neil Williams wrote: On Tue, 24 Jul 2007 18:50:08 +0530 Kumar Appaiah [EMAIL PROTECTED] wrote: In fact, I precisely looked for that page in your Debian home page. Do get to making it when you get the time. Done. http://people.debian.org/~codehelp/#sponsor (If this could be added to mentors.debian.net in due course maybe? Ta.) Done. Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#434536: python-openid: Please rebuild the package to include egg information
Package: python-openid Version: 2.0.0-1 Severity: normal Please rebuild your package. No need to change anything. It will install the egg information properly so that other packages that check if python-openid is installed will not fail (e.g. python-authkit). Christoph -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (900, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.18-3-686 (SMP w/2 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages python-openid depends on: ii python2.4.4-6An interactive high-level object-o ii python-central0.5.14 register and build utility for Pyt ii python-urljr 1.0.1-1.1 Common interface to urllib2 and cu ii python-yadis 1.1.0-1.1 Yadis service discovery library python-openid recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: RFS: moe
On Sun, Jul 22, 2007 at 04:40:43PM +0530, Kumar Appaiah wrote: I am looking for a sponsor for my package moe. Sponsored. Christoph -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: List of (un)sponsored packages on Mentors (approximate)
On Sun, Jul 22, 2007 at 07:37:13PM +0200, Nico Golde wrote: Hi, * Kumar Appaiah [EMAIL PROTECTED] [2007-07-22 19:26]: (Cross posted to debian-devel, debian-mentors) Dear Debian developers, I have written a few crude and rudimentary scripts to find an approximate list of packages which have been or have _not_ been sponsored despite an RFS to debian-mentors. The program generates bad output if the RFS mailer has not given the package name right after the first RFS in the subject, that too, with a space etc., but it's a start, and gives you the idea. Also, the list is a HTML page, with every package having a link. The link points to the RFS message in the Debian Mentors archive. [...] Thanks for your work! But basically you do work that already had been done by mentors.debian.net. Ok not everyone is using this service but it would be good if they would. Kumar and I talked on IRC and I wondered how many of the RFS'd packages get actually uploaded. mentors.debian.net recognizes when an uploaded package gets sponsored but so far I was too lazy to implement proper statistics at that point. Even then it would only measure packages that used mentors.debian.net as an intermediate repository. The actual discussion came up when we talked about whether the current GR on non-DDs with upload permissions is good or bad for Debian. And we agreed that Debian lacks a lot of packages just because the poor package maintainer (tm) didn't find a sponsor in time. Cheers Christoph -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: List of (un)sponsored packages on Mentors (approximate)
On Sun, Jul 22, 2007 at 08:23:39PM +0100, Neil Williams wrote: On Sun, 22 Jul 2007 21:01:20 +0200 Ondrej Certik [EMAIL PROTECTED] wrote: The actual discussion came up when we talked about whether the current GR on non-DDs with upload permissions is good or bad for Debian. And we agreed that Debian lacks a lot of packages just because the poor package maintainer (tm) didn't find a sponsor in time. Yes, that is the most difficult part. I think it would also help, if there was some official repository for unnoficial packages, so that I (as non-DD) could just upload my package to mentors (which I can now) and then just add the deb line (not just deb-src) into sources.list and could easily use all packages from mentors (at least on i386). Because now everyone has it's own private repository, which I find very unfortunate. The reason packages on mentors.debian.net are not available as binaries for apt, only as source, is because packages for sponsoring often contain errors and problems that need to be fixed after review by a sponsor. It would not be wise, IMHO, for mentors.debian.net to send out a message that unreviewed packages are suitable for installation on the normal Debian systems of ordinary users. Exactly. And that's what happened when we included the binary packages in the repository. Users complained to our support address about bad packages. Not even to mention the internet traffic (that costs me real-world money). Source packages hardly create any traffic. Good thing our scripts throw away binary packages. :) Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: List of (un)sponsored packages on Mentors (approximate)
On Sun, Jul 22, 2007 at 07:37:13PM +0200, Nico Golde wrote: Hi, * Kumar Appaiah [EMAIL PROTECTED] [2007-07-22 19:26]: (Cross posted to debian-devel, debian-mentors) Dear Debian developers, I have written a few crude and rudimentary scripts to find an approximate list of packages which have been or have _not_ been sponsored despite an RFS to debian-mentors. The program generates bad output if the RFS mailer has not given the package name right after the first RFS in the subject, that too, with a space etc., but it's a start, and gives you the idea. Also, the list is a HTML page, with every package having a link. The link points to the RFS message in the Debian Mentors archive. [...] Thanks for your work! But basically you do work that already had been done by mentors.debian.net. Ok not everyone is using this service but it would be good if they would. Kumar and I talked on IRC and I wondered how many of the RFS'd packages get actually uploaded. mentors.debian.net recognizes when an uploaded package gets sponsored but so far I was too lazy to implement proper statistics at that point. Even then it would only measure packages that used mentors.debian.net as an intermediate repository. The actual discussion came up when we talked about whether the current GR on non-DDs with upload permissions is good or bad for Debian. And we agreed that Debian lacks a lot of packages just because the poor package maintainer (tm) didn't find a sponsor in time. Cheers Christoph -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Accepted python-yadis 1.1.0-1.1 (source all)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Format: 1.7 Date: Mon, 23 Jul 2007 00:42:11 +0200 Source: python-yadis Binary: python-yadis Architecture: source all Version: 1.1.0-1.1 Distribution: unstable Urgency: low Maintainer: Mikhail Gusarov [EMAIL PROTECTED] Changed-By: Christoph Haas [EMAIL PROTECTED] Description: python-yadis - Yadis service discovery library Closes: 433489 Changes: python-yadis (1.1.0-1.1) unstable; urgency=low . * Non-maintainer upload (closes: #433489). Nothing changed. Just rebuilt to include egg information. Files: a052024c574499327736ac7684b13af3 689 python optional python-yadis_1.1.0-1.1.dsc 717a6ade4baf8212893f789c7cf1c11e 1426 python optional python-yadis_1.1.0-1.1.diff.gz 53528472af1514e88b5b145349cdf755 186658 python optional python-yadis_1.1.0-1.1_all.deb -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFGo91+CV53xXnMZYYRAvMFAKCVk1ExA89JjSIwYXZZS6UGgZwQvwCfUDx0 yqwgu/VBNXJohedp2rGnMro= =dlna -END PGP SIGNATURE- Accepted: python-yadis_1.1.0-1.1.diff.gz to pool/main/p/python-yadis/python-yadis_1.1.0-1.1.diff.gz python-yadis_1.1.0-1.1.dsc to pool/main/p/python-yadis/python-yadis_1.1.0-1.1.dsc python-yadis_1.1.0-1.1_all.deb to pool/main/p/python-yadis/python-yadis_1.1.0-1.1_all.deb -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Accepted python-urljr 1.0.1-1.1 (source all)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Format: 1.7 Date: Mon, 23 Jul 2007 00:34:29 +0200 Source: python-urljr Binary: python-urljr Architecture: source all Version: 1.0.1-1.1 Distribution: unstable Urgency: low Maintainer: Mikhail Gusarov [EMAIL PROTECTED] Changed-By: Christoph Haas [EMAIL PROTECTED] Description: python-urljr - Common interface to urllib2 and curl for making HTTP requests Closes: 433485 Changes: python-urljr (1.0.1-1.1) unstable; urgency=low . * Non-maintainer upload (closes: #433485). Nothing changed. Just rebuilt to include egg information. Files: 8a0593889eb1cb0f45233d4bd8e47f07 688 python optional python-urljr_1.0.1-1.1.dsc 22b59c9b65fef4bdc5fcae23ff595a2c 1436 python optional python-urljr_1.0.1-1.1.diff.gz d94eb3a4332673b211141b4d71c53b50 8246 python optional python-urljr_1.0.1-1.1_all.deb -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFGo9w7CV53xXnMZYYRAkOpAJ9BfRyoHJGCvPjimBSRHHCWsSEtcQCg2UUl u8xCcXXBng8e3yPCC1HjlDg= =v6OV -END PGP SIGNATURE- Accepted: python-urljr_1.0.1-1.1.diff.gz to pool/main/p/python-urljr/python-urljr_1.0.1-1.1.diff.gz python-urljr_1.0.1-1.1.dsc to pool/main/p/python-urljr/python-urljr_1.0.1-1.1.dsc python-urljr_1.0.1-1.1_all.deb to pool/main/p/python-urljr/python-urljr_1.0.1-1.1_all.deb -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Lazy for line in f ?
On Sun, Jul 22, 2007 at 09:10:50AM -0700, Alexandre Ferrieux wrote: I'm a total newbie in Python, but did give quite a try to the documentation before coming here. Sorry if I missed the obvious. The Tutorial says about the for line in f idiom that it is space- efficient. Short of further explanation, I interpret this as doesn't read the whole file before spitting out lines. Correct. It reads one line at a time (as an iterator) and returns it. In other words, I would say lazy. Which would be a Good Thing, a much nicer idiom than the usual while loop calling readline()... The space-efficiency is similar. The faux pas would rather to read the whole file with readlines(). But when I use it on the standard input, be it the tty or a pipe, it seems to wait for EOF before yielding the first line. Standard input is a weird thing in Python. Try sending two EOFs (Ctrl-D). There is some internal magic with two loops checking for EOF. It's submitted as a bug report bug the developers denied a solution. Otherwise it's fine. In a pipe you shouldn't even notice. Christoph -- http://mail.python.org/mailman/listinfo/python-list
Re: Nagios version
On Sat, Jul 21, 2007 at 12:01:20AM +0200, Magnus Holmgren wrote: On Friday 20 July 2007 22:53, Christoph Haas wrote: David, please use your real email address. workaround.org is a domain hosted by myself and I'm pretty positive I didn't give you a freedotfr hostname in that domain. Dudu obviously sent a mail with an unqualified address in the From: field, which your mail server (and mine) qualified with the local domain. Oh, funny. Actually I intended my mail server to not do that. Been bitten by my own ignorance. :) Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Nagios version
David, please use your real email address. workaround.org is a domain hosted by myself and I'm pretty positive I didn't give you a freedotfr hostname in that domain. Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Request for binNMU of python-yadis and python-urljr
On Thu, Jul 19, 2007 at 12:08:10AM -0700, Steve Langasek wrote: On Tue, Jul 17, 2007 at 08:56:41PM +0200, Christoph Haas wrote: Please rebuild these packages. They lack egg-info information that will be included if the packages are just rebuilt thanks to a more recent version of python-setuptools. This applies to: - python-urljr 1.0.1-1 [Closes: #433485] - python-yadis 1.1.0-1 [Closes: #433489] BinNMUs are not supported for arch: all packages. True. But it is possible to rebuild them anyway without waiting for the maintainer? Christoph -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#433485: python-urljr: Please install .egg-info file
Package: python-urljr Version: 1.0.1-1 Severity: normal Please install the .egg-info file properly in your debian/rules. Otherwise packages that check for ez_setup/setuptools dependencies will assume that python-urljr is not installed properly. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (990, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.18-4-686 (SMP w/1 CPU core) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to de_DE.UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages python-urljr depends on: ii python2.4.4-6An interactive high-level object-o ii python-central0.5.14 register and build utility for Pyt Versions of packages python-urljr recommends: ii python-pycurl 7.16.2.1-3+b1 Python bindings to libcurl -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#433489: python-yadis: Please include egg-info
Package: python-yadis Version: 1.1.0-1 Severity: normal Please include the python_yadis-1.1.0.egg-info file. Otherwise other Python modules that use ez_setup or setuptools cannot detect that python-yadis is installed. Interestingly I didn't even have to change your package. I just rebuilt it and the egg file was there. So please consider rebuilding and re-uploading. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (990, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.18-4-686 (SMP w/1 CPU core) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to de_DE.UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages python-yadis depends on: ii python2.4.4-6An interactive high-level object-o ii python-central0.5.14 register and build utility for Pyt ii python-elementtree1.2.6-11 Light-weight toolkit for XML proce python-yadis recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#433485: Just rebuild and upload
I just learned that you probably don't even have to change your package. Just rebuild it and upload it. The current version of setuptools installs the egg-info file automatically. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#433556: python-setuptools: Please update to 0.6c6
Package: python-setuptools Version: 0.6c5-3 Severity: wishlist Please update your package to upstream version 0.6c6 python-pylons will need it shortly. Thanks. Please also consider putting your package under team maintenance of the Debian Python Modules Team. (http://python-modules.alioth.debian.org/python-modules-policy.html) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Pylons 0.9.6 Release Candidate 1
On Mon, Jul 16, 2007 at 03:19:16PM -0700, Ben Bangert wrote: On Jul 16, 2007, at 2:40 PM, Jose Galvez wrote: Sure, First I was testing with pylons-0.9.6rc2dev_r2256-py2.5.egg The project was created with pylons 0.9.4.1 and then converted after installing rc2 using overwrite the test project was not installed using easy_install simply created and run from the created egg Ah, when converting projects I highly recommend using the diff option with paster, then backing up the old file and merging changes. This way you don't miss important things, which happened in your case. Is it possible to make that a tad more comfortable? Like running a predefined command on those two files? vimdiff or kompare come to my mind. Currently I'm watching the diff (which isn't always easy because the output is confusing - you have to search thoroughly where the current diff starts), launching another shell and running vimdiff. I'm sure that can be improved. Or should I bug Ian about that? Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Pylons 0.9.6 Release Candidate 1
On Tue, Jul 17, 2007 at 11:34:03AM -0500, Ian Bicking wrote: Christoph Haas wrote: On Mon, Jul 16, 2007 at 03:19:16PM -0700, Ben Bangert wrote: On Jul 16, 2007, at 2:40 PM, Jose Galvez wrote: Sure, First I was testing with pylons-0.9.6rc2dev_r2256-py2.5.egg The project was created with pylons 0.9.4.1 and then converted after installing rc2 using overwrite the test project was not installed using easy_install simply created and run from the created egg Ah, when converting projects I highly recommend using the diff option with paster, then backing up the old file and merging changes. This way you don't miss important things, which happened in your case. Is it possible to make that a tad more comfortable? Like running a predefined command on those two files? vimdiff or kompare come to my mind. Currently I'm watching the diff (which isn't always easy because the output is confusing - you have to search thoroughly where the current diff starts), launching another shell and running vimdiff. I'm sure that can be improved. Or should I bug Ian about that? Isn't it easier at that point just to backup the files and diff the backup and the new file? That's a slight improvement over my step-by-step approach I'm doing now. I'd still prefer an extra option to launch vimdiff. But I surely can live without it. Paster's upgrade process is great already. How many frameworks or environments force you throw away everything... Cheers Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Request for binNMU of python-yadis and python-urljr
Please rebuild these packages. They lack egg-info information that will be included if the packages are just rebuilt thanks to a more recent version of python-setuptools. This applies to: - python-urljr 1.0.1-1 [Closes: #433485] - python-yadis 1.1.0-1 [Closes: #433489] Kindly Christoph -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Broken uploads to mentors.debian.net
On Sun, Jul 15, 2007 at 10:30:39PM +0100, Neil Williams wrote: On Sun, 15 Jul 2007 22:41:57 +0200 Christoph Haas [EMAIL PROTECTED] wrote: On Sun, Jul 15, 2007 at 12:31:29AM +0200, I wrote: On Sat, Jul 14, 2007 at 10:42:52PM +0100, Neil Williams wrote: However, the .dsc file uploaded to m.d.n references a different .orig.tar.gz: 8287bfd7e9ef9a507024bf34761791d8 9562064 xracer_0.96.9.orig.tar.gz I'll look into this later today and probably fix it. Now I checked the import script at mentors.debian.net and also did a few test uploads. If a 'dsc' file mentions an orig tarball then the old tarball is replaced in every case. So if the package maintainer would upload a package built with -sa (including the orig tarball even with non-1 revisions) then everything should work well. I have no good explanation for the situation Neil mentioned though. It turned out to be due to a broken upload - an FTP connection timeout. (I've been busy finalising the actual upload.) The maintainer used nemesis to keep the next connection alive. The package maintainer must have uploaded a package with an orig tarball. But then the orig tarball was changed and an upload without an orig tarball was done that mentioned the orig tarball though. How come the .dsc file mentions an orig file that is not uploaded? All files mentioned in the .dsc file must be uploaded. I'm confused. Is there some way of detecting a failed FTP upload and removing the corrupted files? If files are missing that are listed in the .changes file then the upload is rejected altogether. So I wonder how that could have lead to this problem. Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
SAContext and paster shell
Dear list, I'm on SQLAlchemy 0.3.9 and SAContext 0.3.1 now with Pylons 0.9.6-rc1. A lot of knowledge is useless now that SQLAlchemy changed quite a few things regarding queries and Pylons doesn't have pylons.database any longer. Currently I'm trying to get myself acquainted with a lot of syntax and wanted to use the paster shell to play around. But when using SAContext the way it's described (pydoc sacontext) I just get this error when I try to query the database: * In [4]: model.sac.query(model.Contact).get(1) --- sqlalchemy.exceptions.InvalidRequestError Traceback (most recent call last) /home/chaas/projekte/pylons/phonebook/ipython console /usr/lib/python2.4/site-packages/sqlalchemy/orm/query.py in get(self, ident, **kwargs) 101 return ret 102 key = self.mapper.identity_key(ident) -- 103 return self._get(key, ident, **kwargs) 104 105 def load(self, ident, **kwargs): /usr/lib/python2.4/site-packages/sqlalchemy/orm/query.py in _get(self, key, ident, reload, lockmode) 945 try: 946 statement = self.compile(self._get_clause, lockmode=lockmode) -- 947 return self._select_statement(statement, params=params, populate_existing=reload, version_check=(lockmode is not None))[0] 948 except IndexError: 949 return None /usr/lib/python2.4/site-packages/sqlalchemy/orm/query.py in _select_statement(self, statement, params, **kwargs) 953 if params is None: 954 params = {} -- 955 return self.execute(statement, params=params, **kwargs) 956 957 def _should_nest(self, querycontext): /usr/lib/python2.4/site-packages/sqlalchemy/orm/query.py in execute(self, clauseelement, params, *args, **kwargs) 853 854 -- 855 result = self.session.execute(self.mapper, clauseelement, params=params) 856 try: 857 return self.instances(result, **kwargs) /usr/lib/python2.4/site-packages/sqlalchemy/orm/session.py in execute(self, mapper, clause, params, **kwargs) 181 resources of the underlying ``Connection``, otherwise its a no-op. 182 -- 183 return self.connection(mapper, close_with_result=True).execute(clause, params, **kwargs) 184 185 def scalar(self, mapper, clause, params, **kwargs): /usr/lib/python2.4/site-packages/sqlalchemy/orm/session.py in connection(self, mapper, **kwargs) 168 return self.transaction.connection(mapper) 169 else: -- 170 return self.get_bind(mapper).contextual_connect(**kwargs) 171 172 def execute(self, mapper, clause, params, **kwargs): /usr/lib/python2.4/site-packages/sqlalchemy/orm/session.py in get_bind(self, mapper) 270 e = mapper.mapped_table.engine 271 if e is None: -- 272 raise exceptions.InvalidRequestError(Could not locate any Engine bound to mapper '%s' % str(mapper)) 273 return e 274 InvalidRequestError: Could not locate any Engine bound to mapper 'Mapper|Contact|contacts' * Using pylons.database it was formerly necessary to bind the metadata to an engine somehow using: model.meta.connect(model.session_context.current.bind_to) What should I do now with SAContext? Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Change in my sponsorship requirements
On Sun, Jul 15, 2007 at 12:41:16PM +0200, Bart Martens wrote: On Sun, 2007-07-15 at 11:45 +0200, martin f krafft wrote: I make use of the new ~ character in version strings. Even more my own packages, I'll release 1.0-1~unreleased.1 1.0-1~unreleased.2 1.0-1~unreleased.3 until it's final and I can release 1.0-1, for which I merge the previous changelog entries. This is more work and requires more recompiles, but it does the job without cluttering the changelog. That is a good approach, in my opinion. To make this approach more complete, the packager requesting a sponsor could package the software initially with this version and revision: 1.0~rfs.1-1~rfs.1 After each review the revision number is incremented: 1.0~rfs.1-1~rfs.2 1.0~rfs.1-1~rfs.3 1.0~rfs.1-1~rfs.4 When the .orig.tar.gz needs repackaging, then this happens: 1.0~rfs.2-1~rfs.1 1.0~rfs.3-1~rfs.1 And when it's finally allright, then the package (containing a debian/README.Debian-source) can still get this version and revision when uploaded to Debian: 1.0-1 As I outlined in the mentors.debian.net thread I'm a great fan of not having different uploads with the same revision number. So I'd even like to enforce that uploads to mentors.debian.net with the same revision number as an existing upload is ignored. However the above proposals have two issues I don't really like: - they tell the package maintainer that the revision must be -1 when the package finally enters Debian. The pre releases using the ~unreleased.1 syntax tastes complicated. - if the sponsor deems the package worthy to be uploaded then the sponsoree would still need to build the package again because it is finally allowed to carry the -1 revision Why so complicated? Just increase the revision number. And if 1.0-8 is the first revision that fits the sponsor's taste then be it so. The ftp-master server is not oppinionated on revisions higher than -1. Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Broken uploads to mentors.debian.net
On Sun, Jul 15, 2007 at 12:31:29AM +0200, I wrote: On Sat, Jul 14, 2007 at 10:42:52PM +0100, Neil Williams wrote: Just had a problem with a package for sponsoring that, AFAICT, could not happen with other repositories that I use, so I'm a tad concerned about how it happened on m.d.n. http://mentors.debian.net/debian/pool/main/x/xracer/ A package has been uploaded to m.d.n several times during sponsoring (not uncommon) at the same version (also no uncommon) so the .orig.tar.gz is unchanged (which is correct): xracer_0.96.9.orig.tar.gz 26-Jun-2007 17:26 9.1M Other files have been updated, as expected: xracer_0.96.9-1.diff.gz 14-Jul-2007 17:28 28K xracer_0.96.9-1.dsc 14-Jul-2007 17:28 1.4K That .orig.tar.gz on m.d.n is the same as my last build: 41bdf64eca9960ae8932e27e7ba2bea1 9562055 xracer_0.96.9.orig.tar.gz However, the .dsc file uploaded to m.d.n references a different .orig.tar.gz: 8287bfd7e9ef9a507024bf34761791d8 9562064 xracer_0.96.9.orig.tar.gz I'll look into this later today and probably fix it. Now I checked the import script at mentors.debian.net and also did a few test uploads. If a 'dsc' file mentions an orig tarball then the old tarball is replaced in every case. So if the package maintainer would upload a package built with -sa (including the orig tarball even with non-1 revisions) then everything should work well. I have no good explanation for the situation Neil mentioned though. The package maintainer must have uploaded a package with an orig tarball. But then the orig tarball was changed and an upload without an orig tarball was done that mentioned the orig tarball though. How come the .dsc file mentions an orig file that is not uploaded? All files mentioned in the .dsc file must be uploaded. I'm confused. Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Broken uploads to mentors.debian.net
On Sat, Jul 14, 2007 at 10:42:52PM +0100, Neil Williams wrote: Just had a problem with a package for sponsoring that, AFAICT, could not happen with other repositories that I use, so I'm a tad concerned about how it happened on m.d.n. http://mentors.debian.net/debian/pool/main/x/xracer/ A package has been uploaded to m.d.n several times during sponsoring (not uncommon) at the same version (also no uncommon) so the .orig.tar.gz is unchanged (which is correct): xracer_0.96.9.orig.tar.gz 26-Jun-2007 17:26 9.1M Other files have been updated, as expected: xracer_0.96.9-1.diff.gz 14-Jul-2007 17:28 28K xracer_0.96.9-1.dsc 14-Jul-2007 17:28 1.4K That .orig.tar.gz on m.d.n is the same as my last build: 41bdf64eca9960ae8932e27e7ba2bea1 9562055 xracer_0.96.9.orig.tar.gz However, the .dsc file uploaded to m.d.n references a different .orig.tar.gz: 8287bfd7e9ef9a507024bf34761791d8 9562064 xracer_0.96.9.orig.tar.gz Of course, dget -x now refuses to unpack this package - error from dpkg-source. I suspect an error in the .dsc but I thought that dput should have caught that or that the repository management tools at m.d.n should have complained (noisily): Uploaded foo.dsc needs foo.orig.tar.gz with md5sum which differs from the existing foo.orig.tar.gz with md5sum or similar and rejected the upload. I know I have had those kind of warnings from reprepro with other repositories - IIRC it is why we have md5sums in the .dsc in the first place (in addition to GnuPG signatures). Is this a result of the need to allow repeated uploads of packages at the same version? Actually I don't like the idea of uploading a different file with the same revision number. But a lot of sponsors seem to expect a ~mentors001 revision suffix or just always a -1 revision until the package is sponsored. When I sponsor packages I always make my sponsorees use proper revision numbers. Who cares if it takes 10 revisions until the package is ready for upload? Let it be revision -10 then. At least I don't need to know that the sponsoree meant the version from yesterday evening 7 p.m. CET-4 but rather use revision -4. I found it educationally better to handle mentors.debian.net just like the usual ftp-master: - once uploaded the orig tarball can't be altered any more - new uploads are only valid with higher version/revision numbers But since so many people insisted that the same revision should be allowed to be overwritten I didn't enforce that. Can something be done with the m.d.n scripts that handle dput uploads to enforce a check that the existing .orig.tar.gz (which should not normally change during sponsorship) matches the reference in the .dsc and allow for the odd occasion where the .orig.tar.gz does have to be repackaged with an explicit mechanism? I just checked the import script I wrote quite a while ago that handles the uploaded files. There is but one situation that I can think of where that clash of orig tarballs could happen: - a sponsoree creates a package for the first time - the orig tarball gets uploaded as it is referenced in the changes/dsc file - the sponsoree somehow alters the orig tarball but keeps the filename (or rather the name and version number) - mentors.debian.net believes it already has the orig file in the pool directory and ignores the newly uploaded file Instead of obeying the MD5 sum of the package at that point (I do when the .dsc file is checked though) I'll make sure that all the uploaded files will replace all previous existing files of a source package in the pool directories. That should do it. At the very least, m.d.n should be able to prevent this situation where 'dget -x' fails as this is the most common method of sponsors obtaining sources from m.d.n. Correct. I have to either forbid that or make it work gracefully. I think I'll rather accept that but send the uploader a big warning. If it helps, I have been able to fettle the .dsc to use the correct values for the existing .orig.tar.gz and it has unpacked OK - it appears to simply be an error in the .dsc caused by some problem with the sponsoree. However, I am unable to upload the package in this condition (which is frustrating for the sponsoree because this package has had quite a few changes and he has put in a significant amount of work getting it ready for sponsoring). I was all ready to upload the package tonight too. Current workaround: let the sponsoree delete the package through the web interface and re-upload. I'll look into this later today and probably fix it. Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: putting binary data into the response
On Fri, Jul 13, 2007 at 01:09:06PM -0700, Jose Galvez wrote: Hi all, I know this should be simple but I can't find the answer anywhere, I have some images in a database that I need to send to a webpage. So I have a simple controller that should just send the binary data but I can't find how to stuff binary data into the response object. here is my code def photo(self, id): sac = model.sac q = sac.query binaryImage = q(model.Students).get(id).photo res = Response() res.headers['Content-type'] = 'image/jpeg' res.write(binaryImage) return res which displays nothing I have written a function that returns XML. It looks like: response = pylons.Response(the_actual_xml_string) response.headers['content-type'] = text/xml return response Would that help? I just didn't use .write() here. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: PROBLEMS WITH TIMESTAMP variable in MySql
Disclaimer: I'm no SQLAlchemy guru. On Fri, Jul 13, 2007 at 01:53:48PM -, robertz23 wrote: Hi, I've been using SQLAlchemy since a month. I'm having some problems with a one-to-many relationship. I have 2 tables: one for users and one for users's emails. The problem arises when I want to put a timestamp in the email table in order to see when a given account was created. Here are the tables, my code, and the error: [...] user_table = Table('user', metadata, autoload=True) email_table = Table('email', metadata, autoload=True) class User(object): pass class Email(object): pass session_context = SessionContext(create_session) assign_mapper(session_context, User, user_table, properties={'emails':relation(Email)}) assign_mapper(session_context, Email, email_table) obj = User() obj.get(1).emails It looks like you are first creating a new User instance and then calling .get(1) on it. I'd rather expect this to work: emails = User.get(1).emails Or following the query syntax that seems to be upcoming with 0.4: emails = User.query.get(1).emails Kindly Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
Re: A Python newbie ask a simple question
On Fri, Jul 13, 2007 at 06:35:16PM -, [EMAIL PROTECTED] wrote: what does the statement choice = raw_input(prompt)[0] mean? I don't know why there is a '[0]' in the statement. It calls the raw_input function with the argument of prompt. That function returns a list and you are getting the first ([0]) value from that list. Cheers Christoph -- http://mail.python.org/mailman/listinfo/python-list
Bug#432515: pida: New upstream release 0.5
Package: pida Version: 0.5-1 Severity: wishlist Please package the current pida version 0.5 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: The is-Pylons-for-me post
Martin, On Mon, Jul 09, 2007 at 12:30:18AM -0700, Martin Aspeli wrote: We've just (almost certainly) chosen Pylons for a quick-and-dirty web application project. There are just a few outstanding things that we need to do, which I'm not sure how to approach. Speed is of the essence here, so having examples or documentation would be a huge help. I also don't have much time for trial-and-error, so opinionated responses highly appreciated. 1. We need a fairly heavily AJAXified UI. Is Prototype and the Railsish web helpers the best way to go? I'm a little wary of code generation in general and Prototype in particular, but I'm willing to ignore my instincts if this is the way people tend to do things. I haven't seen many tutorials or examples of alternative approaches, e.g. jQuery or MochiKit. The front page of pylonshq.com suggests other toolkits are supported, but I can't find any more resources. :-/ I am no Javascript guru. And I mainly use it for effects and features like autocompletion or AJAX. Since the webhelpers support script.aculo.us/prototype I started with that but in the used jQuery. With jQuery you don't need much (if any) help by the webhelpers. The Javascript code you write is so short that code generation is unnecessary. 2. Specifically, we need an auto-complete widget. I see Script.aculo.us has one of those, but no corresponding web helper. Just include the Javascript code from the script.aculo.us web site into your HTML template. However the widget never worked as expected here. E.g. using backspace and typing other character for a new match cached too much. Only this plugin for jQuery finally did what I expected: http://www.pengoworks.com/workshop/jquery/autocomplete.htm There is just a bug in it that I had to fix myself: - options.matchSubset = options.matchSubset || 1; You cannot set matchSubset to 0 because it will always be set back to 1. I mailed the author about that a long time ago but never heard anything since. Change it to: - options.matchSubset = options.matchSubset || 0; And set the parameter to 1 should you need it. How easy would it be to hand-code the use of such a widget? Should I look for other frameworks instead? I don't think that the webhelpers are really necessary to create Javascript code. When I started with Pylons I assumed that I had to use script.aculo.us but switching to jQuery was trivial. In fact, we need something even more dynamic: the user should use an auto-complete select box to find items and then press Enter or click a button to add it to a dynamically growing list, i.e. letting this act as a dynamic, auto-complete multi-select widget. Didn't need that yet but doesn't sound hard. 3. Are there any example applications that demonstrate the use of AuthKit (with a custom, in-the-app login form, and sensible permission/role/user handling and user storage)? That's not too hard. Custom-made permissions are just Python code. So it depends on what you put into them. The login form is used when you use the forward method. Authkit - just like Pylons - doesn't hold you hand here. Just create a database table for your users and store the passwords (MD5-hashed) in there. Then let the login form verify that the password matches and then allow the user in. I've seen the AuthKit tutorial, but it uses fairly frivolous examples. I'm not happy with the Authkit documentation either. There are a dozen copies flying around but they either deal with the not-yet-released 0.4 or speak of configuration parameters that are wrong. Maybe more questions later... but so far, what we've seen and tested of Pylons has been great. :) We love it, too. :) Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: RFS: alien-arena - First person online deathmatch shooter
On Sat, Jun 30, 2007 at 12:11:33AM -0400, Andres Mejia wrote: On 6/29/07, Christoph Haas [EMAIL PROTECTED] wrote: I have looked at your package. It looks good and is working. I would just suggest you shorten the texts in debian/copyright and debian/control to less than 80 characters per line. Thanks for the suggestions. With this I now have no lintian warnings or errors on both packages. :) The lines in debian/copyright and debian/control files in both packages have been shortened to less than 80 characters. The README.Debian still contains very long lines. Perhaps that can be fixed in a next revision. Other than that the package looks good to me and I'm currently uploading it. Will probably take a while through my 384 kbps uplink. Cheers Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#431573: python-policyd-spf: Please add proper init.d script
Package: python-policyd-spf Version: 0.3-1 Severity: wishlist This software is supposed to be a daemon. Please install it like a daemon. init.d files, logging, /etc/default, config files, logrotate etc. Thanks. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (900, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.18-3-686 (SMP w/2 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages python-policyd-spf depends on: ii python2.4.4-6An interactive high-level object-o ii python-spf2.0.3-2sender policy framework (SPF) modu ii python-support0.6.4 automated rebuilding support for p Versions of packages python-policyd-spf recommends: ii postfix 2.4.0-3+b1 A high-performance mail transport -- debconf-show failed -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: RFS: powertop (updated package)
On Sun, Jul 01, 2007 at 05:21:03PM +0200, Krzysztof Burghardt wrote: I am looking for a sponsor for the new version 1.7~svn-r227-1 of my package powertop. Sponsored! Is there a reason you took the SVN version instead of 1.7 stable? Funny though that uscan found out there is a 1.17 version online although the web site says 1.7 is the most current version. Cheers Christoph -- Peer review means that you can feel better because someone else missed the problem, too. signature.asc Description: Digital signature
Re: A note on lintian clean packages and mentors.d.n
On Sun, Jul 01, 2007 at 06:11:00PM +0200, Nico Golde wrote: I saw many packages using the template from mentors.debian.net which then always says: The package is lintian clean. And I saw many packages which are not lintian clean but state otherwise which really sucks. Can you change this string to something like: Please check your package for the Debian policy using the lintian package. If it doesn't complain please state that the package is lintian clean. This is a must for most of the packages. Sounds a bit complicated. I have changed the text slightly to ...appears to be lintian-clean. The lintian version on mentors.debian.net is the Etch version. We can install a backport though. Cheers Christoph -- Peer review means that you can feel better because someone else missed the problem, too. signature.asc Description: Digital signature
Re: A note on lintian clean packages and mentors.d.n
On Sun, Jul 01, 2007 at 07:21:51PM +0200, Nico Golde wrote: Hi, * Christoph Haas [EMAIL PROTECTED] [2007-07-01 19:13]: On Sun, Jul 01, 2007 at 06:11:00PM +0200, Nico Golde wrote: I saw many packages using the template from mentors.debian.net which then always says: The package is lintian clean. And I saw many packages which are not lintian clean but state otherwise which really sucks. Can you change this string to something like: [...] Sounds a bit complicated. I have changed the text slightly to ...appears to be lintian-clean. The lintian version on mentors.debian.net is the Etch version. We can install a backport though. That would be very nice. Lintian is now v1.23.31 instead of v1.23.28 (Etch). Hope that helps. Cheers Christoph -- Peer review means that you can feel better because someone else missed the problem, too. signature.asc Description: Digital signature
Re: A note on lintian clean packages and mentors.d.n
On Sun, Jul 01, 2007 at 02:39:10PM -0500, Raphael Geissert wrote: On 01/07/07, Christoph Haas [EMAIL PROTECTED] wrote: On Sun, Jul 01, 2007 at 07:21:51PM +0200, Nico Golde wrote: Hi, * Christoph Haas [EMAIL PROTECTED] [2007-07-01 19:13]: On Sun, Jul 01, 2007 at 06:11:00PM +0200, Nico Golde wrote: I saw many packages using the template from mentors.debian.net which then always says: The package is lintian clean. And I saw many packages which are not lintian clean but state otherwise which really sucks. Can you change this string to something like: [...] Sounds a bit complicated. I have changed the text slightly to ...appears to be lintian-clean. The lintian version on mentors.debian.net is the Etch version. We can install a backport though. That would be very nice. Lintian is now v1.23.31 instead of v1.23.28 (Etch). Hope that helps. Is lintian only checking the .deb file or the .dsc file too? By the way, what do you think about making linda check the package too? The .deb file (if it is uploaded at all) is thrown away. Lintian is doing the checks on the .dsc file. /me puts linda on the todo list. Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: RFS: command-not-found
On Sun, Jul 01, 2007 at 10:08:47PM +0200, Julian Andres Klode wrote: Dear mentors, I am looking for a sponsor for my package command-not-found. * Package name: command-not-found Version : 0.2.4+debian-1 Upstream Author : Zygmunt Krynicki [EMAIL PROTECTED] Michael Vogt [EMAIL PROTECTED] * URL : https://launchpad.net/command-not-found * License : GPL Section : admin Not sure. Perhaps shell as a section might match better. It builds these binary packages: command-not-found - Suggest installation of packages in interactive bash sessions command-not-found-data - Set of data files for command-not-found I just built and installed it. There is some funny whitespace in between the messages: === $ inetd Command 'inetd' is available in '/usr/sbin/inetd' The command could not be located because '/usr/sbin' is not i ncluded in the PATH environment variable. This is most likely caused by the lack of administ rative priviledges associated with your user account. bash: inetd: command not found === i ncluded - included administ rative - administrative priviledges - privileges Did you talk to the Ubuntu maintainer already? Perhaps it make sense to join forces so that only one package is built? Christoph -- Peer review means that you can feel better because someone else missed the problem, too. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: How do I set my form to be a unicode string?
On Sun, Jul 01, 2007 at 11:27:38AM -0300, Walter Cruz wrote: Well, I asked before search the in the list archives! Sorry, no. If you like to continue the topic you brought up with another thread then please use the other thread. I didn't follow the other thread. If you start a new thread then I recommend you put all necessary information into it. What I needed: tmpl_options['mako.input_encoding'] = 'UTF-8' tmpl_options['mako.output_encoding'] = 'UTF-8' tmpl_options['mako.default_filters'] = ['decode.utf8'] request_settings = dict(charset='utf-8', errors='replace') return pylons.config.Config(tmpl_options, map, paths,request_settings=request_settings) You shouldn't need the mako.default_filters setting. IMHO it slows done things unnecessarily. The request_settings parameter does the work already. In environment.py I changed my formencode validator to: UnicodeString and now it's ok. Very good. But I'm with a doubt: Even with this, in my templates I've to use: ${h.link_to(uNova citação, h.url(action=new))} (Note the u before Nova citação). How can I configure this to avoid to say that this is string is unicode? You can't. A string contains 7-bit character in Python. So if you use anything besides 7-bit ASCII you need to use unicode objects. Generally (not only with Pylons) it's wise to always use Unicode internally and just convert them on input/output. Trust me - it will save you time and hassle. Kindly Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: RFS: alien-arena - First person online deathmatch shooter
Andres, On Thu, Jun 28, 2007 at 07:49:01PM -0400, Andres Mejia wrote: I am looking for a sponsor for my package alien-arena. I have looked at your package. It looks good and is working. I would just suggest you shorten the texts in debian/copyright and debian/control to less than 80 characters per line. And of course the package is both non-free and huge. (It would take hours to upload it to Debian via my tiny ISP uplink.) I'm a bit hesitant regarding uploading it. And I can't verify the upstream tarball/zipball due to lack of disk space currently. :( Cheers Christoph -- Peer review means that you can feel better because someone else missed the problem, too. signature.asc Description: Digital signature
Bug#430947: python-docutils: Please create man page from help output
Package: python-docutils Version: 0.4-4 Severity: wishlist I would appreciate to get proper manpages instead of reading the --help output. Should be easy with help2man. Thanks in advance. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (990, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.18-4-686 (SMP w/1 CPU core) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to de_DE.UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages python-docutils depends on: ii python2.4.4-6An interactive high-level object-o ii python-central0.5.14 register and build utility for Pyt ii python-roman 0.4-4 A module for generating/analyzing python-docutils recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#392302: Perhaps a workaround
I had the exact same trouble when upgrading from Sarge to Etch. But just on one system. Nobody seemed to be able to help so I tried a desperate thing and reinstalled the installed packages: for pkg in `dpkg -l | grep ^i | awk '{print $2}'` ; do aptitude \ reinstall $pkg ; done After that the problem was gone here. Can't tell more about the actual cause. Christoph -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: problems with mentors.debian.net mailserver
On Mon, Jun 25, 2007 at 08:49:25PM +0200, Vincent Bernat wrote: OoO En cette aube naissante du lundi 25 juin 2007, vers 07:00, Michael Gilbert [EMAIL PROTECTED] disait: hello, i tried to sign up for a mentors account today (http://mentors.debian.net/cgi-bin/maintainer-signup), but got the following error, which appears to be a mailserver failure: It seems that mentors.debian.net has other problems as well. I have uploaded a package yesterday but it is still not available. Maybe they are upgrading the host to Etch ? Yes, I was. There have been problems with the MTA (email) setup and the import process didn't like to start. I hope the problems are fixed now. Please reply if you still encounter trouble. Kindly Christoph -- Peer review means that you can feel better because someone else missed the problem, too. signature.asc Description: Digital signature
Re: problems with mentors.debian.net mailserver
On Tue, Jun 26, 2007 at 12:17:50PM +0200, Francesco Namuri wrote: I'm trying to send a mail to [EMAIL PROTECTED], but I get a bounce from the mailer daemon. Right. I have a workaround installed now. But somehow the otrs is borked. Working on it... Christoph signature.asc Description: Digital signature
[sqlalchemy] Re: Qualified column names in JOINs?
On Fri, Jun 22, 2007 at 08:30:07PM -, Michael Bayer wrote: the contents of the columns clause is configurable via the select() construct directly: result=select([records_a, records_ptr], records_a.c.type=='A', from_obj=[model.outerjoin(records_a, records_ptr, ( (records_a.c.inet==records_ptr.c.inet) (records_ptr.c.type=='PTR') ))], use_labels=True).execute().fetchone() Very good. That does what I wanted. A full outer join would be perfect but I'm willing to UNION my way through. :) Thank you. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Qualified column names in JOINs?
Dear list, I'm trying to join a table with itself. That works well. However since the column names are identical I had no luck accessing both the original and the joined information. I have aliased the tables already and run the join on the aliased names. But the column names are still not qualified. Example: records_a = model.records_table.alias('records_a') records_ptr = model.records_table.alias('records_ptr') joined = records_a.select(..., from_obj=[outerjoin(records_a, records_ptr, records_a.c.foo==records_ptr.c.bar)).execute().fetchone() The records contain fields like 'id', 'type' or 'name'. So I tried this and failed: print joined[0].records_a.c.id print joined[0]['records_a.id'] However I _can_ access the result columns without the table alias: print joined[0].id print joined[0]['id'] Is there some magical hidden parameter that qualifies the rows of the result? Kindly Christoph P.S.: I'm now trying the example from self-referential mappers. But the general question is still valid because in every join it might happen that column names overlap. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Qualified column names in JOINs?
On Fri, Jun 22, 2007 at 11:50:51AM -0400, Michael Bayer wrote: On Jun 22, 2007, at 9:59 AM, Christoph Haas wrote: I'm trying to join a table with itself. That works well. However since the column names are identical I had no luck accessing both the original and the joined information. I have aliased the tables already and run the join on the aliased names. But the column names are still not qualified. Example: records_a = model.records_table.alias('records_a') records_ptr = model.records_table.alias('records_ptr') joined = records_a.select(..., from_obj=[outerjoin(records_a, records_ptr, records_a.c.foo==records_ptr.c.bar)).execute().fetchone() The records contain fields like 'id', 'type' or 'name'. So I tried this and failed: print joined[0].records_a.c.id print joined[0]['records_a.id'] that makes no sense. joined is a result of fetchone() so it therefore a RowProxy. joined[0] is the first column of the row. the value of joined[0] should be a scalar. Sorry, you are right. I was pasting incorrectly. Here is a real-life session: In [2]: records_a=model.records_table.alias('records_a') In [3]: records_ptr=model.records_table.alias('records_ptr') In [4]: result=records_a.select(records_a.c.type=='A', from_obj=[model.outerjoin(records_a, records_ptr, ( (records_a.c.inet==records_ptr.c.inet) (records_ptr.c.type=='PTR') ))]).execute().fetchone() 2007-06-22 18:09:57,852 INFO sqlalchemy.engine.base.Engine.0x..6c SELECT records_a.id, records_a.domain_id, records_a.dhcpzone_id, records_a.name, records_a.type, records_a.content, records_a.ttl, records_a.prio, records_a.change_date, records_a.mac_address, records_a.inet FROM records AS records_a LEFT OUTER JOIN records AS records_ptr ON records_a.inet = records_ptr.inet AND records_ptr.type = %(records_ptr_type)s WHERE records_a.type = %(records_a_type)s 2007-06-22 18:09:57,852 INFO sqlalchemy.engine.base.Engine.0x..6c {'records_a_type': 'A', 'records_ptr_type': 'PTR'} In [5]: result.keys() Out[5]: ['id', 'domain_id', 'dhcpzone_id', 'name', 'type', 'content', 'ttl', 'prio', 'change_date', 'mac_address', 'inet'] As you see the keys are just there once. Although the actual SQL result contains these columns for both records_a and the joined records_ptr. to see all the literal column names, use result.fetchone().keys(). or, just turn on SQL echoing and watch the names generated. the easiest way to get at the column you want is to target using the Column objects themselves: result.fetchone()[records_a.c.id] Does not work in the way I tried: In [6]: result=records_a.select(records_a.c.type=='A', from_obj=[model.outerjoin(records_a, records_ptr, ( (records_a.c.inet==records_ptr.c.inet) (records_ptr.c.type=='PTR') ))]).execute().fetchone()[recordsd_a.c.type] 2007-06-22 18:11:38,571 INFO sqlalchemy.engine.base.Engine.0x..6c SELECT records_a.id, records_a.domain_id, records_a.dhcpzone_id, records_a.name, records_a.type, records_a.content, records_a.ttl, records_a.prio, records_a.change_date, records_a.mac_address, records_a.inet FROM records AS records_a LEFT OUTER JOIN records AS records_ptr ON records_a.inet = records_ptr.inet AND records_ptr.type = %(records_ptr_type)s WHERE records_a.type = %(records_a_type)s 2007-06-22 18:11:38,572 INFO sqlalchemy.engine.base.Engine.0x..6c {'records_a_type': 'A', 'records_ptr_type': 'PTR'} --- exceptions.NameError Traceback (most recent call last) /home/chaas/projekte/dnsdhcp/ipython console NameError: name 'recordsd_a' is not defined Kindly Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Qualified column names in JOINs?
On Fri, Jun 22, 2007 at 04:40:58PM -, Michael Bayer wrote: On Jun 22, 12:12 pm, Christoph Haas [EMAIL PROTECTED] wrote: 2007-06-22 18:09:57,852 INFO sqlalchemy.engine.base.Engine.0x..6c SELECT records_a.id, records_a.domain_id, records_a.dhcpzone_id, records_a.name, records_a.type, records_a.content, records_a.ttl, records_a.prio, records_a.change_date, records_a.mac_address, records_a.inet FROM records AS records_a LEFT OUTER JOIN records AS records_ptr ON records_a.inet = records_ptr.inet AND records_ptr.type = %(records_ptr_type)s WHERE records_a.type = %(records_a_type)s 2007-06-22 18:09:57,852 INFO sqlalchemy.engine.base.Engine.0x..6c {'records_a_type': 'A', 'records_ptr_type': 'PTR'} In [5]: result.keys() Out[5]: ['id', 'domain_id', 'dhcpzone_id', 'name', 'type', 'content', 'ttl', 'prio', 'change_date', 'mac_address', 'inet'] As you see the keys are just there once. Although the actual SQL result contains these columns for both records_a and the joined records_ptr. set use_labels=True in your select() statement. the point of that is to combine table or alias names with column names as labels for all selected columns, so that names are automatically unique. the column- targeting i mentioned also would rely upon this to differentiate between the two tables. Thank you. It's a tiny bit closer. However that still only gives the left side of the join as results: result=records_a.select( records_a.c.type=='A', from_obj=[model.outerjoin(records_a, records_ptr, ( (records_a.c.inet==records_ptr.c.inet) (records_ptr.c.type=='PTR') ))], use_labels=True).execute().fetchone() In [9]: result Out[9]: (108914, 1, None, u'foo.domain.tld', u'A', u'192.168.26.39', 86400, 0, None, None, '192.168.26.39') In [10]: result.keys() Out[10]: ['records_a_id', 'records_a_domain_id', 'records_a_dhcpzone_id', 'records_a_name', 'records_a_type', 'records_a_content', 'records_a_ttl', 'records_a_prio', 'records_a_change_date', 'records_a_mac_address', 'records_a_inet'] Sorry for being a pain. But I'm kind of stuck here. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Qualified column names in JOINs?
On Fri, Jun 22, 2007 at 07:22:05PM +0200, Christoph Haas wrote: On Fri, Jun 22, 2007 at 04:40:58PM -, Michael Bayer wrote: On Jun 22, 12:12 pm, Christoph Haas [EMAIL PROTECTED] wrote: 2007-06-22 18:09:57,852 INFO sqlalchemy.engine.base.Engine.0x..6c SELECT records_a.id, records_a.domain_id, records_a.dhcpzone_id, records_a.name, records_a.type, records_a.content, records_a.ttl, records_a.prio, records_a.change_date, records_a.mac_address, records_a.inet FROM records AS records_a LEFT OUTER JOIN records AS records_ptr ON records_a.inet = records_ptr.inet AND records_ptr.type = %(records_ptr_type)s WHERE records_a.type = %(records_a_type)s 2007-06-22 18:09:57,852 INFO sqlalchemy.engine.base.Engine.0x..6c {'records_a_type': 'A', 'records_ptr_type': 'PTR'} In [5]: result.keys() Out[5]: ['id', 'domain_id', 'dhcpzone_id', 'name', 'type', 'content', 'ttl', 'prio', 'change_date', 'mac_address', 'inet'] As you see the keys are just there once. Although the actual SQL result contains these columns for both records_a and the joined records_ptr. set use_labels=True in your select() statement. the point of that is to combine table or alias names with column names as labels for all selected columns, so that names are automatically unique. the column- targeting i mentioned also would rely upon this to differentiate between the two tables. Thank you. It's a tiny bit closer. However that still only gives the left side of the join as results: result=records_a.select( records_a.c.type=='A', from_obj=[model.outerjoin(records_a, records_ptr, ( (records_a.c.inet==records_ptr.c.inet) (records_ptr.c.type=='PTR') ))], use_labels=True).execute().fetchone() In [9]: result Out[9]: (108914, 1, None, u'foo.domain.tld', u'A', u'192.168.26.39', 86400, 0, None, None, '192.168.26.39') In [10]: result.keys() Out[10]: ['records_a_id', 'records_a_domain_id', 'records_a_dhcpzone_id', 'records_a_name', 'records_a_type', 'records_a_content', 'records_a_ttl', 'records_a_prio', 'records_a_change_date', 'records_a_mac_address', 'records_a_inet'] Update: I found another way - but with .select instead of .outerjoin: In [9]: result = model.select([records_a, records_ptr], (records_a.c.inet==records_ptr.c.inet) (records_ptr.c.type=='PTR'), use_labels=True).execute().fetchone() In [10]: result.keys() Out[10]: ['records_a_id', 'records_a_domain_id', 'records_a_dhcpzone_id', 'records_a_name', 'records_a_type', 'records_a_content', 'records_a_ttl', 'records_a_prio', 'records_a_change_date', 'records_a_mac_address', 'records_a_inet', 'records_ptr_id', 'records_ptr_domain_id', 'records_ptr_dhcpzone_id', 'records_ptr_name', 'records_ptr_type', 'records_ptr_content', 'records_ptr_ttl', 'records_ptr_prio', 'records_ptr_change_date', 'records_ptr_mac_address', 'records_ptr_inet'] So I finally get both sides of the join. But this appears to be just an INNER JOIN. There are records_a with no matching records_ptr and vice versa. So my actual goal is a FULL OUTER JOIN that just fills non-matching rows with NULL values. If I understoog correctly then full outer joins are not yet supported due to some complications with Oracle databases. So I thought I'd try a LEFT OUTER JOIN with a UNION of a INNER (RIGHT) JOIN as a workaround as described at http://en.wikipedia.org/wiki/Join_(SQL)#Full_outer_join (last paragraph). Since the above query is just an INNER JOIN I'd have to do a LEFT JOIN + INNER JOIN + RIGHT JOIN. Phew... Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Mapper with relation/custom join condition fails
On Tue, Jun 19, 2007 at 02:21:51AM +0300, [EMAIL PROTECTED] wrote: Perfectly. Although all the hassle makes me think even harder if there is really no other way of connecting these two database tables. A casted join with string comparison gets dirtier every time I look at it. :( excuse me if it sounds dumb... what about a middleman table of proper (casted) values that is automaticaly build by some trigger? i can guess at least 3 objections right now, but it is an option in general principle... Doesn't sound dumb at all. I assume you are thinking of an intermediary table that is connecting primary keys like row 10 of dns table is connected to row 515 of dhcp table. Yes, I'm considering that, too. With secondary properties SQLAlchemy makes such many-to-many relations really easy. However I have a higher risk of rows that have different IP address values in this case. I'll think about it though. Thanks for the suggestion. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Mapper with relation/custom join condition fails
Dear list... I'm having trouble with two assign-mappers with a custom JOIN condition. (And I admit that I'm not yet good at that in SQLAlchemy. So be gentle.) powerdns_records_table = Table( 'records', meta, Column('id', Integer, primary_key=True), Column('name', Unicode(80)), Column('type', Unicode(10)), Column('content', Unicode(200)), ) dhcp_hosts_table = Table( 'dhcp_hosts', meta, Column('id', Integer, primary_key=True), Column('ip_address', PGInet, nullable=False), ) assign_mapper(session_context, DhcpHost, dhcp_hosts_table) assign_mapper(session_context, DnsRecord, powerdns_records_table, properties={ 'dhcphost': relation(DhcpHost, primaryjoin=(cast(powerdns_records_table.c.content,PGInet)==dhcp_hosts_table.c.ip_address), foreign_keys=[powerdns_records_table.c.content]), } ) Yes, this may look a bit dirty. The JOIN condition is really that and I have no chance to alter the table schemas because that's what another application demands. The powerdns_records_table uses a string and dhcp_hosts_table uses a PostgreSQL inet object (defined in SQLAlchemy as types.PGInet) and I am trying to match those. I added the foreign_keys parameter when SQLAlchemy complained: ArgumentError: Can't locate any foreign key columns in primary join condition 'CAST(records.content AS INET) = dhcp_hosts.ip_address' for relationship 'DnsRecord.dhcphost (DhcpHost)'. Specify 'foreign_keys' argument to indicate which columns in the join condition are foreign. Now when I try DnsRecords.get_by(content='10.0.0.1') I get: ArgumentError: No syncrules generated for join criterion CAST(records.content AS INET) = dhcp_hosts.ip_address When I try that again (or use DnsRecords.select(DnsRecords.c.content='10.0.0.1') then I get: AttributeError: 'PropertyLoader' object has no attribute 'strategy' The actual SQL query I'd expect would be: SELECT * FROM records JOIN dhcp_hosts ON CAST(records.content AS inet)=dhcp_hosts.ip_address WHERE records.content='10.0.0.1'; My SQLAlchemy version is 0.3.7. Any idea what might be the problem? If that join condition is generally not supposed to work in SA I'll have to do that matching manually in my Python code (which I expect to be way slower than pure SQL). Are primaryjoins with less than trivial integer unique IDs unsupported? Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
Re: using decorators with controllers
On Sun, Jun 17, 2007 at 12:47:47AM -0700, voltron wrote: I am having problems using decorators with controllers. In a test controller: # testcontroller.py def dec(func): # do lotsa things print im doing something finished = True if finished: func() # call the function you were decorating class HomeController(BaseController): def index(self): return render_response('index.html') @dec(home) def test(self): return render_response('test.html') tryinf this, I get an error: exceptions.TypeError: home() takes exactly 1 argument (0 given) I have to pass self to the function passed to the decorator somehow, what would be the best way to do this? I want the decorator to carry out a few things before calling the controller function its decorating. I'm no decoration guru. But don't you have to return func in the decorator? Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Global Authkit app protection
On Sun, Jun 17, 2007 at 10:01:24AM -, Jose Figueras wrote: Following Authkit with Pylons article (and a mixture of other articles, docs, etc) If I try to protect my whole application I see this strange error: exceptions.AssertionError: Forwarding loop detected; '/signin' visited twice (internal redirect path: ['/public', '/signin']) . It usually means that your signin controller couldn't be accessed without authentication. If you enforce authentication everywhere there is no signin action you can even reach because you are not yet authenticated. Chicken, egg. Check that you can call /signin without problems first. 3. code in my main controller controllers/home.py: class HomeController(BaseController): def signin(self): username = str(request.params.get('username', '').strip().lower()) password = str(request.params.get('username', '').strip()) Shouldn't that read 'password'? :) if len(request.params) 1 and username == password: request.environ['paste.auth_tkt.set_user'] (username) request.environ['REMOTE_USER'] = username session['user'] = username session.save() No need to save the username into the session. It is usually available everywhere through request.environ. But, with this style, I must to add security on all my controllers. You can at least say that all actions in a controller should require authentication by following http://docs.pythonweb.org/pages/viewpage.action?pageId=9011252 Cheers Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Global Authkit app protection
On Sun, Jun 17, 2007 at 09:03:42PM -, Jose Figueras wrote: On 17 jun, 13:22, Christoph Haas [EMAIL PROTECTED] wrote: On Sun, Jun 17, 2007 at 10:01:24AM -, Jose Figueras wrote: Following Authkit with Pylons article (and a mixture of other articles, docs, etc) If I try to protect my whole application I see this strange error: exceptions.AssertionError: Forwarding loop detected; '/signin' visited twice (internal redirect path: ['/public', '/signin']) . It usually means that your signin controller couldn't be accessed without authentication. If you enforce authentication everywhere there is no signin action you can even reach because you are not yet authenticated. Chicken, egg. Check that you can call /signin without problems first. It's possible to un-enforce authentication on one controller's method (or one controller)? I don't think so. You'll have to use authentication for all the methods except the signin form. My personal preference is to have a login controller that deals with authentication (login/logout). All the other controllers may enforce authentication. Perhaps you put too much application logic into that very controller that has nothing to do with the actual authentication? Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: documentation unsearchable
On Sun, Jun 17, 2007 at 07:28:04AM -0700, gardsted wrote: I find the documentation for sqlalchemy very confusing. I find no way of navigating it efficiently or searching it. Perhaps partly. Although we have to admit that the documentation is generally very extensive and provides good examples. It's just not always easy to find something. With the time you know what to look for and where. As a workaround you may use google and search for e.g. site:www.sqlalchemy.org/docs filter_by That way you search for filter_by just in the SQLAlchemy documentation. Maybe Michael can add a google search feature on the pages to simplify that? Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
Re: Pylons success story (IncidentNews)
On Fri, Jun 15, 2007 at 03:48:07PM -0700, Mike Orr wrote: My first Pylons site is in production now at http://incidentnews.gov/ . It's running the following: Pylons 0.9.6 dev r2009 [...] Christoph Haas's alternative paginator Glad to hear that the paginator is production-ready. Thanks for the credit. :) Linux Gentoo (switching to Ubuntu Server Edition soon) Out of curiosity. Do you run on the stable Ubuntu release, do you use the unstable branch or do you put everything into a workingenv? Very nice site. pylons++! Cheers Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: logo redux
On Sat, Jun 16, 2007 at 12:02:11PM -0700, michael wrote: I was reading over the mailing list threads about the logo and I kinda had an idea. I just wanted to throw in my two cents. http://www.genoverly.com/pylons_play/pylons_logo_01_html.html I like it. Without a lot of philosophy it shows that any logo might do - it doesn't have to contain a real-life pylon. A pylons is a rather complex structure anyway and that may be tricky if we need a button on the bottom of each page of Pylons-driven website. Projects like jQuery use a simpler geometric figure that goes smoothly on such a button. I hope I am not adding too much noise, overstepped any bounds, or stomping on any toes. The Pylons community is pretty hard to stomp on. The worst thing that can happen is that your contribution is thankfully accepted. :) my.2¢(just) Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: [RFC] Alternative paginator
On Fri, Jun 15, 2007 at 12:08:31PM -0700, Mike Orr wrote: There's a bug in Christoph Haas's alternative paginator (http://workaround.org/pylons/paginator/) if the result set contains zero records and 'show_if_single_page' is true. Module inews.lib.paginator:245 in navigator text = '%s' % (self.first_page+(start_with_one and 1)) TypeError: unsupported operand type(s) for +: 'NoneType' and 'int' Oops. self.first_page was set to None in line 121. I think the solution is to add a stanza after this one: # Don't show navigator if there is no more than one page if self.page_count = 1 and show_if_single_page == False: return '' adding at line 237: # If zero result records, return a fake navigator return 'strong[1]/strong' Not sure what's better. If there's nothing to navigate I personally prefer not to see a useless navigator. But I think I can make this behavior customizable through options. I'll fix that shortly. I have added support for jQuery, too, because I have averted from scriptaculous/prototype. There's still your question on my list on how to degrade gracefully if there is no Javascript support (as you asked for recently) anyway. Suggestions welcome if anyone's quicker. Kindly Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: [RFC] Alternative paginator
On Fri, Jun 15, 2007 at 09:26:00PM +0200, Christoph Haas wrote: I have added support for jQuery, too. UPDATE: the jQuery enabled version is already online at http://workaround.org/pylons/paginate I have also moved some logic around so it might well be the reported bug is gone. I'll check though. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: going off line
On Fri, Jun 15, 2007 at 02:11:01PM -0700, Shannon -jj Behrens wrote: Wish me luck with my fourth child which is due in two weeks! Best wishes! But next time you better thread instead of fork. Four children is prolly enough. :) Cheers Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: AuthKit Authorization Manager?
On Wed, Jun 13, 2007 at 11:28:31AM -0700, HiTekElvis wrote: I just started using AuthKit and have it working pretty snappily. Very pleased. Have a question: Is there a way to have a sort of Authorization Manager, where you can keep all of the permissions and authorizations in one file and don't have decorators and such sprinkled throughout the individual controllers? I'm using an own module in lib/my/auth.py that contains my own Permission classes that I then include from the lib/base.py. So it's available as my.auth.MyPermission from the controllers. Of course you still need to use the decorators inside the controllers because that's where they appeal. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Mapped class + querying for DISTINCT field
I use my assign_mapper'd classes with a lot of joy so far. But now I feel trapped. My table: records_table = Table( 'records', meta, Column('id', Integer, primary_key=True), Column('name', Unicode(80)), Column('type', Unicode(10)), Column('content', Unicode(200)), Column('ttl', Integer), Column('prio', Integer)) My mapping: class DnsRecord(object): pass assign_mapper(session_context, DnsRecord, records_table) Now I'd like to select all objects from that table with unique values in the name column. In old-school SQL that would be: SELECT DISTINCT name,* FROM records; When I start with... DnsRecord.select(...) ...I can just change the WHERE clause but not the actually selected data. Do I really have to use select([DnsRecord.c.name], distinct=True) ? It's simple and working. But I'd rather like to get the result as a mapped class so that I can work with other columns, too. This way I just received a list of strings when I .execute() it. On #sqlalchemy I was proposed to: - use a subselect with .filter() - map a select instead of a Table() - use result-set mapping But these solutions sounded like dirty workarounds and I couldn't even figure out the proper syntax to try it. I have seen similar requests on the list that went unanswered. Is it an obviously lacking feature in SA or is my idea just plain stupid? What is the one truly right way (tm) to handle this? Thanks, Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
Re: Can't get the blog tutorial to work
On Tue, Jun 12, 2007 at 05:34:47AM -0700, kib2 wrote: I'm new to Pylons and even more to DataBases. I followed your tutorial on how to make a basic blog with Pylons, but once I launch my app I've got the following errors : File 'C:\\Documents and Settings\\kib\\Bureau\\KIB\\blogtutorial\ \blogtutorial\\controllers\\blog.py', line 21 in list c.blogPosts = list(model.BlogPosts.select()) File 'c:\\python25\\lib\\site-packages\\SQLObject-0.9.0-py2.5.egg\ \sqlobject\\sresults.py', line 165 in __iter__ return iter(list(self.lazyIter())) File 'c:\\python25\\lib\\site-packages\\SQLObject-0.9.0-py2.5.egg\ \sqlobject\\sresults.py', line 173 in lazyIter return conn.iterSelect(self) File 'c:\\python25\\lib\\site-packages\\SQLObject-0.9.0-py2.5.egg\ \sqlobject\\dbconnection.py', line 399 in iterSelect return select.IterationClass(self, self.getConnection(), File 'c:\\python25\\lib\\site-packages\\SQLObject-0.9.0-py2.5.egg\ \sqlobject\\dbconnection.py', line 264 in getConnection conn = self.makeConnection() File 'c:\\python25\\lib\\site-packages\\SQLObject-0.9.0-py2.5.egg\ \sqlobject\\mysql\\mysqlconnection.py', line 76 in makeConnection e, self.host, self.port, self.db, self.user, self.password) OperationalError: (1045, Access denied for user 'kib'@'localhost' (using password: YES)); used connection string: host=localhost, port=3306, db=blogtutorial, user=kib, pwd=kib This is the first time I use MySQL , I was never asked to give a username during the installation process (on Windows). I was only asked for a password. Please consult the MySQL documentation on access privileges: http://dev.mysql.com/doc/refman/5.1/en/privilege-system.html Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Accepted cream 0.39-2 (source all)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Format: 1.7 Date: Tue, 05 Jun 2007 19:52:40 +0200 Source: cream Binary: cream Architecture: source all Version: 0.39-2 Distribution: unstable Urgency: low Maintainer: Christoph Haas [EMAIL PROTECTED] Changed-By: Christoph Haas [EMAIL PROTECTED] Description: cream - VIM macros that make the VIM easier to use for beginners Changes: cream (0.39-2) unstable; urgency=low . * Desktop file now sets icon into text editors category Files: 637cb8ccddab3588341655f6a3bd2e1b 549 editors optional cream_0.39-2.dsc 98e4ef78d185fa5ee202ba1e9675935e 8642 editors optional cream_0.39-2.diff.gz b9823cdde3cc14e2e9847e3d655da106 752238 editors optional cream_0.39-2_all.deb -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFGZad8CV53xXnMZYYRAqlHAKCGy6mrjPhO8s+8yqVSC1IO1s7FXQCg9mWA F/Ptjjj95e6XyZFQnApI7BM= =kpyi -END PGP SIGNATURE- Accepted: cream_0.39-2.diff.gz to pool/main/c/cream/cream_0.39-2.diff.gz cream_0.39-2.dsc to pool/main/c/cream/cream_0.39-2.dsc cream_0.39-2_all.deb to pool/main/c/cream/cream_0.39-2_all.deb -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: web development without using frameworks
On Tue, Jun 05, 2007 at 03:01:01PM -0400, Chris Stewart wrote: I'm interested in learning web based python without the use of fancy frameworks that are out there. I'm having a hard time coming up with resources and examples for this. Does anyone have anything that could be helpful? I'd say the only decent ways are either using a full-featured framework (I favor Pylons) or write plain CGIs. Even for the later a look into http://wiki.python.org/moin/WebFrameworks might be useful (I wouldn't say that web.py is really a framework - and it's listed there). Or you write plain-old CGIs with Python's cgi module. I have also started like that but currently only use frameworks because the cgi module is pretty limited (compared to what Perl offers) and for serious applications not really the way to go. My 2¢ Christoph -- http://mail.python.org/mailman/listinfo/python-list
Accepted cream 0.39-1 (source all)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Format: 1.7 Date: Mon, 04 Jun 2007 23:14:59 +0200 Source: cream Binary: cream Architecture: source all Version: 0.39-1 Distribution: unstable Urgency: low Maintainer: Christoph Haas [EMAIL PROTECTED] Changed-By: Christoph Haas [EMAIL PROTECTED] Description: cream - VIM macros that make the VIM easier to use for beginners Changes: cream (0.39-1) unstable; urgency=low . * New upstream release Files: ff3c64d8e2900a38e3d37c5152c44d77 549 editors optional cream_0.39-1.dsc caef5e026c740b28c9d19eec4504d428 756873 editors optional cream_0.39.orig.tar.gz 1a60a77151a767d9102e30a57a262f77 8343 editors optional cream_0.39-1.diff.gz 9b79a56819b0ba6795f9d53916dc99d5 752178 editors optional cream_0.39-1_all.deb -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFGZIf/CV53xXnMZYYRAtrEAJ4pGWg9DhyJ3gZm7yJsuQwvgCEVoACZAej4 4j8lX3UnVzFQa1y4frz9h4U= =Z0Gh -END PGP SIGNATURE- Accepted: cream_0.39-1.diff.gz to pool/main/c/cream/cream_0.39-1.diff.gz cream_0.39-1.dsc to pool/main/c/cream/cream_0.39-1.dsc cream_0.39-1_all.deb to pool/main/c/cream/cream_0.39-1_all.deb cream_0.39.orig.tar.gz to pool/main/c/cream/cream_0.39.orig.tar.gz -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Why not move Apt to a relational database
On Sun, Jun 03, 2007 at 11:31:18AM +0100, Neil Williams wrote: On Sun, 03 Jun 2007 10:55:01 +0100 Justin Emmanuel [EMAIL PROTECTED] wrote: I am brand new to this mailing list, I joined it because I had an idea that I would like to have considered. Moving apt to a relational database, for several reasons. What about embedded systems that can barely run sqlite? Is sqlite really *that* heavyweight? Storing information about tens of thousands of packages in plain text files is surely not the best idea. Historically grown. Okay. But still worth to think about. apt needs to be part of the debian-installer, why lumber the installer with postgres or mysql or whatever? Nobody wants to use pgsql or mysql as a prerequisite to a base installation. Not the right tool for the job. Perhaps there is other software that is even more basic than sqlite but more basic. That doesn't justify adding 10-20Mb of extra code to a rootfs - especially when an Emdebian rootfs may need to be 5Mb in total. The current sqlite package is ~80 KB uncompressed. It I can imagine that the database might even be smaller and waste less inodes than what apt currently does. So what do you think? Is this the correct mailing list to send this idea to? Right mailing list but, IMHO, not a particularly good idea. Sorry. Right mailing list. Very good idea IMHO and right to the point. We just need a volunteer who knows enough about apt to make it use sqlite without breaking everything. Or do we have to wait until Ubuntu sends us a patch? ;) When I complained about the slow package database (it turned out to be that that many files on ext3 make reading the package cache take longer than formatting a floppy disc on a 1541) someone pointed to: http://people.debian.org/~seanius/dpkg-sqlite/ Christoph -- Peer review means that you can feel better because someone else missed the problem, too. signature.asc Description: Digital signature
Re: SQLAlchemy object
On Sat, Jun 02, 2007 at 01:09:37PM -0400, Michael Bayer wrote: at Mike Orr's prodding, ive worked up a SQLAlchemy context object based on his proposal for a facade that deals with the various session (context)/engine/metadata mixtures. I think this would be a good idea for the very reason that it encapsulates all the details of how engines/metadata/session/etc get created and used. [...] from pylons.database import SAContext sac = SAContext() # connects to engine in the .ini file by default [...] I like your prosal a lot. It addresses everything that has annoyed me so far. But why is it limited to pylons.database? Elixir tries to make SA simpler. Can't the session context itself be jazzed up so thar pylons.database does little more than read the sqlalchemy.dburi and provide a session context? Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Pylons Logo Design
On Fri, Jun 01, 2007 at 03:15:19PM -0700, Ben Bangert wrote: On Jun 1, 2007, at 11:11 AM, Mike Orr wrote: The introduction can be improved, certainly. I wasn't here when Pylons was started or the website was created, but my sense is that Pylons has evolved since then. Its first adherents were looking for *any* framework that was Paste-ified (and thus WSGI-ified) from the ground up, and Pylons was it. Now we're getting more Pythoneers who want something more modular than Turbogears, non-Pythoneers who want something like Rails, newbies who want something easy to code, scalable, performant, and stable. The trick is to address all these audiences. If we focus totally on newbies, that leaves everybody else cold. Plus we need to focus on building 1.0 right now, not on bringing in hordes of newbies Because... We definitely need new copy for the website introduction and overview. Any volunteers? I'm currently extending my concepts of pylons article into a longer (actually it looks like it's getting longer than I expected) introduction. It's still beta but I tried to sum up the advantages and fun features about Pylons in http://workaround.org/pylons/beginning-pylons.html#what-makes-pylons-stand-out-from-other-frameworks Perhaps some of these points should be mentioned in the introductory paragraph on the hq site. At least those are the points that make using Pylons fun for me. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Pylons Logo Design
Hi, James... On Fri, Jun 01, 2007 at 09:57:31AM +0100, James Gardner wrote: Ben and I have started thinking again about what really makes Pylons different from other web frameworks and how we can best highlight those differences in the Pylons marketing to help attract people to the community and see Pylons gain further recognition and adoption. As part of the process we'd like to hire a professional designer to create a new and striking logo for Pylons but we don't know of anyone suitable ourselves so I'd like to send out a challenge: Does anyone on the list know a top notch logo designer who they can recommend and who might be interested in helping us design a fresh Pylons logo? Any recommendations will be much appreciated and after we've discussed the options here on the list we'll commission the person whose work best reflects Pylons. I'm not sure if you followed the discussion we had on IRC about logos. Yannick Gingras pointed out that http://www.everaldo.com/ is supporting open-source projects. Might be worth a try. The artwork doesn't look ugly. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Pylons Logo Design
On Fri, Jun 01, 2007 at 11:43:00AM +0100, James Gardner wrote: I didn't see the discussion actually but I've just had a look at the logs. Actually I like the style of the everaldo icons and logos, do you know if they are very costly? From IRC (Yannick is not subscribed here): 12:57 YGingras Signum: but for the record, they can cost 1k$ but they do support free software. The best think to do is to ask them what they are willing to do within your budget 12:59 YGingras Signum: you can use the contact form on http://www.yellowicon.com/ 13:01 YGingras Signum: but I have other contacts from designers who made graphics for Ubuntu that will charge much less if price is an issue Consider joining us at #pylons on irc.freenode.net. :) Cheers Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Pylons Logo Design
On Fri, Jun 01, 2007 at 10:21:12AM -0400, Dan wrote: This is all highly opinionated, but here are some of my suggestions. I think you should consider changing domain names. I don't think the name Pylons is bad, just combined with the domain pylonshq.com it just doesn't stick. I'd suggest using pylonsframework.org for the following reasons: .org - Eludes to an open source/non-profit. If Pylons is open source/non-profit I think its a feature that you should mention to your visitors... I didn't see licensing information anywhere on the homepage? pylonsframework - Eludes to Pylons being a framework right in the domain. I'd click on a URL for pylonsframework.org before pylonshq.com. I second every single word of the above statement. pylonshq.com is really a weird URL. IMHO djangoproject.com suffers from similar problems like pylonshq.com. They are .com(mercial) and they are a project instead of a creator of some software. Everything with project sounds like new-age jargon for a music band. pylonsproject.org is it. Or maybe pylons-framework.org. In general, the things that brought me to Pylons was the 1) speed and libraries of Python and 2) MVC development. Both are not even mentioned on the homepage. It should be in the first paragraph. WSGI seems important, even if I didn't know why, but not a reason I'd choose Pylons over another framework. It has taken a while until I understood the meaning of it. And many web developer will hardly care about WSGI. Writting middleware is not a job for a coffee break unless it's your daily business. Its not something that I would say in the first paragraph. I'd say that most people care about two things: speed (both development time and application performance) and stability. These two key points should be the focus of the introduction, to grab the visitors attention. Hmmm, speed and stability. I'd rather outline fun and production-savvyness. paster shell is fun. --reload is fun. The online debugger is fun. And its community - small but great. I do think Pylons is flexible, which can be a feature, but it can also be a hindrance... especially for newbies. Thats tricky. It's very likely not a feature for newbies. I was scared by it. And while I write some more documentation on Pylons I'm increasingly scared the more I see. Well, soon I'll be a guru perhaps and Ben et al will come out with a new version that makes my knowledge deprecated. I hate to mention the word, but 'screencasts' is almost a standard. It wouldn't hurt if someone could put one together. On the Python wiki there are 30 different web frameworks. Even if someone decides that among the 5 frameworks is Pylons then the web site needs to give a lot of information in very little time highlighting the fun features. A screencast would be great (30 minutes are far too much - perhaps 5-10 minutes). I'd even do it myself but I'm unsure whether my spoken english will probably rather drive people away. :) Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: assign_mapper query methods
On Fri, Jun 01, 2007 at 07:17:19AM -0700, Michael Bayer wrote: so i didnt add filter() because i didnt feel like getting all the bug reports from people who have instance variables called filter, and also because my plan was to do away with *all* the select/filter/etc methods and have everything go through query(). Right. I didn't think of that possibility. Do I read that as assign_mapper will die anyway because you have an implicit PITA tag on it already? ;) but if we dont think its a problem im certainly not going to hold back assign_mapper from what people want it to be, im just putting out the issues there and you all can decide. I think I will refrain from using assign_mapper in the future. I'd like to use .filter() because it's great and I'd rather use the explicit mapper syntax instead of the (barely easier) assign_mapper syntax just to be consistent. Sometimes using the assign_mapper because it's simpler but in other places use the mapper methods because they are more powerful doesn't really look consistent. If you asked me: either provide these methods on the assign_mapper, too, or let the assign_mapper die sooner or later. Am I right that we are just talking of john = session.query(User).get_by(name=john) versus john = User.get_by(name=john) here? I think I can live with that. Inserting/creating new objects looks the same with both mapping methods AFAIK. So we are talking about wasting 15 bytes in every query. I'll go waste some bytes then. Cheers Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: assign_mapper query methods
On Fri, Jun 01, 2007 at 10:50:33AM -0700, David Shoemaker wrote: Both session.query(User).select() and User.query().select() seem more verbose than they need to be for my taste. However, I think most people (myself included) define a base class for all their mapped classes. Uhm, that (few) people I know just use assign_mapper as demonstrated in the many tutorials. Even myself. And now that you mention it I like the idea. Not duplicating what SA is providing but rather making your own life easier. I've always used this base class to provide the interface I want, no matter what interface sqlalchemy provides Now I'm curious. Could you share your base class? That said, if I was new to sqlalchemy, I think I'd be scared to see session.query(User).select() as the recommended way in the tutorial. From lurking on IRC I'm sure most people are indeed scared by SA. :) Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
Re: Apache mod_proxy + Pylons
On Thu, May 31, 2007 at 11:04:33AM -0700, voltron wrote: Actually its easy paster serve --daemon production.ini Thats it. I would not advice you to use --reload of you are using Debian though, What makes you draw *that* funny conclusion? I'm developing Pylons applications on Debian for months now and never have I had problems stopping a process. Perhaps there are problems with STDIN/STDOUT if you run paster serve --reload foo.ini and close the window but that is not a problem of Debian. If you really need that you should consider running it in screen. You may argue whether kill -9 is a good idea or not. Try killing processes that hog system resources and see if you get further access to the resources. Your system will become unstable. You cannot shoot a bullet into a tire while driving on the highway and expect things to work as smoothly as before. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: assign_mapper query methods
TOFU day? Okay, me too. ;) If I may cast a vote: yes, please add these 10 methods (if they are remotely connected to selecting or changing rows) and start with .filter(). I'm working with assign_mapped objects most the time and just have to use a completely different (Query) syntax if I want to .filter(). It's great that the .filter() exists and that Query has adopted the functionality of SelectResults. But even if it would be extra work I'd love to see the methods be available both for the bare Query object as well as for a mapped class. That keeped my code more consistent. Otherwise I'll probably stop using assign_mapper - what would a pity - for not having to explain to my coworkers why using two different way to play with the database. Christoph On Thu, May 31, 2007 at 08:47:01PM -0700, Michael Bayer wrote: heres the question. Query gets 10 new methods one day. do we then add 10 methods to assign_mapper() ? must the user class be a total clone of Query ? assign_mapper just bugs me for this reason. hence i like entity.query() better. im not sure which one youre saying you prefer ? On May 31, 5:46 pm, Mike Orr [EMAIL PROTECTED] wrote: What are future plans for the assign_mapper query methods? MyClass.select(...) -- works great. A clear advantage for assign_mapper over the regular mapper. MyClass.filter(...) -- doesn't exist. MyClass.query().filter(...) -- works but is undocumented and requires a convoluted monkeypatch in the source. Not so clear an advantage over the regular mapper because it's so verbose. The third is the one I've found most useful. That way I can have functions that return a Query, and the caller can call .select(), .select(offset=,limit=), or .count() as they wish. -- Mike Orr [EMAIL PROTECTED] --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
Re: Sessions an Pylons
On Sun, May 27, 2007 at 01:04:30PM -0700, voltron wrote: I read this on the Beaker site: Beaker is light WSGI middleware layer that provides session's using Myghty's Container API Does this also work with Mako? Are all of the functions available? Yes, the API works 1:1 on Mako. Ben has taken care of that. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: 'Address already in use' error
On Sun, May 27, 2007 at 01:55:55PM -0700, voltron wrote: one thing, just using kill process number on Linux, you would have to use kill -9, maybe its the same on OSX Better not. Sending the signal 9 (SIGKILL) is a very harsh way that may even lead to inconsistencies and make you need to reboot the system. Use a normal kill without any signal number and you should be fine. I have many coworkers who are so used to blindly sending signals 9 around and wonder why their systems become instable. :) Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Bug#425917: postinst: $DOMAINNAME unset
Package: dovecot-common Version: 1:1.0.0-1 Severity: minor The postinst file that is supposed to create the SSL certificates does not seem to set the $DOMAINNAME variable so that the OU of the generated certificate does not contain the domain part. Suggestion: instead of $HOSTNAME.$DOMAINNAME use $FQDN. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (900, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.18-3-686 (SMP w/2 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages dovecot-common depends on: ii adduser 3.102 Add and remove users and groups ii libc62.5-5 GNU C Library: Shared libraries ii libcomer 1.39+1.40-WIP-2006.11.14+dfsg-2 common error description library ii libkrb53 1.6.dfsg.1-3MIT Kerberos runtime libraries ii libldap2 2.1.30-13.4 OpenLDAP libraries ii libmysql 5.0.38-3mysql database client library ii libpam-r 0.79-4 Runtime support for the PAM librar ii libpam0g 0.79-4 Pluggable Authentication Modules l ii libpq5 8.2.4-1 PostgreSQL C client library ii libsqlit 3.3.16-1SQLite 3 shared library ii libssl0. 0.9.8e-4SSL shared libraries ii openssl 0.9.8e-4Secure Socket Layer (SSL) binary a ii ucf 2.0021 Update Configuration File: preserv ii zlib1g 1:1.2.3-13 compression library - runtime dovecot-common recommends no packages. -- debconf-show failed -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: SQLAlchemy and Pylons
On Wed, May 23, 2007 at 12:14:34AM -0700, voltron wrote: What is the recommend usage of SQLAlchemy and Pylons? I found these links, what is preffered? http://docs.pythonweb.org/display/pylonscookbook/SQLAlchemy+for+people+in+a+hurry I'm using this (^^^) approach. The only drawback is that you cannot autoload=True currently. I'd be glad to see a solution for that. But I have accepted to define all models/tables explicitly and then this approach looks neat. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: RFS: QGFE -- Qt Gnuplot front end -- should be mature now
On Wed, May 16, 2007 at 04:23:34PM +0200, Giorgio Pioda wrote: the time has come to search for a sponsorship to upload qgfe (sid and backports I would propose). Qgfe is surely not the best GUI for a CLI program but in case of gnuplot is the only one available (actually there is also an old tcl version but is really very very old). I just see minor things I would improve: - dh_installexamples is not needed as you don't have examples - dh_link is not needed as you don't have links But you may remove these debhelper calls when you plan a new revision. The package looks good and I just uploaded it. Kindly Christoph -- ~ ~ .signature [Modified] 1 line --100%--1,48 All -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Paster server in production
On Tue, May 15, 2007 at 12:56:53AM -0700, voltron wrote: I have taken the advice from this forum and have installed nginx as a proxy to the paster server. this works well, but I´m really, really worried about using the Paster server in a production site, for example, when testing a Mako template, the server just died. Are there tips out there to ensure stability? Or at least to make sure that all types of errors are handled gracefully? I can't comment on how to make Paste handle internal error less evily but http://docs.pythonweb.org/display/pylonscookbook/Pylons+deployment+with+daemontools explains how to at least restart the daemon if it dies. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: [RFC] Alternative paginator
On Tue, May 15, 2007 at 03:27:39PM -0700, Mike Orr wrote: On 5/5/07, Christoph Haas [EMAIL PROTECTED] wrote: as some of you already know I have never been very happy with Webhelpers' built-in pagination module. So I wrote my own (that is NOT compatible with the existing one) and I love it so far. Interested? Get it from http://workaround.org/pylons/paginator/ and let me know what you think. Some of the features: Excellent, I'll have a use for it this week. I suppose it can work with a SQLAlchemy Select as well as Table or an ORM query? Thanks to Ben's orm module it can. See the rest docs that accompany the module. I just lack a good example in SQLObject. Cheers Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
AuthKit bails out on Unicode usernames
Hi, list... I'm using AuthKit in my application and seem to have trouble when the login form gets me the username as a Unicode string. I use the famous line: form_username = request.params.get('username') request.environ['paste.auth_tkt.set_user'](form_username) This leads to Unicode errors (I currently cannot reproduce it). Things start to work though when I run str() on the Unicode string before: form_username = str(request.params.get('username')) request.environ['paste.auth_tkt.set_user'](form_username) Does AuthKit have trouble with Unicode strings in general? Or am I missing a configuration option? Kindly Christoph -- Peer review means that you can feel better because someone else missed the problem, too. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Bad cookies (authkit cookie name clash)
Today I had a weird problem and wanted to post the solution just so other people who have the same trouble may find it in the archives. :) I had a Bad cookie, you have been signed out. when using the forward method of AuthKit. It always happened to me when submitting the signin form that submitted my login username and password. It turned out that my cookie names were accidentally idental in my development.ini: [app:main] session_key = mycookie authkit.cookie.name = mycookie It appears like the names clashed and the values I had stored in the (session_key) session confused the authkit's authentication cookie. Solution: use different cookie names! And in case you may want to get more debug information from AuthKit I found a way to get log information in the paster serve window. Add these lines to the config/middleware.py right after app = authkit.authenticate.middleware... import logging log_StreamHandler = logging.StreamHandler() # points to stderr authkit.authenticate.log.addHandler(log_StreamHandler) authkit.authenticate.log.setLevel(logging.DEBUG) In the above case I got the strange error message BadTicket: userid is not followed by ! which made me look for empty cookies and finally pointed me at the real cause. Kindly Christoph -- Peer review means that you can feel better because someone else missed the problem, too. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Installing pylons on Debian Sarge
On Sun, May 13, 2007 at 02:45:48AM -0700, voltron wrote: Nevermind, I reinstalled and upgraded setuptools, then all was well. weird. Why do you spoil your system with setuptools at all? All up-to-date Pylons components are available in Debian. aptitude ist your friend. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Real globals inside a module
On Sun, May 13, 2007 at 11:41:12AM +0200, Jorgen Bodde wrote: I am wrestling with some architecture inside my app. Let's say I have a tunings collection, which contains e.g. 23 types of guitar tunings. In my song object I want to restore a relation between one of the tuning objects inside the tunings module. I already figured out I need somethign like a global collection inside the tunings module,. but how global is it? When I am inside my app object, and import the tunings module, can I access the same global class as when I am inside my songs module and load the tunings module? You are on the right way. If you import the same module a second time in another place of your application you get access to the exact same data. That is called a singleton. I often use such a singleton for global configuration data. So basically I want to access the same global list in both modules, but not re-create the list in every module since it should be restored by the database layer once. Import your global module and just run the initalisation once. That should do it. Thanks for any advice, I do not want to make a global manager object that I need to pass around all the time, that would be silly.. Indeed. That would suck. Christoph -- http://mail.python.org/mailman/listinfo/python-list
Bug#414182: closed by Thomas Huriaux [EMAIL PROTECTED] (closing old ITP bug)
From: Thomas Huriaux [EMAIL PROTECTED] Subject: closing old ITP bug Thanks. I forget the -v option when building the package so the closes: didn't make it into the changes file. Christoph -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#414182: closed by Thomas Huriaux [EMAIL PROTECTED] (closing old ITP bug)
From: Thomas Huriaux [EMAIL PROTECTED] Subject: closing old ITP bug Thanks. I forget the -v option when building the package so the closes: didn't make it into the changes file. Christoph -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [RFC] Alternative paginator
On Thu, May 10, 2007 at 04:27:19PM -0700, Ben Bangert wrote: Christoph Haas wrote: I'd personally accept that the API changes as long as the module is called something else. The Python standard library has a lot of examples where old modules became deprecated with the time and modules with similar names appeared that has different APIs. I don't mean to say that my intention is to deprecate the built-in paginator. That's e.g. Ben's decision. :) I'm not at all attached to the paginator in WebHelpers, it was ported rather hastilly from Rails and had the other collection handling methods tacked on. I'd be happy to use this one, especially if someone else will be maintaining it. ;) If others are happy with the API as it is I'd be happy to see it included as an alternative module in the webhelpers. I'll be maintaining it. As long as you maintain the black magic orm module. ;) Would it be okay if the old module stay in there for a while with the name webhelpers.pagination and the new one is included as webhelpers.paginate? Those who use the currently existing paginator will not want to have their applications break due to the completely different API. If there is functionality missing in my module please let me know. I haven't used the old pagination module that in-depth. Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: [RFC] Alternative paginator
On Wed, May 09, 2007 at 05:08:01PM -0700, Philip Jenvey wrote: On May 8, 2007, at 12:14 AM, Christoph Haas wrote: On Mon, May 07, 2007 at 02:49:24PM -0700, Philip Jenvey wrote: On May 5, 2007, at 1:07 PM, Christoph Haas wrote: as some of you already know I have never been very happy with Webhelpers' built-in pagination module. So I wrote my own (that is NOT compatible with the existing one) and I love it so far. Interested? Get it from http://workaround.org/pylons/paginator/ and let me know what you think. Some of the features: Without having compared your paginator and WebHelpers', would it be possible to rewrite the WebHelpers' paginator to use your code (maintaining the old API)? It would be. You probably mean adding features to it while keeping the API. But IMHO my paginator is both simpler to use and has more features. Where the original paginator uses three classes for Paginator, Page and Window I just have one. You can use my paginator to iterate over it directly because it subclasses the list class. While it would be possible to make it backwards-compatible it would not help much. I can imagine having it included in the Webhelpers as a module that is called differently (paginator2 or whatever) though. I was thinking if we wanted to replace the old one with it, we could rewrite the old API to use your code and issue a deprecation warning directing users to use the new API calls. We could just issue the deprecation warning without rewriting it too. IMHO although the functionality is similar the API is very different. I'd personally accept that the API changes as long as the module is called something else. The Python standard library has a lot of examples where old modules became deprecated with the time and modules with similar names appeared that has different APIs. I don't mean to say that my intention is to deprecate the built-in paginator. That's e.g. Ben's decision. :) The paginate and your Page class's __init__ function prototype look almost identical is why I asked. But the methods are different. Is there any reason why the Page class is a list as opposed to being an iterator (i.e. implementing __iter__) No real reason. I was glad that I managed to subclass list at all. :) Wouldn't that mean that people can't access any element any more? Since the elements of a page get pulled from the database anyway I wouldn't mind having them kept in memory. I'd rather use an iterator if I'm walking through a long list of lines where I don't even know if all elements fit into memory. The page is supposed to contain no more items than what fits on a screen I'd say a list is nice. But I'm no Python professional and willing to learn. Note I haven't used either Paginator so beware, I probably don't know what I'm talking about =] I get your points anyway. :) Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Alternative paginator
Michael... On Thu, May 10, 2007 at 09:59:09AM -, Michael G. Noll wrote: first of all, thanks for your work on an alternative paginator. I'm currently testing it, and I am pleased so far :-) Thank you for the feedback. I already thought I'm the only who uses that module. :) Bug === The relevant code is in Page.__init__(). $ diff paginate_original.py paginate.py 128c128 self.page_count = int(ceil(self.item_count / self.items_per_page)) --- self.page_count = int(ceil(1.0 * self.item_count / self.items_per_page)) In the original paginate.py, integer division is used. For example, if item_count is 8 and items_per_page is 5, than item_count / items_per_page gives 1 as an int where it should give 1.6 as a float and thus 2 after ceil(). The best workaround to force true division is to multiply with 1.0 first [1]. Right. I forgot about integer division again. I took Matt's proposal and changed the source. Thanks for the pointer. Documentation = For Page.navigator(), the doc string says: Either link_format or link_var must be set! First, the link_format parameter does not exist (I guess: not anymore). Correct. Before I used the abilities of the Routes mapping I had a format string that was used to generate links. But Routes is more versatile here. I removed that line from the docstring. Oh, well, the API has changed a dozen times already before I dared publishing my code. Second, link_var has a very beautiful default value, so nothing must be set in advance. :-) Right. I love good defaults, too. Saves typing later. On a side node, the paginator.rest file is more up to date when it talks about adding $ {c.paginator.navigator()} (without parameters) for integrating navigation into the example. I revised the rest documentation. But I believe people will need the rest file in addition to the docstrings for examples. The new version is online at http://workaround.org/pylons Cheers Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Using Mako templates
On Wed, May 09, 2007 at 11:18:12AM -0700, KyleJ wrote: On May 5, 3:08 am, Christoph Haas [EMAIL PROTECTED] wrote: tmpl_options['mako.default_filters'] = ['decode.utf8'] You may wish to not use that option. From the Mako docs ( http://www.makotemplates.org/docs/unicode.html#unicode_handling ): Note that the built-in decode object is slower than the unicode function, since unlike unicode its not a Python builtin, and it also checks the type of the incoming data to determine if string conversion is needed first. If you comment that out and you start getting unicode errors, it's likely because your strings aren't being converted to unicode objects. I had trouble indeed. But I'm willing to come back if that's happening again. You can either decode them yourself (one variable at a time via .decode('utf-8') ), or you can have request.params output to unicode (see http://pylonshq.com/project/pylonshq/browser/Pylons/trunk/docs/internationalization.txt#L516 ) along with SQLAlchemy (use_unicode=True in either create_engine or make_session). Where (in a standard Pylons project) would I set use_unicode=True? I just found references to create_engine in the websetup.py which is obviously not the right place. And my models/__init__.py just has the line meta = DynamicMetaData() Christoph --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Re: Using Mako templates
On Thu, May 10, 2007 at 02:37:13PM -0700, Shannon -jj Behrens wrote: On 5/10/07, Christoph Haas [EMAIL PROTECTED] wrote: Where (in a standard Pylons project) would I set use_unicode=True? I just found references to create_engine in the websetup.py which is obviously not the right place. And my models/__init__.py just has the line meta = DynamicMetaData() I fought long and hard with this problem. Back then, it turned out that letting SQLAlchemy do the encoding with use_unicode=True wouldn't work because of a bug in MySQLdb. However, it looks like that bug has been fixed in a recent release of MySQLdb. These days, I bet you can just add ?use_unicode=1 to the end of your db uri, and it'll work. Do you mean encoding='utf-8' or convert_unicode=True as documented in http://www.sqlalchemy.org/docs/dbengine.html#dbengine_options ? Christpoh --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~--~~~~--~~--~--~---
Bug#422927: Typo...
Small typo in the addition. These three lines should do it better: for python in $(PYVERS); \ do dh_install -i formencode/i18n usr/lib/$$python/site-packages/formencode ; \ done -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]