ppa-qps-devel Mailing List for Python Publishing Accessories
Brought to you by:
ods
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(30) |
Nov
(5) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(5) |
Feb
(29) |
Mar
(30) |
Apr
(27) |
May
(23) |
Jun
(13) |
Jul
(32) |
Aug
(31) |
Sep
(11) |
Oct
(7) |
Nov
(16) |
Dec
(22) |
2004 |
Jan
(11) |
Feb
(21) |
Mar
(40) |
Apr
(13) |
May
(5) |
Jun
(14) |
Jul
(5) |
Aug
|
Sep
(5) |
Oct
(7) |
Nov
(3) |
Dec
(1) |
2005 |
Jan
(2) |
Feb
(11) |
Mar
(3) |
Apr
(4) |
May
(1) |
Jun
|
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(3) |
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(16) |
Oct
(12) |
Nov
|
Dec
|
From: SourceForge.net <no...@so...> - 2006-10-27 12:18:14
|
Bugs item #1585760, was opened at 2006-10-27 12:18 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=448849&aid=1585760&group_id=47230 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: McV (vmaximov) Assigned to: Nobody/Anonymous (nobody) Summary: missing BOOLEAN template set in Marine theme Initial Comment: Could be found here: http://geek.net.ru/storage/qps/qps2.7-marine-fields-templates.zip ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=448849&aid=1585760&group_id=47230 |
From: SourceForge.net <no...@so...> - 2006-10-27 12:16:34
|
Bugs item #1585758, was opened at 2006-10-27 12:16 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=448849&aid=1585758&group_id=47230 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: QPS Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: McV (vmaximov) Assigned to: Nobody/Anonymous (nobody) Summary: BOOLEAN.edit.pyem / respublika & Marine themes Initial Comment: Line 3: <input type="checkbox" name="<%= name %>" value="1"<% should be: <input type="checkbox" name="<%= name %>" value="<%= brick.dbTrue %>" ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=448849&aid=1585758&group_id=47230 |
From: Denis S. O. <den...@gm...> - 2006-10-24 10:03:14
|
On 10/24/06, Vasiliy Maximov <mc...@ge...> wrote: > And more about templates: > File "FOREIGN_DROP.edit.pyem", line 20, in ? > NameError: name 'isNew' is not defined Fixed in both FOREIGN_DROP and FOREIGN_MULTISELECT, please test. > Ok. In QPS 2.6 code, file qEdit.py, I've found these lines: > # following 3 lines are here only for compatibility reasons > # after all field templates will be changed they will gone > namespace['edPrefix'] = self.edit.prefix > namespace['edUser'] = self.user > namespace['isNew'] = self.isNew > > And they really has gone in 2.7, but for example keyword 'isNew' can be > found in field templates of all themes, including default one. > So we have templates outdated in repository? Or that piece of code had gone > too soon? No, the templates are updated too slowly. > Meanwile I suggest: > + namespace['edPrefix'] = self.edit.prefix > + namespace['edUser'] = self.user > + namespace['isNew'] = self.isNew $ grep edPrefix QPS/themes/marine/templates/*.pyem QPS/themes/marine/templates/fields/*.pyem -> nothing $ grep edUser QPS/themes/marine/templates/*.pyem QPS/themes/marine/templates/fields/*.pyem -> nothing Suggestion declined ;) |
From: Denis S. O. <den...@gm...> - 2006-10-24 07:28:04
|
On 10/24/06, Vasiliy Maximov <mc...@ge...> wrote: > Hello fellows! > Please note some bugs in ppa and qps packages. > > PPA, SourceFinders.py, line 70: > should we add: > dir = TemplateDirectory(dir) No, it's intended behavior. You can pass optional charset argument to TemplateDirectory. However it would be convinient to accept strings as directory names too - fixed. The current interface of TemplateDirectory is counter intuitive (it's much worse than previous iterface with file argument), so be prepare to yet another incompatible change ;). > QPS, qEdit.py, line 267: > should be like: > if not self.auth : self.auth = qSecurity.CookieAuthentication() > ?? This is a matter of code purity, since current code works fine. Fixed anyway: now auth is mandatory without default value. |
From: Vasiliy M. <mc...@ge...> - 2006-10-23 22:55:06
|
It isn't cute for me, sorry :) The coolest skin for qps ever is the "Marine" one. Even Ods likes it - da great fan of simple and ugly "Default" :) Ok. I've adopted all field temlates for "Marine" from "Respublica". You can find em here: http://geek.net.ru/storage/qps/qps2.7-marine-fields-templates.zip Could you, please commit em to repository? BTW, binding.pyem doesn't work nowdays in all of themes including Respublica. Does someone have working template for bindings? Thanks! McV. On 10/24/06, Alexey Melchakov <mel...@gm...> wrote: > > The only theme supported at the moment is 'respublika', you should try > this cute one. > > On 10/24/06, Vasiliy Maximov < mc...@ge...> wrote: > > > Me again. > > Most of subj files has windows line-ends encoding. > > You guys developing on windows? surprise :) > > > > And more about templates: > > File "FOREIGN_DROP.edit.pyem", line 20, in ? > > NameError: name 'isNew' is not defined > > > > Ok. In QPS 2.6 code, file qEdit.py, I've found these lines: > > # following 3 lines are here only for compatibility reasons > > # after all field templates will be changed they will gone > > namespace['edPrefix'] = self.edit.prefix > > namespace['edUser'] = self.user > > namespace['isNew'] = self.isNew > > > > And they really has gone in 2.7, but for example keyword 'isNew' can be > > found in field templates of all themes, including default one. > > So we have templates outdated in repository? Or that piece of code had > > gone too soon? > > Meanwile I suggest: > > + namespace['edPrefix'] = self.edit.prefix > > + namespace['edUser'] = self.user > > + namespace['isNew'] = self.isNew > > > > > > McV. > > > > > > ------------------------------------------------------------------------- > > Using Tomcat but need to do more? Need to support web services, > > security? > > Get stuff done quickly with pre-integrated technology to make your job > > easier > > Download IBM WebSphere Application Server v.1.0.1 based on Apache > > Geronimo > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > > _______________________________________________ > > ppa-qps-devel mailing list > > ppa...@li... > > https://lists.sourceforge.net/lists/listinfo/ppa-qps-devel > > > > > > > > > -- > mel...@gm... > CRV-RIPN > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > _______________________________________________ > ppa-qps-devel mailing list > ppa...@li... > https://lists.sourceforge.net/lists/listinfo/ppa-qps-devel > > > |
From: Alexey M. <mel...@gm...> - 2006-10-23 21:20:55
|
The only theme supported at the moment is 'respublika', you should try this cute one. On 10/24/06, Vasiliy Maximov <mc...@ge...> wrote: > > Me again. > Most of subj files has windows line-ends encoding. > You guys developing on windows? surprise :) > > And more about templates: > File "FOREIGN_DROP.edit.pyem", line 20, in ? > NameError: name 'isNew' is not defined > > Ok. In QPS 2.6 code, file qEdit.py, I've found these lines: > # following 3 lines are here only for compatibility reasons > # after all field templates will be changed they will gone > namespace['edPrefix'] = self.edit.prefix > namespace['edUser'] = self.user > namespace['isNew'] = self.isNew > > And they really has gone in 2.7, but for example keyword 'isNew' can be > found in field templates of all themes, including default one. > So we have templates outdated in repository? Or that piece of code had > gone too soon? > Meanwile I suggest: > + namespace['edPrefix'] = self.edit.prefix > + namespace['edUser'] = self.user > + namespace['isNew'] = self.isNew > > > McV. > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > _______________________________________________ > ppa-qps-devel mailing list > ppa...@li... > https://lists.sourceforge.net/lists/listinfo/ppa-qps-devel > > > -- mel...@gm... CRV-RIPN |
From: Vasiliy M. <mc...@ge...> - 2006-10-23 21:09:50
|
Me again. Most of subj files has windows line-ends encoding. You guys developing on windows? surprise :) And more about templates: File "FOREIGN_DROP.edit.pyem", line 20, in ? NameError: name 'isNew' is not defined Ok. In QPS 2.6 code, file qEdit.py, I've found these lines: # following 3 lines are here only for compatibility reasons # after all field templates will be changed they will gone namespace['edPrefix'] = self.edit.prefix namespace['edUser'] = self.user namespace['isNew'] = self.isNew And they really has gone in 2.7, but for example keyword 'isNew' can be found in field templates of all themes, including default one. So we have templates outdated in repository? Or that piece of code had gone too soon? Meanwile I suggest: + namespace['edPrefix'] = self.edit.prefix + namespace['edUser'] = self.user + namespace['isNew'] = self.isNew McV. |
From: Vasiliy M. <mc...@ge...> - 2006-10-23 20:19:31
|
Hello fellows! Please note some bugs in ppa and qps packages. PPA, SourceFinders.py, line 70: should we add: dir = TemplateDirectory(dir) QPS, qEdit.py, line 267: should be like: if not self.auth : self.auth = qSecurity.CookieAuthentication() ?? Anyway, please, fix this somehow! Yours, McV |
From: Denis S. O. <den...@gm...> - 2006-10-18 15:15:44
|
$ cd ppa/tests $ ./run.py E....EEEEEEEEEEEEEEEEEEEEEEEEEE................... <snip> Ran 50 tests in 0.013s FAILED (errors=27) I know, that interfaces changed, but the tests must be updated aimultaneously. |
From: Alexey M. <mel...@gm...> - 2006-10-10 07:31:30
|
T24gMTAvMTAvMDYsIERlbmlzIFMuIE90a2lkYWNoIDxkZW5pcy5vdGtpZGFjaEBnbWFpbC5jb20+ IHdyb3RlOgo+Cj4gPiArICAgICAgICAjIFhYWCB3aGF0IGEgc3RyYW5nZSBkZWZhdWx0cz8KPiA+ ICsgICAgICAgIGlmIHRhZz09J2FsbCc6Cj4gPiArICAgICAgICAgICAgZGVmYXVsdF90YWdfcGFy YW1zID0geydjb25kaXRpb24nOiAnJ30KPiA+ICsgICAgICAgIGVsc2U6Cj4gPiArICAgICAgICAg ICAgZGVmYXVsdF90YWdfcGFyYW1zID0ge30KPgo+IFRoZXkgYXJlIG5vdCBzdHJhbmdlLiBUYWcg ImFsbCIgaXMgdXNlZCB3aGVuIHRyYW5zbWl0dGluZyBmcm9tIHRhZwo+ICJkZWxldGUiLCBhbmQg bXVzdCBsZWFkIHRvIGFsbCBpdGVtcyBhdmFpbGFibGUgZm9yIGFsbCBvdGhlciB0YWdzCj4gKE5v bmUsICJlZGl0IiwgImRlbGV0ZSIgYXQgbGVhc3QpLiBUbyB1bmRlcnN0YW5kIHRhZyB0cmFzbWlz c2lvbgo+IGJldHRlciwganVzdCBpbWFnaW5nIHRoYXQgeW91IGhhdmUgc2VjdGlvbnMgYW5kIGRv Y3MgYnkgc2VjdGlvbnMuIElmCj4geW91IGRlbGV0ZSAoaW4gZWRpdG9yIGludGVyZmFjZSkgc2Vj dGlvbiwgeW91IG11c3Qgd2lwZSBvdXQgZmlsZXMgZm9yCj4gX2FsbF8gZG9jdW1lbnRzIG1ha2Vk IGluIHRoaXMgc2VjdGlvbiwgaW5kZXBlbmRlbnRseSB3aGV0aGVyIHNvbWUgb2YKPiBlaXRoZXIg dGhlc2UgZmlsZXMgYXJlIG5vdCBhbHJlYWR5IHB1Ymxpc2hlZCwgb3IgYWxyZWFkeSBkZWxldGVk Lgo+IFRoYXQncyB3aGF0IHRhZyAiYWxsIiBtZWFucy4gU2luY2UganVzdCBkcm9wcGluZyBjb25k aXRpb24gaXMgd2hhdCB3ZQo+IG5lZWQgaW4gbW9zdCBjYXNlcyAoaW4gZmFjdCBJIGhhZCBuZXZl ciBzZWVuIGFuIGV4Y2VwdGlvbiBmcm9tIHRoaXMKPiBmb3IgU1FMU3RyZWFtLCBidXQgaXQncyBu b3QgdHJ1ZSBmb3Igb3RoZXJzLCBlLmcuIEZpbHRlcmVkU3RyZWFtcyB1c2VkCj4gZm9yIG9wdGlt aXphdGlvbiBpbiBzb21lIHNpdGVzKSBpdCdzIGhhcmQtY29kZWQgYXMgZGVmYXVsdC4gQW55d2F5 LAo+IHlvdSBhbHdheXMgaGF2ZSBhbiBvcHRpb24gdG8gZGVmaW5lIHBhcmFtcyBmb3IgdGFnICdh bGwnIGV4cGxpY2l0bHkuCj4KPiBQLlMuIEkgYmVsaWV2ZSBzb21lIHBhcnQgb2YgdGhpcyB0ZXh0 IHNob3VsZCBiZSBtb3ZlZCBpbnRvIGNvbW1lbnRzLgoKCgr0z8fEwSDLwc3NydTYIChwbGVhc2Ug Y29tbWl0KSA6KQoKCi0tIAptZWxjaGFrb3ZAZ21haWwuY29tCkNSVi1SSVBOCg== |
From: Denis S. O. <den...@gm...> - 2006-10-10 07:05:11
|
> + # XXX what a strange defaults? > + if tag=='all': > + default_tag_params = {'condition': ''} > + else: > + default_tag_params = {} They are not strange. Tag "all" is used when transmitting from tag "delete", and must lead to all items available for all other tags (None, "edit", "delete" at least). To understand tag trasmission better, just imaging that you have sections and docs by sections. If you delete (in editor interface) section, you must wipe out files for _all_ documents maked in this section, independently whether some of either these files are not already published, or already deleted. That's what tag "all" means. Since just dropping condition is what we need in most cases (in fact I had never seen an exception from this for SQLStream, but it's not true for others, e.g. FilteredStreams used for optimization in some sites) it's hard-coded as default. Anyway, you always have an option to define params for tag 'all' explicitly. P.S. I believe some part of this text should be moved into comments. |
From: Denis S. O. <den...@gm...> - 2006-10-10 06:48:13
|
On 10/10/06, Alexey Melchakov <co...@us...> wrote: > StreamLoaderPlugins API changed > StreamFilter API changed > Why: Plugins actually need access to both stages of stream creation, modification of initial params (like Tag plugin does) and modification of existing stream (like Filter and Order plugins do) Can't agree. Filter and Order plugins can and should modify parameters passed to Site.createStream instead of modifying created stream in-place. |
From: Denis S. O. <den...@gm...> - 2006-09-25 06:52:20
|
T24gOS8yMy8wNiwg0JPQu9C+0YLQvtCyINCQ0YDRgtC10LwgPGdsYXJAaW5ib3gucnU+IHdyb3Rl Ogo+INCjINC80LXQvdGPINC+0L/Rj9GC0Ywg0LLQvtC30L3QuNC6INCy0L7Qv9GA0L7RgSwg0L3Q sCDRjdGC0L7RgiDRgNCw0Lcg0L3QtSDQv9C+INC/0YDQuNC70L7QttC10L3QuNGOCj4gKNC+0L3Q viDQsdC+0LvQtdC1LdC80LXQvdC10LUg0YPRgdGC0LDQvdC+0LLQuNC70L7RgdGMKSwg0LAg0YHQ utC+0YDQtdC1INC60LDQuiDQvtC90L4g0YDQsNCx0L7RgtCw0LXRgi4KPiDQn9GA0LDQstC40LvR jNC90L4g0Y8g0L/QvtC90LjQvNCw0Y4sINGH0YLQviDQt9Cw0L/RgNC+0YHRiyDQsiDRgdC40YHR gtC10LzQtQo+IGFwYWNoZSttb2RfcHl0aG9uK3BwYS9xcHMg0L7QsdGA0LDQsdCw0YLRi9Cy0LDR jtGC0YHRjyDQv9GA0LjQvNC10YDQvdC+INC/0L4KPiDRgdC70LXQtNGD0Y7RidC10LzRgyDQsNC7 0LPQvtGA0LjRgtC80YM6Cj4gMSkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINGH0LXRgNC10Lcg 0LHRgNCw0YPQt9C10YAg0LPQtdC90LXRgNC40YDRg9C10YIgaHR0cC3Qt9Cw0L/RgNC+0YEg0L3Q sAo+IHdlYi3RgdC10YDQstC10YAsINCyINGC0LXQu9C1INC30LDQv9GA0L7RgdCwINGE0LjQs9GD 0YDQuNGA0YPQtdGCINC40LzRjyDRgdC60YDQuNC/0YLQsCBzY3JpcHQucHkKPiAyKSB3ZWIt0YHQ tdGA0LLQtdGAINCy0LjQtNC40YIg0Y3RgtC+INC40LzRjyDQuCDQv9GL0YLQsNC10YLRgdGPINCy INGB0LLQvtC40YUKPiDQutC+0L3RhNC40LPRg9GA0LDRhtC40Y/RhSDQvdCw0LnRgtC4INC/0L7Q tNGF0L7QtNGP0YnQuNC5INC+0LHRgNCw0LHQvtGC0YfQuNC6INC00LvRjyDRgdC60YDQuNC/0YLQ vtCyCj4g0YLQsNC60L7Qs9C+INGC0LjQv9CwCj4gMykg0L3QsNGF0L7QtNC40YIg0LTQuNGA0LXQ utGC0LjQstGDIFB5dGhvbkhhbmRsZXIgKNGA0LDQsdC+0YLQsNGO0YnRg9GOINCyCj4g0L7Qv9GA 0LXQtNC10LvQtdC90L3QvtC5INC00LjRgNC10LrRgtGA0L7QuNC4KSwg0L7QvdCwINC40LzQtdC1 0YIg0LLQuNC0Ogo+IFB5dGhvbkhhbmRsZXIKPiBIYW5kbGVyX0ZpbGVuYW1lOjpIYW5kbGVyX0Ns YXNzLmhhbmRsZXJfbWV0aG9kLCDQs9C00LU6Cj4gICAqINGE0LDQudC7IEhhbmRsZXJfRmlsZW5h bWVIYW5kbGVyX0ZpbGVuYW1lLnB5INC00L7Qu9C20LXQvQo+INC90LDRhdC+0LTQuNGC0YzRgdGP INCyINC+0L/QuNGB0LDQvdC90L7QuSDQtNC40YDQtdC60YLQvtGA0LjQuAo+ICAgKiDQsiDRjdGC 0L7QvCDRhNCw0LnQu9C1INC00L7Qu9C20LXQvSDQsdGL0YLRjCDQvtC/0LjRgdCw0L0g0LrQu9Cw 0YHRgSBIYW5kbGVyX0NsYXNzLAo+INC40LzQtdGO0YnQuNC5INCyINGB0LLQvtC10Lwg0YLQtdC7 0LUg0LzQtdGC0L7QtCBoYW5kbGVyX21ldGhvZChyZXEsLi4uKSwg0LjQvNC10Y7RidC40LkKPiDQ siDQutCw0YfQtdGB0YLQstC1INC+0LTQvdC+0LPQviDQuNC3INGB0LLQvtC40YUg0L/QsNGA0LDQ vNC10YLRgNC+0LIg0YHRgdGL0LvQutGDINC90LAg0YHRgtGA0YPQutGC0YPRgNGDCj4gaHR0cC3Q t9Cw0L/RgNC+0YHQsAo+IDQpIHdlYi3RgdC10YDQstC10YAgKNGC0L7Rh9C90LXQtSDRg9C20LUg bW9kX3B5dGhvbikg0LfQsNC/0YPRgdC60LDQtdGCCj4g0LjQvdGC0LXRgNC/0YDQtdGC0LDRgtC+ 0YAgUHl0aG9uJ9CwLCDQutC+0YLQvtGA0YvQuSDRgdC+0LfQtNCw0LXRgiDQvtCx0YrQtdC60YIg 0LrQu9Cw0YHRgdCwCj4gSGFuZGxlcl9DbGFzcyDQuCDQstGL0LfRi9Cy0LDQtdGCINCyINC90LXQ vCBoYW5kbGVyX21ldGhvZCwg0L/QtdGA0LXQtNCw0LLQsNGPCj4g0LfQsNC/0YDQvtGBINCyINC6 0LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwCj4gNSkg0LTQsNC70YzRiNC1INC+0LHR gNCw0LHQvtGC0LrQsCDQt9Cw0L/RgNC+0YHQsCDQv9C+0LvQvdC+0YHRgtGM0Y4g0L3QsCDRgdC+ 0LLQtdGB0YLQuAo+IGhhbmRsZXJfbWV0aG9kLCDQvtC9INC80L7QttC10YIg0L/QvtC00LrQu9GO 0YfQsNGC0Ywg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDQvNC+0LTRg9C70LgKPiAo0LIg 0YfQsNGB0YLQvdC+0YHRgtC4IHBwYSwgcXBzKSwg0LfQsNGC0LXQvCDQstC+0LfQstGA0LDRidCw 0YLRjCDRgNC10LfRg9C70YzRgtCw0YIg0YDQsNCx0L7RgtGLCj4g0L3QsCDRgdC10YDQstC10YAg KNC90LDQv9GA0LjQvNC10YAsINGH0LXRgNC10Lcg0L/QsNGA0LDQvNC10YLRgCByZXNwb25zZSkK PiA2KSDQsiDQutC+0L3RhtC1INC40L3RgtC10YDQv9GA0LXRgtCw0YLQvtGAINC30LDQutGA0YvQ stCw0LXRgtGB0Y8sINGB0LXRgNCy0LXRgCDQvtGC0YHRi9C70LDQtdGCCj4g0L/QvtC70YPRh9C1 0L3QvdGL0LUg0L7RgiDQvdC10LPQviDQtNCw0L3QvdGL0LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQ u9GOCgrQndC10L/RgNCw0LLQuNC70YzQvdC+LCDRh9C40YLQsNC50YLQtSDQstC90LjQvNCw0YLQ tdC70YzQvdC+INC00L7QutGD0LzQtdC90YLQsNGG0LjQuCDQuiBtb2RfcHl0aG9uOgpodHRwOi8v bW9kcHl0aG9uLm9yZy9saXZlL2N1cnJlbnQvZG9jLWh0bWwvZGlyLWhhbmRsZXJzLXN5bi5odG1s ClBQQS9RUFMg0LIgbW9kX3B5dGhvbiDQvdC40YfQtdCz0L4g0L3QtSDQvNC10L3Rj9C10YIsINGB 0L7QvtGC0LLQtdGC0YHRgtCy0LXQvdC90L4g0L7QvSDQvdC1INC80L7QttC10YIK0L3QuNC60LDQ uiDQstC70LjRj9GC0Ywg0L3QsCDQtdCz0L4g0L/QvtCy0LXQtNC10L3QuNC1LgoKPiDQldGB0LvQ uCDRjyDQvdC40YfQtdCz0L4g0L3QtSDQvdCw0LLRgNCw0LssINC90LUg0YHQvtCy0YHQtdC8INC/ 0L7QvdGP0YLQvdC+LCDQutCw0Log0YDQsNCx0L7RgtCw0LXRggo+IHdlYi3Qv9GA0LjQu9C+0LbQ tdC90LjQtSwg0L3QsNC/0LjRgdCw0L3QvdC+0LUg0YEg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC4 0LXQvCBwcGEsIHFwczoKPiAxKSDQtdGJ0LUg0LTQsNCy0L3QviDQktGLINC/0LjRgdCw0LvQuCwg 0YfRgtC+INCyINGC0LjQv9C40YfQvdC+0Lkg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IGFwYWNo ZQo+INC00L7Qu9C20L3QsCDQv9GA0LjRgdGD0YLRgdGC0LLQvtCy0LDRgtGMINC00LjRgNC10LrR gtC40LLQsCBQeXRob25IYW5kbGVyCj4gZWRpdDo6aGFuZGxlciwg0LIg0YTQsNC50LvQtSBlZGl0 LnB5INC/0YDQuNGB0YPRgtGB0YLQstGD0LXRgiDRgdGC0YDQvtGH0LrQsCBoYW5kbGVyCj4gPSBI YW5kbGVyLkhhbmRsZXIoRWRpdChzaXRlKSksINGCLtC1LiDRgdC+0LfQtNCw0LXRgtGB0Y8g0L7Q sdGK0LXQutGCINC40LcKPiDRhNCw0LnQu9CwIEhhbmRsZXIucHkg0LrQu9Cw0YHRgdCwIEhhbmRs ZXIg0YEg0L3QtdC60L7RgtC+0YDRi9C80Lgg0L/QsNGA0LDQvNC10YLRgNCw0LzQuCwKPiDRgtC+ 0LPQtNCwINC90LUg0YHQvtCy0YHQtdC8INC/0L7QvdGP0YLQvdC+LCDQutCw0Log0LjQtyDRjdGC 0L7QuSDRgtC+0YfQutC4INGD0LfQvdCw0YLRjCwg0LrQsNC60L7QuQo+INC40LzQtdC90L3QviDQ vNC10YLQvtC0INC+0YLQstC10YfQsNC10YIg0LfQsCDQvtCx0YDQsNCx0L7RgtC60YMg0LfQsNC/ 0YDQvtGB0L7QsiDQuCDQv9C10YDQtdC00LDRgtGMINC10LzRgwo+INGN0YLQvtGCINC30LDQv9GA 0L7RgT8KPiAyKSDQtdGB0LvQuCDQt9Cw0L/Rg9GB0LrQsNGC0Ywg0L/RgNC40LvQvtC20LXQvdC4 0LUgKNGE0LDQudC7IGVkaXQucHkpINGBINC/0YDQtdC00LvQvtC20LXQvdC90YvQvNC4Cj4g0L3Q sNGB0YLRgNC+0LnQutCw0LzQuCwg0YLQviDQvdC4INCyINC80L7QtNGD0LvRjCBTaXRlLnB5LCDQ vdC4INCyIEhhbmRsZXIucHkKPiDRg9C/0YDQsNCy0LvQtdC90LjQtSDQvdC1INC/0LXRgNC10LTQ sNC10YLRgdGPICjQv9GA0L7QstC10YDQuNC7LCDQstGB0YLQsNCy0LjQsiDQsiDQvdC40YUg0L/Q tdGH0LDRgtGMCj4gIkhlbGxvLCB3b3JsZCIg0LIg0YTQsNC50LspLCDQuNC70Lgg0LbQtSDQtNC7 0Y8g0LfQsNC/0YPRgdC60LAg0L/RgNC40LvQvtC20LXQvdC40Y8g0LvRg9GH0YjQtQo+INC40YHQ v9C+0LvRjNC30L7QstCw0YLRjCDQtNGA0YPQs9C+0Lkg0YTQsNC50Ls/CgrQp9GC0L4g0LfQvdCw 0YfQuNGCINC30LDQv9GD0YHQutCw0YLRjCDQv9GA0LjQu9C+0LbQtdC90LjQtSBlZGl0LnB5PyDQ l9Cw0L/Rg9GB0LrQsNGC0Ywg0LrQsNC6PyDQldGB0LvQuCDRh9C10YDQtdC3Cm1vZF9weXRob24s INGC0L4g0YPQv9GA0LDQstC70LXQvdC40LUg0L/QtdGA0LXQtNCw0LXRgtGB0Y8g0L7QsdGK0LXQ utGC0YMsINGD0LrQsNC30LDQvdC90L7QvNGDINCyINC00LjRgNC10LrRgtC40LLQtQpQeXRob25I YW5kbGVyICjQuNC70Lgg0LTRgNGD0LPQvtC5INCw0L3QsNC70L7Qs9C40YfQvdC+0LkpLiDQp9GC 0L4g0LfQvdCw0YfQuNGCINC90LUg0L/QtdGA0LXQtNCw0LXRgtGB0Y8K0YPQv9GA0LDQstC70LXQ vdC40LU/INCV0YHQu9C4IGVkaXQucHkg0LjQvNC/0L7RgNGC0LjRgNGD0LXRgiBTaXRlL0hhbmRs ZXIgLSDRgtC+INC+0L3QuCDQsdGD0LTRg9GCCtC40YHQv9C+0YDRgtC40YDQvtCy0LDRgtGM0YHR jywg0LXRgdC70Lgg0L/QtdGA0LXQtNCw0LXRgiDQuNC8INGD0L/RgNCw0LLQu9C10L3QuNC1IC0g 0LHRg9C00LXRgiDQv9C10YDQtdC00LDQstCw0YLRjNGB0Y8K0YPQv9GA0LDQstC70LXQvdC40LUu INCc0LDQs9C40Lgg0L3QuNC60LDQutC+0Lkg0L3QtdGCLgo= |
From: <gl...@in...> - 2006-09-23 07:49:55
|
Добрый день. У меня опять возник вопрос, на этот раз не по приложению (оно более-менее установилось), а скорее как оно работает. Правильно я понимаю, что запросы в системе apache+mod_python+ppa/qps обрабатываются примерно по следующему алгоритму: 1) пользователь через браузер генерирует http-запрос на web-сервер, в теле запроса фигурирует имя скрипта script.py 2) web-сервер видит это имя и пытается в своих конфигурациях найти подходящий обработчик для скриптов такого типа 3) находит директиву PythonHandler (работающую в определенной директроии), она имеет вид: PythonHandler Handler_Filename::Handler_Class.handler_method, где: * файл Handler_FilenameHandler_Filename.py должен находиться в описанной директории * в этом файле должен быть описан класс Handler_Class, имеющий в своем теле метод handler_method(req,...), имеющий в качестве одного из своих параметров ссылку на структуру http-запроса 4) web-сервер (точнее уже mod_python) запускает интерпретатор Python'а, который создает объект класса Handler_Class и вызывает в нем handler_method, передавая запрос в качестве параметра 5) дальше обработка запроса полностью на совести handler_method, он может подключать дополнительные модули (в частности ppa, qps), затем возвращать результат работы на сервер (например, через параметр response) 6) в конце интерпретатор закрывается, сервер отсылает полученные от него данные пользователю Если я ничего не наврал, не совсем понятно, как работает web-приложение, написанное с использованием ppa, qps: 1) еще давно Вы писали, что в типичной конфигурации apache должна присутствовать директива PythonHandler edit::handler, в файле edit.py присутствует строчка handler = Handler.Handler(Edit(site)), т.е. создается объект из файла Handler.py класса Handler с некоторыми параметрами, тогда не совсем понятно, как из этой точки узнать, какой именно метод отвечает за обработку запросов и передать ему этот запрос? 2) если запускать приложение (файл edit.py) с предложенными настройками, то ни в модуль Site.py, ни в Handler.py управление не передается (проверил, вставив в них печать "Hello, world" в файл), или же для запуска приложения лучше использовать другой файл? Вроде пока все, поправьте меня, если где-то неверно написано, спасибо за помощь! Артем. |
From: Denis S. O. <den...@gm...> - 2006-09-19 08:11:27
|
T24gOS8xOC8wNiwg0JPQu9C+0YLQvtCyINCQ0YDRgtC10LwgPGdsYXJAaW5ib3gucnU+IHdyb3Rl Ogo+INCd0L4sINC6INGB0L7QttCw0LvQtdC90LjRjiwg0L/RgNC40LvQvtC20LXQvdC40LUg0YDQ sNCx0L7RgtCw0LXRgiDQtdGJ0LUg0L3QtSDRgdC+0LLRgdC10Lwg0LrQvtGA0YDQtdC60YLQvdC+ OiDRgdC10LnRh9Cw0YEg0LIg0LHRgNCw0YPQt9C10YDQtQo+INCy0YvQstC+0LTQuNGC0YHRjyDR gdGC0YDQsNC90LjRh9C60LAg0YEg0YHRgdGL0LvQutCw0LzQuCDQvdCwINGB0LrRgNC40L/RgiB1 c2VyLnB5LCDQstGF0L7QtNGP0YnQuNC5INCyINC/0YDQuNC70L7QttC10L3QuNC1INC4INC+0YLQ stC10YfQsNGO0YnQuNC5LAo+INC/0L4t0LLQuNC00LjQvNC+0LzRgywg0LfQsCDQsNGD0YLQtdC9 0YLQuNGE0LjQutCw0YbQuNGOINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LiDQndCw0YHRgtC+ 0YDQvtC20LjQu9C4INGB0LvQtdC00YPRjtGJ0LjQtSDRhNCw0LrRgtGLOgo+IDEpINGB0YHRi9C7 0LrQuCDQuNC80LXRjtGCINCy0LjQtAo+IGh0dHA6Ly9sb2NhbGhvc3QubG9jYWxkb21haW4vdXNl cnM/YWN0aW9uPXNob3dfcmVjb3Zlcgo+INCy0LzQtdGB0YLQvgo+IGh0dHA6Ly9sb2NhbGhvc3Qu bG9jYWxkb21haW4vY29kZS91c2Vycy5weT9hY3Rpb249c2hvd19yZWNvdmVyCgrQn9C+INGF0L7R gNC+0YjQtdC80YMg0LTQvtC70LbQtdC9INCx0YvRgtGMINC60LDQuiDRgNCw0Lcg0L/QtdGA0LLR i9C5INCy0LDRgNC40LDQvdGCLiDQlNC10LvQsNGC0Ywg0LTQvtGB0YLRg9C/0L3Ri9C8INCy0LXR gdGMCmNvZGUgKNGC0L4g0LXRgdGC0Ywg0L/QvtC80LXRidCw0YLRjCDQtdCz0L4g0LIgRG9jdW1l bnRSb290KSAtINGN0YLQviDQvtGC0LrRgNGL0LLQsNGC0Ywg0LTRi9GA0YMg0LIK0LHQtdC30L7Q v9Cw0YHQvdC+0YHRgtC4INGB0LDQudGC0LAuCgo+INCU0L7Qv9GD0YHRgtC40LwsINC/0L7QvNC1 0L3Rj9GC0Ywg0LTQuNGA0LXQutGC0L7RgNC40Y4g0YEgLyDQvdCwIC9jb2RlINCyINC90LDRgdGC 0YDQvtC50LrQsNGFINCw0L/QsNGH0LAg0LzQvtC20L3Qviwg0L3QviDQstC+0LfQvNC+0LbQvdC+ INC70LgKPiDQstGL0LfQstCw0YLRjCDRgdC60YDQuNC/0YIg0LHQtdC3INGA0LDRgdGI0LjRgNC1 0L3QuNGPIC5weT8KClNjcmlwdEFsaWFzICjQtNC70Y8gQ0dJKSDQuCDQv9GA0LDQstC40LvRjNC9 0YvQtSDQvdCw0YHRgtGA0L7QudC60Lgg0YXQtdC90LTQu9C10YDQvtCyICjQtNC70Y8KbW9kX3B5 dGhvbikg0L3QuNC60YLQviDQvdC1INC+0YLQvNC10L3Rj9C7LgoKPiAyKSDQv9GA0Lgg0L/QvtC/ 0YvRgtC60LUg0LfQsNC/0YPRgdC60LAg0YHQutGA0LjQv9GC0LAg0YEg0YLQsNC60LjQvNC4INC/ 0LDRgNCw0LzQtdGC0YDQsNC80LggKNCyINGE0LDQudC70LUgdXNlcnMucHkg0LXRgdGC0Ywg0YTR g9C90LrRhtC40Y8KPiBzaG93X3JlY292ZXIpLCDQv9C+INC70L7Qs9C40LrQtSwg0LIg0LHRgNCw 0YPQt9C10YAg0LTQvtC70LbQtdC9INC30LDQs9GA0YPQttCw0YLRjNGB0Y8g0L3QvtCy0YvQuSDR iNCw0LHQu9C+0L0gKNCy0LjQtNC40LzQviwKPiDQsNC90LDQu9C+0LPQuNGH0L3QviDRgtC+0LzR gywg0LrQsNC6INGN0YLQviDQv9GA0L7QuNGB0YXQvtC00LjQu9C+INGBIGxvZ2luLnB5ZW0pLCDQ v9GA0LjRgdGD0YLRgdGC0LLRg9GO0YIg0YTQsNC50LvRiyDRiNCw0LHQu9C+0L3QvtCyLCDQvdC+ INC00L4KPiDQvdC40YUg0L/RgNC+0YHRgtC+INC90LUg0LTQvtGF0L7QtNC40YIg0YXQvtC0ICjQ v9GA0L7QsdC+0LLQsNC7INC/0LXRgNC10LjQvNC10L3QvtCy0YvQstCw0YLRjCDQuNGFKSwg0LAg 0LLQvNC10YHRgtC+INGN0YLQvtCz0L4KPiDQv9C10YDQtdC30LDQs9GA0YPQttCw0LXRgtGB0Y8g 0LPQu9Cw0LLQvdCw0Y8g0YHRgtGA0LDQvdC40YbQsCAo0LrQsNC6INC/0L7RgdC70LUgbG9naW4u cHllbSksINC10YHRgtGMINC60LDQutC40LUt0L3QuNCx0YPQtNGMINGB0L7QvtCx0YDQsNC20LXQ vdC40Y8KPiDQv9C+INGN0YLQvtC80YMg0L/QvtCy0L7QtNGDLCDQutCw0Log0L/Qvi3Rh9C10LvQ vtCy0LXRh9C10YHQutC4INC/0LXRgNC10LTQsNGC0Ywg0L/QsNGA0LDQvNC10YLRgNCwINGB0LrR gNC40L/RgtGDINC4INGD0LLQuNC00LXRgtGMINGA0LXQt9GD0LvRjNGC0LDRgiDQtdCz0L4KPiDR gNCw0LHQvtGC0Ys/CgrQryDQstC40LbRgyDRgtGD0YIg0YLQvtC70YzQutC+INC00L7QvNGL0YHQ u9GLLCDQvNC+0LjRhSDRgtC10LvQtdC/0LDRgtC40YfQtdGB0LrQuNGFINGB0L/QvtGB0L7QsdC9 0L7RgdGC0LXQuQrQvdC10LTQvtGB0YLQsNGC0L7Rh9C90L4sINGH0YLQvtCx0Ysg0L/QvtC90Y/R gtGMINCyINGH0LXQvCDQtNC10LvQvi4K |
From: <gl...@in...> - 2006-09-18 19:55:58
|
Всем добрый вечер. Спасибо Денису за последний совет, скрипт реально заработал, после этого апач перестал падать с 500 ошибкой. Но, к сожалению, приложение работает еще не совсем корректно: сейчас в браузере выводится страничка с ссылками на скрипт user.py, входящий в приложение и отвечающий, по-видимому, за аутентификацию пользователей. Насторожили следующие факты: 1) ссылки имеют вид http://localhost.localdomain/users?action=show_recover вместо http://localhost.localdomain/code/users.py?action=show_recover Допустим, поменять директорию с / на /code в настройках апача можно, но возможно ли вызвать скрипт без расширения .py? 2) при попытке запуска скрипта с такими параметрами (в файле users.py есть функция show_recover), по логике, в браузер должен загружаться новый шаблон (видимо, аналогично тому, как это происходило с login.pyem), присутствуют файлы шаблонов, но до них просто не доходит ход (пробовал переименовывать их), а вместо этого перезагружается главная страница (как после login.pyem), есть какие-нибудь соображения по этому поводу, как по-человечески передать параметра скрипту и увидеть результат его работы? Спасибо за помощь, Артем. |
From: Denis S. O. <den...@gm...> - 2006-09-13 08:26:37
|
T24gOS8xMy8wNiwg0JPQu9C+0YLQvtCyINCQ0YDRgtC10LwgPGdsYXJAaW5ib3gucnU+IHdyb3Rl Ogo+INCU0LAsINC+0L/QtdGH0LDRgtC60LAsINC90L4g0L/RgNC4Cj4gPCU9IHRlbXBsYXRlKCdt ZW51JywgdXNlcj11c2VyLCAqKmdsb2JhbHMoKSkgJT4KPiDRgNC10LfRg9C70YzRgtCw0YIg0YLQ sNC60L7QuToKPiAgIEZpbGUgImxvZ2luLnB5ZW0iLCBsaW5lIDAsIGluID8KPiBOYW1lRXJyb3I6 IG5hbWUgJ3VzZXInIGlzIG5vdCBkZWZpbmVkCj4g0YIu0LUuINC+0L0g0LLRgNC+0LTQtSDQutCw 0Log0L/QvtC90Y/QuyDQutGD0LTQsCDQstGB0YLQsNCy0LvRj9GC0YwsINC90L4g0L3QtSDQv9C+ 0L3Rj9C7INC+0YLQutGD0LTQsAoK0JfQvdCw0YfQuNGCINCyIGxvZ2luLnB5ZW0g0L3QtSDQv9C1 0YDQtdC00LDQtdGC0YHRjyB1c2VyLiDQlNCwINC4INC60LDQutC+0LkgdXNlciDQvNC+0LbQtdGC INCx0YvRgtGMLArQutC+0LPQtNCwINC10YnQtSDQvdC1INC30LDQu9C+0LPQuNC90LjQu9GB0Y8/ INCS0LXRgNC+0Y/RgtC90L4sINC30LTQtdGB0YwgKNC40LvQuCDQsiDRgdC60YDQuNC/0YLQtSwg 0L7RgtC60YPQtNCwCtCy0YvQt9GL0LLQsNC10YLRgdGPINGN0YLQvtGCINGI0LDQsdC70L7QvSkg 0LTQvtC70LbQvdC+INCx0YvRgtGMIHVzZXI9Tm9uZSwg0LAg0LIgaW5jX3RvcC5weWVtCtGA0LDR gdGH0LjRgtGL0LLQsNGC0Ywg0L3QsCDRgtC+LCDRh9GC0L4gdXNlciDQvNC+0LbQtdGCINCx0YvR gtGMINC4IE5vbmUuCg== |
From: <gl...@in...> - 2006-09-13 08:07:43
|
-----Original Message----- From: "Denis S. Otkidach" <den...@gm...> To: "Глотов Артем" <gl...@in...>, ppa...@li... Date: Wed, 13 Sep 2006 11:59:00 +0400 Subject: Re: [ppa-qps-devel] (no subject) > On 9/13/06, Глотов Артем <gl...@in...> wrote: > > С 1,3,4 шаблонами все в порядке, а для второго выдается уже любимая ошибка: > > File "menu.pyem", line 3, in ? > > NameError: name 'user' is not defined > > > > но изменение вызова на > > <%= template('menu', menu=menu, **globals()) %> > > ее почему-то не убирает, как с этим быть? > > А почему не user=user? Да, опечатка, но при <%= template('menu', user=user, **globals()) %> результат такой: File "login.pyem", line 0, in ? NameError: name 'user' is not defined т.е. он вроде как понял куда вставлять, но не понял откуда Артем. |
From: Denis S. O. <den...@gm...> - 2006-09-13 07:59:04
|
T24gOS8xMy8wNiwg0JPQu9C+0YLQvtCyINCQ0YDRgtC10LwgPGdsYXJAaW5ib3gucnU+IHdyb3Rl Ogo+INChIDEsMyw0INGI0LDQsdC70L7QvdCw0LzQuCDQstGB0LUg0LIg0L/QvtGA0Y/QtNC60LUs INCwINC00LvRjyDQstGC0L7RgNC+0LPQviDQstGL0LTQsNC10YLRgdGPINGD0LbQtSDQu9GO0LHQ uNC80LDRjyDQvtGI0LjQsdC60LA6Cj4gICBGaWxlICJtZW51LnB5ZW0iLCBsaW5lIDMsIGluID8K PiBOYW1lRXJyb3I6IG5hbWUgJ3VzZXInIGlzIG5vdCBkZWZpbmVkCj4KPiDQvdC+INC40LfQvNC1 0L3QtdC90LjQtSDQstGL0LfQvtCy0LAg0L3QsAo+IDwlPSB0ZW1wbGF0ZSgnbWVudScsIG1lbnU9 bWVudSwgKipnbG9iYWxzKCkpICU+Cj4g0LXQtSDQv9C+0YfQtdC80YMt0YLQviDQvdC1INGD0LHQ uNGA0LDQtdGCLCDQutCw0Log0YEg0Y3RgtC40Lwg0LHRi9GC0Yw/CgrQkCDQv9C+0YfQtdC80YMg 0L3QtSB1c2VyPXVzZXI/Cgo+INCYINGH0YLQviDRgtCw0LrQvtC1INGN0YLQviDQt9Cw0LPQsNC0 0L7Rh9C90L7QtSAqKmdsb2JhbHMoKSwg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0LrQvtGC 0L7RgNC+0LPQviDQktGLINC90LUg0YDQtdC60L7QvNC10L3QtNC+0LLQsNC70Lg/CgrQrdGC0L4g 0L/QuNGC0L7QvSwg0YLQsNC6INGH0YLQviDQuCDQv9C+0LLQtdC00LXQvdC40LUg0LDQsdGB0L7Q u9GO0YLQvdC+INGC0LDQutC+0LUg0LbQtSwg0LrQsNC6INC4INC/0YDQuCDQstGL0LfQvtCy0LUK 0L/QuNGC0L7QvdC+0LLRgdC60L7QuSDRhNGD0L3QutGG0LjQuC4g0JAg0L3QtSDRgNC10LrQvtC8 0LXQvdC00YPRjiDRjyDQv9C+0YLQvtC80YMsINGH0YLQviDQvdC1INGB0L7QstGB0LXQvCDQv9C+ 0L3Rj9GC0L3QviwK0LrQsNC60LjQvNC4INGB0LvQtdC00YPQtdGCINGB0YfQuNGC0LDRgtGMINC/ 0LXRgNC10LzQtdC90L3Ri9C1LCDQv9C10YDQtdC00LDQvdC90YvQtSDQsiDRiNCw0LHQu9C+0L0g LSDQu9C+0LrQsNC70YzQvdGL0LzQuArQuNC70Lgg0LPQu9C+0LHQsNC70YzQvdGL0LzQuCwg0YHQ vtC+0YLQstC10YLRgdGC0LLQtdC90L3QviDQsiDQsdGD0LTRg9GJ0LjRhSDQstC10YDRgdC40Y/R hSBQUEEvUVBTINGN0YLQviDQvNC+0LbQtdGCCtC/0LXRgNC10YHRgtCw0YLRjCDRgNCw0LHQvtGC 0LDRgtGMLiDQoSDQtNGA0YPQs9C+0Lkg0YHRgtC+0YDQvtC90YssINC40L3QvtCz0LTQsCDQu9GD 0YfRiNC1INGC0LDQuiDQvdCw0L/QuNGB0LDRgtGMLCDRh9C10LwK0LPQvtGA0L7QtNC40YLRjCDR iNC70LXQudGEINC40Lcg0LrRg9GH0Lgg0L/QtdGA0LXQvNC10L3QvdGL0YUg0Lgg0L3QsCDQutCw 0LbQtNGL0Lkg0YfQuNGFINC10LPQviDQvNC10L3Rj9GC0YwuCg== |
From: <gl...@in...> - 2006-09-13 07:37:55
|
Доброе утро, -----Original Message----- From: "Denis S. Otkidach" <den...@gm...> To: "Глотов Артем" <gl...@in...>, ppa...@li... Date: Wed, 13 Sep 2006 10:47:34 +0400 Subject: Re: [ppa-qps-devel] (no subject) > Судя по трейсбеку возникает подозрение, что приведенный тобой выше > шаблон не тот, который реально используется. Может и login.pyem не > тот? К сожалению, не видя полного лога (полный трейсбек, DEBUG > сообщения о загрузке шаблона с указаним директорий, содержание > используемых шаблонов во всех этих директориях) сложно сказать точно. > В самом начале приведенного тобой inc_top есть использование > brick.site.title, которое не дает ошибки, тебе не кажется странным, > что тот же brick.site.title несколькими строками ниже вдруг дает > NameError? Да, действительно шаблон не тот, я немножко погорячился. Используемый login.pyem выглядит так: <%= template('inc_top', brick=brick) %> <%= template('menu', **globals()) %> <%= template('login_body') %> <%= template('inc_bottom') %> С 1,3,4 шаблонами все в порядке, а для второго выдается уже любимая ошибка: File "menu.pyem", line 3, in ? NameError: name 'user' is not defined но изменение вызова на <%= template('menu', menu=menu, **globals()) %> ее почему-то не убирает, как с этим быть? И что такое это загадочное **globals(), использование которого Вы не рекомендовали? > Судя по стилю, в котором написан код сайта, его разрабатывал как раз > Алексей - по этому он и интересуется Да, если это действительно так, то мир тесен :) Думаю большинство разработчиков под PPA, QPS используют это рассылку. Артем. |
From: Denis S. O. <den...@gm...> - 2006-09-13 06:47:44
|
T24gOS8xMy8wNiwg0JPQu9C+0YLQvtCyINCQ0YDRgtC10LwgPGdsYXJAaW5ib3gucnU+IHdyb3Rl Ogo+INGE0LDQudC70YsgbG9naW4ucHllbSDQuCBpbmNfdG9wLnB5ZW0g0L/QvtGB0LvQtSDRgNCw 0LfQs9C+0LLQvtGA0L7QsiDRgSDRgNCw0LfRgNCw0LHQvtGC0YfQuNC60LDQvNC4INC/0YDQuNC7 0L7QttC10L3QuNGPINC+0LrQsNC30LDQu9C40YHRjAo+INC90LXRgdC60L7Qu9GM0LrQviDQsiDQ tNGA0YPQs9C+0Lwg0LLQuNC00LUsINC90L4g0L7Qv9C40YHQsNC90L3QsNGPINC/0YDQvtCx0LvQ tdC80LAg0L/QtdGA0LXQtNCw0YfQuCDQv9Cw0YDQsNC80LXRgtGA0L7QsiDQvNC10LbQtNGDINGI 0LDQsdC70L7QvdCw0LzQuAo+INC+0YHRgtCw0LvQsNGB0YwsINC90LXRgdC80L7RgtGA0Y8g0L3Q sCDRgtC+LCDRh9GC0L4g0YHQuNC90YLQsNC60YHQuNGBINC/0L7RhdC+0LYg0L3QviDRgtC+0YIs INGH0YLQviDQsdGL0Lsg0YDQtdC60L7QvNC10L3QtNC+0LLQsNC9OgpbLi4uXQo+IGluY190b3Au cHllbToKPgo+IDwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRy YW5zaXRpb25hbC8vRU4iPgo+IDxodG1sPgo+IDxoZWFkPgo+IDx0aXRsZT5FZGl0b3IgaW50ZXJm YWNlIG9mIDwlPSBicmljay5zaXRlLnRpdGxlICU+PC90aXRsZT4KPiA8JQo+IHN0eWxlU2hlZXRV UkwgPSBnZXRhdHRyKHRlbXBsYXRlLmVkaXQsICdzdHlsZVNoZWV0VVJMJywgTm9uZSkKPiBpZiBz dHlsZVNoZWV0VVJMOgo+ICAgICAlPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9j c3MiIGhyZWY9IjwlPSBxdW90ZUhUTUwoc3R5bGVTaGVldFVSTCkgJT4iPjwlCj4gJT4KPiA8L2hl YWQ+Cj4gPGJvZHk+Cj4gPHRhYmxlIHdpZHRoPSIxMDAlIj4KPiA8dHI+Cj4gPHRkIGFsaWduPSJs ZWZ0IiBjbGFzcz0ic2l0ZXRpdGxlIj4KPiA8YSBocmVmPSI8JT0gcXVvdGVIVE1MKHRlbXBsYXRl LmVkaXQucHJlZml4KSsnLycgJT4iPjwlCj4gbG9nb1VSTCA9IGdldGF0dHIodGVtcGxhdGUuZWRp dCwgJ2xvZ29VUkwnLCBOb25lKQo+IGlmIGxvZ29VUkw6Cj4gICAgICU+PGltZyBzcmM9IjwlPSBx dW90ZUhUTUwobG9nb1VSTCkgJT4iIGFsdD0iRWRpdG9yIGludGVyZmFjZSBvZiAmcXVvdDs8JT0K PiBicmljay5zaXRlLnRpdGxlICU+JnF1b3Q7Ij48JQo+IGVsc2U6Cj4gICAgICU+RWRpdG9yIGlu dGVyZmFjZSBvZiA8cT48JT0gYnJpY2suc2l0ZS50aXRsZSAlPjwvcT48JQo+ICU+PC9hPgo+IDwv dGQ+Cj4gPHRkIGFsaWduPSJyaWdodCI+Cj4gPHRhYmxlIGNsYXNzPSJ0b3BtZW51Ij48dHI+Cj4g PCUKPiBpZiB0ZW1wbGF0ZS51c2VyOgo+ICAgICBmb3Igc3RyZWFtIGluIHRlbXBsYXRlLmFsbG93 ZWRTdHJlYW1zOgo+ICAgICAgICAgaWYgZ2V0YXR0cihzdHJlYW0sICdzaG93SW5NZW51JywgMCk6 Cj4gICAgICAgICAgICAgJT48dGQ+PGEgaHJlZj0iPCU9IHF1b3RlSFRNTCh0ZW1wbGF0ZS5lZGl0 LnByZWZpeCtzdHJlYW0ucGF0aCgpKSAlPiI+PCU9Cj4gc3RyZWFtLnRpdGxlICU+PC9hPjwvdGQ+ PCUKPiAlPgo+IDwvdHI+PC90YWJsZT4KPiA8L3RkPjwvdHI+Cj4gPHRyPjx0ZCBjb2xzcGFuPSIy IiBhbGlnbj0iY2VudGVyIj4KPiA8IS0tIGVuZCBvZiBpbmNfdG9wIC0tPgo+Cj4KPiDQkiDQu9C+ 0LPQtSDQvtC/0Y/RgtGMINC/0LjRiNC10YIg0YLQtSDQttC1INC80L7QtNGD0LvQuCwg0LrRgNC+ 0LzQtSDQv9C+0YHQu9C10LTQvdC40YU6Cj4gLi4uLi4KPiAgIEZpbGUgImluY190b3AucHllbSIs IGxpbmUgOCwgaW4gPwo+IE5hbWVFcnJvcjogbmFtZSAnYnJpY2snIGlzIG5vdCBkZWZpbmVkCgrQ odGD0LTRjyDQv9C+INGC0YDQtdC50YHQsdC10LrRgyDQstC+0LfQvdC40LrQsNC10YIg0L/QvtC0 0L7Qt9GA0LXQvdC40LUsINGH0YLQviDQv9GA0LjQstC10LTQtdC90L3Ri9C5INGC0L7QsdC+0Lkg 0LLRi9GI0LUK0YjQsNCx0LvQvtC9INC90LUg0YLQvtGCLCDQutC+0YLQvtGA0YvQuSDRgNC10LDQ u9GM0L3QviDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8uINCc0L7QttC10YIg0LggbG9naW4ucHll bSDQvdC1CtGC0L7Rgj8g0Jog0YHQvtC20LDQu9C10L3QuNGOLCDQvdC1INCy0LjQtNGPINC/0L7Q u9C90L7Qs9C+INC70L7Qs9CwICjQv9C+0LvQvdGL0Lkg0YLRgNC10LnRgdCx0LXQuiwgREVCVUcK 0YHQvtC+0LHRidC10L3QuNGPINC+INC30LDQs9GA0YPQt9C60LUg0YjQsNCx0LvQvtC90LAg0YEg 0YPQutCw0LfQsNC90LjQvCDQtNC40YDQtdC60YLQvtGA0LjQuSwg0YHQvtC00LXRgNC20LDQvdC4 0LUK0LjRgdC/0L7Qu9GM0LfRg9C10LzRi9GFINGI0LDQsdC70L7QvdC+0LIg0LLQviDQstGB0LXR hSDRjdGC0LjRhSDQtNC40YDQtdC60YLQvtGA0LjRj9GFKSDRgdC70L7QttC90L4g0YHQutCw0LfQ sNGC0Ywg0YLQvtGH0L3Qvi4K0JIg0YHQsNC80L7QvCDQvdCw0YfQsNC70LUg0L/RgNC40LLQtdC0 0LXQvdC90L7Qs9C+INGC0L7QsdC+0LkgaW5jX3RvcCDQtdGB0YLRjCDQuNGB0L/QvtC70YzQt9C+ 0LLQsNC90LjQtQpicmljay5zaXRlLnRpdGxlLCDQutC+0YLQvtGA0L7QtSDQvdC1INC00LDQtdGC INC+0YjQuNCx0LrQuCwg0YLQtdCx0LUg0L3QtSDQutCw0LbQtdGC0YHRjyDRgdGC0YDQsNC90L3R i9C8LArRh9GC0L4g0YLQvtGCINC20LUgYnJpY2suc2l0ZS50aXRsZSDQvdC10YHQutC+0LvRjNC6 0LjQvNC4INGB0YLRgNC+0LrQsNC80Lgg0L3QuNC20LUg0LLQtNGA0YPQsyDQtNCw0LXRggpOYW1l RXJyb3I/Cg== |
From: <gl...@in...> - 2006-09-12 21:51:01
|
Доброе время суток, > Позволь узнать, а что за сайт ты патаешься поднять? ) > Сайт знакомых людей, использующий Python, и в частности разробатываемые Вами технологии PPA и QPS. После установки его нужно будет хорошенько потестировать, а затем, если понадобится, дописать немножко своего. Именно поэтому так упорно и приходится его устанавливать :) > On 9/13/06, Глотов Артем <gl...@in...> wrote: > > > > Добрый вечер, > > > > > Если в inc_top нужен title, то его надо явно передать, то есть должно > > быть: > > > <%= template('inc_top', title=title) %> > > > > файлы login.pyem и inc_top.pyem после разговоров с разработчиками > > приложения оказались > > несколько в другом виде, но описанная проблема передачи параметров между > > шаблонами > > осталась, несмотря на то, что синтаксис похож но тот, что был > > рекомендован: > > Денис, я погорячился с последним пунктом, рекомендация была действительно полезная, после ее добавления приложение, по крайней мере, перестало выдавать ошибки! Спасибо за помощь, Артем. |
From: Alexey M. <mel...@gm...> - 2006-09-12 21:25:34
|
8M/a18/M2CDV2s7B1NgsIMEg3tTPINrBINPBytQg1Nkg0MHUwcXb2NPRINDPxM7R1Ng/ICkKCk9u IDkvMTMvMDYsIOfMz9TP1yDh0tTFzSA8Z2xhckBpbmJveC5ydT4gd3JvdGU6Cj4KPiDkz8LS2cog 18XexdIsCj4KPiA+IOXTzMkg1yBpbmNfdG9wIM7V1sXOIHRpdGxlLCDUzyDFx88gzsHEzyDR187P INDF0sXEwdTYLCDUzyDF09TYIMTPzNbOzwo+IMLZ1Ng6Cj4gPiA8JT0gdGVtcGxhdGUoJ2luY190 b3AnLCB0aXRsZT10aXRsZSkgJT4KPgo+IMbByszZIGxvZ2luLnB5ZW0gySBpbmNfdG9wLnB5ZW0g 0M/TzMUg0sHax8/Xz9LP1yDTINLB2tLBws/U3snLwc3JCj4g0NLJzM/Wxc7J0SDPy8HawczJ09gK PiDOxdPLz8zYy88g1yDE0tXHz80g18nExSwgzs8gz9DJ08HOzsHRINDSz8LMxc3BINDF0sXEwd7J INDB0sHNxdTSz9cgzcXWxNUKPiDbwcLMz87BzckKPiDP09TBzMHT2CwgzsXTzc/U0tEgzsEg1M8s IN7UzyDTyc7UwcvTydMg0M/Iz9Ygzs8g1M/ULCDe1M8gwtnMCj4g0sXLz83FzsTP18HOOgo+Cj4K Pgo+IGxvZ2luLnB5ZW06Cj4KPiA8JT0gdGVtcGxhdGUoJ2luY190b3AnLCBicmljaz1icmljaykg JT4KPgo+IDxoMT5FZGl0b3IgaW50ZXJmYWNlIG9mIDxxPjwlPSBicmljay5zaXRlLnRpdGxlICU+ PC9xPjwvaDE+Cj4KPiA8Zm9ybSBhY3Rpb249IjwlPSBxdW90ZUhUTUwodGVtcGxhdGUuZWRpdC5w cmVmaXgrYnJpY2sucGF0aCgpKSAlPiIKPiBtZXRob2Q9IlBPU1QiPgo+IDx0YWJsZSBjbGFzcz0i bG9naW5tZW51Ij4KPiA8dHI+Cj4gPHRkPkxvZ2luOjwvdGQ+Cj4gPHRkPjxpbnB1dCB0eXBlPSJ0 ZXh0IiBuYW1lPSJsb2dpbiI+PC90ZD4KPiA8L3RyPgo+IDx0cj4KPiA8dGQ+UGFzc3dvcmQ6PC90 ZD4KPiA8dGQ+PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwYXNzd2QiPjwvdGQ+Cj4gPC90 cj4KPiA8dHI+Cj4gPHRkPlJlbWVtYmVyIG1lOjwvdGQ+Cj4gPHRkPjxpbnB1dCB0eXBlPWNoZWNr Ym94IG5hbWU9InBlcm1fbG9naW4iIHZhbHVlPSJ5Igo+IGNoZWNrZWQ9ImNoZWNrZWQiPjwvdGQ+ Cj4gPC90cj4KPiA8dHI+Cj4gPHRkIGNvbHNwYW49IjIiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZh bHVlPSJMb2dpbiI+PC90ZD4KPiA8L3RyPgo+IDwvdGFibGU+Cj4gPC9mb3JtPgo+Cj4gPCU9IHRl bXBsYXRlKCdpbmNfYm90dG9tJywgYnJpY2s9YnJpY2spICU+Cj4KPgo+Cj4gaW5jX3RvcC5weWVt Ogo+Cj4gPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNp dGlvbmFsLy9FTiI+Cj4gPGh0bWw+Cj4gPGhlYWQ+Cj4gPHRpdGxlPkVkaXRvciBpbnRlcmZhY2Ug b2YgPCU9IGJyaWNrLnNpdGUudGl0bGUgJT48L3RpdGxlPgo+IDwlCj4gc3R5bGVTaGVldFVSTCA9 IGdldGF0dHIodGVtcGxhdGUuZWRpdCwgJ3N0eWxlU2hlZXRVUkwnLCBOb25lKQo+IGlmIHN0eWxl U2hlZXRVUkw6Cj4gICAgICU+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIg aHJlZj0iPCU9Cj4gcXVvdGVIVE1MKHN0eWxlU2hlZXRVUkwpICU+Ij48JQo+ICU+Cj4gPC9oZWFk Pgo+IDxib2R5Pgo+IDx0YWJsZSB3aWR0aD0iMTAwJSI+Cj4gPHRyPgo+IDx0ZCBhbGlnbj0ibGVm dCIgY2xhc3M9InNpdGV0aXRsZSI+Cj4gPGEgaHJlZj0iPCU9IHF1b3RlSFRNTCh0ZW1wbGF0ZS5l ZGl0LnByZWZpeCkrJy8nICU+Ij48JQo+IGxvZ29VUkwgPSBnZXRhdHRyKHRlbXBsYXRlLmVkaXQs ICdsb2dvVVJMJywgTm9uZSkKPiBpZiBsb2dvVVJMOgo+ICAgICAlPjxpbWcgc3JjPSI8JT0gcXVv dGVIVE1MKGxvZ29VUkwpICU+IiBhbHQ9IkVkaXRvciBpbnRlcmZhY2Ugb2YKPiAmcXVvdDs8JT0K PiBicmljay5zaXRlLnRpdGxlICU+JnF1b3Q7Ij48JQo+IGVsc2U6Cj4gICAgICU+RWRpdG9yIGlu dGVyZmFjZSBvZiA8cT48JT0gYnJpY2suc2l0ZS50aXRsZSAlPjwvcT48JQo+ICU+PC9hPgo+IDwv dGQ+Cj4gPHRkIGFsaWduPSJyaWdodCI+Cj4gPHRhYmxlIGNsYXNzPSJ0b3BtZW51Ij48dHI+Cj4g PCUKPiBpZiB0ZW1wbGF0ZS51c2VyOgo+ICAgICBmb3Igc3RyZWFtIGluIHRlbXBsYXRlLmFsbG93 ZWRTdHJlYW1zOgo+ICAgICAgICAgaWYgZ2V0YXR0cihzdHJlYW0sICdzaG93SW5NZW51JywgMCk6 Cj4gICAgICAgICAgICAgJT48dGQ+PGEgaHJlZj0iPCU9IHF1b3RlSFRNTCh0ZW1wbGF0ZS5lZGl0 LnByZWZpeCtzdHJlYW0ucGF0aCgpKQo+ICU+Ij48JT0KPiBzdHJlYW0udGl0bGUgJT48L2E+PC90 ZD48JQo+ICU+Cj4gPC90cj48L3RhYmxlPgo+IDwvdGQ+PC90cj4KPiA8dHI+PHRkIGNvbHNwYW49 IjIiIGFsaWduPSJjZW50ZXIiPgo+IDwhLS0gZW5kIG9mIGluY190b3AgLS0+Cj4KPgo+IPcgzM/H xSDP0NHU2CDQydvF1CDUxSDWxSDNz8TVzMksIMvSz83FINDP08zFxM7JyDoKPiAuLi4uLgo+ICAg RmlsZSAiaW5jX3RvcC5weWVtIiwgbGluZSA4LCBpbiA/Cj4gTmFtZUVycm9yOiBuYW1lICdicmlj aycgaXMgbm90IGRlZmluZWQKPgo+IPDJ28nUxSwgxdPMySDF09TYIMnExcksIMvByyDc1M8gydPQ 0sHXydTYLgo+IPPQwdPJws8g2sEg0M/Nz93YLAo+IOHS1MXNLgo+Cj4gLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQo+IFVzaW5nIFRvbWNhdCBidXQgbmVlZCB0byBkbyBtb3JlPyBOZWVkIHRvIHN1cHBvcnQgd2Vi IHNlcnZpY2VzLCBzZWN1cml0eT8KPiBHZXQgc3R1ZmYgZG9uZSBxdWlja2x5IHdpdGggcHJlLWlu dGVncmF0ZWQgdGVjaG5vbG9neSB0byBtYWtlIHlvdXIgam9iCj4gZWFzaWVyCj4gRG93bmxvYWQg SUJNIFdlYlNwaGVyZSBBcHBsaWNhdGlvbiBTZXJ2ZXIgdi4xLjAuMSBiYXNlZCBvbiBBcGFjaGUg R2Vyb25pbW8KPiBodHRwOi8vc2VsLmFzLXVzLmZhbGthZy5uZXQvc2VsP2NtZD1sbmsma2lkPTEy MDcwOSZiaWQ9MjYzMDU3JmRhdD0xMjE2NDIKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+IHBwYS1xcHMtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gcHBhLXFw cy1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdl Lm5ldC9saXN0cy9saXN0aW5mby9wcGEtcXBzLWRldmVsCj4KCgoKLS0gCm1lbGNoYWtvdkBnbWFp bC5jb20KQ1JWLVJJUE4K |
From: <gl...@in...> - 2006-09-12 21:07:08
|
Добрый вечер, > Если в inc_top нужен title, то его надо явно передать, то есть должно быть: > <%= template('inc_top', title=title) %> файлы login.pyem и inc_top.pyem после разговоров с разработчиками приложения оказались несколько в другом виде, но описанная проблема передачи параметров между шаблонами осталась, несмотря на то, что синтаксис похож но тот, что был рекомендован: login.pyem: <%= template('inc_top', brick=brick) %> <h1>Editor interface of <q><%= brick.site.title %></q></h1> <form action="<%= quoteHTML(template.edit.prefix+brick.path()) %>" method="POST"> <table class="loginmenu"> <tr> <td>Login:</td> <td><input type="text" name="login"></td> </tr> <tr> <td>Password:</td> <td><input type="password" name="passwd"></td> </tr> <tr> <td>Remember me:</td> <td><input type=checkbox name="perm_login" value="y" checked="checked"></td> </tr> <tr> <td colspan="2"><input type="submit" value="Login"></td> </tr> </table> </form> <%= template('inc_bottom', brick=brick) %> inc_top.pyem: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Editor interface of <%= brick.site.title %></title> <% styleSheetURL = getattr(template.edit, 'styleSheetURL', None) if styleSheetURL: %><link rel="stylesheet" type="text/css" href="<%= quoteHTML(styleSheetURL) %>"><% %> </head> <body> <table width="100%"> <tr> <td align="left" class="sitetitle"> <a href="<%= quoteHTML(template.edit.prefix)+'/' %>"><% logoURL = getattr(template.edit, 'logoURL', None) if logoURL: %><img src="<%= quoteHTML(logoURL) %>" alt="Editor interface of "<%= brick.site.title %>""><% else: %>Editor interface of <q><%= brick.site.title %></q><% %></a> </td> <td align="right"> <table class="topmenu"><tr> <% if template.user: for stream in template.allowedStreams: if getattr(stream, 'showInMenu', 0): %><td><a href="<%= quoteHTML(template.edit.prefix+stream.path()) %>"><%= stream.title %></a></td><% %> </tr></table> </td></tr> <tr><td colspan="2" align="center"> <!-- end of inc_top --> В логе опять пишет те же модули, кроме последних: ..... File "inc_top.pyem", line 8, in ? NameError: name 'brick' is not defined Пишите, если есть идеи, как это исправить. Спасибо за помощь, Артем. |
From: Denis S. O. <den...@gm...> - 2006-09-12 08:12:13
|
T24gOS8xMi8wNiwg0JPQu9C+0YLQvtCyINCQ0YDRgtC10LwgPGdsYXJAaW5ib3gucnU+IHdyb3Rl Ogo+INCc0L7RjyDQt9Cw0LTQsNGH0LAg0YHQtdC50YfQsNGBINC30LDQutC70Y7Rh9Cw0LXRgtGB 0Y8g0LIg0YLQvtC8LCDRh9GC0L7QsSDQv9C10YDQtdC90LXRgdGC0Lgg0YDQsNCx0L7RgtCw0Y7R idC10LUg0L/RgNC40LvQvtC20LXQvdC40LUg0YEg0L7QtNC90L7QuQo+INC/0LvQsNGC0YTQvtGA 0LzRiyDQvdCwINC00YDRg9Cz0YPRjiwg0L/QviDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC90LUg 0LzQtdC90Y/RjyDQtdCz0L4uINCiLtC1LiDQv9C+INC80L3QtdC90LjRjiDRgtC10YUsINC60YLQ viDQvNC90LUg0LTQsNC7INGN0YLQvgo+INC/0YDQuNC70L7QttC10L3QuNC1LCDQvtC90L4g0YMg 0L3QuNGFINC30LDQvNC10YfQsNGC0LXQu9GM0L3QviDRgNCw0LHQvtGC0LDQu9C+LCDRgtC+0LvR jNC60L4g0L3QsCDQvdC10YHQutC+0LvRjNC60L4g0YPRgdGC0LDRgNC10LLRiNC10Lkg0YHQuNGB 0YLQtdC80LU6Cj4gUmVkIEhhdCBMaW51eCA3LjMsIEFwYWNoZSAxLjMsINC30LDRgtC+IFB5dGhv biAyLjQsINGPINC/0YvRgtCw0Y7RgdGMINGN0YLQviDQstGB0LUg0L/QtdGA0LXQvdC10YHRgtC4 INC90LAgRGViaWFuCj4gU2FyZ2UgMy4wMQoK0J/QtdGA0LXQvdC+0YEg0LHQtdC3INC40LfQvNC1 0L3QtdC90LjQuSDQutC+0LTQsCDQtNC+0LvQttC10L0g0L/RgNC+0YXQvtC00LjRgtGMINCx0LXQ tyDQv9GA0L7QsdC70LXQvCwg0LfQsCDRgNC10LTQutC40LwK0LjRgdC60LvRjtGH0LXQvdC40LXQ vCwg0LrQvtCz0LTQsCDQsiDQv9C40YLQvtC90LUg0L/QvtGP0LLQu9GP0Y7RgtGB0Y8g0LLQsNGA 0L3QuNC90LPQuCDQuCDQvdC10YHQvtCy0LzQtdGB0YLQuNC80YvQtQrQuNC30LzQtdC90LjRjyAt INC90L4g0Lgg0Y3RgtC+INCy0YHQtSDQvtGH0LXQvdGMINC70LXQs9C60L4g0L/QvtC/0YDQsNCy 0LjRgtGMLiDQl9C90LDRh9C40YIg0YfRgtC+LdGC0L4g0L3QtSDRgtC+INGBCtC/0LXRgNC10L3Q vtGB0L7QvC4KCj4g0JTQsCwg0Y8g0L3QtSDRgdC+0LLRgdC10Lwg0LrQvtGA0YDQtdC60YLQvdC+ INCy0YvRgNCw0LfQuNC70YHRjzog0LIg0L/RgNC40LvQvtC20LXQvdC40Lgg0LjRgdC/0L7Qu9GM 0LfRg9C10YLRgdGPIHJlc3B1Ymxpa2EgKNGB0YPQtNGPINC/0L4KPiDQt9Cw0L/QuNGB0Lgg0LIg ZWRpdC5weSksINCwINC/0YDQuCDRg9GB0YLQsNC90L7QstC60LUg0Y8g0L/Ri9GC0LDQu9GB0Y8g 0L/QvtC00YHRgtCw0LLQuNGC0Ywg0LggcmVzcHVibGlrYSDQuCBtYXJpbmUsINC4INCyCgrQndGD INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INGB0LzQtdGB0Lgg0LjQtyDRgtC10Lwg0Lgg0LHQ tdGB0YHQvNGL0YHQu9C10L3QvdC+INC4INC90LXQsdC10LfQvtC/0LDRgdC90L4uINCi0LDQuiDR h9GC0L4K0LLQvtC30L3QuNC60LDRjtGJ0LjQtSDQv9GA0Lgg0Y3RgtC+0Lwg0L7RiNC40LHQutC4 INGPINC60L7QvNC80LXQvdGC0LjRgNC+0LLQsNGC0Ywg0L3QtSDQsdGD0LTRgy4KCj4g0L/QvtGB 0LvQtdC00L3QuNC5INC80L7QvNC10L3RgiDQt9Cw0LHRi9C7INC/0L7QvNC10L3Rj9GC0Ywg0LjR hSDQvNC10YHRgtCw0LzQuC4g0J3QsCDRgdCw0LzQvtC8INC00LXQu9C1INC/0YDQuNC70L7QttC1 0L3QuNC1INCy0YvQtNCw0LXRgiDRgtC+0YIg0LbQtQo+IHRyYWNlYmFjaywg0LfQsCDQuNGB0LrQ u9GO0YfQtdC90LjQtdC8INC/0L7RgdC70LXQtNC90LXQuSDRgdGC0YDQvtGH0LrQuDoKPgo+IEZp bGUgImluY190b3AucHllbSIsIGxpbmUgNSwgaW4gPwo+IE5hbWVFcnJvcjogbmFtZSAndGl0bGUn IGlzIG5vdCBkZWZpbmVkCj4KPiDRgi7QtS4g0L/Ri9GC0LDQtdGC0YHRjyDQuNC80L/QvtGA0YLQ uNGA0L7QstCw0YLRjCB0aXRsZSDQuNC3INGI0LDQsdC70L7QvdCwIGluY190b3AucHllbSwg0L3Q viDQvdC1INC90LDRhdC+0LTQuNGCINC10LPQvi4KPgo+INCYINGI0LDQsdC70L7QvSBsb2dpbi5w eWVtINC80LXQvdGP0LvRgdGPLCDQv9GA0LjRh9C10Lwg0LTQvtCy0L7Qu9GM0L3QviDRgdC40LvR jNC90L46Cj4KPiA8JT0gdGVtcGxhdGUoJ2luY190b3AnKSAlPgoK0JXRgdC70Lgg0LIgaW5jX3Rv cCDQvdGD0LbQtdC9IHRpdGxlLCDRgtC+INC10LPQviDQvdCw0LTQviDRj9Cy0L3QviDQv9C10YDQ tdC00LDRgtGMLCDRgtC+INC10YHRgtGMINC00L7Qu9C20L3QviDQsdGL0YLRjDoKPCU9IHRlbXBs YXRlKCdpbmNfdG9wJywgdGl0bGU9dGl0bGUpICU+Cgo+IDwlPSB0ZW1wbGF0ZSgnbWVudScsICoq Z2xvYmFscygpKSAlPgoK0JAg0LLQvtGCINGN0YLQviDRhdCw0LosINC60L7RgtC+0YDRi9C5INGP INC+0YIg0LvQtdC90Lgg0Lgg0YHQsNC8INC/0LXRgNC40L7QtNC40YfQtdGB0LrQuCDQuNGB0L/Q vtC70YzQt9GD0Y4sINGH0YLQvtCxCtC/0LXRgNC10LTQsNGC0Ywg0LLRgdC1INC40LzQtdGO0YnQ uNC10YHRjyDQv9C10YDQtdC80LXQvdC90YvQtS4KCj4gPCU9IHRlbXBsYXRlKCdsb2dpbl9ib2R5 JykgJT4KPiA8JT0gdGVtcGxhdGUoJ2luY19ib3R0b20nKSAlPgo= |