小编fbm*_*bmd的帖子

Python如何跟踪用鸡蛋安装的模块?

如果我有一个模块,fooLib/site-packages,我可以import foo,它会工作.然而,当我从鸡蛋中安装东西时,我得到的东西就像blah-4.0.1-py2.7-win32.egg文件夹一样,里面有模块内容,但我仍然只需要做import foo,而不是更复杂.Python如何跟踪鸡蛋?它不仅仅是dirname匹配,就好像我将该文件夹放入Python安装而不通过dist-utils,它找不到模块.

更清楚:我刚刚安装了zope.文件夹名称为"zope.interface-3.3.0-py2.7-win32.egg".这有效:

Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import zope.interface
>>>
Run Code Online (Sandbox Code Playgroud)

我创建了一个"blah-4.0.1-py2.7-win32.egg"文件夹,其中包含一个空模块"haha"(和__init__.py).这不起作用:

Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import blah.haha
Traceback (most recent call last):
  File "<stdin>", line 1, in …
Run Code Online (Sandbox Code Playgroud)

python installation module egg easy-install

12
推荐指数
1
解决办法
7559
查看次数

在Plone文件夹视图中列出子文件夹的内容

在具有结构的Plone站点上

root
   +-topic1
   |    +-page1
   |    +-page2
   |
   +-topic2
        +-page3
        +-page4
Run Code Online (Sandbox Code Playgroud)

我希望有一个root列出子文件夹内容的文件夹视图,例如:

[http://host/plone/root/]

TOPIC1

- page1
- page2

TOPIC2

- page3
- page4
Run Code Online (Sandbox Code Playgroud)

以"TOPIC1"和"TOPIC2"作为标题,"page1"等链接到实际页面.

仅使用聚合topic1和topic2文件夹中的页面的集合是不够的,因为它不生成子标题.

我已经在Plone产品库以及Web上搜索了一个提供这样的视图的扩展,但没有成功.有消息称这可以通过自定义显示视图完成,但由于我是Plone的新手,我不愿意深入研究这些.

是否有Plone产品/扩展可以提供子文件夹内容的这种视图?
或者甚至有一个我不知道的内置解决方案?

plone

6
推荐指数
1
解决办法
1800
查看次数

我在哪里可以看到谁目前登录到Plone?

有没有办法查看谁目前登录到Plone网站?

基本原理:我想确保在重新启动实例时不要干扰处理内容的用户.

zope plone

5
推荐指数
1
解决办法
548
查看次数

Plone发送一个链接到缓存但空的ploneCustom.css

我在Plone实例上运行三个Plone站点,使用Apache后面的Plone虚拟主机,没有缓存.其中一个,我一直在遇到css缓存问题.

HTML页面附带了css链接标记

<link rel="stylesheet" type="text/css" media="all" href="http://SITE/portal_css/Sunburst%20Theme/ploneCustom-cachekey5756.css" />
Run Code Online (Sandbox Code Playgroud)

对HEAD请求的响应:

$ curl --head 'http://SITE/portal_css/Sunburst%20Theme/ploneCustom-cachekey5756.css'
HTTP/1.1 200 OK
Date: Tue, 14 Jun 2011 06:35:49 GMT
Server: Zope/(2.12.13, python 2.6.5, linux2) ZServer/1.1
Content-Length: 2412
Accept-Ranges: bytes
Expires: Tue, 21 Jun 2011 06:35:49 GMT
Last-Modified: Tue, 14 Jun 2011 06:35:49 GMT
Etag: ts08033349.33
Cache-Control: max-age=604800
Content-Type: text/css;charset=utf-8
Run Code Online (Sandbox Code Playgroud)

但是,而不是我精心设计的自定义css,响应不包含任何数据:

$ curl 'http://SITE/portal_css/Sunburst%20Theme/ploneCustom-cachekey5756.css'
$
Run Code Online (Sandbox Code Playgroud)

这意味着页面使用Plone默认样式呈现,这会对我的部分网站用户造成不满.

手动重新烹饪css会在portal_css -> Save一段时间内再次创建指向有效ploneCustom.css定义的链接.

这只在这一个网站上发生,其他两个都很好.

为什么会这样?我怎样才能解决这个问题?

谢谢,fbmd

css caching plone

5
推荐指数
1
解决办法
298
查看次数

多个出口是否可以用来压缩长Python函数?

我有一个该结构的长Python函数:

def the_function(lots, of, arguments):

    return_value = None

    if some_important_condition:

        # a lot of stuff here

        return_value = "some value"

    else:

        # even more stuff here

        return_value = "some other value"

    return return_value
Run Code Online (Sandbox Code Playgroud)

一个问题是ifelse块和块都包含多个屏幕代码.很容易忘记压痕,或者不得不向上滚动以查看我们目前处于什么状态.

改进这一点的一个想法是将其分成几个函数:

def case_true(lots, of, arguments):

    # a lot of stuff here

    return "some value"

def case_false(lots, of, arguments):

    # even more stuff here

    return "some other value"

def the_function(lots, of, arguments):

    return_value = None

    if some_important_condition:

        return_value = case_true(lots, of, arguments)

    else: …
Run Code Online (Sandbox Code Playgroud)

python coding-style

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

隐藏Plone中未经身份验证的用户的folder_contents

我刚刚注意到,默认情况下,http://host/yourplonesite/folder/folder_contents它将始终显示Plone文件夹的内容.

是否可以隐藏folder/folder_contents未经身份验证的用户?(Options -Indexes在httpd中思考)

谢谢!

security permissions plone

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

switchLanguage不使用LinguaPlone加载已翻译的项目

我仍然在努力让LinguaPlone工作.

我已经设置了两个语言根文件夹/de(用于德语)并/en使用/@@language-setup-folders.我创建了两个文件夹,/de/texte/并将/en/articles后者定义为前者的翻译.

portal_languagesZMI我设置:

  • 允许的语言:英语,德语
  • 谈判方案:[x]使用cookie进行手动覆盖
  • 所有其他选项都未选中

我确实得到了一个语言选择器,但是当我点击"英语"时/de/texte/switchLanguage?set_language=en,我会得到一个英文用户界面,但位置仍然是/de/texte.

即使面包屑说你在这里:首页> texte,Home仍然指向/de而不是/en.

我在网上搜索过,但除了一些关于LinguaPlone的咆哮之外,我找不到我可能遗失的东西.

如何配置LinguaPlone在切换语言时实际加载链接的翻译?

编辑:

  • Plone 4.0.2
  • Zope 2.12.13
  • LinguaPlone 4.0

multilingual plone linguaplone

2
推荐指数
1
解决办法
914
查看次数

始终在foreach循环中使用相同的值调用事件处理程序

我想将一组回调函数绑定到C#中的GUI元素,每个函数使用不同的参数调用相同的处理函数.

拼写出来的方式

# Assign element #1 to widget

widget.Click += () => {ProcessClick(1) ;} ;

# Assign element #2 to widget

widget.Click += () => {ProcessClick(2) ;} ;

...
Run Code Online (Sandbox Code Playgroud)

似乎多余.然而,一个天真的循环

Widget widget ;

foreach (int i in new List<int>() {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} )
{
    # Assign element i to widget

    widget.Click += () => {ProcessClick(i) ;} ;
}
Run Code Online (Sandbox Code Playgroud)

将无法工作,因为一旦调用任何回调,循环将过期,从而导致ProcessClick(9)每个小部件的调用.

我觉得应该有一个简单的解决方案,但我被卡住了.

如何将回调函数绑定到GUI元素,每个GUI元素调用具有不同参数的函数而不将它们全部拼写出来?

c# lambda user-interface callback

0
推荐指数
1
解决办法
665
查看次数