标签: zope

ZCML allowed_attributes在five.grok中对应的方法

有没有办法在grok.CodeView类中标记可遍历的方法,就像使用Zope 3 BrowserView和allowed_attributesZCML配置指令一样?

我找到了文档,grok.traversable()但看起来这样的方法在五个grok包中不存在.

zope plone grok

63
推荐指数
1
解决办法
802
查看次数

Python PIL"IOError:图像文件被截断",带有大图像

我认为这个问题与Zope无关.尽管如此,我还是要解释一下我要做的事情:

我在Zope中使用PUT_factory将图像上传到每个FTP的ZODB.上传的图像将作为Zope Image保存在新创建的容器对象中.这工作正常,但我想调整图像大小,如果它超过一定的大小(宽度和高度).所以我使用PIL的缩略图功能来调整它们的大小,即200x200.只要上传的图像相对较小,这就可以正常工作.我没有查看确切的限制,但976x1296px仍然可以.

随着更大的图片,我得到:

Module PIL.Image, line 1559, in thumbnail
Module PIL.ImageFile, line 201, in load
IOError: image file is truncated (nn bytes not processed).
Run Code Online (Sandbox Code Playgroud)

我从相机测试了很多jpeg.我不认为它们都被截断了.

这是我的代码:

if img and img.meta_type == 'Image':
  pilImg = PIL.Image.open( StringIO(str(img.data)) )
elif imgData:
  pilImg = PIL.Image.open( StringIO(imgData) )

pilImg.thumbnail((width, height), PIL.Image.ANTIALIAS)
Run Code Online (Sandbox Code Playgroud)

因为我正在使用PUT_factory,所以我没有文件对象,我使用的是工厂的原始数据或以前创建的(Zope)Image对象.

我听说PIL在超过一定大小时处理图像数据的方式不同,但我不知道如何调整代码.或者它与PIL的延迟加载有关?

python zope image python-imaging-library

54
推荐指数
4
解决办法
4万
查看次数

如何用TAL创建zebra-stripe CSS?

如何使用Chameleon或Zope页面模板轻松创建CSS斑马条纹?我想为表中的每一行添加oddeven类,但是使用条件repeat/name/odd或者repeat/name/even看起来相当冗长,即使使用条件表达式:

<table>
   <tr tal:repeat="row rows" 
       tal:attributes="class python:repeat['row'].odd and 'odd' or 'even'">
       <td tal:repeat="col row" tal:content="col">column text text</td>
   </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

如果您有多个要计算的类,这将变得特别繁琐.

css zope zpt chameleon template-tal

50
推荐指数
1
解决办法
2795
查看次数

Zope接口的目的?

我已经开始在我的代码中使用Zope接口,截至目前,它们实际上只是文档.我使用它们来指定类应具有的属性,在适当的类中显式实现它们,并在我期望的位置显式检查它们.这很好,但我希望他们在可能的情况下做更多的事情,比如实际验证该类是否已经实现了接口,而不仅仅是验证我已经说过该类实现了接口.我已经阅读了几次zope wiki,但仍然看不到比我目前正在做的更多的接口使用.所以,我的问题是你还可以使用这些接口,以及如何使用它们.

python zope interface zope.interface

34
推荐指数
3
解决办法
1万
查看次数

转储所有活动线程的堆栈跟踪

我正在尝试转储所有活动线程的列表,包括每个线程的当前堆栈.我可以使用threading.enumerate()获取所有线程的列表,但我无法找到从那里到达堆栈的方法.

背景:一个Zope/Plone应用程序不时出现问题,消耗100%的CPU并需要重新启动.我感觉这是一个没有正确终止的循环,但我无法在test-environemt中重现它以进行验证.我设法注册一个可以从外部触发的信号处理程序,所以我可以在情况再次发生时立即触发一些代码.如果我可以为所有活动线程转储堆栈跟踪,这将给我一个问题的线索.洞的东西在python 2.4上运行......

关于如何追踪这些情况的任何想法都值得赞赏:)

干杯,克里斯

python multithreading zope plone

31
推荐指数
4
解决办法
2万
查看次数

Sql Alchemy QueuePool限制溢出

我有一个返回TimeOut的Sql Alchemy应用程序:

TimeoutError:达到大小为5的QueuePool限制溢出10,连接超时,超时30

我在另一篇文章中读到,当我不关闭会话时会发生这种情况,但我不知道这是否适用于我的代码:

我在init.py中连接到数据库:

from .dbmodels import (
    DBSession,
    Base,    

engine = create_engine("mysql://" + loadConfigVar("user") + ":" + loadConfigVar("password") + "@" + loadConfigVar("host") + "/" + loadConfigVar("schema"))

#Sets the engine to the session and the Base model class
DBSession.configure(bind=engine)
Base.metadata.bind = engine
Run Code Online (Sandbox Code Playgroud)

然后在另一个python文件中我收集了两个函数中的一些数据,但是使用了我在init.py中初始化的DBSession:

from .dbmodels import DBSession
from .dbmodels import resourcestatsModel

def getFeaturedGroups(max = 1):

    try:
        #Get the number of download per resource
        transaction.commit()
        rescount = DBSession.connection().execute("select resource_id,count(resource_id) as total FROM resourcestats")

        #Move the data to an array
        resources …
Run Code Online (Sandbox Code Playgroud)

python session sqlalchemy zope connection-timeout

25
推荐指数
2
解决办法
2万
查看次数

OS X Leopard上有多个版本的Python

我目前在我的Mac上安装了多个版本的Python,它附带了一个版本,我最近从python.org下载的版本,用于在本地运行Zope的旧版本以及Appengine正在使用的另一个版本.这有点乱.使用一个版本的python来统治它们的任何建议?如何删除旧版本并将我的所有应用程序链接到单个安装.我应该知道的任何Mac特定陷阱?这是一个愚蠢的想法吗?

python macos osx-leopard zope

21
推荐指数
2
解决办法
2万
查看次数

你如何通过生活在许多不同目录中的代码?

我正在研究一种大量使用鸡蛋的Python程序(Plone).这意味着有198个目录充满了我可能想要在调试时搜索的Python代码.有没有一种很好的方法只搜索那些目录中的.py文件,避免不相关的代码和大型二进制文件?

python grep zope plone

18
推荐指数
4
解决办法
9096
查看次数

对于生产Plone实例,cron自动化ZODB包的建议方法是什么?

看plone.org找到一种方法来定期打包我的实例的ZODB我只能找到http://plone.org/documentation/faq/how-do-i-pack-the-zodb,而不是谈论自动化包,但只是手动启动的.

我知道我可以使用wget或curl模拟手动包,但我想知道这是否是生产网站使用的最佳实践.

cron zope plone pack zodb

17
推荐指数
3
解决办法
2765
查看次数

有什么可以证明Plone的复杂性?

Plone非常复杂.Zope 2,Zope3,Five,ZCML,ZODB,ZEO,一大堆首字母缩写词和缩写词.

这很难开始,目前的状态似乎尚未确定.它主要基于Zope2,但通过Five合并了Zope3.并且到处都有XML配置文件.

陡峭的学习曲线是否付出了代价?这种复杂性今天仍然合理吗?

背景:我需要一个平台.客户通常需要CMS.我目前正在阅读" 专业Plone开发 ",没有Plone的先验知识.

问题是:客户并不总是想要这样,而事先你也无法知道.有一件事是肯定的:他们不想要Plone的默认主题.但任何其他功能都是风险.你不能只是开始并说" 如果你想看到Plone的复杂性,你必须要求它. "当你不知道系统足够好计划时.

python zope plone content-management-system

13
推荐指数
5
解决办法
5231
查看次数