Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(149) |
Jun
(174) |
Jul
(41) |
Aug
(118) |
Sep
(72) |
Oct
(111) |
Nov
(69) |
Dec
(147) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(242) |
Feb
(276) |
Mar
(363) |
Apr
(704) |
May
(183) |
Jun
(209) |
Jul
(173) |
Aug
(230) |
Sep
(80) |
Oct
(306) |
Nov
(338) |
Dec
(291) |
2002 |
Jan
(273) |
Feb
(294) |
Mar
(303) |
Apr
(463) |
May
(319) |
Jun
(182) |
Jul
(160) |
Aug
(140) |
Sep
(192) |
Oct
(302) |
Nov
(238) |
Dec
(176) |
2003 |
Jan
(179) |
Feb
(222) |
Mar
(256) |
Apr
(167) |
May
(139) |
Jun
(145) |
Jul
(113) |
Aug
(259) |
Sep
(146) |
Oct
(124) |
Nov
(143) |
Dec
(66) |
2004 |
Jan
(58) |
Feb
(128) |
Mar
(193) |
Apr
(228) |
May
(111) |
Jun
(107) |
Jul
(93) |
Aug
(78) |
Sep
(48) |
Oct
(99) |
Nov
(104) |
Dec
(119) |
2005 |
Jan
(115) |
Feb
(124) |
Mar
(86) |
Apr
(41) |
May
(52) |
Jun
(21) |
Jul
(32) |
Aug
(14) |
Sep
(52) |
Oct
(30) |
Nov
(19) |
Dec
(19) |
2006 |
Jan
(43) |
Feb
(35) |
Mar
(68) |
Apr
(21) |
May
(38) |
Jun
(46) |
Jul
(19) |
Aug
(38) |
Sep
(58) |
Oct
(15) |
Nov
(12) |
Dec
(30) |
2007 |
Jan
(49) |
Feb
(23) |
Mar
(29) |
Apr
(19) |
May
(33) |
Jun
(4) |
Jul
(10) |
Aug
(26) |
Sep
(2) |
Oct
(9) |
Nov
(1) |
Dec
(21) |
2008 |
Jan
(15) |
Feb
(3) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(2) |
Jul
(2) |
Aug
|
Sep
|
Oct
(2) |
Nov
(13) |
Dec
|
2009 |
Jan
(11) |
Feb
(4) |
Mar
|
Apr
(6) |
May
|
Jun
(16) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(9) |
2010 |
Jan
(6) |
Feb
(4) |
Mar
(2) |
Apr
(12) |
May
(20) |
Jun
(9) |
Jul
(7) |
Aug
|
Sep
(1) |
Oct
(5) |
Nov
|
Dec
(4) |
2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
|
May
|
Jun
|
Jul
(9) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
(3) |
Nov
(8) |
Dec
(11) |
2013 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(6) |
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(2) |
Dec
|
2017 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1
(11) |
2
(2) |
3
(2) |
4
(17) |
5
(19) |
6
(1) |
7
(2) |
8
|
9
(1) |
10
(3) |
11
(3) |
12
(2) |
13
(13) |
14
(7) |
15
|
16
(3) |
17
|
18
(1) |
19
(1) |
20
(3) |
21
|
22
|
23
(4) |
24
(13) |
25
(2) |
26
|
27
|
28
|
29
|
30
|
31
(1) |
|
|
|
|
From: Chuck Esterbrook <echuck@mi...> - 2000-10-16 13:19:20
|
Thanks. We'll check it out. I was originally imagining that each of the modules in Webware would become modules in Python rather than Webware itself... Any thoughts from anyone on this? -Chuck At 03:11 PM 10/16/00 +0200, Mgr. Vladimir Kralik wrote: >Patch at : >http://sourceforge.net/patch/?func=detailpatch&patch_id=101932&group_id=4866 > > > vlk >-- >Mgr. Vladimir Kralik >Softip a.s. >Zvolenska cesta 19 >974 01 Banska Bystrica > >tel. +421 88 4358 176 >_______________________________________________ >Webware-discuss mailing list >Webware-discuss@... >http://lists.sourceforge.net/mailman/listinfo/webware-discuss |
From: Mgr. Vladimir Kralik <vkralik@so...> - 2000-10-16 13:12:27
|
Patch at : http://sourceforge.net/patch/?func=detailpatch&patch_id=101932&group_id=4866 vlk -- Mgr. Vladimir Kralik Softip a.s. Zvolenska cesta 19 974 01 Banska Bystrica tel. +421 88 4358 176 |
From: Tripp Lilley <tlilley@pe...> - 2000-10-16 09:51:22
|
I've been able to cleanly do a Ctrl-C to shutdown so far, but just now, I received the exception below. I'm not really worried about it, but thought I'd pass it along in case anyone else has seen it... Exiting AppServer Application is Shutting Down Exiting Application Unhandled exception in thread: Traceback (innermost last): File "/var/tmp/python/python-root/usr/lib/python1.5/threading.py", line 392, in __bootstrap File "/var/tmp/python/python-root/usr/lib/python1.5/threading.py", line 401, in __delete AttributeError: 'None' object has no attribute 'acquire' [tlilley@... WebKit]$ -- Fun-Loving * Tripp Lilley * http://stargate.eheart.sg505.net/~tlilley/ ------------------------------------------------------------------------------ "That's weak sh*t, from a weak mind, and a weak mind creates weak rhymes. You ain't never kicked knowledge one time." - Ice-T, "The Syndicate" |
From: Jay Love <jslove@mi...> - 2000-10-14 13:46:09
|
I just committed various minor tweaks and changes to the PSP documentation and examples. No code changes. Jay |
From: Jay Love <jslove@mi...> - 2000-10-14 13:18:45
|
OUCH.! Thanks for catching this, Tripp. I've commited a fix in CVS, but if you want to stick it in your local copy, here it is. This is a bug only for mod_python requests that are mapped to *.psp. In HTTPRequest.py, line 327, in fsPath, add the if self._environ... line from the snippet below. def fsPath(self): """ The filesystem path of the request, using the webserver's docroot""" docroot = self._environ['DOCUMENT_ROOT'] requri = self._environ['REQUEST_URI'][1:]#strip leading / if self._environ['QUERY_STRING']: qslength = len(self._environ['QUERY_STRING'])+1 requri = requri[:-qslength] ##pull off the query string and the ?-mark fspath = os.path.join(docroot,requri) return fspath Thanks for catching this, and let me know if you have any other problems. Jay Tripp Lilley wrote: > Invoking a plain old PSP page with parameters tacked onto the end of the > URL gives me this: > > BEGIN REQUEST > Sat Oct 14 01:11:43 2000 > receiving request from <socket object, fd=7, family=2, type=1, protocol=0> > received 1302 bytes > request has keys: format, time, environ, input > request uri = /foci/foci/view_petition.psp?count=0 > [Sat Oct 14 01:11:43 2000] [error] WebKit: Error while executing script > None > Traceback (innermost last): > File "Application.py", line 280, in dispatchRequest > self.handleGoodURL(transaction) > File "Application.py", line 371, in handleGoodURL > self.createServletInTransaction(transaction) > File "Application.py", line 690, in createServletInTransaction > cache = { > File "/var/tmp/python-root/usr/lib/python1.5/posixpath.py", line 140, in > getmtime > st = os.stat(filename) > OSError: [Errno 2] No such file or directory: > '/home/httpd/html/foci/foci/view_petition.psp?count=0' > connection closed. > 0.04 secs > END REQUEST > > Which suggests that the appserver is not properly splitting the fields out > from the URL and parsing the filename... > > -- > Fun-Loving * Tripp Lilley * http://stargate.eheart.sg505.net/~tlilley/ > ------------------------------------------------------------------------------ > "That's weak sh*t, from a weak mind, and a weak mind creates weak rhymes. > You ain't never kicked knowledge one time." > > - Ice-T, "The Syndicate" > > _______________________________________________ > Webware-discuss mailing list > Webware-discuss@... > http://lists.sourceforge.net/mailman/listinfo/webware-discuss |
From: Tripp Lilley <tlilley@pe...> - 2000-10-14 05:53:44
|
On Sat, 14 Oct 2000, Chuck Esterbrook wrote: > provides a few good starting points. The concrete implementer of this has a > hefty doc string. Cool. Thanks for the starting point. > What adapter are you using? Have you mapped *.psp in Apache or are you > going through a WebKit specific URL? I'm using mod_python and modpHander::pspHandler. I've mapped *.psp, and I'm not using a Location directive at all. > I have no problem with this URL: > http://127.0.0.1/WebKit.cgi/PSPExamples/PSPTests.psp?foo=bar Then you're right: the problem is somewhere in the mechanism between mod_python, the AddHandler gizmo, and what pspHandler / etc. do with the request when they have it. > Note that HTTPRequest keeps the "raw request" it was given, which is a > dictionary that includes the key "environ" from which it takes many things > like the request path, the form fields, etc. Cool. I'll look into this more once I get things delivered. For now, I've done the exceptionally ugly workaround of not using the ? form at all. My forms are all "POST", and my URLs are now all distinct (ie: no params unless it's POSTed). Ewww. But I gotta deliver tonight, sooo :) -- Fun-Loving * Tripp Lilley * http://stargate.eheart.sg505.net/~tlilley/ ------------------------------------------------------------------------------ "That's weak sh*t, from a weak mind, and a weak mind creates weak rhymes. You ain't never kicked knowledge one time." - Ice-T, "The Syndicate" |
From: Chuck Esterbrook <echuck@mi...> - 2000-10-14 05:48:48
|
Doing: > cd WebKit > grep "def serverSidePath" *.py provides a few good starting points. The concrete implementer of this has a hefty doc string. However, since form fields in a GET are working for ordinary pages, but not PSP pages, and since all of this ultimately ties back to values passed in from the web server (via the adapter), I'm wondering if that's a good place to start the thought process: What adapter are you using? Have you mapped *.psp in Apache or are you going through a WebKit specific URL? I have no problem with this URL: http://127.0.0.1/WebKit.cgi/PSPExamples/PSPTests.psp?foo=bar Note that HTTPRequest keeps the "raw request" it was given, which is a dictionary that includes the key "environ" from which it takes many things like the request path, the form fields, etc. Maybe something like: print self.request().rawRequest() in both a PSP and a subclass of Page (e.g, a basic servlet) would help. -Chuck At 05:32 AM 10/14/00 +0000, Tripp Lilley wrote: >On Sat, 14 Oct 2000, Tripp Lilley wrote: > > > Invoking a plain old PSP page with parameters tacked onto the end of the > > URL gives me this: > >I forgot to mention that I'm running 0.4.1, unmodified. > >Is there documentation somewhere of the path that a request follows >through the AppServer? I'd like to fix this bug (myself), but I'm not sure >really where to start tracing the life of the URI :) > >-- > Fun-Loving * Tripp Lilley * http://stargate.eheart.sg505.net/~tlilley/ >------------------------------------------------------------------------------ > "That's weak sh*t, from a weak mind, and a weak mind creates weak rhymes. > You ain't never kicked knowledge one time." > > - Ice-T, "The Syndicate" > > >_______________________________________________ >Webware-discuss mailing list >Webware-discuss@... >http://lists.sourceforge.net/mailman/listinfo/webware-discuss |
From: Tripp Lilley <tlilley@pe...> - 2000-10-14 05:22:50
|
On Sat, 14 Oct 2000, Tripp Lilley wrote: > Invoking a plain old PSP page with parameters tacked onto the end of the > URL gives me this: I forgot to mention that I'm running 0.4.1, unmodified. Is there documentation somewhere of the path that a request follows through the AppServer? I'd like to fix this bug (myself), but I'm not sure really where to start tracing the life of the URI :) -- Fun-Loving * Tripp Lilley * http://stargate.eheart.sg505.net/~tlilley/ ------------------------------------------------------------------------------ "That's weak sh*t, from a weak mind, and a weak mind creates weak rhymes. You ain't never kicked knowledge one time." - Ice-T, "The Syndicate" |
From: Tripp Lilley <tlilley@pe...> - 2000-10-14 05:11:05
|
Invoking a plain old PSP page with parameters tacked onto the end of the URL gives me this: BEGIN REQUEST Sat Oct 14 01:11:43 2000 receiving request from <socket object, fd=7, family=2, type=1, protocol=0> received 1302 bytes request has keys: format, time, environ, input request uri = /foci/foci/view_petition.psp?count=0 [Sat Oct 14 01:11:43 2000] [error] WebKit: Error while executing script None Traceback (innermost last): File "Application.py", line 280, in dispatchRequest self.handleGoodURL(transaction) File "Application.py", line 371, in handleGoodURL self.createServletInTransaction(transaction) File "Application.py", line 690, in createServletInTransaction cache = { File "/var/tmp/python-root/usr/lib/python1.5/posixpath.py", line 140, in getmtime st = os.stat(filename) OSError: [Errno 2] No such file or directory: '/home/httpd/html/foci/foci/view_petition.psp?count=0' connection closed. 0.04 secs END REQUEST Which suggests that the appserver is not properly splitting the fields out from the URL and parsing the filename... -- Fun-Loving * Tripp Lilley * http://stargate.eheart.sg505.net/~tlilley/ ------------------------------------------------------------------------------ "That's weak sh*t, from a weak mind, and a weak mind creates weak rhymes. You ain't never kicked knowledge one time." - Ice-T, "The Syndicate" |
From: Chuck Esterbrook <echuck@mi...> - 2000-10-14 03:01:03
|
I received some feedback just now, which I have included below. The poster swears he will use the discussion list from now on. :-) >Date: Sat, 14 Oct 2000 02:47:44 >From: Tripp Lilley <tlilley@...> >To: Chuck Esterbrook <echuck@...> >Subject: doc bug > > > Webware/PSP/Documentation/UsersGuide.html > >mentions a page directive called "import", but the code implements this as >"imports" (with a "s"). > >Also, the docs might want to mention in BOLDFACE the equals sign. Reason >for this is that Python programmers will naturally type: > > <%@ page import "foo,bar" %> > >since that's similar to what they're familiar with. However, that will >result in a barf by the server saying something about a missing tag value. >To which poor developer (me) replies, "huh? what the heck is a tag?" > >The docs have the equals sign, which I found when I looked back at them, >more carefully, but it wasn't obvious what I was missing from the error. |
From: David Creemer <david@za...> - 2000-10-13 22:54:55
|
Hmmm. Not quite. Here's my scenario: Page A has a form. The form comes from an included file (via PSP include), and this form is re-used in lots of different parts of the application. Let's use a login form as an example. Perhaps Page A is the main page of an app, and includes this login form. A good login goes to Page B. A bad login (perhaps bad password) goes to Page C. Since this form is not directly part of a page, but rather an included snippet, I'd like to parameterize the "good login" and "bad login" pages. The form submits to yet another page, "D", which authenticates, then redirects as appropriate. As for redirection, I'm currently using Response.sendRedirect, which works, but involves a round trip to the client. I had forgotten about Application.forwardRequest --I'll look into that. Thanks, -- David --On Friday, October 13, 2000 3:11 PM -0400 Chuck Esterbrook <echuck@...> wrote: > So are you saying that: > > Page A has the form > Page A receives the submit > Page A redirects to Page B if an error is detected > Page B wants the original form data. > > ? > > If so, are you doing redirection via the HTTP header, Location: (sp?), or > via Application.forwardRequest(self, trans, URL)? > > There is also a forwardRequestFast(self, trans, URL) which preserves the > request, response and session. Since the request is preserved, you could > presumably use it in Page B. > > I wouldn't mind seeing the plain old forwardRequest() take an args > parameter to pass to the other servlet. Just a thought. > > Let me know if I'm on track or not with regards to what your situation > and problem are. > > -Chuck > > > At 11:54 AM 10/13/00 -0700, David Creemer wrote: >> [slightly off-topic warning....] >> >> Thanks. This does beg a more abstract question of why nobody else has >> found the need to delete from session. This makes me worried that I'm >> missing a better technique. >> >> As an example, I have a PSP snippet form. The code that handles the form >> POST expects to see some variables in the current session -- for >> example, a page to redirect to on a processing error. When this code is >> finished, I want to "clean up," and remove the session key/value pair. >> I could pass this parameter as a hidden value in the form, but this >> seems less efficient, and open to abuse (since it exposes some inner >> workings to the client). >> >> Is there a better way of handling this? >> >> Thanks, >> -- David >> >> --On Friday, October 13, 2000 10:35 AM -0400 Chuck Esterbrook >> <echuck@...> wrote: >> >>> At 08:39 PM 10/12/00 -0700, David Creemer wrote: >>>> There doesn't seem to be a clean way to delete state from a Session >>>> object. I can onviously break encapsulation, and do: >>>> >>>> del self.session()._values['key'] >>> >>> Wow. I think this is the first time anyone has ever deleted anything >>> from a session. :-) >>> >>> I've been developing actual sites with Webware, but haven't needed this >>> to date. >>> >>> >>>> but it would be nice if I could just use a method. I propose something >>>> like: >>>> >>>> def delValue( self, name ): >>>> del self._values['key'] >>>> >>>> is this reasonable? or am I missing something obvious? >>> >>> Agreed, that it's reasonable. Don't think you're missing anything. >>> >>> -Chuck >>> >>> _______________________________________________ >>> Webware-discuss mailing list >>> Webware-discuss@... >>> http://lists.sourceforge.net/mailman/listinfo/webware-discuss >> >> >> >> ------------------------------- >> David Creemer david@... >> _______________________________________________ >> Webware-discuss mailing list >> Webware-discuss@... >> http://lists.sourceforge.net/mailman/listinfo/webware-discuss > ------------------------------- David Creemer david@... |
From: Chuck Esterbrook <echuck@mi...> - 2000-10-13 20:56:46
|
If someone with Windows 2000 access could also test this, that would be interesting. -Chuck At 04:47 PM 10/13/00 -0400, Geoff Talvola wrote: >I added ThreadedAppServerService.py, which is a Windows NT Service >version of ThreadedAppServer. > >Basically, this lets you install WebKit as a service that will start >automatically when your machine is rebooted, and you can then stop and >start it from the Control Panel like any other service. > >You'll need the win32all package (or ActiveState's Python distribution >which includes it) to use this. See the docstring at the top of the >file for instructions. > >-- > > >- Geoff Talvola > Parlance Corporation > gtalvola@... > >_______________________________________________ >Webware-discuss mailing list >Webware-discuss@... >http://lists.sourceforge.net/mailman/listinfo/webware-discuss |
From: Chuck Esterbrook <echuck@mi...> - 2000-10-13 20:54:24
|
DOH! You're absolutely right. I've been reading and writing e-mails too quickly today. BTW the reason for the name values() is basically to match the "named object". For example, HTTPRequest has fields() and cookies(). Reponse has headers() and cookies(). App has contexts(), etc. In any case, dict.delValue() saves the day... -Chuck At 04:39 PM 10/13/00 -0400, Geoff Talvola wrote: >Chuck Esterbrook wrote: > > > Regarding my earlier note about dict.values() creating a new list, it would > > appear that sometimes it does and sometimes it doesn't. I certainly > > wouldn't rely on it. del dict[name] is the way to go (or sess.delValue() in > > our case). > >I'm talking about using the session object's values() method, not the >dictionary's values() method. The session object's values method returns the >dictionary contained within called _values -- it's defined as: > > def values(self): > return self._values > >The naming is confusing -- maybe Session.values() (and Session._values) should >be called Session.dictionary() (and Session._dictionary) instead, so it >doesn't >make it look like it's a list of the values of the dictionary. > >-- > > >- Geoff Talvola > Parlance Corporation > gtalvola@... |
From: Geoff Talvola <gtalvola@na...> - 2000-10-13 20:45:23
|
I added ThreadedAppServerService.py, which is a Windows NT Service version of ThreadedAppServer. Basically, this lets you install WebKit as a service that will start automatically when your machine is rebooted, and you can then stop and start it from the Control Panel like any other service. You'll need the win32all package (or ActiveState's Python distribution which includes it) to use this. See the docstring at the top of the file for instructions. -- - Geoff Talvola Parlance Corporation gtalvola@... |
From: Geoff Talvola <gtalvola@na...> - 2000-10-13 20:37:47
|
Chuck Esterbrook wrote: > Regarding my earlier note about dict.values() creating a new list, it would > appear that sometimes it does and sometimes it doesn't. I certainly > wouldn't rely on it. del dict[name] is the way to go (or sess.delValue() in > our case). I'm talking about using the session object's values() method, not the dictionary's values() method. The session object's values method returns the dictionary contained within called _values -- it's defined as: def values(self): return self._values The naming is confusing -- maybe Session.values() (and Session._values) should be called Session.dictionary() (and Session._dictionary) instead, so it doesn't make it look like it's a list of the values of the dictionary. -- - Geoff Talvola Parlance Corporation gtalvola@... |
From: Chuck Esterbrook <echuck@mi...> - 2000-10-13 20:00:53
|
Regarding my earlier note about dict.values() creating a new list, it would appear that sometimes it does and sometimes it doesn't. I certainly wouldn't rely on it. del dict[name] is the way to go (or sess.delValue() in our case). >python Python 2.0c1 (#7, Oct 9 2000, 18:44:43) [MSC 32 bit (Intel)] on win32 Type "copyright", "credits" or "license" for more information. >>> dict = {'x': 5, 'y': 6} >>> id(dict.values()) 7826764 >>> id(dict.values()) 7811740 >>> id(dict.values()) 7811740 >>> id(dict.values()) 7811740 >>> |
From: Chuck Esterbrook <echuck@mi...> - 2000-10-13 19:57:56
|
At 03:24 PM 10/13/00 -0400, Geoff Talvola wrote: >David Creemer wrote: > > > Thanks. This does beg a more abstract question of why nobody else has found > > the need to delete from session. This makes me worried that I'm missing a > > better technique. > >You're not the only one -- my code uses "del self.session().values()['xyzzy']" >to delete from the session. I agree that a delValue method should be added. Does that really work? Doesn't values() create a new list of the dictionary's values? Also, I have added Session.delValue() to the repository. -Chuck |
From: Geoff Talvola <gtalvola@na...> - 2000-10-13 19:22:56
|
David Creemer wrote: > Thanks. This does beg a more abstract question of why nobody else has found > the need to delete from session. This makes me worried that I'm missing a > better technique. You're not the only one -- my code uses "del self.session().values()['xyzzy']" to delete from the session. I agree that a delValue method should be added. -- - Geoff Talvola Parlance Corporation gtalvola@... |
From: Chuck Esterbrook <echuck@mi...> - 2000-10-13 19:12:53
|
So are you saying that: Page A has the form Page A receives the submit Page A redirects to Page B if an error is detected Page B wants the original form data. ? If so, are you doing redirection via the HTTP header, Location: (sp?), or via Application.forwardRequest(self, trans, URL)? There is also a forwardRequestFast(self, trans, URL) which preserves the request, response and session. Since the request is preserved, you could presumably use it in Page B. I wouldn't mind seeing the plain old forwardRequest() take an args parameter to pass to the other servlet. Just a thought. Let me know if I'm on track or not with regards to what your situation and problem are. -Chuck At 11:54 AM 10/13/00 -0700, David Creemer wrote: >[slightly off-topic warning....] > >Thanks. This does beg a more abstract question of why nobody else has >found the need to delete from session. This makes me worried that I'm >missing a better technique. > >As an example, I have a PSP snippet form. The code that handles the form >POST expects to see some variables in the current session -- for example, >a page to redirect to on a processing error. When this code is finished, I >want to "clean up," and remove the session key/value pair. I could pass >this parameter as a hidden value in the form, but this seems less >efficient, and open to abuse (since it exposes some inner workings to the >client). > >Is there a better way of handling this? > >Thanks, >-- David > >--On Friday, October 13, 2000 10:35 AM -0400 Chuck Esterbrook ><echuck@...> wrote: > >>At 08:39 PM 10/12/00 -0700, David Creemer wrote: >>>There doesn't seem to be a clean way to delete state from a Session >>>object. I can onviously break encapsulation, and do: >>> >>>del self.session()._values['key'] >> >>Wow. I think this is the first time anyone has ever deleted anything from >>a session. :-) >> >>I've been developing actual sites with Webware, but haven't needed this >>to date. >> >> >>>but it would be nice if I could just use a method. I propose something >>>like: >>> >>>def delValue( self, name ): >>> del self._values['key'] >>> >>>is this reasonable? or am I missing something obvious? >> >>Agreed, that it's reasonable. Don't think you're missing anything. >> >>-Chuck >> >>_______________________________________________ >>Webware-discuss mailing list >>Webware-discuss@... >>http://lists.sourceforge.net/mailman/listinfo/webware-discuss > > > >------------------------------- >David Creemer david@... >_______________________________________________ >Webware-discuss mailing list >Webware-discuss@... >http://lists.sourceforge.net/mailman/listinfo/webware-discuss |
From: David Creemer <david@za...> - 2000-10-13 18:54:12
|
[slightly off-topic warning....] Thanks. This does beg a more abstract question of why nobody else has found the need to delete from session. This makes me worried that I'm missing a better technique. As an example, I have a PSP snippet form. The code that handles the form POST expects to see some variables in the current session -- for example, a page to redirect to on a processing error. When this code is finished, I want to "clean up," and remove the session key/value pair. I could pass this parameter as a hidden value in the form, but this seems less efficient, and open to abuse (since it exposes some inner workings to the client). Is there a better way of handling this? Thanks, -- David --On Friday, October 13, 2000 10:35 AM -0400 Chuck Esterbrook <echuck@...> wrote: > At 08:39 PM 10/12/00 -0700, David Creemer wrote: >> There doesn't seem to be a clean way to delete state from a Session >> object. I can onviously break encapsulation, and do: >> >> del self.session()._values['key'] > > Wow. I think this is the first time anyone has ever deleted anything from > a session. :-) > > I've been developing actual sites with Webware, but haven't needed this > to date. > > >> but it would be nice if I could just use a method. I propose something >> like: >> >> def delValue( self, name ): >> del self._values['key'] >> >> is this reasonable? or am I missing something obvious? > > Agreed, that it's reasonable. Don't think you're missing anything. > > -Chuck > > _______________________________________________ > Webware-discuss mailing list > Webware-discuss@... > http://lists.sourceforge.net/mailman/listinfo/webware-discuss ------------------------------- David Creemer david@... |
From: Chuck Esterbrook <echuck@mi...> - 2000-10-13 14:38:20
|
At 08:39 PM 10/12/00 -0700, David Creemer wrote: >There doesn't seem to be a clean way to delete state from a Session >object. I can onviously break encapsulation, and do: > >del self.session()._values['key'] Wow. I think this is the first time anyone has ever deleted anything from a session. :-) I've been developing actual sites with Webware, but haven't needed this to date. >but it would be nice if I could just use a method. I propose something like: > >def delValue( self, name ): > del self._values['key'] > >is this reasonable? or am I missing something obvious? Agreed, that it's reasonable. Don't think you're missing anything. -Chuck |
From: David Creemer <david@za...> - 2000-10-13 03:36:25
|
There doesn't seem to be a clean way to delete state from a Session object. I can onviously break encapsulation, and do: del self.session()._values['key'] but it would be nice if I could just use a method. I propose something like: def delValue( self, name ): del self._values['key'] is this reasonable? or am I missing something obvious? regards, -- David ------------------------------- David Creemer david@... |
From: Dan Green <daniel.green@nc...> - 2000-10-13 03:16:52
|
I've got a multi-threaded FastCGI server written in Python (the Webware folks should be familiar with it). Source is included. I'm sure it's something dumb that I'm doing someplace. Should I just catch the error with a try/except block and fail politely if it occurs? Or is there a more intelligent fix for it? Traceback (innermost last): File "/var/www/htdocs/Webware/WebKit/FastCGIAppServer.py", line 78, in ? server.mainloop() File "/var/www/htdocs/Webware/WebKit/FastCGIAppServer.py", line 35, in mainloo req = fcgi.Accept() File "/var/www/htdocs/Webware/WebKit/fcgi.py", line 244, in __init__ self.conn, addr=_sock.accept() socket.error: (35, 'Resource temporarily unavailable') -- Dan Green |
From: Chuck Esterbrook <echuck@mi...> - 2000-10-12 18:34:26
|
I added several tasks to the SourceForge project page. They are viewable by all and administrated by myself, Jay and Geoff. I took some guesses at deadlines, completion %'s and so on. Feel free to update or make suggestions. http://sourceforge.net/pm/task.php?group_project_id=4861&group_id=4866&func=browse CVS changes: The UNIX script Webware/lines has been removed in favor of the new Webware/bin/pystats.py. You can: * Invoke it with -h for help on the usage. * Read the doc string for complete information. * Just run it and see what happens: > cd Webware > python bin/pystats.py I axed the MiscUtils.CSV class which has been subsumed by the more powerful MiscUtils.DataTable class (see it's doc string for full info). Some file and code clean up that would bore you to tears. -Chuck |
From: Geoff Talvola <gtalvola@na...> - 2000-10-12 14:16:23
|
Chuck Esterbrook wrote: > I'm going to start tracking tasks/projects in Webware. So far I have these > people leading these projects: > > Chuck - MiddleKit, FormKit, improved doc generation, app/server/directory > restructure > Geoff - COMKit > Jon - mod_snake adapter > Dan - FastCGI app server > > Am I missing anything? > > Also, any opinions on whether we should use the Task Manager of > SourceForge? e.g., has anyone used it and if so, how did you like it? > > -Chuck Sign me up for writing an NT Service version of ThreadedAppServer and/or wkMonitor. -- - Geoff Talvola Parlance Corporation gtalvola@... |