From carl at personnelware.com Tue Nov 2 05:47:07 2010 From: carl at personnelware.com (Carl Karsten) Date: Mon, 1 Nov 2010 23:47:07 -0500 Subject: [Chicago] 2 talks Message-ID: Here is what I plan to send out once I confirm Pizza at 7:45. how's it look? ANN: ChiPy at ita Thu November 11, 7p ChiPy ========================= When: 7 PM Thursday November 11, 2010 Where: ITA This will be our Best Meeting Ever! Topics ------ 1. 7:00 Mako and Cherrypy (Michael Mileusnich) 2. 8:00 Tox (Kumar McMillan) Details ------- 1. Mako and Cherrypy Michael Mileusnich using Mako combined with Cherrypy to create a Python web server, passing data back and forth, and some javascript issues with certain browsers. 2. Tox Kumar McMillan http://codespeak.net/tox/ It's a great new open source tool that helps you support all versions of python with your existing automated tests. It's not a test runner, it's a super test runner runner! Or something. There is no easy way to describe it which is why the front page of the website is sort of confusing, IMO. We use tox on the Nose project to make sure each code change doesn't break the tests in Python 2.4, 2.5, 2.6, 2.7, 3.0 or Jython. Not everybody targets so many environments but if you want to maintain a widely used module then you probably will want to use tox someday. Here's our Hudson matrix setup w/ tox: http://hudson.testrun.org/job/nose-unstable/ (we just set this up recently which is why most builds were broken in one or two envs) I can also spend some time going over how we are currently maintaining a test suite that runs in both 2.x and 3.x simultaneously Location -------- Illinois Technology Association (ITA) 200 S. Wacker Drive 15th Floor Chicago, IL 60606 312.435.2805 http://www.illinoistech.org Metra: exit on Adams St, walk East across the bridge, first door on the right. Show your ID to security. Be on the list or they will be sad. http://chipy.org/FrontPage#sign-up About the group --------------- ChiPy is made up of people of all levels of programming and Python knowledge. At every meeting we have had both beginning programmers, people who are just starting to use Python, as well as experienced Python programmers. Don't be intimidated about coming to a meeting. Note that ChiPy is not a formal organization. We collect no dues, elect no officers, and keep no roster. Signing up for the mailing list carries no obligation. Nor does showing up at the meetings. Nor, at least so far, does anything else we have done, although we always appreciate it when our presenters show up. (They usually do!) http://chipy.org -- Carl K From brianhray at gmail.com Tue Nov 2 06:57:33 2010 From: brianhray at gmail.com (Brian Ray) Date: Tue, 2 Nov 2010 00:57:33 -0500 Subject: [Chicago] 2 talks In-Reply-To: References: Message-ID: <46291607-B6EB-4F81-8C5E-99DE1B1A7BAB@gmail.com> Welcome back Carl! When do you plan on sending? I suggest the week of the meeting, next week. We also need to state somewhere this is the downtown meeting--I worry only a bit about people confusing the two meetings. I tried clearing this up in http://Chipy.org. Personally I favor three medium size presentations over two long ones. I think I recall someone stating they wanted present on a WSGI stack that could replace a web framework. Thoughts? On Nov 1, 2010, at 11:47 PM, Carl Karsten wrote: > Here is what I plan to send out once I confirm Pizza at 7:45. how's it look? > > > ANN: ChiPy at ita Thu November 11, 7p > > ChiPy > ========================= > > When: 7 PM Thursday November 11, 2010 > Where: ITA > > This will be our Best Meeting Ever! > > Topics > ------ > 1. 7:00 Mako and Cherrypy (Michael Mileusnich) > 2. 8:00 Tox (Kumar McMillan) > > > Details > ------- > > 1. Mako and Cherrypy > Michael Mileusnich > using Mako combined with Cherrypy to create a Python web server, > passing data back and forth, and some javascript issues with certain > browsers. > > > > 2. Tox > Kumar McMillan > http://codespeak.net/tox/ > > It's a great new open source tool that helps you support all versions > of python with your existing automated tests. It's not a test runner, > it's a super test runner runner! Or something. There is no easy way > to describe it which is why the front page of the website is sort of > confusing, IMO. > > We use tox on the Nose project to make sure each code change doesn't > break the tests in Python 2.4, 2.5, 2.6, 2.7, 3.0 or Jython. Not > everybody targets so many environments but if you want to maintain a > widely used module then you probably will want to use tox someday. > > Here's our Hudson matrix setup w/ tox: > http://hudson.testrun.org/job/nose-unstable/ (we just set this up > recently which is why most builds were broken in one or two envs) > > I can also spend some time going over how we are currently maintaining > a test suite that runs in both 2.x and 3.x simultaneously > > > > > > > Location > -------- > Illinois Technology Association (ITA) > 200 S. Wacker Drive > 15th Floor > Chicago, IL 60606 > > 312.435.2805 > http://www.illinoistech.org > > Metra: exit on Adams St, walk East across the bridge, first door on the right. > > Show your ID to security. Be on the list or they will be sad. > http://chipy.org/FrontPage#sign-up > > About the group > --------------- > ChiPy is made up of people of all levels of programming and Python > knowledge. At every meeting we have had both beginning programmers, > people who are just starting to use Python, as well as experienced > Python programmers. Don't be intimidated about coming to a meeting. > > Note that ChiPy is not a formal organization. We collect no dues, > elect no officers, and keep no roster. Signing up for the mailing list > carries no obligation. Nor does showing up at the meetings. Nor, at > least so far, does anything else we have done, although we always > appreciate it when our presenters show up. (They usually do!) > > http://chipy.org > > -- > Carl K > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago From skip at pobox.com Tue Nov 2 09:44:55 2010 From: skip at pobox.com (skip at pobox.com) Date: Tue, 2 Nov 2010 03:44:55 -0500 Subject: [Chicago] 2 talks In-Reply-To: References: Message-ID: <19663.53127.236610.258321@montanaro.dyndns.org> Carl> 2. Tox Carl> Kumar McMillan Carl> http://codespeak.net/tox/ Carl> It's a great new open source tool that helps you support all Carl> versions of python with your existing automated tests. It's not a Carl> test runner, it's a super test runner runner! Or something. Carl> There is no easy way to describe it which is why the front page of Carl> the website is sort of confusing, IMO. Wow! Instant convert here: ... [TOX] py26: commands succeeded [TOX] py27: commands succeeded [TOX] py31: commands succeeded [TOX] congratulations :) Can't make the meeting (never can), but thanks for bringing this tool to my attention. Skip From carl at personnelware.com Tue Nov 2 13:39:43 2010 From: carl at personnelware.com (Carl Karsten) Date: Tue, 2 Nov 2010 07:39:43 -0500 Subject: [Chicago] 2 talks In-Reply-To: <46291607-B6EB-4F81-8C5E-99DE1B1A7BAB@gmail.com> References: <46291607-B6EB-4F81-8C5E-99DE1B1A7BAB@gmail.com> Message-ID: On Tue, Nov 2, 2010 at 12:57 AM, Brian Ray wrote: > Welcome back Carl! Thanks. it's good to be back. > > When do you plan on sending? I suggest the week of the meeting, ?next week. k - monday it is. hadn't really given it much thought. >?We also need to state somewhere this is the downtown meeting--I worry only a bit about people confusing the two meetings. I tried clearing this up in http://Chipy.org. good point. > > Personally I favor three medium size presentations over two long ones. I think I recall someone stating they wanted present on a WSGI stack that could replace a web framework. Oh yeah - Crhis, you up for this? Nice title / descriptions would be nice. something a bit more announcement worthy. > > Thoughts? > Breakfast. thats my thoughts. > On Nov 1, 2010, at 11:47 PM, Carl Karsten wrote: > >> Here is what I plan to send out once I confirm Pizza at 7:45. ?how's it look? >> >> >> ANN: ChiPy at ita Thu November 11, 7p >> >> ChiPy >> ========================= >> >> When: 7 PM Thursday November 11, 2010 >> Where: ITA >> >> This will be our Best Meeting Ever! >> >> Topics >> ------ >> 1. 7:00 Mako and Cherrypy (Michael Mileusnich) >> 2. 8:00 Tox (Kumar McMillan) >> >> >> Details >> ------- >> >> 1. Mako and Cherrypy >> Michael Mileusnich >> using Mako combined with Cherrypy to create a Python web server, >> passing data back and forth, and some javascript issues with certain >> browsers. >> >> >> >> 2. Tox >> Kumar McMillan >> http://codespeak.net/tox/ >> >> It's a great new open source tool that helps you support all versions >> of python with your existing automated tests. ?It's not a test runner, >> it's a super test runner runner! ?Or something. ?There is no easy way >> to describe it which is why the front page of the website is sort of >> confusing, IMO. >> >> We use tox on the Nose project to make sure each code change doesn't >> break the tests in Python 2.4, 2.5, 2.6, 2.7, 3.0 or Jython. ?Not >> everybody targets so many environments but if you want to maintain a >> widely used module then you probably will want to use tox someday. >> >> Here's our Hudson matrix setup w/ tox: >> http://hudson.testrun.org/job/nose-unstable/ (we just set this up >> recently which is why most builds were broken in one or two envs) >> >> I can also spend some time going over how we are currently maintaining >> a test suite that runs in both 2.x and 3.x simultaneously >> >> >> >> >> >> >> Location >> -------- >> Illinois Technology Association (ITA) >> 200 S. Wacker Drive >> 15th Floor >> Chicago, IL 60606 >> >> 312.435.2805 >> http://www.illinoistech.org >> >> Metra: exit on Adams St, walk East across the bridge, first door on the right. >> >> Show your ID to security. ?Be on the list or they will be sad. >> http://chipy.org/FrontPage#sign-up >> >> About the group >> --------------- >> ChiPy is made up of people of all levels of programming and Python >> knowledge. At every meeting we have had both beginning programmers, >> people who are just starting to use Python, as well as experienced >> Python programmers. Don't be intimidated about coming to a meeting. >> >> Note that ChiPy is not a formal organization. We collect no dues, >> elect no officers, and keep no roster. Signing up for the mailing list >> carries no obligation. Nor does showing up at the meetings. Nor, at >> least so far, does anything else we have done, although we always >> appreciate it when our presenters show up. (They usually do!) >> >> http://chipy.org >> >> -- >> Carl K >> _______________________________________________ >> Chicago mailing list >> Chicago at python.org >> http://mail.python.org/mailman/listinfo/chicago > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago > -- Carl K From cwebber at dustycloud.org Tue Nov 2 14:31:14 2010 From: cwebber at dustycloud.org (Christopher Allan Webber) Date: Tue, 02 Nov 2010 08:31:14 -0500 Subject: [Chicago] 2 talks In-Reply-To: <46291607-B6EB-4F81-8C5E-99DE1B1A7BAB@gmail.com> (Brian Ray's message of "Tue, 2 Nov 2010 00:57:33 -0500") References: <46291607-B6EB-4F81-8C5E-99DE1B1A7BAB@gmail.com> Message-ID: <87pqunlun1.fsf@dustycloud.org> Brian Ray writes: > Personally I favor three medium size presentations over two long > ones. I think I recall someone stating they wanted present on a WSGI > stack that could replace a web framework. That was me, but my laptop is broken. Gonna have to sit out till' next month. From samir at esamir.com Tue Nov 2 18:09:57 2010 From: samir at esamir.com (Samir Faci) Date: Tue, 2 Nov 2010 12:09:57 -0500 Subject: [Chicago] Template Document Message-ID: I. Rant Okay.. so.. my work is currently driving me a bit crazy with reports... daily, weekly, monthly.... and starting to feel like I should have a staring role with Office Space (well, there is a Samir in that movie ). So.. I started a minor little pet project to encourage my laziness in not keeping track of my time. I basically setup an identi.ca server, and I tweet what I'm working on... and it generates a report saying yesterday: * task 1 * task 2 Today: * task 1 * task 2 which is all working fine. Right now, I want to build a bit more intelligence into it, and I was looking for some suggestions. 1. Question 1 I don't want to statically define what the report should look like, so I was looking for some form of already existing (ideally) or simple too that would allow a user to define a document template and have it define where certain data goes..... I could probably write a very simple one on my own.. just wondering if there was any pre-existing technology / standard that I should look at. ie: <> * * or... , , allowing the user to format his report anyway he wants without having to touch the code.... Okay.. so did that make sense? Let me know if I need to clarify something... concept is still somewhat vague... but essentially I want to build a tool to not have to deal with TPS reprots anymore. From heflin.rosst at gmail.com Tue Nov 2 18:17:14 2010 From: heflin.rosst at gmail.com (Ross Heflin) Date: Tue, 2 Nov 2010 12:17:14 -0500 Subject: [Chicago] Template Document In-Reply-To: References: Message-ID: my 2c: pick a templating engine. I've heard of Genshi, Mako, and there's always Django if you don't mind depending on it. Pick the one who's philosophy matches what you want to do & has enough flexibility to keep up w/ what your boss(es) will want in the future. On Nov 2, 2010 12:10 PM, "Samir Faci" wrote: > I. Rant > > Okay.. so.. my work is currently driving me a bit crazy with reports... > > daily, weekly, monthly.... and starting to feel like I should have a > staring role with Office Space (well, there is a Samir in that movie > ). > > So.. I started a minor little pet project to encourage my laziness in > not keeping track of my time. > > I basically setup an identi.ca server, and I tweet what I'm working > on... and it generates a report saying > > yesterday: > * task 1 > * task 2 > > Today: > * task 1 > * task 2 > > > which is all working fine. Right now, I want to build a bit more > intelligence into it, and I was looking for some suggestions. > > 1. Question 1 > > I don't want to statically define what the report should look like, so > I was looking for some form of already existing (ideally) or simple > too that would allow a user to define a document template > > and have it define where certain data goes..... > > I could probably write a very simple one on my own.. just wondering if > there was any pre-existing technology / standard that I should look > at. > > ie: > > <> > * > * > > or... > , , > > allowing the user to format his report anyway he wants without having > to touch the code.... > > Okay.. so did that make sense? Let me know if I need to clarify > something... concept is still somewhat vague... but essentially I want > to build a tool to not have to deal with TPS reprots anymore. > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago -------------- next part -------------- An HTML attachment was scrubbed... URL: From deadwisdom at gmail.com Tue Nov 2 18:25:17 2010 From: deadwisdom at gmail.com (Brantley Harris) Date: Tue, 2 Nov 2010 12:25:17 -0500 Subject: [Chicago] Template Document In-Reply-To: References: Message-ID: You're doing this all wrong. No one wants to read what you're doing, they want to scan a document and see that you're time and cost is being held accountable. It's superficial and ridiculous. What you need, good sir, is a bullshit generator. Look into Markov chains and Natural Language Generation. On Tue, Nov 2, 2010 at 12:09 PM, Samir Faci wrote: > I. ?Rant > > Okay.. so.. my work is currently driving me a bit crazy with reports... > > daily, weekly, monthly.... and starting to feel like I should have a > staring role with Office Space (well, there is a Samir in that movie > ). > > So.. I started a minor little pet project to encourage my laziness in > not keeping track of my time. > > I basically setup an identi.ca server, and I tweet what I'm working > on... and it generates a report saying > > yesterday: > ?* task 1 > ?* task 2 > > Today: > ?* task 1 > ?* task 2 > > > which is all working fine. ?Right now, I want to build a bit more > intelligence into it, and I was looking for some suggestions. > > 1. Question 1 > > I don't want to statically define what the report should look like, so > I was looking for some form of already existing (ideally) or simple > too that would allow a user to define a document template > > and have it define where certain data goes..... > > I could probably write a very simple one on my own.. just wondering if > there was any pre-existing technology / standard that I should look > at. > > ie: > > <> > ?* ? > ?* ? > > or... > , , > > allowing the user to format his report anyway he wants without having > to touch the code.... > > Okay.. so did that make sense? ?Let me know if I need to clarify > something... concept is still somewhat vague... but essentially I want > to build a tool to not have to deal with TPS reprots anymore. > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago > From brian.curtin at gmail.com Tue Nov 2 18:34:22 2010 From: brian.curtin at gmail.com (Brian Curtin) Date: Tue, 2 Nov 2010 12:34:22 -0500 Subject: [Chicago] Template Document In-Reply-To: References: Message-ID: On Tue, Nov 2, 2010 at 12:25, Brantley Harris wrote: > You're doing this all wrong. No one wants to read what you're doing, > they want to scan a document and see that you're time and cost is > being held accountable. It's superficial and ridiculous. What you > need, good sir, is a bullshit generator. > > Look into Markov chains and Natural Language Generation. I was going to suggest "look into a new job", but this might work. -------------- next part -------------- An HTML attachment was scrubbed... URL: From carl at personnelware.com Tue Nov 2 18:47:43 2010 From: carl at personnelware.com (Carl Karsten) Date: Tue, 2 Nov 2010 12:47:43 -0500 Subject: [Chicago] Template Document In-Reply-To: References: Message-ID: I did something very similar when I worked in a cube: so much of my work involved email threads that I could use the subject as the description, and the time stamps to figure out when and what proportion of my time to allocate. proportion means how much of my 8 hours does this represent? If I have 4 items in one day, each gets 2 hours. if 2 are the same subject, that gets rolled into 4 hours. It was way more accurate than anything else I was capable of. I have no idea if management was A) impressed with my detailed reports B) satisfied that they had fulfilled their task of collecting reports C) gave up bugging me for reports. On Tue, Nov 2, 2010 at 12:25 PM, Brantley Harris wrote: > You're doing this all wrong. ?No one wants to read what you're doing, > they want to scan a document and see that you're time and cost is > being held accountable. ?It's superficial and ridiculous. ?What you > need, good sir, is a bullshit generator. > > Look into Markov chains and Natural Language Generation. > > On Tue, Nov 2, 2010 at 12:09 PM, Samir Faci wrote: >> I. ?Rant >> >> Okay.. so.. my work is currently driving me a bit crazy with reports... >> >> daily, weekly, monthly.... and starting to feel like I should have a >> staring role with Office Space (well, there is a Samir in that movie >> ). >> >> So.. I started a minor little pet project to encourage my laziness in >> not keeping track of my time. >> >> I basically setup an identi.ca server, and I tweet what I'm working >> on... and it generates a report saying >> >> yesterday: >> ?* task 1 >> ?* task 2 >> >> Today: >> ?* task 1 >> ?* task 2 >> >> >> which is all working fine. ?Right now, I want to build a bit more >> intelligence into it, and I was looking for some suggestions. >> >> 1. Question 1 >> >> I don't want to statically define what the report should look like, so >> I was looking for some form of already existing (ideally) or simple >> too that would allow a user to define a document template >> >> and have it define where certain data goes..... >> >> I could probably write a very simple one on my own.. just wondering if >> there was any pre-existing technology / standard that I should look >> at. >> >> ie: >> >> <> >> ?* ? >> ?* ? >> >> or... >> , , >> >> allowing the user to format his report anyway he wants without having >> to touch the code.... >> >> Okay.. so did that make sense? ?Let me know if I need to clarify >> something... concept is still somewhat vague... but essentially I want >> to build a tool to not have to deal with TPS reprots anymore. >> _______________________________________________ >> Chicago mailing list >> Chicago at python.org >> http://mail.python.org/mailman/listinfo/chicago >> > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago > -- Carl K From shekay at pobox.com Tue Nov 2 18:51:28 2010 From: shekay at pobox.com (sheila miguez) Date: Tue, 2 Nov 2010 12:51:28 -0500 Subject: [Chicago] Template Document In-Reply-To: References: Message-ID: in some places they just want to associate blocks of work time with project ids. in those cases, you wouldn't need to generate any language, and would just maybe have some events fire off that are tagged with appropriate stuff. I've been annoyed at the tedium of filling out time sheet apps in places where I've worked... the whole process could be scripted away depending on the app you have to interact with. I wish ours had a nice api so that I wouldn't have to use any web form. sure it would be great to have a job where you didn't have to put up with this BS, but is there any place with more than a hundred (fifty?) people where you don't have to put up with it? if there is, please tell me where to sign up. when I am ready to move, I would like to change to a company that is small enough not to have this BS, but at the same time not small in the sense of only having boring stuff to work on. On Tue, Nov 2, 2010 at 12:25 PM, Brantley Harris wrote: > You're doing this all wrong. ?No one wants to read what you're doing, > they want to scan a document and see that you're time and cost is > being held accountable. ?It's superficial and ridiculous. ?What you > need, good sir, is a bullshit generator. > > Look into Markov chains and Natural Language Generation. > > On Tue, Nov 2, 2010 at 12:09 PM, Samir Faci wrote: >> I. ?Rant >> >> Okay.. so.. my work is currently driving me a bit crazy with reports... >> >> daily, weekly, monthly.... and starting to feel like I should have a >> staring role with Office Space (well, there is a Samir in that movie >> ). >> >> So.. I started a minor little pet project to encourage my laziness in >> not keeping track of my time. >> >> I basically setup an identi.ca server, and I tweet what I'm working >> on... and it generates a report saying >> >> yesterday: >> ?* task 1 >> ?* task 2 >> >> Today: >> ?* task 1 >> ?* task 2 >> >> >> which is all working fine. ?Right now, I want to build a bit more >> intelligence into it, and I was looking for some suggestions. >> >> 1. Question 1 >> >> I don't want to statically define what the report should look like, so >> I was looking for some form of already existing (ideally) or simple >> too that would allow a user to define a document template >> >> and have it define where certain data goes..... >> >> I could probably write a very simple one on my own.. just wondering if >> there was any pre-existing technology / standard that I should look >> at. >> >> ie: >> >> <> >> ?* ? >> ?* ? >> >> or... >> , , >> >> allowing the user to format his report anyway he wants without having >> to touch the code.... >> >> Okay.. so did that make sense? ?Let me know if I need to clarify >> something... concept is still somewhat vague... but essentially I want >> to build a tool to not have to deal with TPS reprots anymore. >> _______________________________________________ >> Chicago mailing list >> Chicago at python.org >> http://mail.python.org/mailman/listinfo/chicago >> > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago > -- sheila From samir at esamir.com Tue Nov 2 19:13:57 2010 From: samir at esamir.com (Samir Faci) Date: Tue, 2 Nov 2010 13:13:57 -0500 Subject: [Chicago] Template Document In-Reply-To: References: Message-ID: Well... in my experience small companies have the issues of questionable benefits, stability and such..and usually have a lower level of redtape. Larger companies tend to give you more stability, and better benefits but have red tape up the wazoo. -- Samir On Tue, Nov 2, 2010 at 12:51 PM, sheila miguez wrote: > in some places they just want to associate blocks of work time with > project ids. in those cases, you wouldn't need to generate any > language, and would just maybe have some events fire off that are > tagged with appropriate stuff. > > I've been annoyed at the tedium of filling out time sheet apps in > places where I've worked... the whole process could be scripted away > depending on the app you have to interact with. I wish ours had a nice > api so that I wouldn't have to use any web form. > > sure it would be great to have a job where you didn't have to put up > with this BS, but is there any place with more than a hundred (fifty?) > people where you don't have to put up with it? if there is, please > tell me where to sign up. > > when I am ready to move, I would like to change to a company that is > small enough not to have this BS, but at the same time not small in > the sense of only having boring stuff to work on. > > On Tue, Nov 2, 2010 at 12:25 PM, Brantley Harris wrote: >> You're doing this all wrong. ?No one wants to read what you're doing, >> they want to scan a document and see that you're time and cost is >> being held accountable. ?It's superficial and ridiculous. ?What you >> need, good sir, is a bullshit generator. >> >> Look into Markov chains and Natural Language Generation. >> >> On Tue, Nov 2, 2010 at 12:09 PM, Samir Faci wrote: >>> I. ?Rant >>> >>> Okay.. so.. my work is currently driving me a bit crazy with reports... >>> >>> daily, weekly, monthly.... and starting to feel like I should have a >>> staring role with Office Space (well, there is a Samir in that movie >>> ). >>> >>> So.. I started a minor little pet project to encourage my laziness in >>> not keeping track of my time. >>> >>> I basically setup an identi.ca server, and I tweet what I'm working >>> on... and it generates a report saying >>> >>> yesterday: >>> ?* task 1 >>> ?* task 2 >>> >>> Today: >>> ?* task 1 >>> ?* task 2 >>> >>> >>> which is all working fine. ?Right now, I want to build a bit more >>> intelligence into it, and I was looking for some suggestions. >>> >>> 1. Question 1 >>> >>> I don't want to statically define what the report should look like, so >>> I was looking for some form of already existing (ideally) or simple >>> too that would allow a user to define a document template >>> >>> and have it define where certain data goes..... >>> >>> I could probably write a very simple one on my own.. just wondering if >>> there was any pre-existing technology / standard that I should look >>> at. >>> >>> ie: >>> >>> <> >>> ?* ? >>> ?* ? >>> >>> or... >>> , , >>> >>> allowing the user to format his report anyway he wants without having >>> to touch the code.... >>> >>> Okay.. so did that make sense? ?Let me know if I need to clarify >>> something... concept is still somewhat vague... but essentially I want >>> to build a tool to not have to deal with TPS reprots anymore. >>> _______________________________________________ >>> Chicago mailing list >>> Chicago at python.org >>> http://mail.python.org/mailman/listinfo/chicago >>> >> _______________________________________________ >> Chicago mailing list >> Chicago at python.org >> http://mail.python.org/mailman/listinfo/chicago >> > > > > -- > sheila > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago > -- -- Samir Faci *insert title* fortune | cowsay -f /usr/share/cows/tux.cow From shekay at pobox.com Tue Nov 2 19:33:07 2010 From: shekay at pobox.com (sheila miguez) Date: Tue, 2 Nov 2010 13:33:07 -0500 Subject: [Chicago] Template Document In-Reply-To: References: Message-ID: On Tue, Nov 2, 2010 at 12:09 PM, Samir Faci wrote: > 1. Question 1 > I could probably write a very simple one on my own.. just wondering if > there was any pre-existing technology / standard that I should look > at. I don't know of a standard or of a tool that does this for you, so I think you have to write it yourself. If you work at a large company, other people are probably annoyed and may have written things to do this too, so you should ask on internal back channels to see if anyone has. you might get lucky. IMO if you have to do it yourself, don't get too formal about what goes in there. I'd be very lazy and go as unstructured as possible and use something like . post the data somewhere via , then when you need the report, GET it and yay. maybe you don't have to use identica or something, maybe you could use something that talks jabber over an internal jabber network? or whatever. some people might want the traffic to be only internal. anyway... I'm handwaving since I never was lazy enough to actually go through the effort to design something. if you find out something exists and is sharable, please point me to it. -- sheila From samir at esamir.com Tue Nov 2 19:47:53 2010 From: samir at esamir.com (Samir Faci) Date: Tue, 2 Nov 2010 13:47:53 -0500 Subject: [Chicago] Template Document In-Reply-To: References: Message-ID: Well.. I'm not sure if this would be useful or not.. I have to look at this in a bit more detail. Also.. when I said identi.ca, I mainly mean a status.net local install. I'm not posting anything that's public. http://code.google.com/p/protobuf/wiki/ThirdPartyAddOns This is the more interesting tool I've ran across so far. Mainly it seems to support a stnadard format and lets you generate code based on that. So I could in theory write once... and allow the same file to be used in C++, .NET, python... uhmm.. D, Mercury (?? Mercury is a language?) Anyways.. wiki has full list.. but supports every language under the sun. I was also, figured if I'm putting that much work.. I might as well open source it... since its not doing anything really specific to internal workflow. it's parsing the identi.ca API.. extracting dents based on time parameters, formatting the content, pushing them out to the appropriate mailing list specified. -- Samir PS. no idea if protobuf even remotely does what I want.. but it seemed interesting. On Tue, Nov 2, 2010 at 1:33 PM, sheila miguez wrote: > On Tue, Nov 2, 2010 at 12:09 PM, Samir Faci wrote: > >> 1. Question 1 > >> I could probably write a very simple one on my own.. just wondering if >> there was any pre-existing technology / standard that I should look >> at. > > I don't know of a standard or of a tool that does this for you, so I > think you have to write it yourself. If you work at a large company, > other people are probably annoyed and may have written things to do > this too, so you should ask on internal back channels to see if anyone > has. you might get lucky. > > IMO > if you have to do it yourself, don't get too formal about what goes in > there. I'd be very lazy and go as unstructured as possible and use > something like . > post the data somewhere via , then when you > need the report, GET it and yay. > > maybe you don't have to use identica or something, maybe you could use > something that talks jabber over an internal jabber network? or > whatever. some people might want the traffic to be only internal. > > anyway... > I'm handwaving since I never was lazy enough to actually go through > the effort to design something. > > if you find out something exists and is sharable, please point me to it. > > > -- > sheila > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago > -- -- Samir Faci *insert title* fortune | cowsay -f /usr/share/cows/tux.cow From shekay at pobox.com Tue Nov 2 19:55:18 2010 From: shekay at pobox.com (sheila miguez) Date: Tue, 2 Nov 2010 13:55:18 -0500 Subject: [Chicago] Template Document In-Reply-To: References: Message-ID: I like them. I thought about it, but didn't say anything since I thought it might be overkill. plus didn't want to be prescriptive about what to use. On Tue, Nov 2, 2010 at 1:47 PM, Samir Faci wrote: > PS. no idea if protobuf even remotely does what I want.. but it seemed > interesting. -- sheila From carl at personnelware.com Tue Nov 2 20:03:42 2010 From: carl at personnelware.com (Carl Karsten) Date: Tue, 2 Nov 2010 14:03:42 -0500 Subject: [Chicago] Template Document In-Reply-To: References: Message-ID: On Tue, Nov 2, 2010 at 1:33 PM, sheila miguez wrote: > On Tue, Nov 2, 2010 at 12:09 PM, Samir Faci wrote: > >> 1. Question 1 > >> I could probably write a very simple one on my own.. just wondering if >> there was any pre-existing technology / standard that I should look >> at. > > I don't know of a standard or of a tool that does this for you, so I > think you have to write it yourself. If you work at a large company, > other people are probably annoyed and may have written things to do > this too, so you should ask on internal back channels to see if anyone > has. you might get lucky. > > IMO > if you have to do it yourself, don't get too formal about what goes in > there. I'd be very lazy and go as unstructured as possible and use > something like . > post the data somewhere via , then when you > need the report, GET it and yay. > > maybe you don't have to use identica or something, maybe you could use > something that talks jabber over an internal jabber network? or > whatever. some people might want the traffic to be only internal. > > anyway... > I'm handwaving since I never was lazy enough to actually go through > the effort to design something. > > if you find out something exists and is sharable, please point me to it. > > This may be the next big thing. The 'problem' with time tracking systems is they want to track time. But trying to supply the data needed to do what it wants is so annoying that the system fails. What we need is a system that tracks activity, and if some pin head wants that expressed as time, some simple math and the fantasy is fulfilled. What is activity? all kinds of stuff: tweets, emails, code commits, unit tests being run, phone calls, IMs... I see a server that logs activity. I see a bunch of clients that feed it activity. the trick is to make the clients as unobtrusive as possible. personally, don't want them bothering me. The clients spew stuff at the server, and the server figures out how to classify it, including unclassified. Some clients will give it easy to classify stuff, like a code commit spew can start with project: and the number of lines/chars/files. for extra credit: The server can use some machine learning foo and use previously manually classified stuff as a pattern for new stuff. like if the same phone number comes up a few times, assume that all calls to/from that number are part of the same project. Oh yeah, back on my email to time report magic: I would review and fluff it a bit - if some project seemed like it was getting more/less than it's fair share, tweak the numbers. but the tweaks were done at the 'amount of stuff' level, so at the end of the day the math was still 8h/%stuff so I could boost one things stuff and not have to figure out where to pull from. I was salaried, so the fact that I may have worked 10 hours but only logged 8 wasn't hurting me. I would be surprised if it hurt anyone. -- Carl K From cwebber at dustycloud.org Tue Nov 2 20:04:35 2010 From: cwebber at dustycloud.org (Christopher Allan Webber) Date: Tue, 02 Nov 2010 14:04:35 -0500 Subject: [Chicago] Template Document In-Reply-To: (Samir Faci's message of "Tue, 2 Nov 2010 12:09:57 -0500") References: Message-ID: <8739rjwnr0.fsf@dustycloud.org> There is a tool that does pretty much all you're asking for and more. It's plaintext, it's beautiful, it's as simple or as complex as you need. It's called orgmode. http://orgmode.org/ http://orgmode.org/worg/org-tutorials/orgtutorial_dto.php It's also the best thing that's happened to me in years. Okay that's stretching it. Maybe it's not stretching it. Seriously, orgmode is the fucking best. Also, if you turn on logging, you can pull up a list of every item you've worked on very easily from the agenda. I use it to pull up lists of everything I've done for the last 2 weeks for our bi-weekly progress update at work. It also does task and note capturing, etc, with references back to where your task came from. I even use it to sync our work bugtracker with my local notes. I've been meaning to write a blogpost on this, it's pretty simple with org-babel. Emacs users only, though! Although if there weren't enough reasons already to use emacs, orgmode itself would be a reason. There are several vim users on the orgmode mailing list that only use emacs for orgmode (with viper-mode enabled of course) :O - cwebb Samir Faci writes: > I. Rant > > Okay.. so.. my work is currently driving me a bit crazy with reports... > > daily, weekly, monthly.... and starting to feel like I should have a > staring role with Office Space (well, there is a Samir in that movie > ). > > So.. I started a minor little pet project to encourage my laziness in > not keeping track of my time. > > I basically setup an identi.ca server, and I tweet what I'm working > on... and it generates a report saying > > yesterday: > * task 1 > * task 2 > > Today: > * task 1 > * task 2 > > > which is all working fine. Right now, I want to build a bit more > intelligence into it, and I was looking for some suggestions. > > 1. Question 1 > > I don't want to statically define what the report should look like, so > I was looking for some form of already existing (ideally) or simple > too that would allow a user to define a document template > > and have it define where certain data goes..... > > I could probably write a very simple one on my own.. just wondering if > there was any pre-existing technology / standard that I should look > at. > > ie: > > <> > * > * > > or... > , , > > allowing the user to format his report anyway he wants without having > to touch the code.... > > Okay.. so did that make sense? Let me know if I need to clarify > something... concept is still somewhat vague... but essentially I want > to build a tool to not have to deal with TPS reprots anymore. > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago From shekay at pobox.com Tue Nov 2 20:16:59 2010 From: shekay at pobox.com (sheila miguez) Date: Tue, 2 Nov 2010 14:16:59 -0500 Subject: [Chicago] Template Document In-Reply-To: References: Message-ID: On Tue, Nov 2, 2010 at 2:03 PM, Carl Karsten wrote: > for extra credit: The server can use some machine learning foo and use > previously manually classified stuff as a pattern for new stuff. ?like > if the same phone number comes up a few times, assume that all calls > to/from that number are part of the same project. I was at a data mining symposium at depaul the other day where someone gave a lightning talk on analysing code to trace requirements. http://dampa.cdm.depaul.edu/events/adms2010jane_huang.html I never found her to ask after the presentation if they used more than just code or were throwing all sorts of data at it. I have wanted to be able to take data such as code, dependencies, repository history and metadata, bug tracking info, wiki pages, edits, discussions, forums... everything! and toss it in to a system that could find clusters of interest that someone could look at and find interesting things... like if no one actually knows what the requirements are, you could have clusters of related data that would maybe fake out some concepts of what might be 'required' so that when you touch them you know you might want to talk to so and so product person. like, if you are wondering what to be paranoid about, you could see clusters of interest around places that have ever caused problems and know here be dragons. and know what kind of armor to wear. oh, and if you want to know who to talk to when you have a question about a system, this would help identify key people. there is so much information in all of the data when I start at a company and usually everything is hidden and inaccessible that you have to do information archaeology or anthropology to find it. I submitted this to code.google.com iirc as a feature request. as a joke, but also a very curious poke because if someone had something like this, you would imagine it would be them. -- sheila From tim at gebhardtcomputing.com Tue Nov 2 20:22:58 2010 From: tim at gebhardtcomputing.com (Tim Gebhardt) Date: Tue, 2 Nov 2010 14:22:58 -0500 Subject: [Chicago] Template Document In-Reply-To: <8739rjwnr0.fsf@dustycloud.org> References: <8739rjwnr0.fsf@dustycloud.org> Message-ID: List of good time tracking apps: http://lifehacker.com/5362829/five-best-time+tracking-applications I use ManicTime and it works on your whole Windows session, not just in Emacs. I use it to shame myself if I spend too much time browsing around and not getting stuff done. It works by recording what the active window over a period of time in the day. If you were in something document-centric and popular, like Firefox, Word, Visual Studio, etc. it'll even tell you what document you were working on or what website you were browsing. Then at the end of the day you can browse your detailed time line of what applications, documents, and websites you were actively using, and you can just click and drag regions of activity and tag them with what you were working on. It can then produces some pretty boss-friendly reports. I think the for-pay version even has some work-group level functionality. Tim Gebhardt tim at gebhardtcomputing.com On Tue, Nov 2, 2010 at 2:04 PM, Christopher Allan Webber < cwebber at dustycloud.org> wrote: > There is a tool that does pretty much all you're asking for and more. > It's plaintext, it's beautiful, it's as simple or as complex as you > need. > > It's called orgmode. > http://orgmode.org/ > http://orgmode.org/worg/org-tutorials/orgtutorial_dto.php > > It's also the best thing that's happened to me in years. Okay that's > stretching it. Maybe it's not stretching it. > > Seriously, orgmode is the fucking best. > > Also, if you turn on logging, you can pull up a list of every item > you've worked on very easily from the agenda. I use it to pull up lists > of everything I've done for the last 2 weeks for our bi-weekly progress > update at work. > > It also does task and note capturing, etc, with references back to where > your task came from. > > I even use it to sync our work bugtracker with my local notes. I've > been meaning to write a blogpost on this, it's pretty simple with > org-babel. > > Emacs users only, though! Although if there weren't enough reasons > already to use emacs, orgmode itself would be a reason. There are > several vim users on the orgmode mailing list that only use emacs for > orgmode (with viper-mode enabled of course) :O > > - cwebb > > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago > -------------- next part -------------- An HTML attachment was scrubbed... URL: From carl at personnelware.com Tue Nov 2 20:51:19 2010 From: carl at personnelware.com (Carl Karsten) Date: Tue, 2 Nov 2010 14:51:19 -0500 Subject: [Chicago] Template Document In-Reply-To: References: <8739rjwnr0.fsf@dustycloud.org> Message-ID: On Tue, Nov 2, 2010 at 2:22 PM, Tim Gebhardt wrote: > List of good time tracking apps: > http://lifehacker.com/5362829/five-best-time+tracking-applications > > I use ManicTime and it works on your whole Windows session, not just in > Emacs.? I use it to shame myself if I spend too much time browsing around > and not getting stuff done. > > It works by recording what the active window over a period of time in the > day.? If you were in something document-centric and popular, like Firefox, > Word, Visual Studio, etc. it'll even tell you what document you were working > on or what website you were browsing. /me adds that to the list of next big thing clients. -- Carl K From d-beazley at sbcglobal.net Fri Nov 5 03:29:25 2010 From: d-beazley at sbcglobal.net (David Beazley) Date: Thu, 4 Nov 2010 21:29:25 -0500 Subject: [Chicago] Learn Django - 3 instructors, 2 days - Nov. 18-19, Chicago Message-ID: <46343D85-E9C5-40C0-8B3F-95096FF72296@sbcglobal.net> An HTML attachment was scrubbed... URL: From carl at personnelware.com Mon Nov 8 19:07:04 2010 From: carl at personnelware.com (Carl Karsten) Date: Mon, 08 Nov 2010 18:07:04 -0000 Subject: [Chicago] ANN: ChiPy at ITA Thu November 11, 7p Message-ID: <20101108180704.3997.42561@localhost6.localdomain6> ChiPy ========================= When: 7 PM Thursday November 11, 2010 Where: ITA This will be our Best Meeting Ever! Topics ------ 1. 7:00 Mako and Cherrypy (Michael Mileusnich) 2. 7:45 Pizza (Imaginary Landscape) 3. 8:00 Tox (Kumar McMillan) Details ------- 1. Mako and Cherrypy Michael Mileusnich using Mako combined with Cherrypy to create a Python web server, passing data back and forth, and some javascript issues with certain browsers. 2. Pizza Imaginary Landscape We currently have a programmer position open, and as always are interested in freelancers. http://www.imagescape.com 5121 N Ravenswood Avenue ? Chicago, IL 60640 3. Tox Kumar McMillan http://codespeak.net/tox/ It's a great new open source tool that helps you support all versions of python with your existing automated tests. It's not a test runner, it's a super test runner runner! Or something. There is no easy way to describe it which is why the front page of the website is sort of confusing, IMO. We use tox on the Nose project to make sure each code change doesn't break the tests in Python 2.4, 2.5, 2.6, 2.7, 3.0 or Jython. Not everybody targets so many environments but if you want to maintain a widely used module then you probably will want to use tox someday. Here's our Hudson matrix setup w/ tox: http://hudson.testrun.org/job/nose-unstable/ (we just set this up recently which is why most builds were broken in one or two envs) I can also spend some time going over how we are currently maintaining a test suite that runs in both 2.x and 3.x simultaneously Location -------- Illinois Technology Association (ITA) 200 S. Wacker Drive 15th Floor Chicago, IL 60606 312.435.2805 http://www.illinoistech.org Metra: exit on Adams St, walk East across the bridge, first door on the right. Show your ID to security. Be on the list or they will be sad. http://chipy.org/FrontPage#sign-up About the group --------------- ChiPy is made up of people of all levels of programming and Python knowledge. At every meeting we have had both beginning programmers, people who are just starting to use Python, as well as experienced Python programmers. Don't be intimidated about coming to a meeting. Note that ChiPy is not a formal organization. We collect no dues, elect no officers, and keep no roster. Signing up for the mailing list carries no obligation. Nor does showing up at the meetings. Nor, at least so far, does anything else we have done, although we always appreciate it when our presenters show up. (They usually do!) http://chipy.org From tonkinjs at yahoo.com Tue Nov 9 12:42:26 2010 From: tonkinjs at yahoo.com (Jonathan Tonkin) Date: Tue, 9 Nov 2010 03:42:26 -0800 (PST) Subject: [Chicago] Several items that may be of interest to group members Message-ID: <442663.80261.qm@web111307.mail.gq1.yahoo.com> Hello, While this may not be directly related to group topics, here are several items that may be of interest to group members. 1.) (shortest first) The Chicago Chapter of the ACM is now on Facebook and Twitter. Join our Facebook Group (http://www.facebook.com/group.php?gid=59120137059) or follow us on Twitter (username: chicagoacm). 2.) Next ACM Meeting: November 10, 2010? A joint meeting with the Loyola University Computer Science Department Speaker: Michael Donnelly of Epic Topic: "Avoiding the Fall of Babel: Using Standards to Enable Communication Between Health Care Systems"? Wednesday, November 10, 2010, 6:30 pm 5:30 pm -6:30 pm (Social Hour) Loyola University Water Tower Campus (Chicago/Michigan Area) 820 N Michigan, Chicago IL 60611 Beane Ballroom (13th Floor, Lewis Towers) Campus map: http://www.luc.edu/about/pdfs/wtc_may09.pdf? Admission: Free (General Admission, No Reserved Seats) Reservations: To make a reservation, use this form: (http://spreadsheets.google.com/viewform?formkey=dFljY3BjYWJFSzN1RFpXYk1iZXpYYkE6MA) or send an e-mail to greg at neumarke.net.? About the Topic:? Hospitals and clinics are replacing their paper charts with electronic medical record systems. That change gives doctors and nurses quick and easy access to your medical information over the Internet. This talk will discuss the standards that enable this communication, the process by which those standards are formed, and their workflow and security implications. This will include discussion of standards and implementation profiles from www.hl7.org and www.ihe.net About the Speaker:? Michael Donnelly is a software engineer at Epic, a Madison, WI based company that creates software systems for medical groups, hospitals, and integrated healthcare organizations. Michael currently works on Care Everywhere, Epic's framework for cross-system interoperability. More details at: http://www.chicagoacm.org/ Thanks, Jonathan Tonkin? -------------- next part -------------- An HTML attachment was scrubbed... URL: From ianb at colorstudy.com Tue Nov 9 21:38:23 2010 From: ianb at colorstudy.com (Ian Bicking) Date: Tue, 9 Nov 2010 14:38:23 -0600 Subject: [Chicago] node.js performance In-Reply-To: References: Message-ID: I've seen some benchmarks (Mitsuhiko/Armen made one) where Node comes out as 2x as fast, but the other frameworks send 2x the data, so I disregarded the benchmark as nonsense. On Thu, Oct 28, 2010 at 2:29 PM, Garrett Smith wrote: > Has anyone benchmarked node.js against some of the faster* Python > threaded or async web servers? > > Sorry if this was covered earlier -- I kind of remember seeing something. > > Garrett > > * Statistic lie > -------------- next part -------------- An HTML attachment was scrubbed... URL: From skip at pobox.com Wed Nov 10 16:18:25 2010 From: skip at pobox.com (skip at pobox.com) Date: Wed, 10 Nov 2010 09:18:25 -0600 Subject: [Chicago] Upgraded FreeTDS and pymssql - now I can't connect Message-ID: <19674.47041.30069.234250@montanaro.dyndns.org> We upgraded pymssql/FreeTDS from 0.8.0/0.64 to 1.0.2/0.83. We are running our client on Solaris 10 and were getting other occasional problems, so wanted to get the later version of FreeTDS which has lots of bug fixes. After tweaking the freetds.conf file to set tds version to 4.2 we can connect to our MS-SQL database using the tsql command which comes with FreeTDS. Connects using pymssql fail though: >>> conn = pymssql.connect(database='DBNAME', ... host='SERVER:1433', ... user='USER', ... password='PASSWORD') Traceback (most recent call last): File "", line 4, in ? File "/opt/app/g++lib6/python-2.4/lib/python2.4/site-packages/ pymssql-1.0.2-py2.4-solaris-2.10-i86pc.egg.new/pymssql.py", line 609, in connect raise InterfaceError, e[0] pymssql.InterfaceError: Connection to the database failed for an unknown reason. I posted a message to the pymssql group last week but have received no response, so I'm casting a somewhat broader net looking for hints. Any ideas? Thx, -- Skip Montanaro - skip at pobox.com - http://www.smontanaro.net/ From kumar.mcmillan at gmail.com Wed Nov 10 17:33:16 2010 From: kumar.mcmillan at gmail.com (Kumar McMillan) Date: Wed, 10 Nov 2010 10:33:16 -0600 Subject: [Chicago] 2 talks In-Reply-To: <19663.53127.236610.258321@montanaro.dyndns.org> References: <19663.53127.236610.258321@montanaro.dyndns.org> Message-ID: On Tue, Nov 2, 2010 at 3:44 AM, wrote: > ? ?Carl> http://codespeak.net/tox/ ... > Wow! ?Instant convert here: > > ? ?... > ? ?[TOX] py26: commands succeeded > ? ?[TOX] py27: commands succeeded > ? ?[TOX] py31: commands succeeded > ? ?[TOX] congratulations :) > > Can't make the meeting (never can), but thanks for bringing this tool to my > attention. Sure, no problem! I think it will be super useful for bringing [soon to be] legacy modules into the 3.0 ecosystem. I proposed a lengthier talk about tox for PyCon but the one tomorrow will be, uh, more freeform. Will try to at least write some slides tonight :) -Kumar > > Skip > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago > From carl at personnelware.com Wed Nov 10 17:38:44 2010 From: carl at personnelware.com (Carl Karsten) Date: Wed, 10 Nov 2010 10:38:44 -0600 Subject: [Chicago] how to rsvp and order pizza Message-ID: http://chipy.org/FrontPage#sign-up -- Carl K From carl at personnelware.com Wed Nov 10 15:33:00 2010 From: carl at personnelware.com (Carl Karsten) Date: Wed, 10 Nov 2010 08:33:00 -0600 Subject: [Chicago] don't forget to rsvp and order pizza Message-ID: I don't see our speakers on the list. about noon tomorrow I am going to submit the pizza order. on ordering pizza, I get it from http://www.dylanstavern.com "Account Suspended' (anyone want to make them a web page? could prolly get free pizza.) http://chicago.menupages.com/restaurants/dylans-tavern-grill/menu says topings = ['Sausage', 'Bacon', 'Pepperoni', 'Mushroom', 'Onion', 'Jalapenos' , 'Broccoli', 'Spinach', 'Chicken'] So I would restrict my order to that. or call them up and see if they have what you want: (312) 876-2008 If someone wants to do us a favor, get the whole list of toppings (including olives) and post it. -- Carl K From jdh2358 at gmail.com Wed Nov 10 22:34:54 2010 From: jdh2358 at gmail.com (John Hunter) Date: Wed, 10 Nov 2010 15:34:54 -0600 Subject: [Chicago] Upgraded FreeTDS and pymssql - now I can't connect In-Reply-To: <19674.47041.30069.234250@montanaro.dyndns.org> References: <19674.47041.30069.234250@montanaro.dyndns.org> Message-ID: On Wed, Nov 10, 2010 at 9:18 AM, wrote: > I posted a message to the pymssql group last week but have received no > response, so I'm casting a somewhat broader net looking for hints. ?Any > ideas? Don't use solaris JDH From maney at two14.net Thu Nov 11 14:41:30 2010 From: maney at two14.net (Martin Maney) Date: Thu, 11 Nov 2010 07:41:30 -0600 Subject: [Chicago] 2 talks In-Reply-To: References: <19663.53127.236610.258321@montanaro.dyndns.org> Message-ID: <20101111134130.GA12739@furrr.two14.net> On Wed, Nov 10, 2010 at 10:33:16AM -0600, Kumar McMillan wrote: > Sure, no problem! I think it will be super useful for bringing [soon > to be] legacy modules into the 3.0 ecosystem. I proposed a lengthier I've kept this somewhat contrarian rant sitting in a tab for a while, because on the one hand I like pretty much everything about "Python 3000", but on the other hand in the real world, it feels about the way Mackall describes it: http://lwn.net/Articles/411251/ (...actually, I think I started writing this with another page in mind, one which I do not seem to have on tap, which went on some about it. The part I am forced to agree with is that in theory, Python 3 is great, but in practice little of the 3rd party code I rely upon runs there. Still. The migration plan appears to have been built on good intentions and moonbeams, or managed to overlook the thick web of interdependencies that actually exist. Or something.) -- That's the nature of static type systems ... There are programs you can write that can't be typed by a particular type system but which nevertheless don't "go wrong" at runtime ... They're just fine. -- Simon Peyton-Jones From kumar.mcmillan at gmail.com Thu Nov 11 18:10:51 2010 From: kumar.mcmillan at gmail.com (Kumar McMillan) Date: Thu, 11 Nov 2010 11:10:51 -0600 Subject: [Chicago] 2 talks In-Reply-To: <20101111134130.GA12739@furrr.two14.net> References: <19663.53127.236610.258321@montanaro.dyndns.org> <20101111134130.GA12739@furrr.two14.net> Message-ID: On Thu, Nov 11, 2010 at 7:41 AM, Martin Maney wrote: > I've kept this somewhat contrarian rant sitting in a tab for a while, > because on the one hand I like pretty much everything about "Python > 3000", but on the other hand in the real world, it feels about the way > Mackall describes it: > > ?http://lwn.net/Articles/411251/ > > (...actually, I think I started writing this with another page in mind, > one which I do not seem to have on tap, which went on some about it. > The part I am forced to agree with is that in theory, Python 3 is > great, but in practice little of the 3rd party code I rely upon runs > there. ?Still. ?The migration plan appears to have been built on good > intentions and moonbeams, or managed to overlook the thick web of > interdependencies that actually exist. ?Or something.) Yeah, it's a pretty bad chicken and egg problem -- no one wants to port until all their dependencies have ported and so begins the spiral of doom. I actually have been looking at the state of the top level packages that most modules depend on and most of them do support Python 3 by now even if it's in some forked bitbucket repo or wherever. So...what can we do to help everyone migrate their module we all depend on to Python 3?? That's what I'll talk about tonight; tox will be a key player here. Note that a lot of work and a lot of thought has gone into 2to3. I've used it to covert several modules and it generally just works out of the box. I think a lot of people don't realize this. -Kumar From carl at personnelware.com Thu Nov 11 20:03:30 2010 From: carl at personnelware.com (Carl Karsten) Date: Thu, 11 Nov 2010 13:03:30 -0600 Subject: [Chicago] ride to meeting Message-ID: I could use a ride tonight. mainly because I can't bring the recording gear and beer. and I am not feeling too good - head cold, so im being extra lazy. So if you can get me from Lawrence and Kedzie around 5:30 so that we can be to ITA by 630, that would be great. -- Carl K From pfein at pobox.com Thu Nov 11 21:01:08 2010 From: pfein at pobox.com (Peter Fein) Date: Thu, 11 Nov 2010 12:01:08 -0800 Subject: [Chicago] 2 talks In-Reply-To: References: <19663.53127.236610.258321@montanaro.dyndns.org> <20101111134130.GA12739@furrr.two14.net> Message-ID: <4CDC4B84.3050408@pobox.com> On 11/11/2010 09:10 AM, Kumar McMillan wrote: > Yeah, it's a pretty bad chicken and egg problem -- no one wants to > port until all their dependencies have ported and so begins the spiral > of doom. I actually have been looking at the state of the top level > packages that most modules depend on and most of them do support > Python 3 by now even if it's in some forked bitbucket repo or > wherever. > In theory, 2to3 and 3to2 are supposed to help with this... though there's still a motivation problem. I think a lot of packages will never get ported, and just fade away. Not necessarily a bad thing IMO. How does the packaging around this stuff work? Do you create different names on PYPI for 2 vs. 3? Run 2to3 in your setup.py? --Pete From kumar.mcmillan at gmail.com Thu Nov 11 21:27:37 2010 From: kumar.mcmillan at gmail.com (Kumar McMillan) Date: Thu, 11 Nov 2010 14:27:37 -0600 Subject: [Chicago] 2 talks In-Reply-To: <4CDC4B84.3050408@pobox.com> References: <19663.53127.236610.258321@montanaro.dyndns.org> <20101111134130.GA12739@furrr.two14.net> <4CDC4B84.3050408@pobox.com> Message-ID: On Thu, Nov 11, 2010 at 2:01 PM, Peter Fein wrote: > In theory, 2to3 and 3to2 are supposed to help with this... though there's > still a motivation problem. I think a lot of packages will never get ported, > and just fade away. Not necessarily a bad thing IMO. Heh, yeah, Darwinism! > > How does the packaging around this stuff work? Do you create different names > on PYPI for 2 vs. 3? Run 2to3 in your setup.py? Some people publish separate package names but I think it's poor form. The way I did it for fudge was to publish one package and let the conversion happen at install time via setup.py. For example, if you do: $ pip install fudge In 2.x then it does what you want. If you do this in 3.x it also does what you want: $ easy_install-3.1 fudge This would work with pip too but there isn't a version of pip for 3 yet (afaik). Note that easy_install is part of Distribute and is not the same as the old easy_install. So...all the magic happens with a special setup argument of use_2to3=True: https://bitbucket.org/kumar303/fudge/src/tip/setup.py You could also simply publish a 3.x compatible egg without creating a new package. I.E. just: $ python3.1 setup.py bdist_egg register upload -s You'd also need Distribute to build an egg (I think). -Kumar From brian.curtin at gmail.com Thu Nov 11 21:47:45 2010 From: brian.curtin at gmail.com (Brian Curtin) Date: Thu, 11 Nov 2010 14:47:45 -0600 Subject: [Chicago] 2 talks In-Reply-To: <4CDC4B84.3050408@pobox.com> References: <19663.53127.236610.258321@montanaro.dyndns.org> <20101111134130.GA12739@furrr.two14.net> <4CDC4B84.3050408@pobox.com> Message-ID: On Thu, Nov 11, 2010 at 14:01, Peter Fein wrote: > On 11/11/2010 09:10 AM, Kumar McMillan wrote: > >> Yeah, it's a pretty bad chicken and egg problem -- no one wants to >> port until all their dependencies have ported and so begins the spiral >> of doom. I actually have been looking at the state of the top level >> packages that most modules depend on and most of them do support >> Python 3 by now even if it's in some forked bitbucket repo or >> wherever. >> >> > In theory, 2to3 and 3to2 are supposed to help with this... though there's > still a motivation problem. I think a lot of packages will never get ported, > and just fade away. Not necessarily a bad thing IMO. Agreed on this not being a bad thing. I think getting people to port to 3.x is more of a social task than a technology task -- it's really not going to bite you. Obviously porting has a non-zero cost, but it's actually easy in most cases, and I think a lot of people have this mindset that it's some incredibly hard technological feat that they need to overcome. Sure, web-related things have a specific set of problems that need to be addressed (and there's traction recently in that area), but there are plenty of projects ripe for porting. With the PSF Sprints group, we're trying to solve part of the social aspect by *buying you pizza and beer if you spend time porting*. It makes the Python eco-system better, and it puts delicious food in your stomach. As a micro-benchmark, the unittestgui.py script came up on python-dev/TIP the other day and I wanted to run it with 3.x to see what it's about. It's a nifty little GUI for discovering and running tests. After about 5 minutes of "work", a simple 9-hunk diff makes it work on 2.7 and 3.1**. It involved changing the imports, removing some odd usage of the apply() built-in, and doing a "".join(blah) instead of string.join(blah, ""). ** tox would be helpful here :) -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian.curtin at gmail.com Fri Nov 12 05:32:18 2010 From: brian.curtin at gmail.com (Brian Curtin) Date: Thu, 11 Nov 2010 22:32:18 -0600 Subject: [Chicago] ChiPy development sprint - Sun Nov 21 Message-ID: While it's still fresh in everyone's mind from tonight's meeting (best one ever, btw), here's a signup form for the sprint that was mentioned... https://spreadsheets.google.com/viewform?formkey=dFY5bTlVSlVsVVV2UTJfYlRCNjYyM2c6MQ If you have suggestions on where we could hold this, I'm all ears. If you have suggestions on what we should work on, suggest away. Porting PIL, the Python Imaging Library, was a suggested topic. Working on CPython was another suggestion (just in time for 3.2 beta 1!) Overall I'm just looking to get a bunch of people together to hack on something. If we can make it a regular thing, that would be great. As I mentioned in the past, if we do stuff like porting packages to Python 3 or working on CPython, the PSF can help fund our efforts. -------------- next part -------------- An HTML attachment was scrubbed... URL: From brianhray at gmail.com Fri Nov 12 15:09:57 2010 From: brianhray at gmail.com (Brian Ray) Date: Fri, 12 Nov 2010 08:09:57 -0600 Subject: [Chicago] ChiPy North Meeting Message-ID: Fantastic meeting last night. Now for the North meeting.... Let's start planning for ChiPy North meeting next Thursday. http://chipy.org Dean has offered to host. Paul May also offered food. Can you guys confirm and work out some details on security and such? There has been some talk about presentations. Let's try to firm this up by the EOD Monday so I can send out the announcement on Tuesday. This is going to be fun. We had some cheers last night regarding a second monthly meeting. Now, let's make it happen. -- Brian Ray (773) 669-7717 From szybalski at gmail.com Fri Nov 12 23:13:10 2010 From: szybalski at gmail.com (Lukasz Szybalski) Date: Fri, 12 Nov 2010 16:13:10 -0600 Subject: [Chicago] ootools and openoffice.org headless with 3.2.1 WOW In-Reply-To: References: Message-ID: Just an FYI. In case somebody wants to do forms via Openoffice.... read on. Finally after few months of waiting the openoffice.org 3.2.1 is here in lenny backports. The speed improvement in that version are just insane fast. The response time compared to 3.1.1 is just amazing. ?So if you are into doing some kind of templates here is how to use openoffice in the code without touching ui ! Install ootools program: (http://pypi.python.org/pypi/ootools/0.1dev) easy_install ootools Then in python: import ootools oor=ootools.OORunner() oor.start() desktop=oor.connect() #...... oor.stop() The ootools start and stop the openoffice.org --hedless mode for you. This is a great tool for creating templates. In my case I use it with sqlalchemy to loop through records and create odt documents for each record that then get it printed and mailed. Few helpful links on how to write code for headless mode: http://lucasmanual.com/mywiki/OpenOffice Thank you, Lucas From skip at pobox.com Sat Nov 13 03:41:33 2010 From: skip at pobox.com (skip at pobox.com) Date: Fri, 12 Nov 2010 20:41:33 -0600 Subject: [Chicago] News Challenge deadline Dec 1 Message-ID: <19677.64221.396427.373589@montanaro.dyndns.org> Got this from a friend at work who thought some folks in this group might find it interesting. Skip ---------------------------------------------------------------------- From: Marc Fest, Knight Foundation Subject: pls forward: News Challenge deadline is Dec 1 Date: Thursday, November 11, 2010, 11:32 AM Hi - I would be grateful if you could forward the info below about the News Challenge to folks in your circle of influence. Thanks so much. --Marc Fest Deadline is Dec 1 for Knight News Challenge media innovation contest ==================================================================== If you have an innovative media technology idea, you might be able to get funding from the Knight News Challenge contest. Run by the Knight Foundation, the grant competition awards up to $5 million annually for innovative projects that use digital technology to transform the way communities send, receive and make use of news and information. More info can be found here: http://newschallenge.org. The site includes application information, as well as details about past winners. This year's application deadline is December 1. The News Challenge is looking for applications in four categories: mobile, authenticity, sustainability and community. All projects must make use of digital technology to distribute news in the public interest. The contest is open to anyone in the world. A simple description of the project is all you need to apply. Submit a brief pitch to http://newschallenge.org. If the reviewers like it, you'll be asked to submit a full proposal later. If you have questions you can a) reference the FAQ: http://www.newschallenge.org/frequently-asked-questions, or; b) check the archived chat transcript here: http://www.newschallenge.org/1026-live (another live chat will be held before the end of the contest period, time/date TBD) You can follow Knight Foundation at http://twitter.com/knightfdn. The News Challenge Twitter hashtag is #knc Please forward this to your friends. Thank you !! This message was sent by: John S. and James L. Knight Foundation, 200 South Biscayne Boulevard, Suite 3300, Miami, FL 33131 From robkapteyn at gmail.com Sat Nov 13 04:57:41 2010 From: robkapteyn at gmail.com (Rob Kapteyn) Date: Fri, 12 Nov 2010 21:57:41 -0600 Subject: [Chicago] Upgraded FreeTDS and pymssql - now I can't connect In-Reply-To: References: <19674.47041.30069.234250@montanaro.dyndns.org> Message-ID: <3AC26F17-75B1-4516-BA93-A1B9091EBF27@gmail.com> I'm afraid I have to agree with John. I have had similar problems with the cx_Oracle DB driver on Solaris. It is really hard to test a module with C-extensions on the many different versions and architectures of Solaris. Sparc is big-endian and x86 is little-endian. Integer bit-lengths don't correspond to 32/64 bit architecture in a consistent way. cx_Oracle has a low-level test suite that made the problem obvious for me to fix. Unfortunately, it does not look like pymssql has a similar test suite. -Rob On Nov 10, 2010, at 3:34 PM, John Hunter wrote: > On Wed, Nov 10, 2010 at 9:18 AM, wrote: > >> I posted a message to the pymssql group last week but have received no >> response, so I'm casting a somewhat broader net looking for hints. Any >> ideas? > > Don't use solaris > > JDH > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago From carl at personnelware.com Sun Nov 14 04:45:23 2010 From: carl at personnelware.com (Carl Karsten) Date: Sat, 13 Nov 2010 21:45:23 -0600 Subject: [Chicago] biz niz list Message-ID: I remember talk about starting a chicagoland consutant list. I forget if it ever happened. if it did, I'll repost over there. In the mean time: accounting software. like Quickbooks. Only I'll cry if I have to pay, given I spent over 15 years maintaining a payroll and billing system. I used to use the billing system for billing, which wasn't a great fit given it was meant for employment agencies. but AR is AR, so it worked good enough. But it is a windows app, and I don't do windows. Isn't there an open source system? I have heard of gnu cash, but not heard good things about it. I hear there is a new one that was almost ready to go a few years ago. anyone know what I am talking about? -- Carl K From samir at esamir.com Sun Nov 14 08:49:52 2010 From: samir at esamir.com (Samir Faci) Date: Sun, 14 Nov 2010 01:49:52 -0600 Subject: [Chicago] biz niz list In-Reply-To: References: Message-ID: hmm.. so I can't quiet remember that name exactly. This was several years ago.... but it basically was a webpage style accounting setup. You can setup accounts, payees, accounts receivable, payable. All kinds of fun accounting things that are above and beyond my head.. but it did look fairly polished. http://www.sql-ledger.org/ There we go.. my brain does function at 2 am...I knew sudo reboot would do the trick. The demo is at: http://abacus.sql-ledger.com/sl/login.pl nice perk of being available from any OS... GPL license and all that. It does have the downside of being web based. (depending on your point of view and paranoia level ). It might be overkill.. or it might not do anything close to what you want to do... but It's been around for at least 5-6 years. I remember finding it when I was still in IT, before I saw the light and opted to become a code monkey so I can claim ignorance about all technical OS, Networking aspects and just write code.... Anyways.. hope this helps.... they are apps like kmymoney and gnome equivalent but they seem fairly..... limited in what they can do. Probably connectivity with banks / financial institutions would work better with Quicken but hey.. you end up using a piece of code that's GPLed. -- Samir PS. it is 2 am.. if any of that is incoherent tag me about it, tomorrow morning. On Sat, Nov 13, 2010 at 9:45 PM, Carl Karsten wrote: > I remember talk about starting a chicagoland consutant list. ?I forget > if it ever happened. ?if it did, I'll repost over there. ?In the mean > time: accounting software. ?like Quickbooks. > > Only I'll cry if I have to pay, given I spent over 15 years > maintaining a payroll and billing system. ? I used to use the billing > system for billing, which wasn't a great fit given it was meant for > employment agencies. ?but AR is AR, so it worked good enough. ?But it > is a windows app, and I don't do windows. > > Isn't there an open source system? > > I have heard of gnu cash, but not heard good things about it. ?I hear > there is a new one that was almost ready to go a few years ago. > anyone know what I am talking about? > > -- > Carl K > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago > -- -- Samir Faci *insert title* fortune | cowsay -f /usr/share/cows/tux.cow From chad at glendenin.com Sun Nov 14 16:10:24 2010 From: chad at glendenin.com (Chad Glendenin) Date: Sun, 14 Nov 2010 09:10:24 -0600 Subject: [Chicago] biz niz list In-Reply-To: References: Message-ID: On Sat, Nov 13, 2010 at 9:45 PM, Carl Karsten wrote: > I remember talk about starting a chicagoland consutant list. ?I forget > if it ever happened. Maybe this one? http://groups.google.com/group/chicago-tech-freelancers From carl at personnelware.com Sun Nov 14 17:19:18 2010 From: carl at personnelware.com (Carl Karsten) Date: Sun, 14 Nov 2010 10:19:18 -0600 Subject: [Chicago] biz niz list In-Reply-To: References: Message-ID: On Sun, Nov 14, 2010 at 9:10 AM, Chad Glendenin wrote: > On Sat, Nov 13, 2010 at 9:45 PM, Carl Karsten wrote: >> I remember talk about starting a chicagoland consutant list. ?I forget >> if it ever happened. > > Maybe this one? http://groups.google.com/group/chicago-tech-freelancers yep. thanks. -- Carl K From christos.jonathan.hayward at gmail.com Sat Nov 13 04:48:07 2010 From: christos.jonathan.hayward at gmail.com (Jonathan Hayward) Date: Fri, 12 Nov 2010 21:48:07 -0600 Subject: [Chicago] Unicode-ASCII encoding issues Message-ID: My first attempt at getting UTF-8 encoded logging to a logfilie is failing; the last piece of code in the error page below is pasted here at the top. What's an appropriate way to correct this first attempt? Wrapping the time.asctime() in unicode() did not change the behavior. 1. def log_message(message): 2. log_file = os.path.join(os.path.dirname(__file__), 3. directory.settings.LOGFILE) 4. open(log_file, u'a').write(time.asctime() + u': ' + 1. unicode(message).encode(u'utf-8') + u'\n') *TTAdd new ? Bad network connection? ? Log out* UnicodeDecodeError at /ajax/save 'ascii' codec can't decode byte 0xe2 in position 46: ordinal not in range(128) Request Method:POSTRequest URL:http://localhost:8000/ajax/saveDjango Version:1.2.1Exception Type:UnicodeDecodeErrorException Value: 'ascii' codec can't decode byte 0xe2 in position 46: ordinal not in range(128) Exception Location:/Users/jonathan/directory/../directory/functions.py in log_message, line 67Python Executable: /opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/PythonPython Version:2.6.6Python Path:['/Users/jonathan/directory', '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip', '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6', '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin', '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac', '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages', '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk', '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old', '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload', '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages', '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/gtk-2.0', '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info']Server time:Fri, 12 Nov 2010 21:38:22 -0600 Unicode error hint The string that could not be encoded/decoded was: *to: ??????* Traceback Switch to copy-and-paste view - /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/handlers/base.py in get_response 1. # Apply view middleware 2. for middleware_method in self._view_middleware: 3. response = middleware_method(request, callback, callback_args, callback_kwargs) 4. if response: 5. return response 6. 7. try: 1. response = callback(request, *callback_args, **callback_kwargs) ... 1. except Exception, e: 2. # If the view raised an exception, run it through exception 3. # middleware, and if the exception middleware returns a 4. # response, use that. Otherwise, reraise the exception. 5. for middleware_method in self._exception_middleware: 6. response = middleware_method(request, e) ? Local vars VariableValuecallback callback_args () callback_kwargs {} e UnicodeDecodeError('ascii', 'Phone.description(2) changed by: jonathan to: \xe2\x80\xa6\xe2\x80\x94\xe2\x86\x92\n', 46, 47, 'ordinal not in range(128)') exc_info (, UnicodeDecodeError('ascii', 'Phone.description(2) changed by: jonathan to: \xe2\x80\xa6\xe2\x80\x94\xe2\x86\x92\n', 46, 47, 'ordinal not in range(128)'), ) exceptions middleware_method > receivers [(, None)] request , POST:, COOKIES:{'csrftoken': 'a2589ffcf0fe1503cdc253c24c28aeb2', 'sessionid': '1d97009d8d9f5d7a89334795c327981e'}, META:{'Apple_PubSub_Socket_Render': '/tmp/launch-p6njfE/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': '44', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DISPLAY': '/tmp/launch-15itE9/org.x:0', 'DJANGO_SETTINGS_MODULE': 'directory.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': '/Users/jonathan', 'HTTP_ACCEPT': 'text/html, */*', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; sessionid=1d97009d8d9f5d7a89334795c327981e', 'HTTP_HOST': 'localhost:8000', 'HTTP_ORIGIN': 'http://localhost:8000', 'HTTP_REFERER': ' http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7', 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'LANG': 'en_US.UTF-8', 'LOGNAME': 'jonathan', 'OLDPWD': '/Users/jonathan', 'PATH': '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', 'PATH_INFO': u'/ajax/save', 'PWD': '/Users/jonathan/directory', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SECURITYSESSIONID': '306880', 'SERVER_NAME': 'jonathan-haywards-computer.local', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.6.6', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/launch-4X29Vc/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273', 'TMPDIR': '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/', 'TZ': 'America/Chicago', 'USER': 'jonathan', '_': '/opt/local/bin/python', '__CF_USER_TEXT_ENCODING': '0x1F7:0:0', 'wsgi.errors': ', mode 'w' at 0x1002541e0>, 'wsgi.file_wrapper': , 'wsgi.input': , 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> resolver response None self settings urlconf 'directory.urls' urlresolvers - /Users/jonathan/directory/../directory/functions.py in wrap 1. import os 2. import re 3. import time 4. 5. def ajax_login_required(view_function): 6. def wrap(request, *arguments, **keywords): 7. if request.user.is_authenticated(): 1. return view_function(request, *arguments, **keywords) ... 1. output = json.dumps({ u'not_authenticated': True }) 2. return HttpResponse(output, mimetype = u'application/json') 3. wrap.__doc__ = view_function.__doc__ 4. wrap.__dict__ = view_function.__dict__ 5. return wrap 6. ? Local vars VariableValuearguments () keywords {} request , POST:, COOKIES:{'csrftoken': 'a2589ffcf0fe1503cdc253c24c28aeb2', 'sessionid': '1d97009d8d9f5d7a89334795c327981e'}, META:{'Apple_PubSub_Socket_Render': '/tmp/launch-p6njfE/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': '44', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DISPLAY': '/tmp/launch-15itE9/org.x:0', 'DJANGO_SETTINGS_MODULE': 'directory.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': '/Users/jonathan', 'HTTP_ACCEPT': 'text/html, */*', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; sessionid=1d97009d8d9f5d7a89334795c327981e', 'HTTP_HOST': 'localhost:8000', 'HTTP_ORIGIN': 'http://localhost:8000', 'HTTP_REFERER': ' http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7', 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'LANG': 'en_US.UTF-8', 'LOGNAME': 'jonathan', 'OLDPWD': '/Users/jonathan', 'PATH': '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', 'PATH_INFO': u'/ajax/save', 'PWD': '/Users/jonathan/directory', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SECURITYSESSIONID': '306880', 'SERVER_NAME': 'jonathan-haywards-computer.local', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.6.6', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/launch-4X29Vc/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273', 'TMPDIR': '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/', 'TZ': 'America/Chicago', 'USER': 'jonathan', '_': '/opt/local/bin/python', '__CF_USER_TEXT_ENCODING': '0x1F7:0:0', 'wsgi.errors': ', mode 'w' at 0x1002541e0>, 'wsgi.file_wrapper': , 'wsgi.input': , 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> view_function - /Users/jonathan/directory/../directory/views.py in save 1. change_set = None 2. if original_value != value: 3. change_set = register_edit(TEXT_CHANGED, instance, session, 4. username, request.META[u'REMOTE_ADDR'], field_name = field, 5. text_before = original_value, text_after = value) 6. directory.functions.log_message(unicode(model) + u'.' + 7. unicode(field) + "(" + unicode(id) + u') changed by: ' + 1. unicode(request.user.username) + u' to: ' + unicode(value) + u'\n') ... 1. if change_set != None: 2. return HttpResponse(value + u'') 3. else: 4. return HttpResponse(value) 5. 6. @ajax_login_required ? Local vars VariableValuechange_set None dictionary field u'description' html_id u'Phone_2' id 2 instance match <_sre.SRE_Match object at 0x101f0e690> model u'Phone' original_value u'\u2026\u2014\u2192' request , POST:, COOKIES:{'csrftoken': 'a2589ffcf0fe1503cdc253c24c28aeb2', 'sessionid': '1d97009d8d9f5d7a89334795c327981e'}, META:{'Apple_PubSub_Socket_Render': '/tmp/launch-p6njfE/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': '44', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DISPLAY': '/tmp/launch-15itE9/org.x:0', 'DJANGO_SETTINGS_MODULE': 'directory.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': '/Users/jonathan', 'HTTP_ACCEPT': 'text/html, */*', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; sessionid=1d97009d8d9f5d7a89334795c327981e', 'HTTP_HOST': 'localhost:8000', 'HTTP_ORIGIN': 'http://localhost:8000', 'HTTP_REFERER': ' http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7', 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'LANG': 'en_US.UTF-8', 'LOGNAME': 'jonathan', 'OLDPWD': '/Users/jonathan', 'PATH': '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', 'PATH_INFO': u'/ajax/save', 'PWD': '/Users/jonathan/directory', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SECURITYSESSIONID': '306880', 'SERVER_NAME': 'jonathan-haywards-computer.local', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.6.6', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/launch-4X29Vc/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273', 'TMPDIR': '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/', 'TZ': 'America/Chicago', 'USER': 'jonathan', '_': '/opt/local/bin/python', '__CF_USER_TEXT_ENCODING': '0x1F7:0:0', 'wsgi.errors': ', mode 'w' at 0x1002541e0>, 'wsgi.file_wrapper': , 'wsgi.input': , 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> selected_model session '1d97009d8d9f5d7a89334795c327981e' username u'jonathan' value u'\u2026\u2014\u2192' - /Users/jonathan/directory/../directory/functions.py in log_message 1. result += time.strftime(u', %Y') 2. return result 3. 4. def log_message(message): 5. log_file = os.path.join(os.path.dirname(__file__), 6. directory.settings.LOGFILE) 7. open(log_file, u'a').write(time.asctime() + u': ' + 1. unicode(message).encode(u'utf-8') + u'\n') ... 1. 2. def register_edit(change_type, instance, session, username, ip, change_set = 3. None, content_type = None, field_name = None, foreign_key_added = None, 4. foreign_key_deleted = None, text_before = None, text_after = None): 5. edit = directory.models.EditTrail() 6. edit.object_id = instance.id ? Local vars VariableValuelog_file u'/Users/jonathan/directory/../directory/log' message u'Phone.description(2) changed by: jonathan to: \u2026\u2014\u2192\n' Request informationGET No GET data POSTVariableValueid u'Phone_2' value u'\u2026\u2014\u2192' FILES No FILES data COOKIESVariableValuecsrftoken 'a2589ffcf0fe1503cdc253c24c28aeb2' sessionid '1d97009d8d9f5d7a89334795c327981e' METAVariableValueApple_PubSub_Socket_Render '/tmp/launch-p6njfE/Render' COMMAND_MODE 'unix2003' CONTENT_LENGTH '44' CONTENT_TYPE 'application/x-www-form-urlencoded' DISPLAY '/tmp/launch-15itE9/org.x:0' DJANGO_SETTINGS_MODULE 'directory.settings' GATEWAY_INTERFACE 'CGI/1.1' HOME '/Users/jonathan' HTTP_ACCEPT 'text/html, */*' HTTP_ACCEPT_CHARSET 'ISO-8859-1,utf-8;q=0.7,*;q=0.3' HTTP_ACCEPT_ENCODING 'gzip,deflate,sdch' HTTP_ACCEPT_LANGUAGE 'en-US,en;q=0.8' HTTP_CONNECTION 'keep-alive' HTTP_COOKIE 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; sessionid=1d97009d8d9f5d7a89334795c327981e' HTTP_HOST 'localhost:8000' HTTP_ORIGIN 'http://localhost:8000' HTTP_REFERER 'http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7' HTTP_USER_AGENT 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7' HTTP_X_REQUESTED_WITH 'XMLHttpRequest' LANG 'en_US.UTF-8' LOGNAME 'jonathan' OLDPWD '/Users/jonathan' PATH '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin' PATH_INFO u'/ajax/save' PWD '/Users/jonathan/directory' QUERY_STRING '' REMOTE_ADDR '127.0.0.1' REMOTE_HOST '' REQUEST_METHOD 'POST' RUN_MAIN 'true' SCRIPT_NAME u'' SECURITYSESSIONID '306880' SERVER_NAME 'jonathan-haywards-computer.local' SERVER_PORT '8000' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SOFTWARE 'WSGIServer/0.1 Python/2.6.6' SHELL '/bin/bash' SHLVL '1' SSH_AUTH_SOCK '/tmp/launch-4X29Vc/Listeners' TERM 'xterm-color' TERM_PROGRAM 'Apple_Terminal' TERM_PROGRAM_VERSION '273' TMPDIR '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/' TZ 'America/Chicago' USER 'jonathan' _ '/opt/local/bin/python' __CF_USER_TEXT_ENCODING '0x1F7:0:0' wsgi.errors ', mode 'w' at 0x1002541e0> wsgi.file_wrapper wsgi.input wsgi.multiprocess False wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'http' wsgi.version (1, 0) SettingsUsing settings module directory.settingsSettingValue ABSOLUTE_URL_OVERRIDES {} ADMINS () ADMIN_FOR () ADMIN_MEDIA_PREFIX '/media/' ALLOWED_INCLUDE_ROOTS () APPEND_SLASH True AUTHENTICATION_BACKENDS ('django.contrib.auth.backends.ModelBackend',) BANNED_IPS () CACHE_BACKEND 'locmem://' CACHE_MIDDLEWARE_KEY_PREFIX '' CACHE_MIDDLEWARE_SECONDS 600 COMMENTS_ALLOW_PROFANITIES False COMMENTS_BANNED_USERS_GROUP None COMMENTS_FIRST_FEW 0 COMMENTS_MODERATORS_GROUP None COMMENTS_SKETCHY_USERS_GROUP None CSRF_COOKIE_DOMAIN None CSRF_COOKIE_NAME 'csrftoken' CSRF_FAILURE_VIEW 'django.views.csrf.csrf_failure' DATABASES {'default': {'ENGINE': 'django.db.backends.sqlite3', 'HOST': '', 'NAME': 'directory.sqlite3', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': None, 'TEST_NAME': None, 'TIME_ZONE': 'America/Chicago', 'USER': ''}} DATABASE_ENGINE 'sqlite3' DATABASE_HOST '' DATABASE_NAME 'directory.sqlite3' DATABASE_OPTIONS {} DATABASE_PASSWORD '********************' DATABASE_PORT '' DATABASE_ROUTERS [] DATABASE_USER '' DATETIME_FORMAT 'N j, Y, P' DATETIME_INPUT_FORMATS ('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M', '%m/%d/%y') DATE_FORMAT 'N j, Y' DATE_INPUT_FORMATS ('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y') DEBUG True DEBUG_PROPAGATE_EXCEPTIONS False DECIMAL_SEPARATOR '.' DEFAULT_CHARSET 'utf-8' DEFAULT_CONTENT_TYPE 'text/html' DEFAULT_FILE_STORAGE 'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL 'webmaster at localhost' DEFAULT_INDEX_TABLESPACE '' DEFAULT_TABLESPACE '' DELAY_BETWEEN_RETRIES 1 DEPARTMENT_WEIGHT 30 DESCRIPTION_WEIGHT 30 DIRNAME '/Users/jonathan/directory/../directory' DISALLOWED_USER_AGENTS () EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST 'localhost' EMAIL_HOST_PASSWORD '********************' EMAIL_HOST_USER '' EMAIL_PORT 25 EMAIL_SUBJECT_PREFIX '[Django] ' EMAIL_USE_TLS False FILE_CHARSET 'utf-8' FILE_UPLOAD_HANDLERS ('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler') FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS () FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None IGNORABLE_404_ENDS ('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php') IGNORABLE_404_STARTS ('/cgi-bin/', '/_vti_bin', '/_vti_inf') INITIAL_RESULTS 10 INITIAL_STATI 5 INSTALLED_APPS ['directory', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites'] INTERNAL_IPS () LANGUAGES (('ar', 'Arabic'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinean Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')) LANGUAGES_BIDI ('he', 'ar', 'fa') LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_NAME 'django_language' LOCALE_PATHS () LOCATION_WEIGHT 10 LOGFILE u'log' LOGIN_REDIRECT_URL '/accounts/profile/' LOGIN_URL '/accounts/login/' LOGOUT_URL '/accounts/logout/' MANAGERS () MEDIA_ROOT '/Users/jonathan/directory/../directory/static/' MEDIA_URL '/static/' MESSAGE_STORAGE 'django.contrib.messages.storage.user_messages.LegacyFallbackStorage' MIDDLEWARE_CLASSES ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware') MONTH_DAY_FORMAT 'F j' NAME_WEIGHT 70 NUMBER_GROUPING 0 PASSWORD_RESET_TIMEOUT_DAYS '********************' PREPEND_WWW False PROFANITIES_LIST '********************' ROOT_URLCONF 'directory.urls' SECRET_KEY '********************' SEND_BROKEN_LINK_EMAILS False SERVER_EMAIL 'root at localhost' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_NAME 'sessionid' SESSION_COOKIE_PATH '/' SESSION_COOKIE_SECURE False SESSION_ENGINE 'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SETTINGS_MODULE 'directory.settings' SHORT_DATETIME_FORMAT 'm/d/Y P' SHORT_DATE_FORMAT 'm/d/Y' SHOULD_ALLOW_USERS_TO_CREATE_ACCOUNTS 1 SHOULD_DOWNLOAD_DIRECTORY 1 SHOULD_TURN_ON_HIJAXING 0 SITE_ID 1 STATUS_WEIGHT 1 TAG_WEIGHT 50 TEMPLATE_CONTEXT_PROCESSORS ('django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.contrib.messages.context_processors.messages') TEMPLATE_DEBUG True TEMPLATE_DIRS ('/Users/jonathan/directory/../directory/templates',) TEMPLATE_LOADERS ('django.template.loaders.filesystem.load_template_source', 'django.template.loaders.app_directories.load_template_source') TEMPLATE_STRING_IF_INVALID '' TEST_DATABASE_CHARSET None TEST_DATABASE_COLLATION None TEST_DATABASE_NAME None TEST_RUNNER 'django.test.simple.DjangoTestSuiteRunner' THOUSAND_SEPARATOR ',' TIME_FORMAT 'P' TIME_INPUT_FORMATS ('%H:%M:%S', '%H:%M') TIME_ZONE 'America/Chicago' TITLE_WEIGHT 50 TRANSACTIONS_MANAGED False URL_VALIDATOR_USER_AGENT 'Django/1.2.1 (http://www.djangoproject.com)' USE_ETAGS False USE_I18N True USE_L10N False USE_THOUSAND_SEPARATOR False YEAR_MONTH_FORMAT 'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 500 page. Photo directory: Search Search results Joel Goyeva Jonathan Hayward Web Developer, Test Alice Amazing Test Grandma and Grandpa Hayward (Insert name here) ??? ??? ??? ??? People, etc. Delete "???" ??? Upload image: Upload Title: *Click to add.* Description: *Click to add.* Tags: *Click to add.* Phone:** *OKCancel ? Click to add.* Email: *Click to add.* Webpages: *Click to add.* GPS: *Click to add.* Postal address: *Click to add.* Other contact information: *Click to add.* Time zone: Select A: Paris, +1:00 B: Athens, +2:00 C: Moscow, +3:00 D: Dubai, +4:00 -: Kabul, +4:30 E: Karachi, +5:00 -: New Delhi, +5:30 -: Kathmandu, :5:45 F: Dhaka, +6:00 -: Rangoon, +6:30 G: Jakarta, +7:00 H: Kuala Lumpur, +8:00 I: Tokyo, +9:00 -: Adelaide, +9:30 K: Sydney, +10:00 -: Lord Howe Island, +10:30 L: Solomon Islands, +11:00 -: Norfolk Island, +11:50 M: Auckland, +12:00 -: Chatham Islands, +12:45 -: Tonga, +13:00 -: Line Islands, +14:00 N: Azores, -1:00 O: Fernando de Norohna, -2:00 P: Rio de Janiero, -3:00 -: St. John's, -3:50 Q: Santiago, -4:00 -: Caracas, -4:30 R: New York City, -5:00 S: Chicago, -6:00 T: Boulder, -7:00 U: Los Angeles, -8:00 V: Anchorage, -9:00 -: Marquesas Islands, -9:30 W: Hawaii, -10:00 X: Samoa, -11:00 Y: Baker Island, -12:00 Z: London, +0:00 Observes daylight saving time: Department: * (Insert name here) Alice Amazing Grandma and Grandpa Hayward Joel Goyeva Jonathan Hayward Test ??? ??? ??? * Location: * (Insert name here) Alice Amazing Grandma and Grandpa Hayward Joel Goyeva Jonathan Hayward Test ??? ??? ??? * Reports to: * (Insert name here) Alice Amazing Grandma and Grandpa Hayward Joel Goyeva Jonathan Hayward Test ??? ??? ??? * Status: Click to add. -- [image: Christos Jonathan Hayward] Christos Jonathan Hayward, an Orthodox Christian author. Author Bio ? Books ? *Email * ? Facebook ? LinkedIn ? Twitter ? *Web * ? What's New? I invite you to visit my "theology, literature, and other creative works" site. -------------- next part -------------- An HTML attachment was scrubbed... URL: From kenschutte at gmail.com Mon Nov 15 15:55:48 2010 From: kenschutte at gmail.com (Ken Schutte) Date: Mon, 15 Nov 2010 08:55:48 -0600 Subject: [Chicago] Unicode-ASCII encoding issues In-Reply-To: References: Message-ID: It looks like 'message' is already encoded. For example, your value, >>> m = 'Phone.description(2) changed by: jonathan to: \xe2\x80\xa6\xe2\x80\x94\xe2\x86\x92\n' >>> unicode(m) Traceback (most recent call last): File "", line 1, in UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 46: ordinal not in range(128) gives an error. But, >>> unicode(m.decode('utf8')) u'Phone.description(2) changed by: jonathan to: \u2026\u2014\u2192\n' It okay (althought I'm not sure if that's the right encoding). See if you still get an error by replacing 'unicode(message)' with 'unicode(message.decode('utf8'))'. Generally, you don't need to wrap everything in unicode(). Be sure your original inputs are unicode, then simple "+" and Python with do the right thing. Then, worry about encodings only when you finally serialize, myfile.write(final_message.encode('utf8')) Ken On Fri, Nov 12, 2010 at 9:48 PM, Jonathan Hayward < christos.jonathan.hayward at gmail.com> wrote: > My first attempt at getting UTF-8 encoded logging to a logfilie is failing; > the last piece of code in the error page below is pasted here at the top. > What's an appropriate way to correct this first attempt? Wrapping the > time.asctime() in unicode() did not change the behavior. > > > 1. > def log_message(message): > 2. log_file = os.path.join(os.path.dirname(__file__), > 3. directory.settings.LOGFILE) > 4. open(log_file, u'a').write(time.asctime() + u': ' + > > > 1. unicode(message).encode(u'utf-8') + u'\n') > > *TTAdd new ? Bad network connection? > ? Log out* > > UnicodeDecodeError at /ajax/save > > 'ascii' codec can't decode byte 0xe2 in position 46: ordinal not in range(128) > > Request Method:POST Request URL:http://localhost:8000/ajax/save Django > Version:1.2.1 Exception Type:UnicodeDecodeError Exception Value: > > 'ascii' codec can't decode byte 0xe2 in position 46: ordinal not in range(128) > > Exception Location:/Users/jonathan/directory/../directory/functions.py in > log_message, line 67 Python Executable: > /opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python Python > Version:2.6.6 Python Path:['/Users/jonathan/directory', > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip', > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6', > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin', > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac', > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages', > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk', > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old', > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload', > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages', > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/gtk-2.0', > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info'] Server > time:Fri, 12 Nov 2010 21:38:22 -0600 > Unicode error hint > > The string that could not be encoded/decoded was: *to: ??????* > Traceback Switch to copy-and-paste view > > - > /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/handlers/base.py > in get_response > 1. # Apply view middleware > 2. for middleware_method in self._view_middleware: > 3. response = middleware_method(request, callback, callback_args, > callback_kwargs) > 4. if response: > 5. return response > 6. > 7. try: > 1. response = callback(request, *callback_args, **callback_kwargs) ... > 1. except Exception, e: > 2. # If the view raised an exception, run it through exception > 3. # middleware, and if the exception middleware returns a > 4. # response, use that. Otherwise, reraise the exception. > 5. for middleware_method in self._exception_middleware: > 6. response = middleware_method(request, e) > ? Local vars > Variable Value callback > > callback_args > () > callback_kwargs > {} > e > UnicodeDecodeError('ascii', 'Phone.description(2) changed by: jonathan > to: \xe2\x80\xa6\xe2\x80\x94\xe2\x86\x92\n', 46, 47, 'ordinal not in > range(128)') > exc_info > (, UnicodeDecodeError('ascii', > 'Phone.description(2) changed by: jonathan to: > \xe2\x80\xa6\xe2\x80\x94\xe2\x86\x92\n', 46, 47, 'ordinal not in > range(128)'), ) > exceptions > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/exceptions.pyc'> > middleware_method > 0x101d96a10>> > receivers > [(, None)] > request > , POST: [u'Phone_2'], u'value': [u'\u2026\u2014\u2192']}>, COOKIES:{'csrftoken': > 'a2589ffcf0fe1503cdc253c24c28aeb2', 'sessionid': > '1d97009d8d9f5d7a89334795c327981e'}, META:{'Apple_PubSub_Socket_Render': > '/tmp/launch-p6njfE/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': > '44', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DISPLAY': > '/tmp/launch-15itE9/org.x:0', 'DJANGO_SETTINGS_MODULE': > 'directory.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': > '/Users/jonathan', 'HTTP_ACCEPT': 'text/html, */*', 'HTTP_ACCEPT_CHARSET': > 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': > 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', > 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': > 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; > sessionid=1d97009d8d9f5d7a89334795c327981e', 'HTTP_HOST': 'localhost:8000', > 'HTTP_ORIGIN': 'http://localhost:8000', 'HTTP_REFERER': ' > http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7', > 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) > AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7', > 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'LANG': 'en_US.UTF-8', 'LOGNAME': > 'jonathan', 'OLDPWD': '/Users/jonathan', 'PATH': > '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', > 'PATH_INFO': u'/ajax/save', 'PWD': '/Users/jonathan/directory', > 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', > 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', > 'SECURITYSESSIONID': '306880', 'SERVER_NAME': > 'jonathan-haywards-computer.local', 'SERVER_PORT': '8000', > 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 > Python/2.6.6', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': > '/tmp/launch-4X29Vc/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': > 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273', 'TMPDIR': > '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/', 'TZ': > 'America/Chicago', 'USER': 'jonathan', '_': '/opt/local/bin/python', > '__CF_USER_TEXT_ENCODING': '0x1F7:0:0', 'wsgi.errors': '', mode 'w' at 0x1002541e0>, 'wsgi.file_wrapper': 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': > , 'wsgi.multiprocess': False, > 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', > 'wsgi.version': (1, 0)}> > resolver > > response > None > self > > settings > > urlconf > 'directory.urls' > urlresolvers > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/urlresolvers.pyc'> > - /Users/jonathan/directory/../directory/functions.py in wrap > 1. import os > 2. import re > 3. import time > 4. > 5. def ajax_login_required(view_function): > 6. def wrap(request, *arguments, **keywords): > 7. if request.user.is_authenticated(): > 1. return view_function(request, *arguments, **keywords) ... > 1. output = json.dumps({ u'not_authenticated': True }) > 2. return HttpResponse(output, mimetype = u'application/json') > 3. wrap.__doc__ = view_function.__doc__ > 4. wrap.__dict__ = view_function.__dict__ > 5. return wrap > 6. > ? Local vars > Variable Value arguments > () > keywords > {} > request > , POST: [u'Phone_2'], u'value': [u'\u2026\u2014\u2192']}>, COOKIES:{'csrftoken': > 'a2589ffcf0fe1503cdc253c24c28aeb2', 'sessionid': > '1d97009d8d9f5d7a89334795c327981e'}, META:{'Apple_PubSub_Socket_Render': > '/tmp/launch-p6njfE/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': > '44', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DISPLAY': > '/tmp/launch-15itE9/org.x:0', 'DJANGO_SETTINGS_MODULE': > 'directory.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': > '/Users/jonathan', 'HTTP_ACCEPT': 'text/html, */*', 'HTTP_ACCEPT_CHARSET': > 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': > 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', > 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': > 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; > sessionid=1d97009d8d9f5d7a89334795c327981e', 'HTTP_HOST': 'localhost:8000', > 'HTTP_ORIGIN': 'http://localhost:8000', 'HTTP_REFERER': ' > http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7', > 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) > AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7', > 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'LANG': 'en_US.UTF-8', 'LOGNAME': > 'jonathan', 'OLDPWD': '/Users/jonathan', 'PATH': > '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', > 'PATH_INFO': u'/ajax/save', 'PWD': '/Users/jonathan/directory', > 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', > 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', > 'SECURITYSESSIONID': '306880', 'SERVER_NAME': > 'jonathan-haywards-computer.local', 'SERVER_PORT': '8000', > 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 > Python/2.6.6', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': > '/tmp/launch-4X29Vc/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': > 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273', 'TMPDIR': > '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/', 'TZ': > 'America/Chicago', 'USER': 'jonathan', '_': '/opt/local/bin/python', > '__CF_USER_TEXT_ENCODING': '0x1F7:0:0', 'wsgi.errors': '', mode 'w' at 0x1002541e0>, 'wsgi.file_wrapper': 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': > , 'wsgi.multiprocess': False, > 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', > 'wsgi.version': (1, 0)}> > view_function > > - /Users/jonathan/directory/../directory/views.py in save > 1. change_set = None > 2. if original_value != value: > 3. change_set = register_edit(TEXT_CHANGED, instance, session, > 4. username, request.META[u'REMOTE_ADDR'], field_name = field, > 5. text_before = original_value, text_after = value) > 6. directory.functions.log_message(unicode(model) + u'.' + > 7. unicode(field) + "(" + unicode(id) + u') changed by: ' + > 1. unicode(request.user.username) + u' to: ' + unicode(value) + u'\n') > ... > 1. if change_set != None: > 2. return HttpResponse(value + u'') > 3. else: > 4. return HttpResponse(value) > 5. > 6. @ajax_login_required > ? Local vars > Variable Value change_set > None > dictionary > > field > u'description' > html_id > u'Phone_2' > id > 2 > instance > > match > <_sre.SRE_Match object at 0x101f0e690> > model > u'Phone' > original_value > u'\u2026\u2014\u2192' > request > , POST: [u'Phone_2'], u'value': [u'\u2026\u2014\u2192']}>, COOKIES:{'csrftoken': > 'a2589ffcf0fe1503cdc253c24c28aeb2', 'sessionid': > '1d97009d8d9f5d7a89334795c327981e'}, META:{'Apple_PubSub_Socket_Render': > '/tmp/launch-p6njfE/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': > '44', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DISPLAY': > '/tmp/launch-15itE9/org.x:0', 'DJANGO_SETTINGS_MODULE': > 'directory.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': > '/Users/jonathan', 'HTTP_ACCEPT': 'text/html, */*', 'HTTP_ACCEPT_CHARSET': > 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': > 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', > 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': > 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; > sessionid=1d97009d8d9f5d7a89334795c327981e', 'HTTP_HOST': 'localhost:8000', > 'HTTP_ORIGIN': 'http://localhost:8000', 'HTTP_REFERER': ' > http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7', > 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) > AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7', > 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'LANG': 'en_US.UTF-8', 'LOGNAME': > 'jonathan', 'OLDPWD': '/Users/jonathan', 'PATH': > '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', > 'PATH_INFO': u'/ajax/save', 'PWD': '/Users/jonathan/directory', > 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', > 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', > 'SECURITYSESSIONID': '306880', 'SERVER_NAME': > 'jonathan-haywards-computer.local', 'SERVER_PORT': '8000', > 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 > Python/2.6.6', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': > '/tmp/launch-4X29Vc/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': > 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273', 'TMPDIR': > '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/', 'TZ': > 'America/Chicago', 'USER': 'jonathan', '_': '/opt/local/bin/python', > '__CF_USER_TEXT_ENCODING': '0x1F7:0:0', 'wsgi.errors': '', mode 'w' at 0x1002541e0>, 'wsgi.file_wrapper': 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': > , 'wsgi.multiprocess': False, > 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', > 'wsgi.version': (1, 0)}> > selected_model > > session > '1d97009d8d9f5d7a89334795c327981e' > username > u'jonathan' > value > u'\u2026\u2014\u2192' > - /Users/jonathan/directory/../directory/functions.py in log_message > 1. result += time.strftime(u', %Y') > 2. return result > 3. > 4. def log_message(message): > 5. log_file = os.path.join(os.path.dirname(__file__), > 6. directory.settings.LOGFILE) > 7. open(log_file, u'a').write(time.asctime() + u': ' + > 1. unicode(message).encode(u'utf-8') + u'\n') ... > 1. > 2. def register_edit(change_type, instance, session, username, ip, > change_set = > 3. None, content_type = None, field_name = None, foreign_key_added = > None, > 4. foreign_key_deleted = None, text_before = None, text_after = > None): > 5. edit = directory.models.EditTrail() > 6. edit.object_id = instance.id > ? Local vars > Variable Value log_file > u'/Users/jonathan/directory/../directory/log' > message > u'Phone.description(2) changed by: jonathan to: \u2026\u2014\u2192\n' > > > > Request information GET > > No GET data > POST Variable Value id > u'Phone_2' > value > u'\u2026\u2014\u2192' > FILES > > No FILES data > COOKIES Variable Value csrftoken > 'a2589ffcf0fe1503cdc253c24c28aeb2' > sessionid > '1d97009d8d9f5d7a89334795c327981e' > META Variable Value Apple_PubSub_Socket_Render > '/tmp/launch-p6njfE/Render' > COMMAND_MODE > 'unix2003' > CONTENT_LENGTH > '44' > CONTENT_TYPE > 'application/x-www-form-urlencoded' > DISPLAY > '/tmp/launch-15itE9/org.x:0' > DJANGO_SETTINGS_MODULE > 'directory.settings' > GATEWAY_INTERFACE > 'CGI/1.1' > HOME > '/Users/jonathan' > HTTP_ACCEPT > 'text/html, */*' > HTTP_ACCEPT_CHARSET > 'ISO-8859-1,utf-8;q=0.7,*;q=0.3' > HTTP_ACCEPT_ENCODING > 'gzip,deflate,sdch' > HTTP_ACCEPT_LANGUAGE > 'en-US,en;q=0.8' > HTTP_CONNECTION > 'keep-alive' > HTTP_COOKIE > 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; > sessionid=1d97009d8d9f5d7a89334795c327981e' > HTTP_HOST > 'localhost:8000' > HTTP_ORIGIN > 'http://localhost:8000' > HTTP_REFERER > 'http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7' > HTTP_USER_AGENT > 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.7 > (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7' > HTTP_X_REQUESTED_WITH > 'XMLHttpRequest' > LANG > 'en_US.UTF-8' > LOGNAME > 'jonathan' > OLDPWD > '/Users/jonathan' > PATH > > '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin' > PATH_INFO > u'/ajax/save' > PWD > '/Users/jonathan/directory' > QUERY_STRING > '' > REMOTE_ADDR > '127.0.0.1' > REMOTE_HOST > '' > REQUEST_METHOD > 'POST' > RUN_MAIN > 'true' > SCRIPT_NAME > u'' > SECURITYSESSIONID > '306880' > SERVER_NAME > 'jonathan-haywards-computer.local' > SERVER_PORT > '8000' > SERVER_PROTOCOL > 'HTTP/1.1' > SERVER_SOFTWARE > 'WSGIServer/0.1 Python/2.6.6' > SHELL > '/bin/bash' > SHLVL > '1' > SSH_AUTH_SOCK > '/tmp/launch-4X29Vc/Listeners' > TERM > 'xterm-color' > TERM_PROGRAM > 'Apple_Terminal' > TERM_PROGRAM_VERSION > '273' > TMPDIR > '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/' > TZ > 'America/Chicago' > USER > 'jonathan' > _ > '/opt/local/bin/python' > __CF_USER_TEXT_ENCODING > '0x1F7:0:0' > wsgi.errors > ', mode 'w' at 0x1002541e0> > wsgi.file_wrapper > > wsgi.input > > wsgi.multiprocess > False > wsgi.multithread > True > wsgi.run_once > False > wsgi.url_scheme > 'http' > wsgi.version > (1, 0) > SettingsUsing settings module directory.settings Setting Value > ABSOLUTE_URL_OVERRIDES > {} > ADMINS > () > ADMIN_FOR > () > ADMIN_MEDIA_PREFIX > '/media/' > ALLOWED_INCLUDE_ROOTS > () > APPEND_SLASH > True > AUTHENTICATION_BACKENDS > ('django.contrib.auth.backends.ModelBackend',) > BANNED_IPS > () > CACHE_BACKEND > 'locmem://' > CACHE_MIDDLEWARE_KEY_PREFIX > '' > CACHE_MIDDLEWARE_SECONDS > 600 > COMMENTS_ALLOW_PROFANITIES > False > COMMENTS_BANNED_USERS_GROUP > None > COMMENTS_FIRST_FEW > 0 > COMMENTS_MODERATORS_GROUP > None > COMMENTS_SKETCHY_USERS_GROUP > None > CSRF_COOKIE_DOMAIN > None > CSRF_COOKIE_NAME > 'csrftoken' > CSRF_FAILURE_VIEW > 'django.views.csrf.csrf_failure' > DATABASES > {'default': {'ENGINE': 'django.db.backends.sqlite3', 'HOST': '', 'NAME': > 'directory.sqlite3', 'OPTIONS': {}, 'PASSWORD': '********************', > 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': > None, 'TEST_NAME': None, 'TIME_ZONE': 'America/Chicago', 'USER': ''}} > DATABASE_ENGINE > 'sqlite3' > DATABASE_HOST > '' > DATABASE_NAME > 'directory.sqlite3' > DATABASE_OPTIONS > {} > DATABASE_PASSWORD > '********************' > DATABASE_PORT > '' > DATABASE_ROUTERS > [] > DATABASE_USER > '' > DATETIME_FORMAT > 'N j, Y, P' > DATETIME_INPUT_FORMATS > ('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', > '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M', > '%m/%d/%y') > DATE_FORMAT > 'N j, Y' > DATE_INPUT_FORMATS > ('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', > '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y') > DEBUG > True > DEBUG_PROPAGATE_EXCEPTIONS > False > DECIMAL_SEPARATOR > '.' > DEFAULT_CHARSET > 'utf-8' > DEFAULT_CONTENT_TYPE > 'text/html' > DEFAULT_FILE_STORAGE > 'django.core.files.storage.FileSystemStorage' > DEFAULT_FROM_EMAIL > 'webmaster at localhost' > DEFAULT_INDEX_TABLESPACE > '' > DEFAULT_TABLESPACE > '' > DELAY_BETWEEN_RETRIES > 1 > DEPARTMENT_WEIGHT > 30 > DESCRIPTION_WEIGHT > 30 > DIRNAME > '/Users/jonathan/directory/../directory' > DISALLOWED_USER_AGENTS > () > EMAIL_BACKEND > 'django.core.mail.backends.smtp.EmailBackend' > EMAIL_HOST > 'localhost' > EMAIL_HOST_PASSWORD > '********************' > EMAIL_HOST_USER > '' > EMAIL_PORT > 25 > EMAIL_SUBJECT_PREFIX > '[Django] ' > EMAIL_USE_TLS > False > FILE_CHARSET > 'utf-8' > FILE_UPLOAD_HANDLERS > ('django.core.files.uploadhandler.MemoryFileUploadHandler', > 'django.core.files.uploadhandler.TemporaryFileUploadHandler') > FILE_UPLOAD_MAX_MEMORY_SIZE > 2621440 > FILE_UPLOAD_PERMISSIONS > None > FILE_UPLOAD_TEMP_DIR > None > FIRST_DAY_OF_WEEK > 0 > FIXTURE_DIRS > () > FORCE_SCRIPT_NAME > None > FORMAT_MODULE_PATH > None > IGNORABLE_404_ENDS > ('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', > '.php') > IGNORABLE_404_STARTS > ('/cgi-bin/', '/_vti_bin', '/_vti_inf') > INITIAL_RESULTS > 10 > INITIAL_STATI > 5 > INSTALLED_APPS > ['directory', 'django.contrib.admin', 'django.contrib.auth', > 'django.contrib.contenttypes', 'django.contrib.sessions', > 'django.contrib.sites'] > INTERNAL_IPS > () > LANGUAGES > (('ar', 'Arabic'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', > 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', > 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', > 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinean Spanish'), > ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), > ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), > ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), > ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', > 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', > 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), > ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian > Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pl', 'Polish'), ('pt', > 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', > 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), > ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', > 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', > 'Ukrainian'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), > ('zh-tw', 'Traditional Chinese')) > LANGUAGES_BIDI > ('he', 'ar', 'fa') > LANGUAGE_CODE > 'en-us' > LANGUAGE_COOKIE_NAME > 'django_language' > LOCALE_PATHS > () > LOCATION_WEIGHT > 10 > LOGFILE > u'log' > LOGIN_REDIRECT_URL > '/accounts/profile/' > LOGIN_URL > '/accounts/login/' > LOGOUT_URL > '/accounts/logout/' > MANAGERS > () > MEDIA_ROOT > '/Users/jonathan/directory/../directory/static/' > MEDIA_URL > '/static/' > MESSAGE_STORAGE > 'django.contrib.messages.storage.user_messages.LegacyFallbackStorage' > MIDDLEWARE_CLASSES > ('django.middleware.common.CommonMiddleware', > 'django.contrib.sessions.middleware.SessionMiddleware', > 'django.contrib.auth.middleware.AuthenticationMiddleware') > MONTH_DAY_FORMAT > 'F j' > NAME_WEIGHT > 70 > NUMBER_GROUPING > 0 > PASSWORD_RESET_TIMEOUT_DAYS > '********************' > PREPEND_WWW > False > PROFANITIES_LIST > '********************' > ROOT_URLCONF > 'directory.urls' > SECRET_KEY > '********************' > SEND_BROKEN_LINK_EMAILS > False > SERVER_EMAIL > 'root at localhost' > SESSION_COOKIE_AGE > 1209600 > SESSION_COOKIE_DOMAIN > None > SESSION_COOKIE_NAME > 'sessionid' > SESSION_COOKIE_PATH > '/' > SESSION_COOKIE_SECURE > False > SESSION_ENGINE > 'django.contrib.sessions.backends.db' > SESSION_EXPIRE_AT_BROWSER_CLOSE > False > SESSION_FILE_PATH > None > SESSION_SAVE_EVERY_REQUEST > False > SETTINGS_MODULE > 'directory.settings' > SHORT_DATETIME_FORMAT > 'm/d/Y P' > SHORT_DATE_FORMAT > 'm/d/Y' > SHOULD_ALLOW_USERS_TO_CREATE_ACCOUNTS > 1 > SHOULD_DOWNLOAD_DIRECTORY > 1 > SHOULD_TURN_ON_HIJAXING > 0 > SITE_ID > 1 > STATUS_WEIGHT > 1 > TAG_WEIGHT > 50 > TEMPLATE_CONTEXT_PROCESSORS > ('django.contrib.auth.context_processors.auth', > 'django.core.context_processors.debug', > 'django.core.context_processors.i18n', > 'django.core.context_processors.media', > 'django.contrib.messages.context_processors.messages') > TEMPLATE_DEBUG > True > TEMPLATE_DIRS > ('/Users/jonathan/directory/../directory/templates',) > TEMPLATE_LOADERS > ('django.template.loaders.filesystem.load_template_source', > 'django.template.loaders.app_directories.load_template_source') > TEMPLATE_STRING_IF_INVALID > '' > TEST_DATABASE_CHARSET > None > TEST_DATABASE_COLLATION > None > TEST_DATABASE_NAME > None > TEST_RUNNER > 'django.test.simple.DjangoTestSuiteRunner' > THOUSAND_SEPARATOR > ',' > TIME_FORMAT > 'P' > TIME_INPUT_FORMATS > ('%H:%M:%S', '%H:%M') > TIME_ZONE > 'America/Chicago' > TITLE_WEIGHT > 50 > TRANSACTIONS_MANAGED > False > URL_VALIDATOR_USER_AGENT > 'Django/1.2.1 (http://www.djangoproject.com)' > USE_ETAGS > False > USE_I18N > True > USE_L10N > False > USE_THOUSAND_SEPARATOR > False > YEAR_MONTH_FORMAT > 'F Y' > > You're seeing this error because you have DEBUG = True in your Django > settings file. Change that to False, and Django will display a standard > 500 page. > > Photo directory: Search > Search results > > Joel Goyeva > > Jonathan Hayward > Web Developer, > Test > > Alice Amazing > > Test > > Grandma and Grandpa Hayward > > (Insert name here) > > ??? > > ??? > > ??? > ??? > People, etc. > Delete "???" > ??? > Upload image: > > Upload > > Title: *Click to add.* > > Description: *Click to add.* > > Tags: *Click to add.* > > Phone:** > *OKCancel ? Click to add.* > > Email: *Click to add.* > > Webpages: *Click to add.* > > GPS: *Click to add.* > > Postal address: *Click to add.* > > Other contact information: *Click to add.* > > Time zone: Select A: Paris, > +1:00 B: Athens, +2:00 C: > Moscow, +3:00 D: Dubai, +4:00 -: > Kabul, +4:30 E: Karachi, +5:00 -: > New Delhi, +5:30 -: Kathmandu, :5:45 > F: Dhaka, +6:00 -: Rangoon, +6:30 > G: Jakarta, +7:00 H: Kuala Lumpur, +8:00 > I: Tokyo, +9:00 -: Adelaide, +9:30 > K: Sydney, +10:00 -: Lord Howe > Island, +10:30 L: Solomon Islands, +11:00 > -: Norfolk Island, +11:50 M: Auckland, > +12:00 -: Chatham Islands, +12:45 > -: Tonga, +13:00 -: Line Islands, +14:00 > N: Azores, -1:00 O: Fernando de Norohna, > -2:00 P: Rio de Janiero, -3:00 -: > St. John's, -3:50 Q: Santiago, -4:00 > -: Caracas, -4:30 R: New York City, -5:00 > S: Chicago, -6:00 T: Boulder, -7:00 > U: Los Angeles, -8:00 V: Anchorage, > -9:00 -: Marquesas Islands, -9:30 > W: Hawaii, -10:00 X: Samoa, -11:00 > Y: Baker Island, -12:00 Z: London, +0:00 > > Observes daylight saving time: > > Department: * > (Insert name here) Alice Amazing Grandma > and Grandpa Hayward Joel Goyeva Jonathan > Hayward Test ??? ??? > ??? * > > Location: * > (Insert name here) Alice Amazing Grandma > and Grandpa Hayward Joel Goyeva Jonathan > Hayward Test ??? ??? > ??? * > > Reports to: * > (Insert name here) Alice Amazing Grandma > and Grandpa Hayward Joel Goyeva Jonathan > Hayward Test ??? ??? > ??? * > > Status: > Click to add. > > > -- > [image: Christos Jonathan Hayward] > Christos Jonathan Hayward, an Orthodox Christian author. > > Author Bio ? Books > ? *Email * ? Facebook > ? LinkedIn ? Twitter > ? *Web * ? What's New? > I invite you to visit my "theology, literature, and other creative works" > site. > > > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mwalsh at groktech.org Mon Nov 15 19:05:48 2010 From: mwalsh at groktech.org (Martin Walsh) Date: Mon, 15 Nov 2010 12:05:48 -0600 Subject: [Chicago] biz niz list In-Reply-To: References: Message-ID: <4CE1767C.9070802@groktech.org> On 11/13/2010 09:45 PM, Carl Karsten wrote: > Isn't there an open source system? > > I have heard of gnu cash, but not heard good things about it. I hear > there is a new one that was almost ready to go a few years ago. > anyone know what I am talking about? Any chance you're thinking of FiveDash? They gave a lightning talk at pycon '08, but it appears the project is currently dead. Too bad. http://www.fivedash.com/ HTH, Marty From kumar.mcmillan at gmail.com Mon Nov 15 22:05:26 2010 From: kumar.mcmillan at gmail.com (Kumar McMillan) Date: Mon, 15 Nov 2010 15:05:26 -0600 Subject: [Chicago] Unicode-ASCII encoding issues In-Reply-To: References: Message-ID: On Mon, Nov 15, 2010 at 8:55 AM, Ken Schutte wrote: > It looks like 'message' is already encoded. For example, your value, > > >>> m = 'Phone.description(2) changed by: jonathan to: > \xe2\x80\xa6\xe2\x80\x94\xe2\x86\x92\n' > >>> unicode(m) > to further elaborate, you've encountered a confusing part of Python. The call to unicode(m) is the same as unicode(m, sys.getdefaultencoding()) or more succinctly, m.decode(sys.getdefaultencoding()). This is probably the same as m.decode('ascii') on your machine. so don't do that. Do : unicode(m, 'utf8') if you are sure it is utf8 otherwise you need to use chardet -- http://chardet.feedparser.org/ -- or check the HTTP request headers (which aren't always reliable). It's pretty crappy that Python lets you "fall back" to the default encoding but then again PHP developers will complain that an exception gets raised at all, which will render your website useless in Python. In Python 3 the default is better but you *still* have to deal with all the different ways bytestrings can be encoded. Good luck! > Traceback (most recent call last): > File "", line 1, in > UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 46: > ordinal not in range(128) > > gives an error. But, > > >>> unicode(m.decode('utf8')) > u'Phone.description(2) changed by: jonathan to: \u2026\u2014\u2192\n' > > > It okay (althought I'm not sure if that's the right encoding). > > > See if you still get an error by replacing 'unicode(message)' with > 'unicode(message.decode('utf8'))'. > > Generally, you don't need to wrap everything in unicode(). Be sure your > original inputs are unicode, then simple "+" and Python with do the right > thing. > > Then, worry about encodings only when you finally serialize, > > myfile.write(final_message.encode('utf8')) > > > > Ken > > > > On Fri, Nov 12, 2010 at 9:48 PM, Jonathan Hayward < > christos.jonathan.hayward at gmail.com> wrote: > >> My first attempt at getting UTF-8 encoded logging to a logfilie is >> failing; the last piece of code in the error page below is pasted here at >> the top. What's an appropriate way to correct this first attempt? Wrapping >> the time.asctime() in unicode() did not change the behavior. >> >> >> 1. >> def log_message(message): >> 2. log_file = os.path.join(os.path.dirname(__file__), >> 3. directory.settings.LOGFILE) >> 4. open(log_file, u'a').write(time.asctime() + u': ' + >> >> >> 1. unicode(message).encode(u'utf-8') + u'\n') >> >> *TTAdd new ? Bad network connection? >> ? Log out* >> >> UnicodeDecodeError at /ajax/save >> >> 'ascii' codec can't decode byte 0xe2 in position 46: ordinal not in range(128) >> >> Request Method:POST Request URL:http://localhost:8000/ajax/save Django >> Version:1.2.1 Exception Type:UnicodeDecodeError Exception Value: >> >> 'ascii' codec can't decode byte 0xe2 in position 46: ordinal not in range(128) >> >> Exception Location:/Users/jonathan/directory/../directory/functions.py >> in log_message, line 67 Python Executable: >> /opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python Python >> Version:2.6.6 Python Path:['/Users/jonathan/directory', >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip', >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6', >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin', >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac', >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages', >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk', >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old', >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload', >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages', >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/gtk-2.0', >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info'] Server >> time:Fri, 12 Nov 2010 21:38:22 -0600 >> Unicode error hint >> >> The string that could not be encoded/decoded was: *to: ??????* >> Traceback Switch to copy-and-paste view >> >> - >> /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/handlers/base.py >> in get_response >> 1. # Apply view middleware >> 2. for middleware_method in self._view_middleware: >> 3. response = middleware_method(request, callback, callback_args, >> callback_kwargs) >> 4. if response: >> 5. return response >> 6. >> 7. try: >> 1. response = callback(request, *callback_args, **callback_kwargs) ... >> 1. except Exception, e: >> 2. # If the view raised an exception, run it through exception >> 3. # middleware, and if the exception middleware returns a >> 4. # response, use that. Otherwise, reraise the exception. >> 5. for middleware_method in self._exception_middleware: >> 6. response = middleware_method(request, e) >> ? Local vars >> Variable Value callback >> >> callback_args >> () >> callback_kwargs >> {} >> e >> UnicodeDecodeError('ascii', 'Phone.description(2) changed by: jonathan >> to: \xe2\x80\xa6\xe2\x80\x94\xe2\x86\x92\n', 46, 47, 'ordinal not in >> range(128)') >> exc_info >> (, UnicodeDecodeError('ascii', >> 'Phone.description(2) changed by: jonathan to: >> \xe2\x80\xa6\xe2\x80\x94\xe2\x86\x92\n', 46, 47, 'ordinal not in >> range(128)'), ) >> exceptions >> > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/exceptions.pyc'> >> middleware_method >> > > 0x101d96a10>> >> receivers >> [(, None)] >> request >> , POST:> [u'Phone_2'], u'value': [u'\u2026\u2014\u2192']}>, COOKIES:{'csrftoken': >> 'a2589ffcf0fe1503cdc253c24c28aeb2', 'sessionid': >> '1d97009d8d9f5d7a89334795c327981e'}, META:{'Apple_PubSub_Socket_Render': >> '/tmp/launch-p6njfE/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': >> '44', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DISPLAY': >> '/tmp/launch-15itE9/org.x:0', 'DJANGO_SETTINGS_MODULE': >> 'directory.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': >> '/Users/jonathan', 'HTTP_ACCEPT': 'text/html, */*', 'HTTP_ACCEPT_CHARSET': >> 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': >> 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', >> 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': >> 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; >> sessionid=1d97009d8d9f5d7a89334795c327981e', 'HTTP_HOST': 'localhost:8000', >> 'HTTP_ORIGIN': 'http://localhost:8000', 'HTTP_REFERER': ' >> http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7', >> 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) >> AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7', >> 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'LANG': 'en_US.UTF-8', 'LOGNAME': >> 'jonathan', 'OLDPWD': '/Users/jonathan', 'PATH': >> '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', >> 'PATH_INFO': u'/ajax/save', 'PWD': '/Users/jonathan/directory', >> 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', >> 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', >> 'SECURITYSESSIONID': '306880', 'SERVER_NAME': >> 'jonathan-haywards-computer.local', 'SERVER_PORT': '8000', >> 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 >> Python/2.6.6', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': >> '/tmp/launch-4X29Vc/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': >> 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273', 'TMPDIR': >> '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/', 'TZ': >> 'America/Chicago', 'USER': 'jonathan', '_': '/opt/local/bin/python', >> '__CF_USER_TEXT_ENCODING': '0x1F7:0:0', 'wsgi.errors': > '', mode 'w' at 0x1002541e0>, 'wsgi.file_wrapper': > 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': >> , 'wsgi.multiprocess': False, >> 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', >> 'wsgi.version': (1, 0)}> >> resolver >> >> response >> None >> self >> >> settings >> >> urlconf >> 'directory.urls' >> urlresolvers >> > '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/urlresolvers.pyc'> >> - /Users/jonathan/directory/../directory/functions.py in wrap >> 1. import os >> 2. import re >> 3. import time >> 4. >> 5. def ajax_login_required(view_function): >> 6. def wrap(request, *arguments, **keywords): >> 7. if request.user.is_authenticated(): >> 1. return view_function(request, *arguments, **keywords) ... >> 1. output = json.dumps({ u'not_authenticated': True }) >> 2. return HttpResponse(output, mimetype = u'application/json') >> 3. wrap.__doc__ = view_function.__doc__ >> 4. wrap.__dict__ = view_function.__dict__ >> 5. return wrap >> 6. >> ? Local vars >> Variable Value arguments >> () >> keywords >> {} >> request >> , POST:> [u'Phone_2'], u'value': [u'\u2026\u2014\u2192']}>, COOKIES:{'csrftoken': >> 'a2589ffcf0fe1503cdc253c24c28aeb2', 'sessionid': >> '1d97009d8d9f5d7a89334795c327981e'}, META:{'Apple_PubSub_Socket_Render': >> '/tmp/launch-p6njfE/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': >> '44', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DISPLAY': >> '/tmp/launch-15itE9/org.x:0', 'DJANGO_SETTINGS_MODULE': >> 'directory.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': >> '/Users/jonathan', 'HTTP_ACCEPT': 'text/html, */*', 'HTTP_ACCEPT_CHARSET': >> 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': >> 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', >> 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': >> 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; >> sessionid=1d97009d8d9f5d7a89334795c327981e', 'HTTP_HOST': 'localhost:8000', >> 'HTTP_ORIGIN': 'http://localhost:8000', 'HTTP_REFERER': ' >> http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7', >> 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) >> AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7', >> 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'LANG': 'en_US.UTF-8', 'LOGNAME': >> 'jonathan', 'OLDPWD': '/Users/jonathan', 'PATH': >> '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', >> 'PATH_INFO': u'/ajax/save', 'PWD': '/Users/jonathan/directory', >> 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', >> 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', >> 'SECURITYSESSIONID': '306880', 'SERVER_NAME': >> 'jonathan-haywards-computer.local', 'SERVER_PORT': '8000', >> 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 >> Python/2.6.6', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': >> '/tmp/launch-4X29Vc/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': >> 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273', 'TMPDIR': >> '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/', 'TZ': >> 'America/Chicago', 'USER': 'jonathan', '_': '/opt/local/bin/python', >> '__CF_USER_TEXT_ENCODING': '0x1F7:0:0', 'wsgi.errors': > '', mode 'w' at 0x1002541e0>, 'wsgi.file_wrapper': > 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': >> , 'wsgi.multiprocess': False, >> 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', >> 'wsgi.version': (1, 0)}> >> view_function >> >> - /Users/jonathan/directory/../directory/views.py in save >> 1. change_set = None >> 2. if original_value != value: >> 3. change_set = register_edit(TEXT_CHANGED, instance, session, >> 4. username, request.META[u'REMOTE_ADDR'], field_name = field, >> 5. text_before = original_value, text_after = value) >> 6. directory.functions.log_message(unicode(model) + u'.' + >> 7. unicode(field) + "(" + unicode(id) + u') changed by: ' + >> 1. unicode(request.user.username) + u' to: ' + unicode(value) + u'\n') >> ... >> 1. if change_set != None: >> 2. return HttpResponse(value + u'') >> 3. else: >> 4. return HttpResponse(value) >> 5. >> 6. @ajax_login_required >> ? Local vars >> Variable Value change_set >> None >> dictionary >> >> field >> u'description' >> html_id >> u'Phone_2' >> id >> 2 >> instance >> >> match >> <_sre.SRE_Match object at 0x101f0e690> >> model >> u'Phone' >> original_value >> u'\u2026\u2014\u2192' >> request >> , POST:> [u'Phone_2'], u'value': [u'\u2026\u2014\u2192']}>, COOKIES:{'csrftoken': >> 'a2589ffcf0fe1503cdc253c24c28aeb2', 'sessionid': >> '1d97009d8d9f5d7a89334795c327981e'}, META:{'Apple_PubSub_Socket_Render': >> '/tmp/launch-p6njfE/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': >> '44', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DISPLAY': >> '/tmp/launch-15itE9/org.x:0', 'DJANGO_SETTINGS_MODULE': >> 'directory.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': >> '/Users/jonathan', 'HTTP_ACCEPT': 'text/html, */*', 'HTTP_ACCEPT_CHARSET': >> 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': >> 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', >> 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': >> 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; >> sessionid=1d97009d8d9f5d7a89334795c327981e', 'HTTP_HOST': 'localhost:8000', >> 'HTTP_ORIGIN': 'http://localhost:8000', 'HTTP_REFERER': ' >> http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7', >> 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) >> AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7', >> 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'LANG': 'en_US.UTF-8', 'LOGNAME': >> 'jonathan', 'OLDPWD': '/Users/jonathan', 'PATH': >> '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', >> 'PATH_INFO': u'/ajax/save', 'PWD': '/Users/jonathan/directory', >> 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', >> 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', >> 'SECURITYSESSIONID': '306880', 'SERVER_NAME': >> 'jonathan-haywards-computer.local', 'SERVER_PORT': '8000', >> 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 >> Python/2.6.6', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': >> '/tmp/launch-4X29Vc/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': >> 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273', 'TMPDIR': >> '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/', 'TZ': >> 'America/Chicago', 'USER': 'jonathan', '_': '/opt/local/bin/python', >> '__CF_USER_TEXT_ENCODING': '0x1F7:0:0', 'wsgi.errors': > '', mode 'w' at 0x1002541e0>, 'wsgi.file_wrapper': > 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': >> , 'wsgi.multiprocess': False, >> 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', >> 'wsgi.version': (1, 0)}> >> selected_model >> >> session >> '1d97009d8d9f5d7a89334795c327981e' >> username >> u'jonathan' >> value >> u'\u2026\u2014\u2192' >> - /Users/jonathan/directory/../directory/functions.py in log_message >> 1. result += time.strftime(u', %Y') >> 2. return result >> 3. >> 4. def log_message(message): >> 5. log_file = os.path.join(os.path.dirname(__file__), >> 6. directory.settings.LOGFILE) >> 7. open(log_file, u'a').write(time.asctime() + u': ' + >> 1. unicode(message).encode(u'utf-8') + u'\n') ... >> 1. >> 2. def register_edit(change_type, instance, session, username, ip, >> change_set = >> 3. None, content_type = None, field_name = None, foreign_key_added >> = None, >> 4. foreign_key_deleted = None, text_before = None, text_after = >> None): >> 5. edit = directory.models.EditTrail() >> 6. edit.object_id = instance.id >> ? Local vars >> Variable Value log_file >> u'/Users/jonathan/directory/../directory/log' >> message >> u'Phone.description(2) changed by: jonathan to: \u2026\u2014\u2192\n' >> >> >> >> Request information GET >> >> No GET data >> POST Variable Value id >> u'Phone_2' >> value >> u'\u2026\u2014\u2192' >> FILES >> >> No FILES data >> COOKIES Variable Value csrftoken >> 'a2589ffcf0fe1503cdc253c24c28aeb2' >> sessionid >> '1d97009d8d9f5d7a89334795c327981e' >> META Variable Value Apple_PubSub_Socket_Render >> '/tmp/launch-p6njfE/Render' >> COMMAND_MODE >> 'unix2003' >> CONTENT_LENGTH >> '44' >> CONTENT_TYPE >> 'application/x-www-form-urlencoded' >> DISPLAY >> '/tmp/launch-15itE9/org.x:0' >> DJANGO_SETTINGS_MODULE >> 'directory.settings' >> GATEWAY_INTERFACE >> 'CGI/1.1' >> HOME >> '/Users/jonathan' >> HTTP_ACCEPT >> 'text/html, */*' >> HTTP_ACCEPT_CHARSET >> 'ISO-8859-1,utf-8;q=0.7,*;q=0.3' >> HTTP_ACCEPT_ENCODING >> 'gzip,deflate,sdch' >> HTTP_ACCEPT_LANGUAGE >> 'en-US,en;q=0.8' >> HTTP_CONNECTION >> 'keep-alive' >> HTTP_COOKIE >> 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; >> sessionid=1d97009d8d9f5d7a89334795c327981e' >> HTTP_HOST >> 'localhost:8000' >> HTTP_ORIGIN >> 'http://localhost:8000' >> HTTP_REFERER >> 'http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7' >> HTTP_USER_AGENT >> 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) >> AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7' >> HTTP_X_REQUESTED_WITH >> 'XMLHttpRequest' >> LANG >> 'en_US.UTF-8' >> LOGNAME >> 'jonathan' >> OLDPWD >> '/Users/jonathan' >> PATH >> >> '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin' >> PATH_INFO >> u'/ajax/save' >> PWD >> '/Users/jonathan/directory' >> QUERY_STRING >> '' >> REMOTE_ADDR >> '127.0.0.1' >> REMOTE_HOST >> '' >> REQUEST_METHOD >> 'POST' >> RUN_MAIN >> 'true' >> SCRIPT_NAME >> u'' >> SECURITYSESSIONID >> '306880' >> SERVER_NAME >> 'jonathan-haywards-computer.local' >> SERVER_PORT >> '8000' >> SERVER_PROTOCOL >> 'HTTP/1.1' >> SERVER_SOFTWARE >> 'WSGIServer/0.1 Python/2.6.6' >> SHELL >> '/bin/bash' >> SHLVL >> '1' >> SSH_AUTH_SOCK >> '/tmp/launch-4X29Vc/Listeners' >> TERM >> 'xterm-color' >> TERM_PROGRAM >> 'Apple_Terminal' >> TERM_PROGRAM_VERSION >> '273' >> TMPDIR >> '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/' >> TZ >> 'America/Chicago' >> USER >> 'jonathan' >> _ >> '/opt/local/bin/python' >> __CF_USER_TEXT_ENCODING >> '0x1F7:0:0' >> wsgi.errors >> ', mode 'w' at 0x1002541e0> >> wsgi.file_wrapper >> >> wsgi.input >> >> wsgi.multiprocess >> False >> wsgi.multithread >> True >> wsgi.run_once >> False >> wsgi.url_scheme >> 'http' >> wsgi.version >> (1, 0) >> SettingsUsing settings module directory.settings Setting Value >> ABSOLUTE_URL_OVERRIDES >> {} >> ADMINS >> () >> ADMIN_FOR >> () >> ADMIN_MEDIA_PREFIX >> '/media/' >> ALLOWED_INCLUDE_ROOTS >> () >> APPEND_SLASH >> True >> AUTHENTICATION_BACKENDS >> ('django.contrib.auth.backends.ModelBackend',) >> BANNED_IPS >> () >> CACHE_BACKEND >> 'locmem://' >> CACHE_MIDDLEWARE_KEY_PREFIX >> '' >> CACHE_MIDDLEWARE_SECONDS >> 600 >> COMMENTS_ALLOW_PROFANITIES >> False >> COMMENTS_BANNED_USERS_GROUP >> None >> COMMENTS_FIRST_FEW >> 0 >> COMMENTS_MODERATORS_GROUP >> None >> COMMENTS_SKETCHY_USERS_GROUP >> None >> CSRF_COOKIE_DOMAIN >> None >> CSRF_COOKIE_NAME >> 'csrftoken' >> CSRF_FAILURE_VIEW >> 'django.views.csrf.csrf_failure' >> DATABASES >> {'default': {'ENGINE': 'django.db.backends.sqlite3', 'HOST': '', 'NAME': >> 'directory.sqlite3', 'OPTIONS': {}, 'PASSWORD': '********************', >> 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': >> None, 'TEST_NAME': None, 'TIME_ZONE': 'America/Chicago', 'USER': ''}} >> DATABASE_ENGINE >> 'sqlite3' >> DATABASE_HOST >> '' >> DATABASE_NAME >> 'directory.sqlite3' >> DATABASE_OPTIONS >> {} >> DATABASE_PASSWORD >> '********************' >> DATABASE_PORT >> '' >> DATABASE_ROUTERS >> [] >> DATABASE_USER >> '' >> DATETIME_FORMAT >> 'N j, Y, P' >> DATETIME_INPUT_FORMATS >> ('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', >> '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M', >> '%m/%d/%y') >> DATE_FORMAT >> 'N j, Y' >> DATE_INPUT_FORMATS >> ('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', >> '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y') >> DEBUG >> True >> DEBUG_PROPAGATE_EXCEPTIONS >> False >> DECIMAL_SEPARATOR >> '.' >> DEFAULT_CHARSET >> 'utf-8' >> DEFAULT_CONTENT_TYPE >> 'text/html' >> DEFAULT_FILE_STORAGE >> 'django.core.files.storage.FileSystemStorage' >> DEFAULT_FROM_EMAIL >> 'webmaster at localhost' >> DEFAULT_INDEX_TABLESPACE >> '' >> DEFAULT_TABLESPACE >> '' >> DELAY_BETWEEN_RETRIES >> 1 >> DEPARTMENT_WEIGHT >> 30 >> DESCRIPTION_WEIGHT >> 30 >> DIRNAME >> '/Users/jonathan/directory/../directory' >> DISALLOWED_USER_AGENTS >> () >> EMAIL_BACKEND >> 'django.core.mail.backends.smtp.EmailBackend' >> EMAIL_HOST >> 'localhost' >> EMAIL_HOST_PASSWORD >> '********************' >> EMAIL_HOST_USER >> '' >> EMAIL_PORT >> 25 >> EMAIL_SUBJECT_PREFIX >> '[Django] ' >> EMAIL_USE_TLS >> False >> FILE_CHARSET >> 'utf-8' >> FILE_UPLOAD_HANDLERS >> ('django.core.files.uploadhandler.MemoryFileUploadHandler', >> 'django.core.files.uploadhandler.TemporaryFileUploadHandler') >> FILE_UPLOAD_MAX_MEMORY_SIZE >> 2621440 >> FILE_UPLOAD_PERMISSIONS >> None >> FILE_UPLOAD_TEMP_DIR >> None >> FIRST_DAY_OF_WEEK >> 0 >> FIXTURE_DIRS >> () >> FORCE_SCRIPT_NAME >> None >> FORMAT_MODULE_PATH >> None >> IGNORABLE_404_ENDS >> ('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', >> '.php') >> IGNORABLE_404_STARTS >> ('/cgi-bin/', '/_vti_bin', '/_vti_inf') >> INITIAL_RESULTS >> 10 >> INITIAL_STATI >> 5 >> INSTALLED_APPS >> ['directory', 'django.contrib.admin', 'django.contrib.auth', >> 'django.contrib.contenttypes', 'django.contrib.sessions', >> 'django.contrib.sites'] >> INTERNAL_IPS >> () >> LANGUAGES >> (('ar', 'Arabic'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', >> 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', >> 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', >> 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinean Spanish'), >> ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), >> ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), >> ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), >> ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', >> 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', >> 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), >> ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian >> Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pl', 'Polish'), ('pt', >> 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', >> 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), >> ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', >> 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', >> 'Ukrainian'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), >> ('zh-tw', 'Traditional Chinese')) >> LANGUAGES_BIDI >> ('he', 'ar', 'fa') >> LANGUAGE_CODE >> 'en-us' >> LANGUAGE_COOKIE_NAME >> 'django_language' >> LOCALE_PATHS >> () >> LOCATION_WEIGHT >> 10 >> LOGFILE >> u'log' >> LOGIN_REDIRECT_URL >> '/accounts/profile/' >> LOGIN_URL >> '/accounts/login/' >> LOGOUT_URL >> '/accounts/logout/' >> MANAGERS >> () >> MEDIA_ROOT >> '/Users/jonathan/directory/../directory/static/' >> MEDIA_URL >> '/static/' >> MESSAGE_STORAGE >> 'django.contrib.messages.storage.user_messages.LegacyFallbackStorage' >> MIDDLEWARE_CLASSES >> ('django.middleware.common.CommonMiddleware', >> 'django.contrib.sessions.middleware.SessionMiddleware', >> 'django.contrib.auth.middleware.AuthenticationMiddleware') >> MONTH_DAY_FORMAT >> 'F j' >> NAME_WEIGHT >> 70 >> NUMBER_GROUPING >> 0 >> PASSWORD_RESET_TIMEOUT_DAYS >> '********************' >> PREPEND_WWW >> False >> PROFANITIES_LIST >> '********************' >> ROOT_URLCONF >> 'directory.urls' >> SECRET_KEY >> '********************' >> SEND_BROKEN_LINK_EMAILS >> False >> SERVER_EMAIL >> 'root at localhost' >> SESSION_COOKIE_AGE >> 1209600 >> SESSION_COOKIE_DOMAIN >> None >> SESSION_COOKIE_NAME >> 'sessionid' >> SESSION_COOKIE_PATH >> '/' >> SESSION_COOKIE_SECURE >> False >> SESSION_ENGINE >> 'django.contrib.sessions.backends.db' >> SESSION_EXPIRE_AT_BROWSER_CLOSE >> False >> SESSION_FILE_PATH >> None >> SESSION_SAVE_EVERY_REQUEST >> False >> SETTINGS_MODULE >> 'directory.settings' >> SHORT_DATETIME_FORMAT >> 'm/d/Y P' >> SHORT_DATE_FORMAT >> 'm/d/Y' >> SHOULD_ALLOW_USERS_TO_CREATE_ACCOUNTS >> 1 >> SHOULD_DOWNLOAD_DIRECTORY >> 1 >> SHOULD_TURN_ON_HIJAXING >> 0 >> SITE_ID >> 1 >> STATUS_WEIGHT >> 1 >> TAG_WEIGHT >> 50 >> TEMPLATE_CONTEXT_PROCESSORS >> ('django.contrib.auth.context_processors.auth', >> 'django.core.context_processors.debug', >> 'django.core.context_processors.i18n', >> 'django.core.context_processors.media', >> 'django.contrib.messages.context_processors.messages') >> TEMPLATE_DEBUG >> True >> TEMPLATE_DIRS >> ('/Users/jonathan/directory/../directory/templates',) >> TEMPLATE_LOADERS >> ('django.template.loaders.filesystem.load_template_source', >> 'django.template.loaders.app_directories.load_template_source') >> TEMPLATE_STRING_IF_INVALID >> '' >> TEST_DATABASE_CHARSET >> None >> TEST_DATABASE_COLLATION >> None >> TEST_DATABASE_NAME >> None >> TEST_RUNNER >> 'django.test.simple.DjangoTestSuiteRunner' >> THOUSAND_SEPARATOR >> ',' >> TIME_FORMAT >> 'P' >> TIME_INPUT_FORMATS >> ('%H:%M:%S', '%H:%M') >> TIME_ZONE >> 'America/Chicago' >> TITLE_WEIGHT >> 50 >> TRANSACTIONS_MANAGED >> False >> URL_VALIDATOR_USER_AGENT >> 'Django/1.2.1 (http://www.djangoproject.com)' >> USE_ETAGS >> False >> USE_I18N >> True >> USE_L10N >> False >> USE_THOUSAND_SEPARATOR >> False >> YEAR_MONTH_FORMAT >> 'F Y' >> >> You're seeing this error because you have DEBUG = True in your Django >> settings file. Change that to False, and Django will display a standard >> 500 page. >> >> Photo directory: Search >> Search results >> >> Joel Goyeva >> >> Jonathan Hayward >> Web Developer, >> Test >> >> Alice Amazing >> >> Test >> >> Grandma and Grandpa Hayward >> >> (Insert name here) >> >> ??? >> >> ??? >> >> ??? >> ??? >> People, etc. >> Delete "???" >> ??? >> Upload image: >> >> Upload >> >> Title: *Click to add.* >> >> Description: *Click to add.* >> >> Tags: *Click to add.* >> >> Phone:** >> *OKCancel ? Click to add.* >> >> Email: *Click to add.* >> >> Webpages: *Click to add.* >> >> GPS: *Click to add.* >> >> Postal address: *Click to add.* >> >> Other contact information: *Click to add.* >> >> Time zone: Select A: Paris, >> +1:00 B: Athens, +2:00 C: >> Moscow, +3:00 D: Dubai, +4:00 -: >> Kabul, +4:30 E: Karachi, +5:00 -: >> New Delhi, +5:30 -: Kathmandu, :5:45 >> F: Dhaka, +6:00 -: Rangoon, +6:30 >> G: Jakarta, +7:00 H: Kuala Lumpur, +8:00 >> I: Tokyo, +9:00 -: Adelaide, >> +9:30 K: Sydney, +10:00 -: Lord >> Howe Island, +10:30 L: Solomon Islands, +11:00 >> -: Norfolk Island, +11:50 M: >> Auckland, +12:00 -: Chatham Islands, +12:45 >> -: Tonga, +13:00 -: Line Islands, >> +14:00 N: Azores, -1:00 O: >> Fernando de Norohna, -2:00 P: Rio de Janiero, -3:00 >> -: St. John's, -3:50 Q: Santiago, >> -4:00 -: Caracas, -4:30 R: New >> York City, -5:00 S: Chicago, -6:00 >> T: Boulder, -7:00 U: Los Angeles, -8:00 >> V: Anchorage, -9:00 -: Marquesas >> Islands, -9:30 W: Hawaii, -10:00 >> X: Samoa, -11:00 Y: Baker Island, -12:00 >> Z: London, +0:00 >> Observes daylight saving time: >> >> Department: * >> (Insert name here) Alice Amazing Grandma >> and Grandpa Hayward Joel Goyeva Jonathan >> Hayward Test ??? ??? >> ??? * >> >> Location: * >> (Insert name here) Alice Amazing Grandma >> and Grandpa Hayward Joel Goyeva Jonathan >> Hayward Test ??? ??? >> ??? * >> >> Reports to: * >> (Insert name here) Alice Amazing Grandma >> and Grandpa Hayward Joel Goyeva Jonathan >> Hayward Test ??? ??? >> ??? * >> >> Status: >> Click to add. >> >> >> -- >> [image: Christos Jonathan Hayward] >> Christos Jonathan Hayward, an Orthodox Christian author. >> >> Author Bio ? Books >> ? *Email * ? Facebook >> ? LinkedIn ? Twitter >> ? *Web * ? What's New? >> I invite you to visit my "theology, literature, and other creative works" >> site. >> >> >> _______________________________________________ >> Chicago mailing list >> Chicago at python.org >> http://mail.python.org/mailman/listinfo/chicago >> >> > > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brianhray at gmail.com Tue Nov 16 21:21:14 2010 From: brianhray at gmail.com (Brian Ray) Date: Tue, 16 Nov 2010 14:21:14 -0600 Subject: [Chicago] [ANN] ChiPy NORTH November FIRST EVER Monthly Meeting this Thursday Message-ID: First ever, best ever, Chicago Python User Group **North** meeting this Thursday! You asked for it, now it is here. All are welcome for the first ever Monthly meeting (3rd Thursday) dedicated to those who work or live up North. Those from elsewhere are welcome to attend. We will have food and drink kindly provided by Paul May & Associates. When: 7 PM Thursday Nov. 18, 2010 Where:: Praxis Management International? 100 North Field Drive, Suite 150 Lake Forest, IL 60045 (847) 295-7160 On the south side of the building on the first floor. If you come in the side door (closest to the parking lot) follow the hallway past the lobby and their suite is on the left. If you come in through the front of the building, proceed through the lobby, turn right down the main hallway and the suite is on the left. The doors are unlocked from 7:00 am - 7:00 pm. If you arrive after 7:00 PM, someone will have to go down to the doors to let you in. There are no security personnel on site and they don't need a list of people prior to the meeting. However, if you want food pls RSVP below. Topics: * Introductions and a warm welcome * Daniel Griffin: Follow up talk on couchdb http://couchdb.apache.org last time http://blip.tv/file/2345425 * Brian Ray: How do debug Python with Komodo, pdb, and ipython demonstration. * lightening talks Kindly RSVP if you get a chance so we know how much food to order: https://spreadsheets.google.com/viewform?formkey=dHVLOTNTU3oxTzJKYjB3RmV4eVZkMEE6MA See you there! You have my 100% money back guarantee this will be the best ChiPy North meeting ever! About the group --------------- ChiPy is made up of people of all levels of programming and Python knowledge. At every meeting we have had both beginning programmers, people who are just starting to use Python, as well as experienced Python programmers. Don't be intimidated about coming to a meeting. Note that ChiPy is not a formal organization. We collect no dues, elect no officers, and keep no roster. Signing up for the mailing list carries no obligation. Nor does showing up at the meetings. Nor, at least so far, does anything else we have done, although we always appreciate it when our presenters show up. (They usually do!) http://chipy.org From robkapteyn at gmail.com Wed Nov 17 04:01:38 2010 From: robkapteyn at gmail.com (Rob Kapteyn) Date: Tue, 16 Nov 2010 21:01:38 -0600 Subject: [Chicago] biz niz list In-Reply-To: References: Message-ID: <28D6585D-387C-4A57-B78C-64CE93C33B47@gmail.com> Carl: I think we were talking about OpenERP. It might be overkill for what you want, but it's python, it's open source, and it's not too hard to get running: http://www.openerp.com/products/accounting It is actually very slick, and and interesting "commercial" open-source company. They will rent you a server with it all set up, or you can download it and run it yourself. -Rob On Nov 13, 2010, at 9:45 PM, Carl Karsten wrote: > I remember talk about starting a chicagoland consutant list. I forget > if it ever happened. if it did, I'll repost over there. In the mean > time: accounting software. like Quickbooks. > > Only I'll cry if I have to pay, given I spent over 15 years > maintaining a payroll and billing system. I used to use the billing > system for billing, which wasn't a great fit given it was meant for > employment agencies. but AR is AR, so it worked good enough. But it > is a windows app, and I don't do windows. > > Isn't there an open source system? > > I have heard of gnu cash, but not heard good things about it. I hear > there is a new one that was almost ready to go a few years ago. > anyone know what I am talking about? > > -- > Carl K > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago -------------- next part -------------- An HTML attachment was scrubbed... URL: From bentrofatter at gmail.com Wed Nov 17 04:36:57 2010 From: bentrofatter at gmail.com (Benjamin Trofatter) Date: Tue, 16 Nov 2010 21:36:57 -0600 Subject: [Chicago] Servers for Sale Message-ID: I brought this up kind of late at last week's meeting, so I figured I'd post it to the list. I've got 8 Dell PowerEdge 1750 1U rackmount servers with cords and rails up for grabs. Here are the original specs straight from the Dell service page: 1661HPPrinted Wiring Assembly CD-INTRPSR, Sabre2C3040Processor, 80532K, 3.2GHZ, 1M 533, Magneto Optical Drive1J3014PRINTED WIRING ASSY..., Planar, PowerEdge 1750 SV, Dell, 5331M1662Power Supply, 320 Watts Redundant1P0247Printed Wiring Assembly Interface, Backplane, 1X3, PE1650MSI14D175Cord, Power, 125V, 10 Feet, 2TO1, SJT...1M1662Power Supply, 320 Watts Redundant49U175Dual In-Line Memory Module, 1G, 266M, 128X72, 8K184, 1U10R397Compact Diskette Drive, 650M, I Internal, THIRD HEIGHT..., 24X, Black, TEAC...1X0356Assembly, Printed Wiring Assembly, Riser, 1750, 2X64/133, MSI19Y700Floppy Drive, 1.44M, 3.5" FORM FACTOR..., TH Bezel, TEAC...1Y0229Printed Wiring Assy, ControllerPE1750, Raid On Mother Board MSI No drives, but I've got the hot swap trays. I'd like to get these things out of the house as they take up a lot of room and I'm not doing anything with them. I'm also not looking for much: $175/machine. Brian Curtin suggested they might be useful for testing builds of CPython by someone (I'm forgetting who), and I'd be delighted to have them used by someone active in the community. Let me know if you're interested. Ben -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian.curtin at gmail.com Wed Nov 17 05:01:02 2010 From: brian.curtin at gmail.com (Brian Curtin) Date: Tue, 16 Nov 2010 22:01:02 -0600 Subject: [Chicago] Servers for Sale In-Reply-To: References: Message-ID: On Tue, Nov 16, 2010 at 21:36, Benjamin Trofatter wrote: > Brian Curtin suggested they might be useful for testing builds of CPython > by someone (I'm forgetting who), and I'd be delighted to have them used by > someone active in the community. > That someone is the Python buildbot fleet -- http://www.python.org/dev/buildbot/. It's the continuous integration server we use for CPython, running code changes on a number of Mac, Linux, and Windows machines. I'm interested -- I'll followup off-list. -------------- next part -------------- An HTML attachment was scrubbed... URL: From romalley at teksystems.com Wed Nov 17 23:23:32 2010 From: romalley at teksystems.com (O'Malley, Ryan) Date: Wed, 17 Nov 2010 17:23:32 -0500 Subject: [Chicago] Chicago Python Opportunity Message-ID: Direct Placement/Permanent Opportunity Chicago, IL (Hyde Park) or Lemont, IL Mid Level ($50K-$65K) or Senior Level ($70K-$85K) The team is filled with some of the brightest and creative minds in the country. This team has been handpicked from companies such as Amazon.com, Univa, Argonne/U of Chicago, etc. This will be an opportunity for a truly brilliant person to also be part of this growing team and working on projects from the ground up. This client is very particular that they are seeking more of a generalist than a specialist in one area. They need a jack of all trades type who has worked on multiple forms of open source technologies. The team is building a portal for scientists to organize and manage data for bio informatics, transitional medicine, clinical and health grids. This is a SaaS (software as a service) built application that is going to specifically target the grid/science market. This application will leverage all new open source technology and is looking for people to also make recommendations if they think certain technology would benefit the project. * The most important skill sets are Python development, C programming, multithreading, and socket programming. This person should also be strong with software integration and open source libraries. * Someone who is strong in open source technologies will most likely succeed in this role. Our client is looking for a generalist type of person, rather than someone who is focused in just one specific skill set. * This person should have a steady history of programming academically, professionally, etc. * We are looking for someone who wants a career, not just a project. ________________________________ Ryan O'Malley, IT Applications Recruiter Chicago - Downers Grove, IL T * 630.795.3356 M 630.795.3300 F 630.795.3390 Connect on LinkedIn www.teksystems.com [cid:image001.png at 01CB866C.D230E200] ________________________________ This electronic mail (including any attachments) may contain information that is confidential and/or otherwise protected from disclosure to anyone other than its intended recipient(s). Any dissemination or use of this electronic mail or its contents (including any attachments) by persons other than the intended recipient(s) is strictly prohibited. If you have received this message in error, please notify me immediately by reply email. Please then delete the original message (including any attachments) in its entirety. ________________________________ This electronic mail (including any attachments) may contain information that is privileged, confidential, and/or otherwise protected from disclosure to anyone other than its intended recipient(s). Any dissemination or use of this electronic email or its contents (including any attachments) by persons other than the intended recipient(s) is strictly prohibited. If you have received this message in error, please notify us immediately by reply email so that we may correct our internal records. Please then delete the original message (including any attachments) in its entirety. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 4647 bytes Desc: image001.png URL: From brianhray at gmail.com Thu Nov 18 17:54:51 2010 From: brianhray at gmail.com (Brian Ray) Date: Thu, 18 Nov 2010 10:54:51 -0600 Subject: [Chicago] ChiPy-North Meeting Tonight Message-ID: There is still space available. RSVP Here: https://spreadsheets.google.com/viewform?formkey=dHVLOTNTU3oxTzJKYjB3RmV4eVZkMEE6MA This is going to be a great meeting your not going to want to miss. Anybody want to do a short 5-10min lightening talk on something? Cheers, -- Brian Ray From paul at paulmayassociates.com Fri Nov 19 21:10:29 2010 From: paul at paulmayassociates.com (Paul May) Date: Fri, 19 Nov 2010 20:10:29 -0000 Subject: [Chicago] [ANN] ChiPy NORTH November FIRST EVER Monthly Meeting this Thursday Message-ID: <689338943826672@127.0.0.1:NOSSL> Chipy North, outstanding meeting. Dan and Brian, I now know how to debug....CouchDB ;-).... Best one ever....continued success for more. Paul v 708.479.1111 c 312.925.1294 Paul May & Associates (PMA) paul at paulmayassociates.com http://www.linkedin.com/in/paulmayassociates http://twitter.com/paulmayassoc ----- Original Message ----- To: The Chicago Python Users Group , Chipy Announce From: Brian Ray Sent: 11/16/2010 2:21:14 PM Subject: [Chicago] [ANN] ChiPy NORTH November FIRST EVER Monthly Meeting this Thursday First ever, best ever, Chicago Python User Group **North** meeting this Thursday! You asked for it, now it is here. All are welcome for the first ever Monthly meeting (3rd Thursday) dedicated to those who work or live up North. Those from elsewhere are welcome to attend. We will have food and drink kindly provided by Paul May & Associates. When: 7 PM Thursday Nov. 18, 2010 Where:: Praxis Management International? 100 North Field Drive, Suite 150 Lake Forest, IL 60045 (847) 295-7160 On the south side of the building on the first floor. If you come in the side door (closest to the parking lot) follow the hallway past the lobby and their suite is on the left. If you come in through the front of the building, proceed through the lobby, turn right down the main hallway and the suite is on the left. The doors are unlocked from 7:00 am - 7:00 pm. If you arrive after 7:00 PM, someone will have to go down to the doors to let you in. There are no security personnel on site and they don't need a list of people prior to the meeting. However, if you want food pls RSVP below. Topics: * Introductions and a warm welcome * Daniel Griffin: Follow up talk on couchdb http://couchdb.apache.org last time http://blip.tv/file/2345425 * Brian Ray: How do debug Python with Komodo, pdb, and ipython demonstration. * lightening talks Kindly RSVP if you get a chance so we know how much food to order: https://spreadsheets.google.com/viewform?formkey=dHVLOTNTU3oxTzJKYjB3RmV4eVZkMEE6MA See you there! You have my 100% money back guarantee this will be the best ChiPy North meeting ever! About the group --------------- ChiPy is made up of people of all levels of programming and Python knowledge. At every meeting we have had both beginning programmers, people who are just starting to use Python, as well as experienced Python programmers. Don't be intimidated about coming to a meeting. Note that ChiPy is not a formal organization. We collect no dues, elect no officers, and keep no roster. Signing up for the mailing list carries no obligation. Nor does showing up at the meetings. Nor, at least so far, does anything else we have done, although we always appreciate it when our presenters show up. (They usually do!) http://chipy.org _______________________________________________ Chicago mailing list Chicago at python.org http://mail.python.org/mailman/listinfo/chicago (The following links were included with this email:) mailto:paul at paulmayassociates.com http://www.linkedin.com/in/paulmayassociates http://twitter.com/paulmayassoc (The following links were included with this email:) mailto:paul at paulmayassociates.com http://www.linkedin.com/in/paulmayassociates http://twitter.com/paulmayassoc -------------- next part -------------- An HTML attachment was scrubbed... URL: From shekay at pobox.com Thu Nov 25 20:44:52 2010 From: shekay at pobox.com (sheila miguez) Date: Thu, 25 Nov 2010 13:44:52 -0600 Subject: [Chicago] vim orgmode and pyscratch Message-ID: This is so very cool, I hope. a vim orgmode clone https://github.com/hsitz/VimOrganizer I thought, wow, that's neat. what else has he done? https://github.com/hsitz/PyScratch He's done PyScratch. Here's a demo http://vimeo.com/16871727 It's a mode in vim that gives you an interactive session with python. (also supports other languages. maybe he started with py). -- sheila From christos at pobox.com Wed Nov 24 23:55:56 2010 From: christos at pobox.com (Christos Jonathan Hayward) Date: Wed, 24 Nov 2010 16:55:56 -0600 Subject: [Chicago] Unicode-ASCII encoding issues In-Reply-To: References: Message-ID: Thank you, Kumar and Ken. On Mon, Nov 15, 2010 at 3:05 PM, Kumar McMillan wrote: > > > On Mon, Nov 15, 2010 at 8:55 AM, Ken Schutte wrote: > >> It looks like 'message' is already encoded. For example, your value, >> >> >>> m = 'Phone.description(2) changed by: jonathan to: >> \xe2\x80\xa6\xe2\x80\x94\xe2\x86\x92\n' >> >>> unicode(m) >> > > to further elaborate, you've encountered a confusing part of Python. The > call to unicode(m) is the same as unicode(m, sys.getdefaultencoding()) or > more succinctly, m.decode(sys.getdefaultencoding()). This is probably the > same as m.decode('ascii') on your machine. > > so don't do that. > > Do : > > unicode(m, 'utf8') if you are sure it is utf8 otherwise you need to use > chardet -- http://chardet.feedparser.org/ -- or check the HTTP request > headers (which aren't always reliable). > > It's pretty crappy that Python lets you "fall back" to the default encoding > but then again PHP developers will complain that an exception gets raised at > all, which will render your website useless in Python. In Python 3 the > default is better but you *still* have to deal with all the different ways > bytestrings can be encoded. Good luck! > > >> Traceback (most recent call last): >> File "", line 1, in >> UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 46: >> ordinal not in range(128) >> >> gives an error. But, >> >> >>> unicode(m.decode('utf8')) >> u'Phone.description(2) changed by: jonathan to: \u2026\u2014\u2192\n' >> >> >> It okay (althought I'm not sure if that's the right encoding). >> >> >> See if you still get an error by replacing 'unicode(message)' with >> 'unicode(message.decode('utf8'))'. >> >> Generally, you don't need to wrap everything in unicode(). Be sure your >> original inputs are unicode, then simple "+" and Python with do the right >> thing. >> >> Then, worry about encodings only when you finally serialize, >> >> myfile.write(final_message.encode('utf8')) >> >> >> >> Ken >> >> >> >> On Fri, Nov 12, 2010 at 9:48 PM, Jonathan Hayward < >> christos.jonathan.hayward at gmail.com> wrote: >> >>> My first attempt at getting UTF-8 encoded logging to a logfilie is >>> failing; the last piece of code in the error page below is pasted here at >>> the top. What's an appropriate way to correct this first attempt? Wrapping >>> the time.asctime() in unicode() did not change the behavior. >>> >>> >>> 1. >>> def log_message(message): >>> 2. log_file = os.path.join(os.path.dirname(__file__), >>> 3. directory.settings.LOGFILE) >>> 4. open(log_file, u'a').write(time.asctime() + u': ' + >>> >>> >>> 1. unicode(message).encode(u'utf-8') + u'\n') >>> >>> *TTAdd new ? Bad network connection? >>> ? Log out* >>> >>> UnicodeDecodeError at /ajax/save >>> >>> 'ascii' codec can't decode byte 0xe2 in position 46: ordinal not in range(128) >>> >>> Request Method:POST Request URL:http://localhost:8000/ajax/save Django >>> Version:1.2.1 Exception Type:UnicodeDecodeError Exception Value: >>> >>> 'ascii' codec can't decode byte 0xe2 in position 46: ordinal not in range(128) >>> >>> Exception Location:/Users/jonathan/directory/../directory/functions.py >>> in log_message, line 67 Python Executable: >>> /opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python Python >>> Version:2.6.6 Python Path:['/Users/jonathan/directory', >>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip', >>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6', >>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin', >>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac', >>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages', >>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk', >>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old', >>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload', >>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages', >>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/gtk-2.0', >>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info'] Server >>> time:Fri, 12 Nov 2010 21:38:22 -0600 >>> Unicode error hint >>> >>> The string that could not be encoded/decoded was: *to: ??????* >>> Traceback Switch to copy-and-paste view >>> >>> - >>> /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/handlers/base.py >>> in get_response >>> 1. # Apply view middleware >>> 2. for middleware_method in self._view_middleware: >>> 3. response = middleware_method(request, callback, callback_args, >>> callback_kwargs) >>> 4. if response: >>> 5. return response >>> 6. >>> 7. try: >>> 1. response = callback(request, *callback_args, **callback_kwargs) >>> ... >>> 1. except Exception, e: >>> 2. # If the view raised an exception, run it through exception >>> 3. # middleware, and if the exception middleware returns a >>> 4. # response, use that. Otherwise, reraise the exception. >>> 5. for middleware_method in self._exception_middleware: >>> 6. response = middleware_method(request, e) >>> ? Local vars >>> Variable Value callback >>> >>> callback_args >>> () >>> callback_kwargs >>> {} >>> e >>> UnicodeDecodeError('ascii', 'Phone.description(2) changed by: >>> jonathan to: \xe2\x80\xa6\xe2\x80\x94\xe2\x86\x92\n', 46, 47, 'ordinal not >>> in range(128)') >>> exc_info >>> (, UnicodeDecodeError('ascii', >>> 'Phone.description(2) changed by: jonathan to: >>> \xe2\x80\xa6\xe2\x80\x94\xe2\x86\x92\n', 46, 47, 'ordinal not in >>> range(128)'), ) >>> exceptions >>> >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/exceptions.pyc'> >>> middleware_method >>> >> >> 0x101d96a10>> >>> receivers >>> [(, None)] >>> request >>> , POST:>> [u'Phone_2'], u'value': [u'\u2026\u2014\u2192']}>, COOKIES:{'csrftoken': >>> 'a2589ffcf0fe1503cdc253c24c28aeb2', 'sessionid': >>> '1d97009d8d9f5d7a89334795c327981e'}, META:{'Apple_PubSub_Socket_Render': >>> '/tmp/launch-p6njfE/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': >>> '44', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DISPLAY': >>> '/tmp/launch-15itE9/org.x:0', 'DJANGO_SETTINGS_MODULE': >>> 'directory.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': >>> '/Users/jonathan', 'HTTP_ACCEPT': 'text/html, */*', 'HTTP_ACCEPT_CHARSET': >>> 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': >>> 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', >>> 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': >>> 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; >>> sessionid=1d97009d8d9f5d7a89334795c327981e', 'HTTP_HOST': 'localhost:8000', >>> 'HTTP_ORIGIN': 'http://localhost:8000', 'HTTP_REFERER': ' >>> http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7', >>> 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) >>> AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7', >>> 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'LANG': 'en_US.UTF-8', 'LOGNAME': >>> 'jonathan', 'OLDPWD': '/Users/jonathan', 'PATH': >>> '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', >>> 'PATH_INFO': u'/ajax/save', 'PWD': '/Users/jonathan/directory', >>> 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', >>> 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', >>> 'SECURITYSESSIONID': '306880', 'SERVER_NAME': >>> 'jonathan-haywards-computer.local', 'SERVER_PORT': '8000', >>> 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 >>> Python/2.6.6', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': >>> '/tmp/launch-4X29Vc/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': >>> 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273', 'TMPDIR': >>> '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/', 'TZ': >>> 'America/Chicago', 'USER': 'jonathan', '_': '/opt/local/bin/python', >>> '__CF_USER_TEXT_ENCODING': '0x1F7:0:0', 'wsgi.errors': >> '', mode 'w' at 0x1002541e0>, 'wsgi.file_wrapper': >> 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': >>> , 'wsgi.multiprocess': False, >>> 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', >>> 'wsgi.version': (1, 0)}> >>> resolver >>> >>> response >>> None >>> self >>> >>> settings >>> >>> urlconf >>> 'directory.urls' >>> urlresolvers >>> >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/urlresolvers.pyc'> >>> - /Users/jonathan/directory/../directory/functions.py in wrap >>> 1. import os >>> 2. import re >>> 3. import time >>> 4. >>> 5. def ajax_login_required(view_function): >>> 6. def wrap(request, *arguments, **keywords): >>> 7. if request.user.is_authenticated(): >>> 1. return view_function(request, *arguments, **keywords) ... >>> 1. output = json.dumps({ u'not_authenticated': True }) >>> 2. return HttpResponse(output, mimetype = u'application/json') >>> 3. wrap.__doc__ = view_function.__doc__ >>> 4. wrap.__dict__ = view_function.__dict__ >>> 5. return wrap >>> 6. >>> ? Local vars >>> Variable Value arguments >>> () >>> keywords >>> {} >>> request >>> , POST:>> [u'Phone_2'], u'value': [u'\u2026\u2014\u2192']}>, COOKIES:{'csrftoken': >>> 'a2589ffcf0fe1503cdc253c24c28aeb2', 'sessionid': >>> '1d97009d8d9f5d7a89334795c327981e'}, META:{'Apple_PubSub_Socket_Render': >>> '/tmp/launch-p6njfE/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': >>> '44', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DISPLAY': >>> '/tmp/launch-15itE9/org.x:0', 'DJANGO_SETTINGS_MODULE': >>> 'directory.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': >>> '/Users/jonathan', 'HTTP_ACCEPT': 'text/html, */*', 'HTTP_ACCEPT_CHARSET': >>> 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': >>> 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', >>> 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': >>> 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; >>> sessionid=1d97009d8d9f5d7a89334795c327981e', 'HTTP_HOST': 'localhost:8000', >>> 'HTTP_ORIGIN': 'http://localhost:8000', 'HTTP_REFERER': ' >>> http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7', >>> 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) >>> AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7', >>> 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'LANG': 'en_US.UTF-8', 'LOGNAME': >>> 'jonathan', 'OLDPWD': '/Users/jonathan', 'PATH': >>> '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', >>> 'PATH_INFO': u'/ajax/save', 'PWD': '/Users/jonathan/directory', >>> 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', >>> 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', >>> 'SECURITYSESSIONID': '306880', 'SERVER_NAME': >>> 'jonathan-haywards-computer.local', 'SERVER_PORT': '8000', >>> 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 >>> Python/2.6.6', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': >>> '/tmp/launch-4X29Vc/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': >>> 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273', 'TMPDIR': >>> '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/', 'TZ': >>> 'America/Chicago', 'USER': 'jonathan', '_': '/opt/local/bin/python', >>> '__CF_USER_TEXT_ENCODING': '0x1F7:0:0', 'wsgi.errors': >> '', mode 'w' at 0x1002541e0>, 'wsgi.file_wrapper': >> 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': >>> , 'wsgi.multiprocess': False, >>> 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', >>> 'wsgi.version': (1, 0)}> >>> view_function >>> >>> - /Users/jonathan/directory/../directory/views.py in save >>> 1. change_set = None >>> 2. if original_value != value: >>> 3. change_set = register_edit(TEXT_CHANGED, instance, session, >>> 4. username, request.META[u'REMOTE_ADDR'], field_name = field, >>> 5. text_before = original_value, text_after = value) >>> 6. directory.functions.log_message(unicode(model) + u'.' + >>> 7. unicode(field) + "(" + unicode(id) + u') changed by: ' + >>> 1. unicode(request.user.username) + u' to: ' + unicode(value) + >>> u'\n') ... >>> 1. if change_set != None: >>> 2. return HttpResponse(value + u'') >>> 3. else: >>> 4. return HttpResponse(value) >>> 5. >>> 6. @ajax_login_required >>> ? Local vars >>> Variable Value change_set >>> None >>> dictionary >>> >>> field >>> u'description' >>> html_id >>> u'Phone_2' >>> id >>> 2 >>> instance >>> >>> match >>> <_sre.SRE_Match object at 0x101f0e690> >>> model >>> u'Phone' >>> original_value >>> u'\u2026\u2014\u2192' >>> request >>> , POST:>> [u'Phone_2'], u'value': [u'\u2026\u2014\u2192']}>, COOKIES:{'csrftoken': >>> 'a2589ffcf0fe1503cdc253c24c28aeb2', 'sessionid': >>> '1d97009d8d9f5d7a89334795c327981e'}, META:{'Apple_PubSub_Socket_Render': >>> '/tmp/launch-p6njfE/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': >>> '44', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DISPLAY': >>> '/tmp/launch-15itE9/org.x:0', 'DJANGO_SETTINGS_MODULE': >>> 'directory.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': >>> '/Users/jonathan', 'HTTP_ACCEPT': 'text/html, */*', 'HTTP_ACCEPT_CHARSET': >>> 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': >>> 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', >>> 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': >>> 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; >>> sessionid=1d97009d8d9f5d7a89334795c327981e', 'HTTP_HOST': 'localhost:8000', >>> 'HTTP_ORIGIN': 'http://localhost:8000', 'HTTP_REFERER': ' >>> http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7', >>> 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) >>> AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7', >>> 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'LANG': 'en_US.UTF-8', 'LOGNAME': >>> 'jonathan', 'OLDPWD': '/Users/jonathan', 'PATH': >>> '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin', >>> 'PATH_INFO': u'/ajax/save', 'PWD': '/Users/jonathan/directory', >>> 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', >>> 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', >>> 'SECURITYSESSIONID': '306880', 'SERVER_NAME': >>> 'jonathan-haywards-computer.local', 'SERVER_PORT': '8000', >>> 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 >>> Python/2.6.6', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': >>> '/tmp/launch-4X29Vc/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': >>> 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273', 'TMPDIR': >>> '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/', 'TZ': >>> 'America/Chicago', 'USER': 'jonathan', '_': '/opt/local/bin/python', >>> '__CF_USER_TEXT_ENCODING': '0x1F7:0:0', 'wsgi.errors': >> '', mode 'w' at 0x1002541e0>, 'wsgi.file_wrapper': >> 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': >>> , 'wsgi.multiprocess': False, >>> 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', >>> 'wsgi.version': (1, 0)}> >>> selected_model >>> >>> session >>> '1d97009d8d9f5d7a89334795c327981e' >>> username >>> u'jonathan' >>> value >>> u'\u2026\u2014\u2192' >>> - /Users/jonathan/directory/../directory/functions.py in log_message >>> 1. result += time.strftime(u', %Y') >>> 2. return result >>> 3. >>> 4. def log_message(message): >>> 5. log_file = os.path.join(os.path.dirname(__file__), >>> 6. directory.settings.LOGFILE) >>> 7. open(log_file, u'a').write(time.asctime() + u': ' + >>> 1. unicode(message).encode(u'utf-8') + u'\n') ... >>> 1. >>> 2. def register_edit(change_type, instance, session, username, ip, >>> change_set = >>> 3. None, content_type = None, field_name = None, foreign_key_added >>> = None, >>> 4. foreign_key_deleted = None, text_before = None, text_after = >>> None): >>> 5. edit = directory.models.EditTrail() >>> 6. edit.object_id = instance.id >>> ? Local vars >>> Variable Value log_file >>> u'/Users/jonathan/directory/../directory/log' >>> message >>> u'Phone.description(2) changed by: jonathan to: \u2026\u2014\u2192\n' >>> >>> >>> >>> Request information GET >>> >>> No GET data >>> POST Variable Value id >>> u'Phone_2' >>> value >>> u'\u2026\u2014\u2192' >>> FILES >>> >>> No FILES data >>> COOKIES Variable Value csrftoken >>> 'a2589ffcf0fe1503cdc253c24c28aeb2' >>> sessionid >>> '1d97009d8d9f5d7a89334795c327981e' >>> META Variable Value Apple_PubSub_Socket_Render >>> '/tmp/launch-p6njfE/Render' >>> COMMAND_MODE >>> 'unix2003' >>> CONTENT_LENGTH >>> '44' >>> CONTENT_TYPE >>> 'application/x-www-form-urlencoded' >>> DISPLAY >>> '/tmp/launch-15itE9/org.x:0' >>> DJANGO_SETTINGS_MODULE >>> 'directory.settings' >>> GATEWAY_INTERFACE >>> 'CGI/1.1' >>> HOME >>> '/Users/jonathan' >>> HTTP_ACCEPT >>> 'text/html, */*' >>> HTTP_ACCEPT_CHARSET >>> 'ISO-8859-1,utf-8;q=0.7,*;q=0.3' >>> HTTP_ACCEPT_ENCODING >>> 'gzip,deflate,sdch' >>> HTTP_ACCEPT_LANGUAGE >>> 'en-US,en;q=0.8' >>> HTTP_CONNECTION >>> 'keep-alive' >>> HTTP_COOKIE >>> 'csrftoken=a2589ffcf0fe1503cdc253c24c28aeb2; >>> sessionid=1d97009d8d9f5d7a89334795c327981e' >>> HTTP_HOST >>> 'localhost:8000' >>> HTTP_ORIGIN >>> 'http://localhost:8000' >>> HTTP_REFERER >>> 'http://localhost:8000/?query=%E2%80%A6%E2%80%94%E2%86%92&id=7' >>> HTTP_USER_AGENT >>> 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) >>> AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7' >>> HTTP_X_REQUESTED_WITH >>> 'XMLHttpRequest' >>> LANG >>> 'en_US.UTF-8' >>> LOGNAME >>> 'jonathan' >>> OLDPWD >>> '/Users/jonathan' >>> PATH >>> >>> '/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin:/usr/games::/usr/local/bin:/Users/jonathanhayward/bin:/Users/jonathanhayward/bintmp:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin' >>> PATH_INFO >>> u'/ajax/save' >>> PWD >>> '/Users/jonathan/directory' >>> QUERY_STRING >>> '' >>> REMOTE_ADDR >>> '127.0.0.1' >>> REMOTE_HOST >>> '' >>> REQUEST_METHOD >>> 'POST' >>> RUN_MAIN >>> 'true' >>> SCRIPT_NAME >>> u'' >>> SECURITYSESSIONID >>> '306880' >>> SERVER_NAME >>> 'jonathan-haywards-computer.local' >>> SERVER_PORT >>> '8000' >>> SERVER_PROTOCOL >>> 'HTTP/1.1' >>> SERVER_SOFTWARE >>> 'WSGIServer/0.1 Python/2.6.6' >>> SHELL >>> '/bin/bash' >>> SHLVL >>> '1' >>> SSH_AUTH_SOCK >>> '/tmp/launch-4X29Vc/Listeners' >>> TERM >>> 'xterm-color' >>> TERM_PROGRAM >>> 'Apple_Terminal' >>> TERM_PROGRAM_VERSION >>> '273' >>> TMPDIR >>> '/var/folders/I7/I7mxSwItEtS7OWilJ-fnm++++TQ/-Tmp-/' >>> TZ >>> 'America/Chicago' >>> USER >>> 'jonathan' >>> _ >>> '/opt/local/bin/python' >>> __CF_USER_TEXT_ENCODING >>> '0x1F7:0:0' >>> wsgi.errors >>> ', mode 'w' at 0x1002541e0> >>> wsgi.file_wrapper >>> >>> wsgi.input >>> >>> wsgi.multiprocess >>> False >>> wsgi.multithread >>> True >>> wsgi.run_once >>> False >>> wsgi.url_scheme >>> 'http' >>> wsgi.version >>> (1, 0) >>> SettingsUsing settings module directory.settings Setting Value >>> ABSOLUTE_URL_OVERRIDES >>> {} >>> ADMINS >>> () >>> ADMIN_FOR >>> () >>> ADMIN_MEDIA_PREFIX >>> '/media/' >>> ALLOWED_INCLUDE_ROOTS >>> () >>> APPEND_SLASH >>> True >>> AUTHENTICATION_BACKENDS >>> ('django.contrib.auth.backends.ModelBackend',) >>> BANNED_IPS >>> () >>> CACHE_BACKEND >>> 'locmem://' >>> CACHE_MIDDLEWARE_KEY_PREFIX >>> '' >>> CACHE_MIDDLEWARE_SECONDS >>> 600 >>> COMMENTS_ALLOW_PROFANITIES >>> False >>> COMMENTS_BANNED_USERS_GROUP >>> None >>> COMMENTS_FIRST_FEW >>> 0 >>> COMMENTS_MODERATORS_GROUP >>> None >>> COMMENTS_SKETCHY_USERS_GROUP >>> None >>> CSRF_COOKIE_DOMAIN >>> None >>> CSRF_COOKIE_NAME >>> 'csrftoken' >>> CSRF_FAILURE_VIEW >>> 'django.views.csrf.csrf_failure' >>> DATABASES >>> {'default': {'ENGINE': 'django.db.backends.sqlite3', 'HOST': '', 'NAME': >>> 'directory.sqlite3', 'OPTIONS': {}, 'PASSWORD': '********************', >>> 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': >>> None, 'TEST_NAME': None, 'TIME_ZONE': 'America/Chicago', 'USER': ''}} >>> DATABASE_ENGINE >>> 'sqlite3' >>> DATABASE_HOST >>> '' >>> DATABASE_NAME >>> 'directory.sqlite3' >>> DATABASE_OPTIONS >>> {} >>> DATABASE_PASSWORD >>> '********************' >>> DATABASE_PORT >>> '' >>> DATABASE_ROUTERS >>> [] >>> DATABASE_USER >>> '' >>> DATETIME_FORMAT >>> 'N j, Y, P' >>> DATETIME_INPUT_FORMATS >>> ('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', >>> '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M', >>> '%m/%d/%y') >>> DATE_FORMAT >>> 'N j, Y' >>> DATE_INPUT_FORMATS >>> ('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', >>> '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y') >>> DEBUG >>> True >>> DEBUG_PROPAGATE_EXCEPTIONS >>> False >>> DECIMAL_SEPARATOR >>> '.' >>> DEFAULT_CHARSET >>> 'utf-8' >>> DEFAULT_CONTENT_TYPE >>> 'text/html' >>> DEFAULT_FILE_STORAGE >>> 'django.core.files.storage.FileSystemStorage' >>> DEFAULT_FROM_EMAIL >>> 'webmaster at localhost' >>> DEFAULT_INDEX_TABLESPACE >>> '' >>> DEFAULT_TABLESPACE >>> '' >>> DELAY_BETWEEN_RETRIES >>> 1 >>> DEPARTMENT_WEIGHT >>> 30 >>> DESCRIPTION_WEIGHT >>> 30 >>> DIRNAME >>> '/Users/jonathan/directory/../directory' >>> DISALLOWED_USER_AGENTS >>> () >>> EMAIL_BACKEND >>> 'django.core.mail.backends.smtp.EmailBackend' >>> EMAIL_HOST >>> 'localhost' >>> EMAIL_HOST_PASSWORD >>> '********************' >>> EMAIL_HOST_USER >>> '' >>> EMAIL_PORT >>> 25 >>> EMAIL_SUBJECT_PREFIX >>> '[Django] ' >>> EMAIL_USE_TLS >>> False >>> FILE_CHARSET >>> 'utf-8' >>> FILE_UPLOAD_HANDLERS >>> ('django.core.files.uploadhandler.MemoryFileUploadHandler', >>> 'django.core.files.uploadhandler.TemporaryFileUploadHandler') >>> FILE_UPLOAD_MAX_MEMORY_SIZE >>> 2621440 >>> FILE_UPLOAD_PERMISSIONS >>> None >>> FILE_UPLOAD_TEMP_DIR >>> None >>> FIRST_DAY_OF_WEEK >>> 0 >>> FIXTURE_DIRS >>> () >>> FORCE_SCRIPT_NAME >>> None >>> FORMAT_MODULE_PATH >>> None >>> IGNORABLE_404_ENDS >>> ('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', >>> '.php') >>> IGNORABLE_404_STARTS >>> ('/cgi-bin/', '/_vti_bin', '/_vti_inf') >>> INITIAL_RESULTS >>> 10 >>> INITIAL_STATI >>> 5 >>> INSTALLED_APPS >>> ['directory', 'django.contrib.admin', 'django.contrib.auth', >>> 'django.contrib.contenttypes', 'django.contrib.sessions', >>> 'django.contrib.sites'] >>> INTERNAL_IPS >>> () >>> LANGUAGES >>> (('ar', 'Arabic'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', >>> 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', >>> 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', >>> 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinean Spanish'), >>> ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), >>> ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), >>> ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), >>> ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', >>> 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', >>> 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), >>> ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian >>> Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pl', 'Polish'), ('pt', >>> 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', >>> 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), >>> ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', >>> 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', >>> 'Ukrainian'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), >>> ('zh-tw', 'Traditional Chinese')) >>> LANGUAGES_BIDI >>> ('he', 'ar', 'fa') >>> LANGUAGE_CODE >>> 'en-us' >>> LANGUAGE_COOKIE_NAME >>> 'django_language' >>> LOCALE_PATHS >>> () >>> LOCATION_WEIGHT >>> 10 >>> LOGFILE >>> u'log' >>> LOGIN_REDIRECT_URL >>> '/accounts/profile/' >>> LOGIN_URL >>> '/accounts/login/' >>> LOGOUT_URL >>> '/accounts/logout/' >>> MANAGERS >>> () >>> MEDIA_ROOT >>> '/Users/jonathan/directory/../directory/static/' >>> MEDIA_URL >>> '/static/' >>> MESSAGE_STORAGE >>> 'django.contrib.messages.storage.user_messages.LegacyFallbackStorage' >>> MIDDLEWARE_CLASSES >>> ('django.middleware.common.CommonMiddleware', >>> 'django.contrib.sessions.middleware.SessionMiddleware', >>> 'django.contrib.auth.middleware.AuthenticationMiddleware') >>> MONTH_DAY_FORMAT >>> 'F j' >>> NAME_WEIGHT >>> 70 >>> NUMBER_GROUPING >>> 0 >>> PASSWORD_RESET_TIMEOUT_DAYS >>> '********************' >>> PREPEND_WWW >>> False >>> PROFANITIES_LIST >>> '********************' >>> ROOT_URLCONF >>> 'directory.urls' >>> SECRET_KEY >>> '********************' >>> SEND_BROKEN_LINK_EMAILS >>> False >>> SERVER_EMAIL >>> 'root at localhost' >>> SESSION_COOKIE_AGE >>> 1209600 >>> SESSION_COOKIE_DOMAIN >>> None >>> SESSION_COOKIE_NAME >>> 'sessionid' >>> SESSION_COOKIE_PATH >>> '/' >>> SESSION_COOKIE_SECURE >>> False >>> SESSION_ENGINE >>> 'django.contrib.sessions.backends.db' >>> SESSION_EXPIRE_AT_BROWSER_CLOSE >>> False >>> SESSION_FILE_PATH >>> None >>> SESSION_SAVE_EVERY_REQUEST >>> False >>> SETTINGS_MODULE >>> 'directory.settings' >>> SHORT_DATETIME_FORMAT >>> 'm/d/Y P' >>> SHORT_DATE_FORMAT >>> 'm/d/Y' >>> SHOULD_ALLOW_USERS_TO_CREATE_ACCOUNTS >>> 1 >>> SHOULD_DOWNLOAD_DIRECTORY >>> 1 >>> SHOULD_TURN_ON_HIJAXING >>> 0 >>> SITE_ID >>> 1 >>> STATUS_WEIGHT >>> 1 >>> TAG_WEIGHT >>> 50 >>> TEMPLATE_CONTEXT_PROCESSORS >>> ('django.contrib.auth.context_processors.auth', >>> 'django.core.context_processors.debug', >>> 'django.core.context_processors.i18n', >>> 'django.core.context_processors.media', >>> 'django.contrib.messages.context_processors.messages') >>> TEMPLATE_DEBUG >>> True >>> TEMPLATE_DIRS >>> ('/Users/jonathan/directory/../directory/templates',) >>> TEMPLATE_LOADERS >>> ('django.template.loaders.filesystem.load_template_source', >>> 'django.template.loaders.app_directories.load_template_source') >>> TEMPLATE_STRING_IF_INVALID >>> '' >>> TEST_DATABASE_CHARSET >>> None >>> TEST_DATABASE_COLLATION >>> None >>> TEST_DATABASE_NAME >>> None >>> TEST_RUNNER >>> 'django.test.simple.DjangoTestSuiteRunner' >>> THOUSAND_SEPARATOR >>> ',' >>> TIME_FORMAT >>> 'P' >>> TIME_INPUT_FORMATS >>> ('%H:%M:%S', '%H:%M') >>> TIME_ZONE >>> 'America/Chicago' >>> TITLE_WEIGHT >>> 50 >>> TRANSACTIONS_MANAGED >>> False >>> URL_VALIDATOR_USER_AGENT >>> 'Django/1.2.1 (http://www.djangoproject.com)' >>> USE_ETAGS >>> False >>> USE_I18N >>> True >>> USE_L10N >>> False >>> USE_THOUSAND_SEPARATOR >>> False >>> YEAR_MONTH_FORMAT >>> 'F Y' >>> >>> You're seeing this error because you have DEBUG = True in your Django >>> settings file. Change that to False, and Django will display a standard >>> 500 page. >>> >>> Photo directory: Search >>> Search results >>> >>> Joel Goyeva >>> >>> Jonathan Hayward >>> Web Developer, >>> Test >>> >>> Alice Amazing >>> >>> Test >>> >>> Grandma and Grandpa Hayward >>> >>> (Insert name here) >>> >>> ??? >>> >>> ??? >>> >>> ??? >>> ??? >>> People, etc. >>> Delete "???" >>> ??? >>> Upload image: >>> >>> Upload >>> >>> Title: *Click to add.* >>> >>> Description: *Click to add.* >>> >>> Tags: *Click to add.* >>> >>> Phone:** >>> *OKCancel ? Click to add.* >>> >>> Email: *Click to add.* >>> >>> Webpages: *Click to add.* >>> >>> GPS: *Click to add.* >>> >>> Postal address: *Click to add.* >>> >>> Other contact information: *Click to add.* >>> >>> Time zone: Select A: Paris, >>> +1:00 B: Athens, +2:00 C: >>> Moscow, +3:00 D: Dubai, +4:00 -: >>> Kabul, +4:30 E: Karachi, +5:00 >>> -: New Delhi, +5:30 -: Kathmandu, :5:45 >>> F: Dhaka, +6:00 -: Rangoon, +6:30 >>> G: Jakarta, +7:00 H: Kuala Lumpur, >>> +8:00 I: Tokyo, +9:00 -: >>> Adelaide, +9:30 K: Sydney, +10:00 >>> -: Lord Howe Island, +10:30 L: Solomon Islands, >>> +11:00 -: Norfolk Island, +11:50 >>> M: Auckland, +12:00 -: Chatham Islands, +12:45 >>> -: Tonga, +13:00 -: Line >>> Islands, +14:00 N: Azores, -1:00 >>> O: Fernando de Norohna, -2:00 P: Rio de >>> Janiero, -3:00 -: St. John's, -3:50 >>> Q: Santiago, -4:00 -: Caracas, -4:30 >>> R: New York City, -5:00 S: Chicago, >>> -6:00 T: Boulder, -7:00 U: Los >>> Angeles, -8:00 V: Anchorage, -9:00 >>> -: Marquesas Islands, -9:30 W: Hawaii, -10:00 >>> X: Samoa, -11:00 Y: Baker >>> Island, -12:00 Z: London, +0:00 >>> Observes daylight saving time: >>> >>> Department: * >>> (Insert name here) Alice Amazing >>> Grandma and Grandpa Hayward Joel Goyeva >>> Jonathan Hayward Test ??? >>> ??? ??? * >>> >>> Location: * >>> (Insert name here) Alice Amazing Grandma >>> and Grandpa Hayward Joel Goyeva Jonathan >>> Hayward Test ??? ??? >>> ??? * >>> >>> Reports to: * >>> (Insert name here) Alice Amazing >>> Grandma and Grandpa Hayward Joel Goyeva >>> Jonathan Hayward Test ??? >>> ??? ??? * >>> >>> Status: >>> Click to add. >>> >>> >>> -- >>> [image: Christos Jonathan Hayward] >>> Christos Jonathan Hayward, an Orthodox Christian author. >>> >>> Author Bio ? Books >>> ? *Email * ? Facebook >>> ? LinkedIn ? Twitter >>> ? *Web * ? What's New? >>> I invite you to visit my "theology, literature, and other creative works" >>> site. >>> >>> >>> _______________________________________________ >>> Chicago mailing list >>> Chicago at python.org >>> http://mail.python.org/mailman/listinfo/chicago >>> >>> >> >> _______________________________________________ >> Chicago mailing list >> Chicago at python.org >> http://mail.python.org/mailman/listinfo/chicago >> >> > > _______________________________________________ > Chicago mailing list > Chicago at python.org > http://mail.python.org/mailman/listinfo/chicago > > -- [image: Christos Jonathan Hayward] Christos Jonathan Hayward, an Orthodox Christian author. Author Bio ? Books ? *Email * ? Facebook ? LinkedIn ? Twitter ? *Web * ? What's New? I invite you to visit my "theology, literature, and other creative works" site. -------------- next part -------------- An HTML attachment was scrubbed... URL: