Re: [Zope] product security changes from 2.8 to 2.8.5 - SOLVED
hey All It appears that I have solved it... My process in moving over the product from the old server was to blame. Here's what I did: export all of the zodb contents, and tarball the python product. Then I imported the zodb contents into the new server, and un-tarred the product. This resulted in the error of not finding the python methods, even though it appeard to be connected. So, I added the product form the add menu, and copy/pasted the zodb contents, and now it's all happy. For future refrence, is there a call to conenct this class back into the zodb filesystem after it has been moved to a new instance? Thanks for all the help! -e- ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] product security changes from 2.8 to 2.8.5 ?
Hey Andreas, thanks for the reply. I have Globals.InitializeClass(classname) at the end of my product code (outside the class) I turned on Verbose Security, but hmm... maybe this is not a security issue after all. I have code that worked within my product before like: def send_password_reminder(self, email): """ blah """ Now I see get a name error when trying to access it. *Error Type: NameError* *Error Value: name 'send_password_reminder' is not defined I thought it was a security problem... Is this related to something else? Thanks again! -e- *Andreas Jung wrote: --On 27. Februar 2006 15:20:11 -0800 Ed Colmar <[EMAIL PROTECTED]> wrote: Hello I recently moved my zope product developed on a 2.8 server on to a 2.8.5 server, and all of my python code is no longer being published out. In the past I had been using a doc string """ doc """ to make methods accessible. I realize this is not the proper procedure, but it worked. Now, on the 2.8.5 server, all of these are refused. I've been going through and doing security.declarePublic('methodname') on everything I want to be public, but it does not appear to have any effect. Are there any other changes that I need to make to my product in order to get back the functionality I had previously? Do you call InitializeClass()? Perhaps VerboseSecurity might help you. -aj ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] product security changes from 2.8 to 2.8.5 ?
Hello I recently moved my zope product developed on a 2.8 server on to a 2.8.5 server, and all of my python code is no longer being published out. In the past I had been using a doc string """ doc """ to make methods accessible. I realize this is not the proper procedure, but it worked. Now, on the 2.8.5 server, all of these are refused. I've been going through and doing security.declarePublic('methodname') on everything I want to be public, but it does not appear to have any effect. Are there any other changes that I need to make to my product in order to get back the functionality I had previously? Am I even looking in the right place? Thanks for any tips -e- ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Error importing objects 2.8 > 2.7
*Been working up some code on a zope 2.8.0 install, and I wanted to move it over to a live server. I keep getting this error: Error Type: AttributeError* *Error Value: 'module' object has no attribute '__newobj__' The new server is curious becuase it reads: * Zope Version (unreleased version, python 2.2.3, linux2) Python Version 2.2.3 (#1, Aug 8 2003, 08:44:02) [GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-13)] This was an RPM install as far as I remember. 2.7 I think Do I need to get 2.8.0 on this production box, or is there an easy fix to get this .zexp imported? thanks for any tips! -e- ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] apache open proxy configuration problem
Hmm... Ok the 404 thing I understand, but they are coming in at such a high rate it makes me nervous... Maybe this is some form of distributed DOS attack? On Closer inspection I do see some 200 codes in there as well, like: 69.70.140.130 - - [22/Dec/2005:13:40:59 -0800] "CONNECT 208.146.35.106:6667 HTTP/1.0" 200 82 69.70.140.130 - - [22/Dec/2005:13:40:59 -0800] "CONNECT 208.146.35.106:6667 HTTP/1.0" 200 82 69.70.140.130 - - [22/Dec/2005:13:40:59 -0800] "CONNECT 208.146.35.106:6667 HTTP/1.0" 200 82 69.70.140.130 - - [22/Dec/2005:13:41:00 -0800] "CONNECT 208.146.35.106:6667 HTTP/1.0" 200 82 Should I be worried about this one? Thanks for the help again guys! Maybe I should migrate this thread over to apache forum instead, since it does not really have much to do with zope...??? -e- Tino Wildenhain wrote: Ed Colmar schrieb: Hey Tino Well, my access log fills up with lines like: 61.54.11.222 - - [21/Dec/2005:14:36:56 -0800] "GET http://media.fastclick.net/w/get.media?sid=19765&m=3&tp=7&d=s&c=1 HTTP/1.1" 404 927 404 is fine. We all have that in our logs. There is nothing to worry. Its just the usual internet business. See: http://www.faqs.org/rfcs/rfc2616.html 404 Not Found ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] apache open proxy configuration problem
Ok... So these are failed attempts. good good. The key factor for me getting the RewriteRule to work without using ProxyPass was to make apache run as user zope and group zope. In case anyone else runs into a similar situation. Thanks for all the help and guidance! -e- Martijn Pieters wrote: On 12/22/05, Ed Colmar <[EMAIL PROTECTED]> wrote: Well, my access log fills up with lines like: 61.54.11.222 - - [21/Dec/2005:14:36:56 -0800] "GET http://media.fastclick.net/w/get.media?sid=19765&m=3&tp=7&d=s&c=1 HTTP/1.1" 404 927 Yeah so? They got a 404 response, a Not Found error. No proxying happening here! -- Martijn Pieters ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] apache open proxy configuration problem
Hey Tino Well, my access log fills up with lines like: 61.54.11.222 - - [21/Dec/2005:14:36:56 -0800] "GET http://media.fastclick.net/w/get.media?sid=19765&m=3&tp=7&d=s&c=1 HTTP/1.1" 404 927 59.32.21.156 - - [21/Dec/2005:14:37:10 -0800] "GET http://www.searchvill.com/index.php?uid=1077&REQ=Poker%20Betting HTTP/1.0" 404 935 222.208.183.2 - - [21/Dec/2005:14:40:05 -0800] "GET http://adsence.sogou.com/index.html?pid=info-xa163&ww=120&dc=3&dir=0&num=6&color=1&charset=gb HTTP/1.0" 404 936 222.208.183.2 - - [21/Dec/2005:14:40:06 -0800] "GET http://log.cpc.sohu.com:90/?pv.png HTTP/1.0" 200 589 213.226.83.21 - - [21/Dec/2005:14:40:27 -0800] "GET http://www.ccet-server.com/cgi-bin/ip.cgi HTTP/1.0" 404 933 212.30.78.125 - - [21/Dec/2005:14:41:20 -0800] "GET http://test.anonproxies.com/azenv.php?80 HTTP/1.0" 404 935 203.88.51.59 - - [21/Dec/2005:14:42:07 -0800] "GET http://www.abcseek.info/cgi-bin/ip1.cgi HTTP/1.0" 404 933 213.156.221.126 - - [21/Dec/2005:14:42:29 -0800] "POST http://66.96.85.136:80/checkp/env/env.php HTTP/1.0" 404 932 218.71.245.157 - - [21/Dec/2005:14:42:51 -0800] "GET http://umsky.com/prx.php HTTP/1.0" 404 933 83.133.146.243 - - [21/Dec/2005:14:43:41 -0800] "GET http://clickingagent.com/proxycheck.php?ip=66.92.14.218&port=80&loc= HTTP/1.1" 404 940 -e- Tino Wildenhain wrote: Ed Colmar schrieb: Hey All.. I'm following up on this thread after lots of different configuration attempts, reinstalling apache2 from source, more configuration attempts, banging my head against the wall, and endless troubleshooting.. Unfortuantely I am still failing to configure this correctly. Thankfully the people using my apache as a open proxy are so relentless I only need to start apache for a few seconds to determine if the proxy is still open or not... So... I've made quite a bit of progress, but I am still at a loss to understand what is going on here Possibly this is a question for the apache forum, but I figured some of my fellow zope users might be able to help, since all I'm using apache for is to rewrite for zope, and log access. I have cleaned up my virtual host directive to only use a single Rewrite Rule (which works): RewriteRule ^/(.*) http://192.168.1.32:8080/VirtualHostBase/http/www.myserver.net:80/myfolder/$1 [L,P] Still the proxy was open and under attack. I'm wondering where you get the impression you have an open proxy? Given your configuration, no access can go outside your zope. Sure people will try it all the time - but your apache still delivers just your zope content. Just try it out yourself! ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] apache open proxy configuration problem
Hey All.. I'm following up on this thread after lots of different configuration attempts, reinstalling apache2 from source, more configuration attempts, banging my head against the wall, and endless troubleshooting.. Unfortuantely I am still failing to configure this correctly. Thankfully the people using my apache as a open proxy are so relentless I only need to start apache for a few seconds to determine if the proxy is still open or not... So... I've made quite a bit of progress, but I am still at a loss to understand what is going on here Possibly this is a question for the apache forum, but I figured some of my fellow zope users might be able to help, since all I'm using apache for is to rewrite for zope, and log access. I have cleaned up my virtual host directive to only use a single Rewrite Rule (which works): RewriteRule ^/(.*) http://192.168.1.32:8080/VirtualHostBase/http/www.myserver.net:80/myfolder/$1 [L,P] Still the proxy was open and under attack. I turned off mod_proxy and related proxy modules... But... The P flag in the RewriteRule uses the proxy module though, so the rewrite did not work. I tried removing the P flag, and it does redirect to the appropriate page, but does not rewrite the URL correctly. I have tried using all of the following (inside the virtualhost directive, outside of it, and both) to disable the open proxy... none of which have any effect: Order Deny,Allow Deny from all Allow from www.myserver.net ProxyRequests Off I attempted to use ProxyBlock * Which was effective, but also killed the rewrite rule. Can anyone offer me a decisive way to kill off this open proxy? I'm getting so frustrated with it I'm considering just ditching apache entirely and running zope on port 80. of course this would mean no virtual hosts, but I can live with that in this case. Please help! Thanks! -ed Kanealii, Priam Mr KRS wrote: I abandoned mod_proxy for mod_rewrite. Security-wise, mod_rewrite had less to worry about (this is important when website administration changes hands). The sample configuration below shows how to handle Zope resource quirks and how to proxy requests to and from folders in Zope (both tested). The last rule is my guess at what "proxy everything to and from Zope" would look like (untested). Apache is listening on 80 and routes requests to a Zope instance listening on 8080. RewriteEngine On RewriteLog "/path/to/rewrite_log" # Zope serves some system-ish content from p_ and misc_. RewriteRule ^/p_(.*) http://127.0.0.1:8080/VirtualHostBase/http/%{HTTP_HOST}/VirtualHostRoot/p_$1 [L,P] RewriteRule ^/misc_(.*) http://127.0.0.1:8080/VirtualHostBase/http/%{HTTP_HOST}/VirtualHostRoot/misc_$1 [L,P] # Apache folders served by Zope folders. RewriteRule ^/folder1(.*) http://127.0.0.1:8080/VirtualHostBase/http/%{HTTP_HOST}/VirtualHostRoot/folder1$1 [L,P] RewriteRule ^/folder2(.*) http://127.0.0.1:8080/VirtualHostBase/http/%{HTTP_HOST}/VirtualHostRoot/folder2$1 [L,P] # Push everything to Zope? RewriteRule ^(.*) http://127.0.0.1:8080/VirtualHostBase/http/%{HTTP_HOST}/VirtualHostRoot/$1 [L,P] Aloha, Priam -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ed Colmar Sent: Saturday, October 15, 2005 9:19 AM To: zope@zope.org Subject: [Zope] apache open proxy configuration problem I've been running zope through apache for years and years now, and I have a new machine set up with apache 2.0.48 and zope (Zope 2.8.0-final, python 2.3.5, linux2) Using Identical Vhost configuration settings from an old machine all has been well, up until about 5 days ago, when I noticed the machine getting slammed, and wierd logs started showing up like: xxx.xxx.xxx.xxx - - [14/Oct/2005:14:09:06 -0700] "GET http://partners.mygeek.com:80/search.jsp?partnerid=98885&pagesize=12 <http://partners.mygeek.com:80/search.jsp?partnerid=98885&pagesize=12> HTTP/1.1" 403 406 (IP removed to protect the guilty) In my quick research to try to determine the problem, I found people advising to turn "ProxyRequests Off", which I did, but did not have any effect. Luckily this is just a development server, not a live production server, so its not super critical, but I'm nervous now that my production server might be in the same state... Here is a sample vhost.conf entry: NameVirtualHost 192.168.1.32 ServerName www.greengraphics.net ServerPath /var/www/greengraphics/www DocumentRoot /var/www/greengraphics/www ServerAdmin webmaster RewriteEngine On TransferLog logs/Vhost-greengraphics-access.log ProxyRequests Off Order deny,allow Allow from all ProxyPass / http://192.168.1.32:8080/VirtualHostBase/http/www.greengraphics.net:80/greengraphics/VirtualHostRoot/ ProxyPassReverse / http://192.168.1.32:8080/VirtualHostBase
[Zope] ZSQL batching with dtml-in
Do ZSQL methods communicate with the dtml-in call and understand the "size" attribute? for example, in this dtml-in statement: Will the database be queried for all results, and only have 20 displayed, or will the database just return the 20 that are needed? Thanks for the insight! -Ed ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Human validation in zope/python
Hey All I'm wondering if anyone has a module that will generate the randomized images that are so common these days in registration forms to verify that the user is a human. Or, alternativly, other strategies to block spamming of registration forms by bots or other automated methods. Thanks! Ed ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] apache open proxy configuration problem
I've been running zope through apache for years and years now, and I have a new machine set up with apache 2.0.48 and zope (Zope 2.8.0-final, python 2.3.5, linux2) Using Identical Vhost configuration settings from an old machine all has been well, up until about 5 days ago, when I noticed the machine getting slammed, and wierd logs started showing up like: xxx.xxx.xxx.xxx - - [14/Oct/2005:14:09:06 -0700] "GET http://partners.mygeek.com:80/search.jsp?partnerid=98885&pagesize=12 HTTP/1.1" 403 406 (IP removed to protect the guilty) In my quick research to try to determine the problem, I found people advising to turn "ProxyRequests Off", which I did, but did not have any effect. Luckily this is just a development server, not a live production server, so its not super critical, but I'm nervous now that my production server might be in the same state... Here is a sample vhost.conf entry: NameVirtualHost 192.168.1.32 ServerName www.greengraphics.net ServerPath /var/www/greengraphics/www DocumentRoot /var/www/greengraphics/www ServerAdmin webmaster RewriteEngine On TransferLog logs/Vhost-greengraphics-access.log ProxyRequests Off Order deny,allow Allow from all ProxyPass / http://192.168.1.32:8080/VirtualHostBase/http/www.greengraphics.net:80/greengraphics/VirtualHostRoot/ ProxyPassReverse / http://192.168.1.32:8080/VirtualHostBase/http/www.greengraphics.net:80/greengraphics/VirtualHostRoot/ mod_proxy.conf looks like: LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_connect_modulemodules/mod_proxy_connect.so #LoadModule proxy_ftp_modulemodules/mod_proxy_ftp.so LoadModule proxy_http_modulemodules/mod_proxy_http.so # # Proxy Server directives. Uncomment the following lines to # enable the proxy server: # ProxyRequests Off Order deny,allow Deny from all #Allow from .your-domain.com # # Enable/disable the handling of HTTP/1.1 "Via:" headers. # ("Full" adds the server version; "Block" removes all outgoing Via: headers) # Set to one of: Off | On | Full | Block # ProxyVia On # End of proxy directives. any suggestions? places to look to verify security? Thanks! -ed ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] php header() equivalent in zope, translation please
I'm working on a website to be viewed in the eve-online in-game browser. This browser has a feature called "trusted site" that allows the server to extract information about the game character that is viewing the page... Once the website is "trusted" all of the variables are transferred over in the header section of the http request... My question relates to how to request this trusted status... They have provided a sample php script that has this behaviour, but I am very unfamiliar with php, and would be interested to see what the zope/python equivalent would be... Could anyone give me a translation for this line >>> header("eve.trustme: ... TIA! -e- | Testpage header("|eve.trustme:|http://www.mywebsite.net/::please| allow me to access your pilot information.|"); } else { ?> Pilot: Location: // Station: | ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] zope 2.8 command line tracebacks
The 2.8 version of zope no longer displays tracebacks in the terminal window (after excecuting ./runzope). It just stops execution at any errors. I am trying to troubleshoot a page that is called from another server, so I do not get to view the error document. I have debug mode turned on. Is there any way I can get this information? It is ok if it ends up in a logfile, but output to shell (like previous zope behaviour) is preferred. I am linux (x86) using a zope built from sources. Thanks for any tips. -e ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] paypal IPN. Debug messages missing. Script goes zombie
Hi all! I've been hacking together a few seperate paypal IPN connections, some code from basion, and some from random web scrapings... Anyway... Things are working for the most part, except that this method for some reason dies when using urllib.urlopen(), and what is really wierd is that I get no error message, it just hangs. I am running an older version of zope, but I have never seen this behaviour before. The debug (-D) flag is set in start. here is the code I am using... As far as I can tell my syntax is proper... ??? def paypal_notify(self,address_street='',address_zip='',first_name='',last_name='',payer_business_name='',payer_email='', payer_id='',payer_status='',residence_country='',quantity='',receiver_email='',receiver_id='',custom='',invoice='', memo='',auth_id='',auth_exp='',auth_amount='',auth_status='', remaining_settle='', mc_gross_x='',mc_handling_x='',mc_shipping_x='', num_cart_items='',parent_txn_id='',payment_date='',payment_status='',payment_type='', pending_reason='',reason_code='',txn_id='',txn_type='',exchange_rate='',mc_currency='',mc_fee='', mc_gross='', mc_handling='',payment_gross='',settle_amount='',settle_currency='', auction_buyer_id='',auction_closing_date='',auction_multi_item='',for_auction='', option_name1='',option_name2='',option_selection1='',option_selection2='',tax='', subscr_date='',subscr_effective='',period1='',period2='',period3='',amount1='', amount2='',amount3='',mc_amount1='',mc_amount2='',mc_amount3='',recurring='', reattempt='',retry_at='', recur_times='',username='',password='',subscr_id='',test_ipn=0,REQUEST=None): """ take a IPN from paypal, and update the database """ print "Initiating paypal IPN" # they want us to send back their same shite (and we've just nicely # deblocked it from the REQUEST...) print "DEBUG = STARTING" requestform = REQUEST.form print requestform['quantity'] # debug test requestform['cmd'] = '_notify-validate' print "DEBUG = INSERTED NEW VALUE" print requestform print "sending request back to paypal" requestparams = urllib.urlencode(requestform) print "DEBUG = Encoded Request" print requestparams data = urllib.urlopen('https://www.sandbox.paypal.com/cgi-bin/webscr', requestform) print "DEBUG = urlretrieved" print data.read() print "DEBUG = DATA READ" -- I see all my debug print commands until "encoded Request" and requestparams, so it is getting lost on the urlopen call. Thanks for any help or tips. I'll post the final IPN method when I'm done. Cheers! -ed ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Simple paypal IPN external method or product
I found the Bastion Ledger and Bastion Paypal connection, but it is way way overkill for what I want to do. Does anyone have a simple(r) IPN script they can point me towards? TIA! -e- ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Py-Toc and zope products
Greetings. I have been messing around with the py-TOC code, and am looking forward to implementing it into my zope/MySQL site. I think I am missing something about how to connect it to my zope folder class My goal with this is to tie in the AIM messages in with the folder class I am using in zope to affect database queries. However, I've only been able to successfully get it running using the "bot" and "bm" classes as global variables (not self.bot and self.bm) so they are now outside the class where I need them... This was my best attempt at getting them inside the zope folder class, but zope does not like it... Is there a better way? class SystemofControlSite(Folder): def __init__(self, id, title, content): self.bot = MyBot("syscontrolbot23","pass") self.bot._info = "www.systemofcontrol.com notification bot." self.bm = BotManager() self.bm.addBot(self.bot,"myBot") # start it up time.sleep(1) on init, I get this error: *UnpickleableError* Sorry, a site error occurred. Traceback (innermost last): * Module ZPublisher.Publish, line 150, in publish_module * Module Products.PlacelessTranslationService.PatchStringIO, line 51, in new_publish * Module ZPublisher.Publish, line 114, in publish * Module Zope, line 171, in zpublisher_exception_hook * Module ZPublisher.Publish, line 102, in publish * Module Zope, line 188, in commit * Module ZODB.Transaction, line 222, in commit * Module ZODB.Transaction, line 195, in commit * Module ZODB.Transaction, line 256, in _commit_objects * Module ZODB.Connection, line 387, in commit __traceback_info__: (('Products.SystemofControlSite.SystemofControlSite', 'SystemofControlSite'), '\x00\x00\x00\x00\x00\x00\xdd1', '') UnpickleableError: Cannot pickle objects (Also, an error occurred while attempting to render the standard error message.) I'm assuming this is because zope is attempting to make the bot connection persistant... so then I did: bot = MyBot("syscontrolbot23","pass") bm = BotManager() bm.addBot(bot,"myBot") # start it up and use global variables to control it. def initbot(self): """ create the bot """ global bot global bm bm.addBot(bot,"myBot") # start it up time.sleep(1) return 1 This sucks though becasue I cannot pass a message from AIM back into my zope product to do something with the database... Any ideas? Suggestions? Cheers! -ed ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Re: [Image-SIG] Properly integrating PIL, reportlab, and zope
Ahha! To force zope (and reportlab) to use a different working directory, use: import os os.chdir('/usr/local/zope/differentdir/') still this is a pretty big workaround, but hey... It works! -e- > Hello ed, > > If you figure this out let me know. We tried several times and were > unsuccessful. we only have two files (logos) so it wasn't worth fighting > with. > > thanks, > > Dan > > > ed colmar wrote: > > > > Thanks for the help everyone! > > > > I'm a few steps closer to solving this one. What I'm doing is pretty much a > > workaround, since I can't figure out how to pass a image file directly from > > within the zodb. I have created a seperate field that gets passed to a > > localFS directory. > > > > Right now, I just need to refrence a file that is somewhere other than the > > /usr/local/zope directory. > > > > I've been trying: > > c.drawInlineImage(str('/home/zope/uploadedimages/' + filename), .5*inch, > > 10.*inch,4*inch) > > > > for some reason it can't find a file anywhere other than the base directory > > in zope. I cannot use this directory because it will serve as a collection > > of image files. > > > > Any ideas how to force it to look somewhere else for this file? > > > > Thanks again! > > > > -e- > > > > - Original Message - > > From: "Daniel Rusch" <[EMAIL PROTECTED]> > > > I have no idea if this will help you. We use PIL, reportlabs and zope to > > > create P.O.'s, to place a logo on the page we use the following line of > > > code: > > > > > > c.drawInlineImage("gclogo_color.gif", .5*inch, 10.*inch,4*inch) > > > > > > > ___ > > Zope maillist - [EMAIL PROTECTED] > > http://lists.zope.org/mailman/listinfo/zope > > ** No cross posts or HTML encoding! ** > > (Related lists - > > http://lists.zope.org/mailman/listinfo/zope-announce > > http://lists.zope.org/mailman/listinfo/zope-dev ) > ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Re: [Image-SIG] Properly integrating PIL, reportlab, and zope
Thanks for the help everyone! I'm a few steps closer to solving this one. What I'm doing is pretty much a workaround, since I can't figure out how to pass a image file directly from within the zodb. I have created a seperate field that gets passed to a localFS directory. Right now, I just need to refrence a file that is somewhere other than the /usr/local/zope directory. I've been trying: c.drawInlineImage(str('/home/zope/uploadedimages/' + filename), .5*inch, 10.*inch,4*inch) for some reason it can't find a file anywhere other than the base directory in zope. I cannot use this directory because it will serve as a collection of image files. Any ideas how to force it to look somewhere else for this file? Thanks again! -e- - Original Message - From: "Daniel Rusch" <[EMAIL PROTECTED]> > I have no idea if this will help you. We use PIL, reportlabs and zope to > create P.O.'s, to place a logo on the page we use the following line of > code: > > c.drawInlineImage("gclogo_color.gif", .5*inch, 10.*inch,4*inch) > ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] Properly intergating reportlab and Zope
Hi all! I'm still trying to get this to work, so I'm going to try the lists for assistance again. TIA!!! I am working on a project using zope and reportlab. The goal is to have uploaded images end up in a formatted PDF file. I have both of these halves completed, I need to figure out how to connect them. I have been using SquishFile.py as the wrapper around uploaded images, as is done in squishdot. The few image types I have tried have displayed fine on screen, but PIL/Reportlab is not able to recognise the image. I know how to get an image into reportlab from the filesystem, but is there a way to use one that is in the Zodb? How would you go about wrapping the file in a PIL.Image() ? I've been trying things similar to: cardimage=PIL.Image.open(self.uploadedimage) c.drawInlineImage(cardimage, 1,1) This gives an error in reportlab.canvas.convert() I tried using PIL.image.fromstring(), but I can't quite get it to work out: filebytes=[str(self.uploadedimage.file_bytes()), 'bytes'] cardimage=PIL.Image.fromstring(self.uploadedimage.content_type(), filebytes, self.uploadedimage.file_data()) c.drawInlineImage(cardimage, 1,1) This gives a typeerror: PIL/Image.py, line 848, in new has anyone succesfully done this? can I just Leave the SquishFile wrapper off if it is ONLY going to be images that get uploaded? Thanks for any ideas! -ed- ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev ) ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] Properly integrating PIL, reportlab, and zope
Hi all! I am working on a project using zope and reportlab. The goal is to have uploaded images end up in a formatted PDF file. I have both of these halves completed, I need to figure out how to connect them. I have been using SquishFile.py as the wrapper around uploaded images, as is done in squishdot. The few image types I have tried have displayed fine on screen, but PIL is not able to recognise the image. How would you go about wrapping the file in a PIL.Image() ? I've been trying things similar to: cardimage=PIL.Image.open(self.uploadedimage) c.drawInlineImage(cardimage, 1,1) This gives an error in reportlab.canvas.convert() I tried using PIL.image.fromstring(), but I can't quite get the it to work out: filebytes=[str(self.uploadedimage.file_bytes()), 'bytes'] cardimage=PIL.Image.fromstring(self.uploadedimage.content_type(), filebytes, self.uploadedimage.file_data()) c.drawInlineImage(cardimage, 1,1) This gives a typeerror: PIL/Image.py, line 848, in new has anyone succesfully done this? can I just Leave the SquishFile wrapper off if it is ONLY going to be images that get uploaded? Thanks for any ideas! -ed- ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] UserDb - Please just WORK
Since Login Manager isn't doing the trick, I've been trying User DB to authenticate to my postgresql DB. I get some strange errors, like when I try to view a page that is 'protected' by UserDb, I get the error message below. Also, when I click a user in the management screen, it says "the specified user does not exist". Arrggg this task is so simple but REALLY FRUSTRATING... Thank you, thank you, thank you... (to anyone who can help) Error Type: TypeError Error Value: argument 1: expected read-only character buffer, None found Traceback (innermost last): File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 222, in publish_module File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 187, in publish File /usr/local/zope/lib/python/Zope/__init__.py, line 221, in zpublisher_exception_hook (Object: Traversable) File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 162, in publish File /usr/local/zope/lib/python/ZPublisher/BaseRequest.py, line 440, in traverse File /usr/local/zope/lib/python/Products/UserDb/UserDb.py, line 310, in validate (Object: RoleManager) File /usr/local/zope/lib/python/AccessControl/User.py, line 437, in validate (Object: RoleManager) File /usr/local/zope/lib/python/Products/UserDb/UserDb.py, line 147, in getUsers (Object: RoleManager) File /usr/local/zope/lib/python/Products/UserDb/UserDb.py, line 52, in __init__ TypeError: (see above) ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] LoginManager - With SQL
Thanks for the tips everyone! I keep going between UserDb and LoginManager to try to get this to work. UserDb gives me weird errors, and isn't really current, so I'm focusing on LM. I feel like I'm getting closer to a solution, but I'm still having difficuties... I followed jPenny's how to regarding accessing SQL method variables from within python, and wrapped the retrieveItem result in a User Class. It seems like it is at least running my code now, but no authentication... Am I close? Can Anyone working with LoginManager offer any insight into this? Thanks! -e- Here's the code I have in UserSources.py class User(BasicUser): """ A wrapper for the basic user class """ icon='misc_/UserDb/User_icon' def __init__(self, name, password, roles, domains): self.name =name self.__ =password self.roles =filter(None, map(strip, split(roles, ','))) self.domains=filter(None, map(strip, split(domains, ','))) def getUserName(self): return self.name def _getPassword(self): return self.__ def getRoles(self): return self.roles def getDomains(self): return self.domains class PGCryptUserSource(BasicUserSource): """ A sql based encrypted user source """ meta_type="PG Crypt User Source" __plugin_kind__="User Source" def retrieveItem(self, name): try: res=self.getuserbyusername(username=name) except: return None fields2index={} fieldnames=res._schema.items() for i in range(len(fieldnames)): fields2index[fieldnames[i][0]]=fieldnames[i][1] username=res[0][fields2index['username']] password=res[0][fields2index['password']] roles=res[0][fields2index['roles']] domains=res[0][fields2index['domains']] return User(username, password, roles, domains) def rolesForUser(self, user): name = user.getUserName() res = self.getuserbyusername(username=name) fields2index={} fieldnames=res._schema.items() for i in range(len(fieldnames)): fields2index[fieldnames[i][0]]=fieldnames[i][1] roles=res[0][fields2index['roles']] return roles def domainsForUser(self, user): name = user.getUserName() res = self.getuserbyusername(username=name) fields2index={} fieldnames=res._schema.items() for i in range(len(fieldnames)): fields2index[fieldnames[i][0]]=fieldnames[i][1] domains=res[0][fields2index['domains']] return domains def authenticateUser(self, user, password, request): name = user.getUserName() res = self.getuserbyusername(username=name) fields2index={} fieldnames=res._schema.items() for i in range(len(fieldnames)): fields2index[fieldnames[i][0]]=fieldnames[i][1] passwd=res[0][fields2index['password']] if crypt.crypt(password,'ab')==passwd: return 1 else: return 0 Here's one of the tracebacks that I get: Error Type: TypeError Error Value: argument 1: expected read-only character buffer, None found Traceback (innermost last): File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 222, in publish_module File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 187, in publish File /usr/local/zope/lib/python/Zope/__init__.py, line 221, in zpublisher_exception_hook (Object: Traversable) File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 162, in publish File /usr/local/zope/lib/python/ZPublisher/BaseRequest.py, line 440, in traverse File /usr/local/zope/lib/python/Products/LoginManager/LoginManager.py, line 108, in validate (Object: ProviderContainer) File /usr/local/zope/lib/python/Products/LoginManager/LoginMethods.py, line 235, in findLogin (Object: PlugInBase) File /usr/local/zope/lib/python/Products/LoginManager/LoginManager.py, line 65, in getItem (Object: ProviderContainer) File /usr/local/zope/lib/python/Products/ZPatterns/Rack.py, line 60, in getItem (Object: ProviderContainer) File /usr/local/zope/lib/python/Products/LoginManager/UserSources.py, line 522, in retrieveItem (Object: ProviderContainer) File /usr/local/zope/lib/python/Products/LoginManager/UserSources.py, line 485, in __init__ TypeError: (see above) ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] LoginManager - with SQL?
Has anyone been able to use LoginManager with a SQL db? with or without encryption? I'm still baffled by this how-to: http://www.zope.org/Members/jok/SQL_based_LoginManager In this example, there are dtml-methods that do the work of the UserSource, but there is no retrieveItem? I would really love to get this working instead of having to revert back to older depreciated products. Thanks for any help! -e- From: "Aleksander Salwa" <[EMAIL PROTECTED]> > > I remember I had some troubles trying to put methods rolesForUser, > domainsForUser, authenticateUser in UserSource class. They can be moved to > user class. I did so. > But your case is harder then mine, cause you don't have objects > representing users in ZODB. Maybe there are problems with retrieveItem > method ? > Maybe you should build wrapper class around your database > data - something like "pluggable brains" ? > I have no more ideas :( ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] LoginManager - how does it work?
Thanks for the help! Still looking for that HOWTO.txt So, now I have a UserSource Installed into my LoginManager. It is called "pgcrypt" and is supposed to authenticate to a SQL database. The password stored in the DB is encryputed using the same scheme. Any ideas why it doesn't let me in? Is there any way to troubleshoot this? It seems like there should be a way to tell if it's going to work or not form the management interface. Here's what I added to UserSources.py: class PGCryptUserSource(BasicUserSource): """ A sql based encrypted user source """ meta_type="PG Crypt User Source" __plugin_kind__="User Source" def retrieveItem(self, name): self.getcustbyusername(username=name) def rolesForUser(self, user): name = user.getUserName() res = self.getcustbyusername(username=name) fields2index={} fieldnames=res._schema.items() for i in range(len(fieldnames)): fields2index[fieldnames[i][0]]=fieldnames[i][1] roles=res[0][fields2index['roles']] return roles def domainsForUser(self, user): name = user.getUserName() res = self.getcustbyusername(username=name) fields2index={} fieldnames=res._schema.items() for i in range(len(fieldnames)): fields2index[fieldnames[i][0]]=fieldnames[i][1] domains=res[0][fields2index['domains']] return domains def authenticateUser(self, user, password, request): name = user.getUserName() res = self.getcustbyusername(username=name) fields2index={} fieldnames=res._schema.items() for i in range(len(fieldnames)): fields2index[fieldnames[i][0]]=fieldnames[i][1] passwd=res[0][fields2index['password']] if crypt.crypt(password,'ab')==passwd: return 1 else: return 0 + context.registerPlugInClass( PGCryptUserSource, permission = 'Add PGCrypt UserSource', constructors = defaultConstructors(PGCryptUserSource,globals()), ) ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] LoginManager - how does it work?
I've managed to get loginManager to install, but I am very confused as to what to do with it. I've read the how-tos on zope.org, and the documentation of LoginManager itself... But I still don't understand what is supposed to happen. A User Source is a location to find users, Say, my SQL database, right? How do I tell it to use the SQL methods I have for retrieveing passwords? The how-tos say to create dtml-methods called "userAuthenticate" "userExists" and "userRoles". Where do these go? Can anyone help me see the light on this? Thank you
[Zope] UserDB plus crypt
Since I couldn't get LoginManger to work, I started modifying UserDb to handle encrypted passwords... I've changed it so the encrypted password is stored in the DB, but I haven't been able to get it to authenticate. Can anyone offer any insight as to what I need to do? My modified UserDb.py is attached. Thanks! -ed- """User Db product This product provides support for User Folder-like objects that store data in back-end databases. CREATE TABLE users ( username varchar(255) NOT NULL, password varchar(255) NOT NULL, domains varchar(255), roles varchar(255) ); """ __version__='$Revision: 1.13 $'[11:-2] import Globals, App.Undo, socket, regex from Products.ZSQLMethods.SQL import SQL from Globals import PersistentMapping from Globals import Persistent from Globals import HTMLFile, MessageDialog from string import join,strip,split,lower from App.Management import Navigation, Tabs from Acquisition import Implicit from OFS.SimpleItem import Item from OFS.Document import Document from base64 import decodestring, encodestring from urllib import quote, unquote from ImageFile import ImageFile from AccessControl.Role import RoleManager from AccessControl.User import BasicUser, BasicUserFolder from string import split, join, upper, lower ## Crypt toolkit ## import crypt, random ListType=type([]) class User(BasicUser): icon='misc_/UserDb/User_icon' def __init__(self, name, password, roles, domains): self.name =name self.__ =password self.roles =filter(None, map(strip, split(roles, ','))) self.domains=filter(None, map(strip, split(domains, ','))) def getUserName(self): return self.name def _getPassword(self): return self.__ def getRoles(self): return self.roles def getDomains(self): return self.domains class UserDb(BasicUserFolder): """ """ meta_type='User Db' id ='acl_users' title='User Db' icon ='misc_/UserDb/UserDb_icon' isPrincipiaFolderish=1 isAUserFolder=1 encryptedpasswords=1 manage_options=( {'label':'Contents', 'action':'manage_main'}, {'label':'Properties', 'action':'manage_properties'}, {'label':'Security', 'action':'manage_access'}, {'label':'Undo', 'action':'manage_UndoForm'}, ) __ac_permissions__=( ('View management screens', ['manage','manage_menu','manage_main','manage_copyright', 'manage_tabs', 'manage_properties', 'manage_UndoForm']), ('Undo changes', ['manage_undo_transactions']), ('Change permissions', ['manage_access']), ('Manage users', ['manage_users']), ('Change User Dbs', ['manage_edit']), ) manage_properties=HTMLFile('properties', globals()) def __init__(self, conn_id, cookie_mode=0): self.conn_id=conn_id self.cookie_mode=cookie_mode self.docLogin =Document(_docLogin, __name__='docLogin') self.docLogout=Document(_docLogout, __name__='docLogout') self.docLogin.__roles__=None self.docLogout.__roles__=None self.sqlListQuery=SQL('sqlListQuery', '', conn_id, '', _sqlListQuery) self.sqlUserQuery=SQL('sqlUserQuery', '', conn_id, 'username', _sqlUserQuery) self.sqlAddQuery=SQL('sqlAddQuery', '', conn_id, 'username password domains roles', _sqlAddQuery) self.sqlEditQuery=SQL('sqlEditQuery', '', conn_id, 'username password domains roles', _sqlEditQuery) self.sqlDelQuery=SQL('sqlDelQuery', '', conn_id, 'username', _sqlDelQuery) def getUserNames(self): """Returns a list of user names or [] if no users exist""" data=[] try:items=self.sqlListQuery() except: return data for ob in items: data.append(sqlattr(ob, 'username')) data.sort() return data def getUsers(self): """Return a list of user objects or [] if no users exist""" data=[] try:items=self.sqlListQuery() except: return data for ob in items: user=User(sqlattr(ob, 'username'), sqlattr(ob, 'password'), sqlattr(ob, 'roles'), sqlattr(ob, 'domains')) data.append(user) return data def getUser(self, name): """Return the named user object or None if no such user exists""" if name==self._super.getUserName(): return self._super try:ob=self.sqlUserQuery(username=name) except: return None if not ob:
[Zope] LoginManager Error
Hi! I'm getting a type error when I try to add a LoginManager to a folder. Any sugestions on how to get past this? My config: Zope 2.2.1 ZPatterns 0.3.0 LoginManager 0.8.6 The traceback: Error Type: TypeError Error Value: keyword parameter redefined Traceback (innermost last): File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 222, in publish_module File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 187, in publish File /usr/local/zope/lib/python/Zope/__init__.py, line 221, in zpublisher_exception_hook File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 171, in publish File /usr/local/zope/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: manage_addLoginManager) File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 112, in call_object (Object: manage_addLoginManager) File /usr/local/zope/lib/python/Products/LoginManager/LoginManager.py, line 237, in manage_addLoginManager File /usr/local/zope/lib/python/Products/ZPatterns/PlugIns.py, line 313, in _constructPlugIn TypeError: (see above) ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] Help with installing PoPy & ZPoPyDA
Hi, I downloaded the current versions of ZPoPyDA, and PoPy from www.mixadlive.com, and I cannot figure out how to execute the installation. This must be a simple problem, but I would appreciate any help. In the README.in it instructs to untar, then ./configure. I /should/ CD first right? In either case, there is no success. I see a configure.in but no configure. Here is a copy of the ZPoPyDA folder, and a sample of command line errors. Please give me some clues! Thanks [zope@8daw zope]$ cd ZPoPyDA [zope@8daw ZPoPyDA]$ ls -l total 100 -rw-r--r-- 1 zope root 40 Jun 13 11:45 AUTHORS -rw-r--r-- 1 zope root26532 Jun 20 07:37 COPYING drwxr-xr-x 2 zope root 4096 Aug 3 06:36 CVS -rw-r--r-- 1 zope root 2335 Aug 3 04:29 ChangeLog -rw-r--r-- 1 zope root 8620 Jul 23 21:08 DA.py -rw-r--r-- 1 zope root 736 Jun 18 13:15 Makefile.am -rw-r--r-- 1 zope root0 Jun 13 13:05 NEWS -rw-r--r-- 1 zope root 7470 Aug 3 04:09 PoPy_db.py -rw-r--r-- 1 zope root 2543 Jul 23 21:08 PoPyconnectionAdd.dtml -rw-r--r-- 1 zope root 2402 Jul 23 21:08 PoPyconnectionEdit.dtml -rw-r--r-- 1 zope root 2989 Jul 23 21:08 PoPyconnectionStatus.dtml -rw-r--r-- 1 zope root 1193 Jun 1 17:36 PoPyconnectionTestForm.dt ml -rw-r--r-- 1 zope root 1890 Jun 20 08:58 README.in -rw-r--r-- 1 zope root 1900 Jun 7 19:54 __init__.py -rwxr-xr-x 1 zope root 1046 Jun 13 13:06 autogen.sh -rw-r--r-- 1 zope root 620 Aug 3 04:29 configure.in drwxr-xr-x 3 zope root 4096 Aug 3 06:36 debian [zope@8daw ZPoPyDA]$ cd .. [zope@8daw zope]$ ./configure bash: ./configure: No such file or directory [zope@8daw zope]$ cd ZPoPyDA [zope@8daw ZPoPyDA]$ ./configure bash: ./configure: No such file or directory [zope@8daw ZPoPyDA]$ ./configure --help bash: ./configure: No such file or directory [root@8daw ZPoPyDA]# ./configure.in bash: ./configure.in: Permission denied ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] Announce: StarRave0.0.16
StarRave-0.0.16 .. product announce [ a bow to the high zope council ] [ a bow to the zope mailing list ] StarRave is a zope/python product that manages information related to djs, events, and promoters. Specifically, this product is built for the Rave scene, where there are hundreds of similar websites that do not share any information. StarRave allows these sites to transparently access information stored on any remote StarRave server. A few attempts have been made to house all the data related to raving, but the abundance of overlapping ideas, names, and resources, creates a maintenance bottleneck. StarRave is designed to let each server maintian information related to it's region, or it's record label, or it's event schedule. Currently StarRave is set up in two parts, a "server" and a "host" . The server is the primary interface that most will see. It enters, edits, and displays data, while providing a rich interface. The "host" collects data from server sites, and organizes it all into a tidy xml package. StarRave is compatible with 2.1.x versions of zope with some bugs. starRave is compatible with 2.2.0 versions of zope with some catalog inconsistancies This product still needs work, but runs quite well. Of course all contributions are encouraged. To download StarRave: http://www.zope.org/Members/element/StarRave or http://www.starrave.org:8080/sr/webdav/ StarRave sites in use: http://www.starrave.org:8080/sr/demo/ http://www.trustcrew.org/trustcrew/ ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] How to require an @ symbol in email form field??
Couldn't you do something similar to Squishdot's "validArticle" dtml method? In addition to verification that the fields are filled in, you could pass the email variable off to a python regular expression that checks for [EMAIL PROTECTED] syntax. -ed- At 07:21 PM 7/21/00 -0400, you wrote: >On Tue, 18 Jul 2000, Duncan Booth wrote: >> Use javascript to check that all required fields are present before >> the form is actually submitted. Here is some of the code I use: > >Note, however, that using Javascript to do the checking client side >is only useful as a user convenience. ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] more catalog issues
Strange... Now my 2.2 catalog is giving me the problems were supposed to be bugs in zope (catalog) 2.1.5 and lower... Inconsistancy, and missing indexes...??? When I update the catalog it corrects itself. h Any clues as to why my objects get cataloged incorrectly to start with? Is there a better syntax to use than 'catalog_object()'? Thanks for any pointers! -e- ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] Catalog contains items, but no results
Hmmm, more catalog strangeness.. I've finally gotten my product to add objects to a catalog correctly (with the correct URL) Whee! On my 2.2 development machine all appears fine, but on the 2.1.6 production server all searches come back with no results. When I look in "cataloged objects" in the management interface, there are many objects with correct URLs...??? Obviously I could just upgrade the production server, but I'm curious if there's something inherently wrong with my code. This is a sample of a call that I make to the Catalog. base_url=self.site_url() self.Catalog.catalog_object(ob,base_url+'/Promoters/'+id) Thanks for any ideas. -e- ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] looping through objectValues, how to get methods?
I have a method that looks through "objectValues". Using "hasattr" and "getattr" I can see the variables contained in the object. How do I get the values generated from an object's method in a similar fashion? For example: def dj_experince_statistics(self): """ """ rlist = self.People.objectValues('SRPersonPost') newbcount=0 for i in rlist: if hasattr(i, 'validated'): #get validated variable if hasattr(i, 'djname'): #get djname variable if hasattr(i, 'mixing_for()'): #try to get mixing_for() method days_mixing=getattr(i,'mixing_for()') if days_mixing < 730.0: newbcount=newbcount+1 return newbcount BTW this does not work. Thanks for any suggestions! -ed- ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] strange catalog problem
Here's a weird one. I'm testing out my products catalog functionality, and I'm seeing strange results. I add an object "A" with an indexed variable called 'styles' that contains the values: ['Ambient', 'Breakbeat', 'Downtempo'] I add a second object "B" with the varaibles: ('Ambient', 'Breakbeat', 'Downtempo', 'Hardcore', 'Hip-Hop', 'House', 'Jungle', 'Techno', 'Trance') When I search for these varables, the results get somewhat mixed up. 3 incorrect searches out of 8. search for: results: Ambient B* Breakbeat A&B Downtempo A&B HardcoreA* Hip-Hop * House B Jungle B Techno B Trance B All these variables are inputted through a select box, so the spelling/case should be identical. There's some kind of a pattern here though, I don't quite see it. this is the call that I'm using to index the object: self.Catalog.catalog_object(ob,'Promoters/'+id) Anyone have any idea what might be causing this? ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] catalogAware (so close)
Hi All. My product's catalog is now almost completely functional, only the refrence in the URL is wrong! In my test area, I create a person object, theat ends up here: http://localhost:8080/safezone/F_test/People/testperson/ The catalogAwareness adds the object to the site's catalog as: http://localhost:8080/safezone/F_test/safezone/F_test/People/testperson/ This URL still does display the object if called. Must be some inheritance quirk.?.? Have I done something wrong? Or is catalogAwareness finding something it shouldn't? Thanks for any hints! -ed- ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] sifting through python sub-objects
I've succesfully gotten the catalog to work (thanks everyone!), but in doing so, I've created a problem. Squishdot uses this code like this in order to add an item: id=self.createId()# make a datestamp id msg=PromoterPost(id,title) msg=msg.__of__(self) # ??? self.setItem(id,msg) # set the item This code is incompatible with the catalog. As far as I can tell because The catalog likes to see id's as strings, but I don't think the object gets completely added to the zope fs either. After changing the code that does the adding to the zope fs everything related to the catalog seems good. Here's the new code: ob=PromoterPost(id,title) ob.id = id ob.title = title self._setObject(id,ob) self.getCatalog().catalog_object(ob,id) So here's the problem, the methods that squishdot uses to locate sub-objects relies on a BTree() type method, called "data", and is used by a few methods like this: def objectValues(self): """ return list of subobjects """ return map(lambda x, p=self: x.__of__(p), self.data.map(self.ids)) or def is_local_user(self, thisuser): """ returns true with ID if user is a local user based on rev_id_list in squishdot """ rlist = map(None,self.ids) rlist = filter(lambda x,p=self : p.data[x].validated, rlist) rlist = filter(lambda x,p=self : p.data[x].meta_type == 'SRPersonPost', rlist) rlist = filter(lambda x,p=self,s=thisuser : p.data[x].title == s, rlist) return rlist Neither return any results, becuase in the new code, the data object is not getting updated. Do I need to keep a record of all the ids like squishdot does, or can I leave that up to zope? It seems like there should be an easier way than "self.data" to do this... Any ideas? ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZCatalog in python (getting closer)
I am getting closer to having a working catalog. Thanks everyone, all your hints have been really helpful. The catalog is automatically created when I add a new instance of my class to a folder My sub-classes now inherit: (CatalogAware, Persistent, Implicit, SimpleItem) It was the SimpleItem combined with the code used (in squishdot) to add an item that was preventing the catalog from finding it. When I changed it to: ob=PromoterPost(id,title) ob.id = id ob.title = title self._setObject(id,ob) It can now be found by the catalog when I manually update it in the management screen. It also now exists in the zope management screens, which is forcing me into better object management. =P Still, the catalog does not automatically update when a new object is added. can someone explain where the index_object() call should be? In my case it should be in the PromoterPost.__init__ method correct? It does not belong in my base class' call that creates the object right? Thanks again! -ed- ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] ZCatalog in python
I'm in a similar situation with Aaron, except my product is mostly python. I emulated the cataloging in the PortalCatalog method, but left out the permission check. When my product is added to a folder, the catalog gets created, and has the indexes I set up. I can create a zsearchinterface, and search/find the instance of my product, but none of the data that exists below that. Do my sub-objects need to inherit from any zope classes in order to get indexed? I know the Zclasses do this automatically, what's the majick trick for this in python? I have tried, catalogAwareness, index_object at item creation, and reindex_object at item edit. none of these seem to do it, I imagine because the catalog wants them to be a certain type, and they're not. Any ideas? ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] still trying to get Catalog to work in my python product
Thanks to everone who has given me suggestions on this. I really do appreciate it. After looking over the PTK snapshot, I've tried to duplicate the catlog that is implemented there. I could not find any search utilities built in, so I'm assuming this is still done by adding the ZsearchInterface from the management screen. Is this right, or is there some built-in PTK searching tool? So now I have a "myproductcatalog" class which inherits ZCatalog. All it does is set up the Indexes, and columns In my base class, I initialize the catalog using (PTK code): # Install MyCatalog id = 'SiteIndex' catalog = MyCatalog(id, '') self._setObject(id, catalog) catalog = self.SiteIndex catalog.initialize() My sub-classes are all catalog aware, with reindex-object in all of the editing areas. I don't see my catalog when I go to add a Zsearch interface. Am I supposed to? What else do I need to do to make this work? -ed- ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )