小编Jac*_*ero的帖子

Gmail的新图片缓存正在破坏简报中的图片链接

我有一些自动电子邮件,在我的网站注册完成后发送.

直到最近,他们工作得很好.现在Google的新系统正在重写图像并将其存储在缓存中(据称)

但是,谷歌对我的图像链接的新重写完全破坏了它们,给出了500错误和链接图像损坏.

让我们说我的正常图片网址是:

http://www.mysite.com/images/pic1.jpg
Run Code Online (Sandbox Code Playgroud)

谷歌正在将此重写为:

https://ci5.googleusercontent.com/proxy/vI79kajdUGm6Wk-fjyicDLjZbCB1w9NfkoZ-zQFOB2OpJ1ILmSvfvHmE56r72us5mIuIXCFiO3V8rgkZOjfhghTH0R07BbcQy5g=s0-d-e1-ft#http://www.mysite.com/images/pic1.jpg
Run Code Online (Sandbox Code Playgroud)

但是,该URL没有任何内容.

电子邮件显示图像错误

因此,要么Google创建的链接出现问题,要么图像没有上传到googleusercontent服务器,但我不知道如何解决问题.

我在Amazon EC2上使用PHP,phpmailer库和Ubuntu服务器,但我不确定是否与此问题有关.

gmail rewrite caching image

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

Python找不到dateutil.relativedelta

我正在尝试运行程序,paster serve但我一直收到错误:

from dateutil.relativedelta import *
Run Code Online (Sandbox Code Playgroud)

我正在运行python版本2.6.7和dateutil版本1.5,所以应该安装它.

有没有人知道为什么会这样?

我正在使用导入

/usr/lib/python2.7/site-packages/dateutil/relativedelta.pyc
/usr/lib/python2.7/site-packages/dateutil/relativedelta.py
/usr/lib/python2.7/site-packages/dateutil/relativedelta.pyo
Run Code Online (Sandbox Code Playgroud)

我搜索时甚至可以看到包裹:

sudo yum install python-dateutil
Run Code Online (Sandbox Code Playgroud)

UPDATE

所以这篇文章现在已经有几个月了,它只是为我赢得了热门问题徽章,我认为值得一看,看看我是否可以通过更多的经验来支持我,给出一个很好的答案.

我立刻看看这个,看看dateutil只为python2.7安装,我打赌我在做的是这个:

su
(switch to virtual environment)
yum install python-dateutil
Run Code Online (Sandbox Code Playgroud)

哪个sudo会切换到默认的Python版本(即Python2.7而不是2.6.4)

解决这个问题就像这样简单:

from dateutil.relativedelta import *
Run Code Online (Sandbox Code Playgroud)

使用su然后切换到虚拟环境将提供root访问权限并安装到虚拟python目录.使用sudo将库安装到默认目录,而不是虚拟环境site-packages.

python install yum python-dateutil

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

在Python和Javascript之间传递变量

想象一下,当更改下拉列表时,您需要编写一些只更改一组复选框的Javascript.

根据列表中选择的项目,将选中/取消选中某些复选框.

在后面,您有Python代码和一些SQLAlchemy.

Javascript需要像往常一样识别列表中的选定项目,将其发送回Python模块,然后Python模块将使用某些SQLAlchemy中的变量返回需要检查的复选框列表,即"用户选择'福特',所以复选框'焦点','蒙迪欧','嘉年华'需要检查"

我遇到的问题是,我似乎找不到从Javascript访问python模块的方法,而无需将div转换为迷你浏览器页面并将包含变量的URL传递给它!

有没有人对如何运作有任何想法?

javascript python variables sqlalchemy

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

使用Python将字典排序为组的最佳方法

我有一个词典列表,例如:

[{'person':'guybrush','job':'pirate'},{'person':'leChuck','job':'pirate'}, {'person':'elaine','job':'governor'}]
Run Code Online (Sandbox Code Playgroud)

我想显示按工作分组的人员.因此,在前端,我们可以选择一份工作并查看所有拥有所选工作的人员.

在使用混乱的嵌套循环和列表之前,我已经执行了这样的功能.

您认为获得此结果的最有效方法是什么?

pirate = ['guybrush','leChuck']
governor = ['elaine']
Run Code Online (Sandbox Code Playgroud)

python sorting list

9
推荐指数
1
解决办法
7950
查看次数

在MySQL中获取接近纬度的多边形

有没有人知道在一个点的给定距离内获取MySQL数据库中的所有多边形的方法?实际距离并不重要,因为它是为以后找到的每个多边形计算的,但对于"接近"的多边形进行计算将是一个巨大的优化.

我看过MBR并且包含函数,但问题是一些多边形不包含在点周围绘制的边界框内,因为它们非常大,但是它们的一些顶点仍然很接近.

有什么建议?

mysql point distance polygon

7
推荐指数
1
解决办法
5434
查看次数

单元测试、集成测试还是功能测试?

一个简单的问题:如何区分功能、单元和集成测试?

有很多不同的意见,但我特别试图确定如何组织涉及模型关系的 Laravel 测试。下面是一些需要测试的 PHP 代码的示例:

public function prices()
{
    return $this->hasMany(Prices::class);
}


public function getPriceAttribute($)
{
    return $this->prices()->first() * 2;
}
Run Code Online (Sandbox Code Playgroud)

我理解的测试描述(请随时纠正我):

单元测试

  • 测试代码的最小部分
  • 不接触数据库
  • 不与系统的任何其他部分交互

集成测试

  • 测试系统的一部分协同工作
  • 例如,调用需要一起测试的辅助函数的控制器

功能测试

  • 黑盒测试
  • 例如调用 api 端点,查看它是否返回了正确的 JSON 响应

鉴于这些描述,这是我的问题:

  • 我的 Laravel 模型测试需要测试最小的代码单元 - 模型的计算访问器,这使得它感觉像单元测试
  • 但是,它在加载模型关系时会接触数据库
  • 它感觉不像集成测试,因为它只涉及其他相关模型,而不是内部或外部服务
  • Laravel 中的其他属性访问器测试在不接触数据库或模型关系时将属于单元测试
  • 将这些类型的测试分为集成测试意味着单个模型针对其属性的测试在集成测试和单元测试之间是分散的

那么,如果不模拟模型之间的关系,我的测试应该属于哪里?

standards unit-testing naming-conventions laravel eloquent

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

检查某些东西是否是ArrayCollection的一个实例

通常,您可以使用以下命令检查变量是否是类的实例:

$foo instanceof bar
Run Code Online (Sandbox Code Playgroud)

但是在ArrayObjects(属于Symfony 2)的情况下,这似乎不起作用

get_class($foo) 回报 'Doctrine\Common\Collections\ArrayCollection'

然而

$foo instanceof ArrayCollection
Run Code Online (Sandbox Code Playgroud)

回报 false

is_array($foo)返回false$is_object($foo)返回true

但我想对这种类型进行具体检查

php instanceof symfony doctrine-orm

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

在SQLAlchemy中插入一行

围绕这个房子的房子,似乎无法得到正确的语法.

我想要做的就是在SQLAlchemy的表中插入一行.文档对我来说没有意义:

class sqlalchemy.sql.expression.Insert(table, values=None, inline=False, bind=None, prefixes=None, returning=None, **kwargs)
Run Code Online (Sandbox Code Playgroud)

我最接近的是

userChoices = meta.Session.query(model.CompUserChoices).filter(model.CompUserChoices.inmptl_user_name == postdict['userid']).filter(model.CompUserChoices.inmptl_option_id == postdict['leg']).all()

userChoices.insert({model.CompUserChoices.inmptl_user_name:postdict['userid']},\
                                        {model.CompUserChoices.inmptl_option_id:postdict['leg']},\
                                        {model.CompUserChoices.inmptl_comp_choice_id:newChoices[i]})
Run Code Online (Sandbox Code Playgroud)

请有人请告诉我正确的语法!

python sqlalchemy insert

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

Python LDAP搜索

我一直在阅读如何使用Python搜索LDAP服务器,但我已经被困了几个小时,我不知道为什么.这是我第一次尝试使用这种API.

以下是我如何打开连接并尝试搜索:

aims_server = '#####.com'
base_dn = 'cn=EMPLOYEES,cn=portal,cn=Groups,dc=Company,dc=com'
username = 'cn=admin,cn=users,dc=Company,dc=com'
password='#####'
directory=ldap.open(aims_server)
directory.simple_bind_s(username, password)

#retrieve the current members from group
old = {'uniquemember':attr['uniquemember']}
Run Code Online (Sandbox Code Playgroud)

然后我故意破坏代码,以便我可以使用调试器并使用以下方法进行搜索:

>>> searchFilter = "cn=*"
>>> directory.search_s(base_dn,ldap.SCOPE_SUBTREE,searchFilter, retrieveAttributes)
Run Code Online (Sandbox Code Playgroud)

结果:

[('cn=EMPLOYEES,cn=portal,cn=groups,dc=Company,dc=com', {'displayname': ['Employees'], 'description': ['Members of this group are employees. '], 'objectclass': ['top', 'groupOfUniqueNames', 'orclGroup'], 'orclisvisible': ['true'], 'owner': ['cn=portal_admin ,cn=users,dc=Company,dc=com', 'cn=portal,cn=users, dc=Company,dc=com'], 'uniquemember': ['cn=alan,cn=users,dc=Company,dc=com', 'cn=alan_r,cn=users,dc=Company,dc=com', ....
Run Code Online (Sandbox Code Playgroud)

如果我有一个过滤器"cn=*",它将带回上面的字典,但如果我实际上放了任何东西,searchFilter它将不会带回任何结果.

有人有任何见解吗?我想知道我是否在目录中搜索得不够深入?

编辑

我似乎最好的办法是将设置更改为:

searchFilter = "cn=*"
retrieveAttributes = ["uniquemember"]
Run Code Online (Sandbox Code Playgroud)

然后:

(cn, attr) = searcher.pop()
Run Code Online (Sandbox Code Playgroud)

返回:

{'uniquemember': …
Run Code Online (Sandbox Code Playgroud)

python search ldap

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

没有恢复的SVN结账

我们有一些公司中间件,有时很难找到正确的版本我正在寻找所以我经常需要更新到不同的版本来测试它们.

我经常结帐:

svn co svn+ssh://(username)@(ip)/srv/svn/intranet/trunk/PYTHON/<application> <local-application>
Run Code Online (Sandbox Code Playgroud)

然后我可以更新到不同的版本

svn update (path) -r (rev)
Run Code Online (Sandbox Code Playgroud)

在几次尝试之后的大部分时间这将导致错误节点保持冲突

如果我删除该文件夹并尝试进行新的结帐,它只是恢复我所拥有的.我想要做的就是检查修订版,我没有做任何更改,但仍然认为存在冲突.

我试图解决它们,但似乎没有任何作用:

svn update -r 1586

Skipped 'inm/inm' -- Node remains in conflict
D    inm/fabfile.py
D    inm/test.db.bak
D    inm/tests
D    inm/test.db
D    inm/doc
D    inm/test.ini
D    inm/test.sql
U    inm/setup.py
A    inm/inm.egg-info
A    inm/inm.egg-info/SOURCES.txt
A    inm/inm.egg-info/top_level.txt
A    inm/inm.egg-info/PKG-INFO
A    inm/inm.egg-info/entry_points.txt
A    inm/inm.egg-info/dependency_links.txt
A    inm/inm.egg-info/not-zip-safe
A    inm/inm.egg-info/paster_plugins.txt
A    inm/inm.egg-info/requires.txt
U    inm/setup.cfg
Updated to revision 1586.
Killed by signal 15.
Summary of conflicts:
  Skipped paths: 1

svn resolved inm/inm …
Run Code Online (Sandbox Code Playgroud)

svn conflict resolve svn-checkout

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