小编Par*_*and的帖子

Python:生产邮件接收的smtpd(或替代品)?

我正在寻求各种电子邮件处理 - 例如.检查标题,如果它们符合某些条件(看起来像垃圾邮件),请删除连接,或检查收件人列表并执行特殊过滤.

看起来Python的smtpd库为处理收到的电子邮件提供了一个漂亮而简单的界面.

要在消息完全处理之前处理消息(例如,在标题看起来像垃圾邮件的情况下丢弃消息),我应该使用handle_connect吗?是否在某处记录了内部API(process_message除外)?示例代码在哪里?

还有,有人在生产中使用过smtpd吗?关于可靠性的任何想法等?

关于Twisted:我试图多次使用Twisted并且非常喜欢延迟模型,但是对于我目前的品味来说它有点过于复杂.我再看看,但是现在我对非Twisted实现更感兴趣.

python smtp smtpd

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

jQuery:if/else选择器更优雅

我经常吐出这种代码:

if ($(this).val() == 'X') { $('#something').show(); }
else                      { $('#something').hide(); }
Run Code Online (Sandbox Code Playgroud)

让$('#something')出现两次我并不疯狂.是否有更优雅的表达方式?

[更新]我严厉地表达了这个问题 - 我正在寻找一个通用的解决方案,而不仅仅是显示/隐藏(因此切换).对于基于条件对所选元素采取不同操作的一般情况,是否有更优雅的构造?

jquery

3
推荐指数
2
解决办法
404
查看次数

PIL:复合/合并两个图像为"道奇"

如何使用PIL实现相当于将"闪避"模式中的图层与另一图层合并(如Gimp/Photoshop中所做的那样)?

我有原始图像以及我想用作合并图层的图像,但我不知道怎么做闪避合并/复合:

from PIL import Image, ImageFilter, ImageOps

img = Image.open(fname)

img_blur = img.filter(ImageFilter.BLUR)
img_blur_invert = ImageOps.invert(img_blur)

# Now "dodge" merge img_blur_invert on top of img
Run Code Online (Sandbox Code Playgroud)

python image-processing python-imaging-library

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

使用Javascript/jQuery重新检测IE6

我需要检测IE6才能解决缺少位置的问题:修复.我一直在使用一个简单的正则表达式:

var isIE6 = /msie|MSIE 6/.test(navigator.userAgent);
Run Code Online (Sandbox Code Playgroud)

除了浏览器声称同时属于IE6和IE7的用户外,这几乎一直都有效:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.04506.30)
Run Code Online (Sandbox Code Playgroud)

辉煌.

我喜欢使用jquery.support,但看起来它不支持查询position:fixed是否可用.所以我回来检测IE6.

有各种建议的解决方案,例如寻找maxHeight的存在.但那些似乎相当随意并吓到我 - 如果上面的正则表达式有例外,我怎么能确定maxHeight没有例外?

我正在考虑使用条件评论 - 至少它是IE本身声称是IE6,而不是黑客.就像是:

<!--[if IE 6]>
<SCRIPT> var isIE6 = true; </SCRIPT>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

或者,可以直接测试position:fixed是否可用,但这看起来有点沉重.

我的条件评论方法不起作用的任何原因?有更好的方法吗?

javascript css jquery internet-explorer-6 browser-feature-detection

3
推荐指数
2
解决办法
394
查看次数

Python:阻止字符串上的%s替换

有没有办法标记一个字符串,以便它不会触发python的%字符串替换?

特别是,我正在尝试使用python sftp模块下载名称包含%的文件.sftp模块尝试使用日志记录模块记录文件的名称:

self.logger.log(level, msg, *args)
Run Code Online (Sandbox Code Playgroud)

logging因为%符号而抱怨字符串格式:

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 328, in getMessage
    msg = msg % self.args
TypeError: not enough arguments for format string
Run Code Online (Sandbox Code Playgroud)

所以:既然我不控制文件名和sftp模块,我可以将文件名标记为不参与字符串替换吗?

python

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

Python:在大型字符串中查找部分字符串匹配

我对在Python中实现自动完成感兴趣.例如,当用户键入字符串时,我想在磁盘上显示名称以该字符串开头的文件子集.

什么是一种有效的算法来查找匹配大型语料库中某些条件的字符串(比如数十万个字符串)?就像是:

matches = [s for s in allfiles if s.startswith(input)]
Run Code Online (Sandbox Code Playgroud)

我希望条件灵活; 例如.只要输入中的所有字母都以相同的顺序出现在s中,而不是严格的startwith,它就是匹配.什么比我在这里展示的蛮力方法更好?

python search

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

Python:按字母顺序将拼写数字转换为数字?

我正在寻找一个图书馆,服务或代码建议,将数字和数量(例如"三十五美元和十五美分","一点五")拼写成数字(35.15美元,1.5美元).建议?

python parsing

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

awk或sed:获取此文本的最佳方式

我正在尝试解析日志文件中的各种信息,其中一些信息放在方括号内.例如:

Tue, 06 Nov 2007 10:04:11 INFO     processor:receive: [someuserid], [somemessage]  msgtype=[T]
Run Code Online (Sandbox Code Playgroud)

使用sed,awk或其他unix实用程序从这些行中获取'someuserid'的优雅方法是什么?

regex awk sed

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

非超级用户对Django Admin的访问

我想限制管理界面的哪些部分对哪些工作人员开放-例如,一个人可能只负责与帐单相关的项目,另一个人只负责客户支持,而另一个人可能具有完全访问权限。

我可以通过将is_superuser设置为True来提供完全访问权限,但是我不希望这样(我不希望所有有权访问Admin界面的人员都成为超级用户)。

我可以通过将is_staff设置为True来允许工作人员登录到管理界面,但是登录后该工作人员将无权访问任何内容-他们看到“您无权编辑任何内容”。

我尝试了此问题中描述的方法,但得到的结果却是相同的“您没有权限”:

class MyAdmin(admin.ModelAdmin):
    def has_edit_permission(self, request):
        return True
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以让工作人员无需超级用户就可以访问Django管理界面的各个部分?

django django-admin

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