Third party script debugging on remote server ...
Right. I've got a really, really annoying/difficult/time consuming problem with my development environment. I'm using django to build a web app with paypal integration. My server is hosted remotely, and it is receiving IPN (payment notifications) POST requests from Paypal. I've checked on google and irc and this is my last shot at solving this before I go mad ... :-( The problem is that I can't debug those POST requests. Browser debugging is out of the question obviously cause I'm not at the computer, ( and it doesn't have X ). I've tried cgitb but that doesn't seem to work at all ... import cgitb; cgitb.enable(display=0,logdir='/tmp/',format='plain') import cgitb; cgitb.enable() ... neither of those commands have any effect. Although I do log other parts of the script to /tmp, so I know that it's reachable... mod_python absolutely refuses to error_log to the apache error_log. I have restarted it and it still won't flush whatever error buffer it may ( or may not ) have stored. I can re-constitute the requests in my browser using a GET request. But frankly, that's kinda messy - there are lots of paypal IPN combinations and I may have to integrate other applications with paypal. So ideally speaking I'm looking for a proper debugging environment for this kind of thing ... Basically, I either want mod_python to start error_logging properly, or I want some type of working traceback environment to be available. Help ! Server version: Apache/2.0.52 Server built: Aug 13 2006 03:29:43 CentOS4.x: (RedHat Clone) mod_python.i386 3.1.3-5.1 installed # httpd.conf ServerName mydomain.biz ServerAlias www.mydomain.biz SetHandler mod_python PythonPath "['/home/babo/django'] + sys.path" PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mydomain.settings SetHandler None Options None My python.conf: ( seems pretty normal ) # # Mod_python is a module that embeds the Python language interpreter # within the server, allowing Apache handlers to be written in Python. # LoadModule python_module modules/mod_python.so # Override type-map handler for /var/www/manual SetHandler default-handler # This will cause files beneath /var/www/html with the extension .spam # to be handled by the Python script /var/www/html/eggs.py # # #AddHandler python-program .spam #PythonHandler eggs # # This will cause all requests to the /python heirachy of your # webserver to be handled by the python script /path/to/myhandler.py # # #SetHandler python-program #PythonPath "sys.path + ['/path/to']" #PythonHandler myhandler # # This will cause all requests to the /python heirachy of your # webserver to be handled by mod_python's Publisher handler # (see http://localhost/manual/mod/mod_python/hand-pub.html) # # This will cause the output of all requests to files beneath # /var/www/html with the extension .flt to be filtered through # the Python script /var/www/html/filter.py # # #PythonOutputFilter filter MYFILTER #AddOutputFilter MYFILTER .flt # -- http://mail.python.org/mailman/listinfo/python-list
Re: Third party script debugging on remote server ...
On Apr 19, 12:31 am, Graham Dumpleton <[EMAIL PROTECTED]> wrote: > After calling whatever it is that is writing to standard output/error, > do: > > import sys > sys.stdout.flush() > sys.stderr.flush() > > This should cause any buffered data to be immediately flushed to the > main Apache error log, ie., don't look in any virtual host logs, check > the main one. > > Graham > > On Apr 19, 9:15 am, dbee <[EMAIL PROTECTED]> wrote: > > > Right. I've got a really, really annoying/difficult/time consuming > > problem with my development environment. I'm using django to build a > > web app with paypal integration. My server is hosted remotely, and it > > is receiving IPN (payment notifications) POST requests from Paypal. > > I've checked on google and irc and this is my last shot at solving > > this before I go mad ... :-( > > > The problem is that I can't debug those POST requests. Browser > > debugging is out of the question obviously cause I'm not at the > > computer, ( and it doesn't have X ). > > > I've tried cgitb but that doesn't seem to work at all ... > > > import cgitb; cgitb.enable(display=0,logdir='/tmp/',format='plain') > > import cgitb; cgitb.enable() > > > ... neither of those commands have any effect. Although I do log other > > parts of the script to /tmp, so I know that it's reachable... > > > mod_pythonabsolutely refuses to error_log to the apache error_log. I > > have restarted it and it still won't flush whatever error buffer it > > may ( or may not ) have stored. > > > I can re-constitute the requests in my browser using a GET request. > > But frankly, that's kinda messy - there are lots of paypal IPN > > combinations and I may have to integrate other applications with > > paypal. So ideally speaking I'm looking for a proper debugging > > environment for this kind of thing ... > > > Basically, I either wantmod_pythonto start error_logging properly, > > or I want some type of working traceback environment to be available. > > Help ! > > > Server version: Apache/2.0.52 > > Server built: Aug 13 2006 03:29:43 > > CentOS4.x: (RedHat Clone)mod_python.i386 3.1.3-5.1 > > installed > > > # httpd.conf > > > > > > ServerName mydomain.biz > > ServerAliaswww.mydomain.biz > > SetHandlermod_python > > PythonPath "['/home/babo/django'] + sys.path" > > PythonHandler django.core.handlers.modpython > > SetEnv DJANGO_SETTINGS_MODULE mydomain.settings > > > > >SetHandler None > >Options None > > > > > > > > My python.conf: ( seems pretty normal ) > > > # > > #Mod_pythonis a module that embeds the Python language interpreter > > # within the server, allowing Apache handlers to be written in Python. > > # > > > LoadModule python_module modules/mod_python.so > > > # Override type-map handler for /var/www/manual > > > > > > SetHandler default-handler > > > > > > > # This will cause files beneath /var/www/html with the extension .spam > > # to be handled by the Python script /var/www/html/eggs.py > > # > > # > > #AddHandler python-program .spam > > #PythonHandler eggs > > # > > > # This will cause all requests to the /python heirachy of your > > # webserver to be handled by the python script /path/to/myhandler.py > > # > > # > > #SetHandler python-program > > #PythonPath "sys.path + ['/path/to']" > > #PythonHandler myhandler > > # > > > # This will cause all requests to the /python heirachy of your > > # webserver to be handled bymod_python'sPublisher handler > > # (seehttp://localhost/manual/mod/mod_python/hand-pub.html) > > # > > # This will cause the output of all requests to files beneath > > # /var/www/html with the extension .flt to be filtered through > > # the Python script /var/www/html/filter.py > > # > > # > > #PythonOutputFilter filter MYFILTER > > #AddOutputFilter MYFILTER .flt > > # Hi Graeme, Thanks for the suggestion. Unluckily for me, it doesn't seem to be working though ... I've tried it a number of different ways. I guess if I put the code after an exception, then the code won't be called. So I ran an error in the python script and then I called the sys.stderr.flush() from the python shell. No luck though. I called on it's own, still
Re: Third party script debugging on remote server ...
On Apr 19, 1:52 am, dbee <[EMAIL PROTECTED]> wrote: > On Apr 19, 12:31 am, Graham Dumpleton <[EMAIL PROTECTED]> > wrote: > > > > > After calling whatever it is that is writing to standard output/error, > > do: > > > import sys > > sys.stdout.flush() > > sys.stderr.flush() > > > This should cause any buffered data to be immediately flushed to the > > main Apache error log, ie., don't look in any virtual host logs, check > > the main one. > > > Graham > > > On Apr 19, 9:15 am, dbee <[EMAIL PROTECTED]> wrote: > > > > Right. I've got a really, really annoying/difficult/time consuming > > > problem with my development environment. I'm using django to build a > > > web app with paypal integration. My server is hosted remotely, and it > > > is receiving IPN (payment notifications) POST requests from Paypal. > > > I've checked on google and irc and this is my last shot at solving > > > this before I go mad ... :-( > > > > The problem is that I can't debug those POST requests. Browser > > > debugging is out of the question obviously cause I'm not at the > > > computer, ( and it doesn't have X ). > > > > I've tried cgitb but that doesn't seem to work at all ... > > > > import cgitb; cgitb.enable(display=0,logdir='/tmp/',format='plain') > > > import cgitb; cgitb.enable() > > > > ... neither of those commands have any effect. Although I do log other > > > parts of the script to /tmp, so I know that it's reachable... > > > > mod_pythonabsolutely refuses to error_log to the apache error_log. I > > > have restarted it and it still won't flush whatever error buffer it > > > may ( or may not ) have stored. > > > > I can re-constitute the requests in my browser using a GET request. > > > But frankly, that's kinda messy - there are lots of paypal IPN > > > combinations and I may have to integrate other applications with > > > paypal. So ideally speaking I'm looking for a proper debugging > > > environment for this kind of thing ... > > > > Basically, I either wantmod_pythonto start error_logging properly, > > > or I want some type of working traceback environment to be available. > > > Help ! > > > > Server version: Apache/2.0.52 > > > Server built: Aug 13 2006 03:29:43 > > > CentOS4.x: (RedHat Clone)mod_python.i386 > > > 3.1.3-5.1 > > > installed > > > > # httpd.conf > > > > > > > > ServerName mydomain.biz > > > ServerAliaswww.mydomain.biz > > > SetHandlermod_python > > > PythonPath "['/home/babo/django'] + sys.path" > > > PythonHandler django.core.handlers.modpython > > > SetEnv DJANGO_SETTINGS_MODULE mydomain.settings > > > > > > >SetHandler None > > >Options None > > > > > > > > > > > My python.conf: ( seems pretty normal ) > > > > # > > > #Mod_pythonis a module that embeds the Python language interpreter > > > # within the server, allowing Apache handlers to be written in Python. > > > # > > > > LoadModule python_module modules/mod_python.so > > > > # Override type-map handler for /var/www/manual > > > > > > > > > SetHandler default-handler > > > > > > > > > > # This will cause files beneath /var/www/html with the extension .spam > > > # to be handled by the Python script /var/www/html/eggs.py > > > # > > > # > > > #AddHandler python-program .spam > > > #PythonHandler eggs > > > # > > > > # This will cause all requests to the /python heirachy of your > > > # webserver to be handled by the python script /path/to/myhandler.py > > > # > > > # > > > #SetHandler python-program > > > #PythonPath "sys.path + ['/path/to']" > > > #PythonHandler myhandler > > > # > > > > # This will cause all requests to the /python heirachy of your > > > # webserver to be handled bymod_python'sPublisher handler > > > # (seehttp://localhost/manual/mod/mod_python/hand-pub.html) > > > # > > > # This will cause the output of all requests to files beneath > > > # /var/www/html with the extension .flt to be filtered through > > > # the Python script /var/www/html
Report Lab Image Flowable Issue ..
I'm try to generate a report that will span multiple pages and have
dynamic content using python reportlab. I have no issues with regards
to generating images and then using p.drawInlineImage(signup_img,
100,150) to draw them onto the canvas.
The problem that i have comes when i try to create flowables so that
my layout can span multiple pages. The images themselves never
actually show up on the page ...
# Import pdf
generator
from cStringIO import StringIO
from reportlab.pdfgen import canvas
from reportlab.pdfgen.canvas import Canvas
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.lib.units import inch
from reportlab.platypus import Paragraph, Frame
from PIL import Image
# Create the HttpResponse object with the appropriate PDF
headers.
response = HttpResponse(mimetype='application/pdf')
response['Content-Disposition'] = 'attachment;
filename=somefilename.pdf'
buffer = StringIO()
styles = getSampleStyleSheet()
styleN = styles['Normal']
styleH = styles['Heading1']
story = []
#add some
flowables
story.append(Paragraph("This is a Heading",styleH))
story.append(Paragraph("""This is a paragraph in style"\
"",styleN))
c = Canvas(buffer)
f = Frame(inch, inch, 6*inch, 9*inch, showBoundary=1)
f.addFromList(story,c)
c.save()
# Get the value of the StringIO buffer and write it to the
response.
pdf = buffer.getvalue()
buffer.close()
response.write(pdf)
This should generate a pdf with the google image in it no ? The pdf
gets generated but no image comes out.
When I try the other option of using image flowables, I get only an
error. The reportlab docs example shows an Image flowable being called
like ... Image("lj8100.jpg") but when i try to call the object
directly i get an error which suggests that i should use Image.new or
Image.open to call the object ...
# Create image from /tmp
im = Image("/tmp/car_dealership.jpg", width=2*inch, height=2*inch)
im.hAlign = 'CENTER'
#add some
flowables
story.append(Paragraph("This is a Heading",styleH))
story.append(Image(im))
TypeError: 'module' object is not callable for the im = Image( )
When i try to feed the image manually ...
interest_image = interests_barchart(request)
im = Image.open(StringIO(interest_image.content))
#add some
flowables
story.append(Paragraph("This is a Heading",styleH))
story.append(im)
I get ... AttributeError: getSpaceBefore... which seems to suggest
that im isn't a flowable ...
Can anyone help pls ?
--
http://mail.python.org/mailman/listinfo/python-list
