小编Tim*_*all的帖子

SQLAlchemy审计日志记录; 如何处理删除?

我正在使用SQLAlchemy附带的版本控制代码示例的修改版本来记录用户ID和更改日期.但是,我还想修改它,因此通过标记is_deleted类型标志而不是运行实际的SQL 来完成删除DELETE.我的问题是我不知道如何捕获删除并用更新替换它.

这是我到目前为止所拥有的:

''' http://docs.sqlalchemy.org/en/rel_0_8/orm/examples.html?highlight=versioning#versioned-objects '''
from sqlalchemy.ext.declarative import declared_attr
from sqlalchemy.orm import mapper, class_mapper, attributes, object_mapper, scoping
from sqlalchemy.orm.session import Session
from sqlalchemy.orm.exc import UnmappedClassError, UnmappedColumnError
from sqlalchemy import Table, Column, ForeignKeyConstraint, DateTime, String, Boolean
from sqlalchemy import event
from sqlalchemy.orm.properties import RelationshipProperty
from datetime import datetime
from sqlalchemy.schema import ForeignKey
from sqlalchemy.sql.expression import false

def col_references_table(col, table):
    for fk in col.foreign_keys:
        if fk.references(table):
            return True
    return False

def _history_mapper(local_mapper):
    cls = local_mapper.class_

    # set …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy audit-logging

6
推荐指数
0
解决办法
1580
查看次数

覆盆子iBeacon没有检测到

我最近试图在树莓派上的BLE加密狗(cambridge硅收音机)上配置ibeacon.参考:http://developer.radiusnetworks.com/2013/10/09/how-to-make-an-ibeacon-out-of-a-raspberry-pi.html

我收到这条消息:

HCI Command: ogf 0x08, ocf 0x0008, plen 44
  1E 02 01 1A 1A FF 4C 00 02 15 E2 C5 6D B5 DF FB 48 D2 B0 60
  D0 F5 A7 10 96 E0 00 00 00 00 C9 00 00 00 00 00 00 00 00 00
  00 00 00 00
> HCI Event: 0x0e plen 4
  01 08 20 12
Run Code Online (Sandbox Code Playgroud)

该应用程序甚至没有找到灯塔.虽然我可以看到加密狗在这个命令上闪现一些亮点:

sudo hciconfig hci0 leadv 0
Run Code Online (Sandbox Code Playgroud)

但没有发现任何东西.

所以从appstore获取一个名为LIGHTBLUE的APP,它会检测到具有不同UUID的蓝牙.

我现在已经尝试了很多次了.并完成了本教程中的所有步骤.但这款蓝牙设备不会出现.

另外,我很想知道什么是0x08和0x0008,如果我想要转换一个不同的UUID,我该怎么办?但那是后来的一部分......

现在,THE BLUETOOTH不会像Radius Networks的教程那样投出Estimote …

bluetooth raspberry-pi bluetooth-lowenergy bluez ibeacon

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

Django JSONField - 获取源文本

使用 JSONField 时,读取值时内容会自动从 JSON 解码为 python 对象。我有一个用例,我将字符串编码回 JSON 以嵌入模板中。有什么方法可以从对象中获取原始 JSON 字符串吗?

django postgresql django-models django-orm

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

金字塔不适用于角$ http帖子

$http({method: 'POST', url: 'http://localhost:5001/products', data: {token: $scope.product.token}}).success(
    function () {
        alert('success');
    }
);
Run Code Online (Sandbox Code Playgroud)

在金字塔方面,request.POST显示NOVars:不是表单请求.不是HTML表单提交(Content-Type:application/json)

我使用檐口提供我的api(/产品),我认为这是金字塔的问题.

有没有人有办法解决吗?

pyramid angularjs cornice

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

OpenSSL 识别“错误证书”的原因

我正在使用 pyOpenSSL,它是 OpenSSL 的包装器。我有一个客户端程序试图连接到我的服务器并且反复连接到sslv3 alert bad certificate服务器。直到我意识到是由于客户的时钟设置不当,我才能够找出问题所在。我猜测客户端看到服务器的证书在“未来”中过时并且以某种方式导致服务器上的证书sslv3 alert bad certificate

有没有办法更好地描述特定证书失败的原因?我假设在这种情况下,由于时钟设置不正确,客户端验证失败,但服务器端的错误与发送错误证书并且服务器端验证失败一样。

ssl openssl pyopenssl

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

python unittest与(子)进程的覆盖率报告

我正在使用nose我的"unittest"测试并且必须nose-cov包括覆盖率报告.这些都可以正常工作,但我的部分测试需要运行一些代码multiprocessing.Process.该nose-cov文件指出,它可以做multiprocessing,但我不知道如何得到那个工作.

我只是通过运行nosetests并使用以下代码来运行测试.coveragerc:

[run]
branch = True
parallel = True

[report]
# Regexes for lines to exclude from consideration
exclude_lines =
    # Have to re-enable the standard pragma
    pragma: no cover

    # Don't complain about missing debug-only code:
    def __repr__
    #if self\.debug

    # Don't complain if tests don't hit defensive assertion code:
    raise AssertionError
    raise NotImplementedError

    # Don't complain if non-runnable code isn't run:
    if 0:
    if …
Run Code Online (Sandbox Code Playgroud)

python nose nosetests coverage.py python-3.x

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

Django QuerySet的明确限制

可以通过执行以下操作来限制QuerySet上的结果:

qs = MyModel.objects.all()[:3]
Run Code Online (Sandbox Code Playgroud)

由于QuerySet通常是懒惰地进行评估,是否可以从qs迭代之前删除此限制?

我希望能有一些直接的东西qs = qs[:],qs = qs[0:]但不能工作.到目前为止,我唯一可以开始工作的是,qs.query.clear_limits()但我不确定这是否是公共API的一部分(我不得不通过Django源代码来找到它).

python django django-queryset

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

比较字符串与Python:X在['item1','item2',...]与X =='item1',X =='item2',...?

我是Python的新手,在比较字符串时我对性能有疑问.下面的两个代码似乎达到了我想要的但是有没有理由使用其中一个而不是另一个?

选项1:

if first_column_header == 'author name' or first_column_header == 'author' or first_column_header == 'name':
Run Code Online (Sandbox Code Playgroud)

选项2:

if first_column_header in ['author name', 'author', 'name']:
Run Code Online (Sandbox Code Playgroud)

python string comparison performance list

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

显式设置Graph API请求的"漂亮打印"格式

使用"已知"浏览器查询Graph API时,JSON输出的格式化方式使人们可以轻松阅读.如果查询是使用任何其他浏览器完成的,那么它会在一行上输出所有内容.

如何明确地发出请求以便不进行格式化?我确定我已经在某个地方见过它,但我现在似乎无法找到它.

json facebook facebook-graph-api

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

金字塔返回新会话

我使用Cornice制作RESTful网址.

我安装了pyramid-beaker,并__init__.py在doc中指定了我的include .

而已.然后我在我的观点中这样做了:

p_desc = """Service to post session. """
p = Service(name='p',\
                    path=root+'/1',\
                    description=register_desc)
g_desc = """Service to get session. """
g = Service(name='g',\
                    path=root+'/2',\
                    description=g_desc)

@g.get()
def view2(request):
    print request.session
    return Response()

@p.post()
def view1(request):
    print 'here'
    request.session['lol'] = 'what'
    request.session.save()
    print request.session
    return Response()
Run Code Online (Sandbox Code Playgroud)

这是我的结果

>>> requests.post('http://localhost/proj/1')
<Response [200]>
>>> requests.get('http://localhost/proj/2')
<Response [200]>

Starting HTTP server on http://0.0.0.0:6543
here
{'_accessed_time': 1346107789.2590189, 'lol': 'what', '_creation_time': 1346107789.2590189}
localhost - - [27/Aug/2012 18:49:49] "POST /proj/1 HTTP/1.0" 200 …
Run Code Online (Sandbox Code Playgroud)

python session pyramid cornice

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

在Rails中添加带有默认值的NOT NULL列作为空字符串

我是Ruby on Rails的新手并试图实现这个目标:

我想添加一个非NULL的字符串列,并保留默认值''.

这是我的迁移:

add_column :campaigns, :from_name, :string, limit: 100, :null => false, :defualt => ''
Run Code Online (Sandbox Code Playgroud)

这种迁移工作正常但是当我在pgAdmin(PostgresQL)中看到表时,我看到列已创建但没有默认值:

from_name character varying(100) NOT NULL,
Run Code Online (Sandbox Code Playgroud)

我使用pgAdmin尝试了同样的事情,我可以创建

from_name character varying(100) NOT NULL DEFAULT ''::character varying,
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

mysql postgresql ruby-on-rails

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

金字塔读取http数据

APIURL ='http://localhost:6543/api/patches/alice_8b84090712bce46e15a8107839cefe/e5678'
data = {
    'patch_id' : 'e5678',
    'queue_id' : 'alice_8b84090712bce46e15a8107839cefe',
}
response = requests.get(APIURL, data=data)
Run Code Online (Sandbox Code Playgroud)

我有上面的代码来测试一个檐口金字塔REST api.

但是,我无法读取通过data=data参数输入的数据.

这是此端点的服务器功能:

@resource(collection_path='/api/patches', path="/api/patches/{queue_id}/{patch_id}")
class Patch(object):
    def __init__(self, request):
        self.request = request

    def get(self):   
        """
        """
        queue_id = self.request.matchdict.get('queue_id', '')
        patch_id = self.request.matchdict.get('patch_id', '')
        data = {
            'queue_id': 'e12525e1f90ad5e7395a965',
            'patch_id': 'a9651a8259a666c0032f343',
            'node_id': 'bef3a2adc76415b2be0f6942b5111f6c5e5b7002',
            'message': 'This is a patch on feature2.',
            'datetime': '.....',
        }

        #TODO call the patch method to get the public attributes

        return {'error':{}, 'data': data}
Run Code Online (Sandbox Code Playgroud)

python rest pyramid cornice

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

SQLAlchemy - 创建无符号BigInteger的正确方法

我现在收到一个警告,BigInteger即不推荐传递参数.但是,我不确定是否有任何其他方法将值声明为unsigned.我正在存储MySQL uuid_short()函数的结果,这是一个无符号的64位整数,如果未将该列声明为,则可能会导致溢出UNSIGNED.

现在处理这个问题的正确方法是什么?

python mysql sqlalchemy

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