小编igo*_*gor的帖子

有什么像Fabric for Perl?

我非常喜欢面向个人项目的Fabric,但我在日常工作中处于面向Perl的环境中工作.我不想在工作流程中引入另一种语言,所以我想知道在Perl中是否存在类似于Fabric的自动部署.

deployment perl fabric

8
推荐指数
1
解决办法
1859
查看次数

有没有办法准备git标签消息?

在git中添加新标记时,我想在$ EDITOR激活之前自动修改默认(空)标记消息 - 类似于git允许通过prepare-commit-msg钩子准备提交消息的方式.

例如:

git tag -s v1.2.3
Run Code Online (Sandbox Code Playgroud)

应该用预填充的内容打开我的编辑器,如下所示:

Release v1.2.3:

  * Dynamically generated message 1

  * Dynamically generated message 2

Default standard text.

#
# Write a tag message
# Lines starting with '#' will be ignored
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?不幸的是,prepare-commit-msg钩子不能用于标记消息.(或者这个,或者我太笨了,无法知道如何去做.)

git git-tag

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

`Query.count()`与Flask-SQLAlchemy和多个绑定有关

抽象

我在使用Flask-SQLAlchemy的多个绑定时遇到问题.特别是,count()查询对象上的方法似乎不起作用.

细节

我的Flask应用程序适用于PostgreSQL数据库.此外,它还从在MySQL上运行的传统Simple Machines Forum安装中检索数据.

为方便使用,我使用第二个Flask-SQLAlchemy绑定MySQL数据库并通过反射设置类.查询一般工作正常,但使用count()引发sqlalchemy.exc.ProgrammingError相应的表不存在.

myapp/app.py:

from flask import Flask

class Config(object):
    SQLALCHEMY_DATABASE_URI = 'postgres://localhost/igor'
    SQLALCHEMY_BINDS = {
        'smf': 'mysql://myuser:mypass@localhost/my_db',
    }

app = Flask('myapp')
app.config.from_object(Config)
Run Code Online (Sandbox Code Playgroud)

myapp/model.py:

from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy import MetaData

from .app import app

__all__ = []

def _add_global(key, value):
    globals()[key] = value
    __all__.append(key)


bind_key = 'smf'
table_prefix = 'smf_'
table_prefix_len = len(table_prefix)

db = SQLAlchemy(app)
engine = db.get_engine(app, bind=bind_key)
meta = MetaData(bind=engine) …
Run Code Online (Sandbox Code Playgroud)

python flask-sqlalchemy

5
推荐指数
0
解决办法
1665
查看次数

扩展Python的int类型以仅接受给定范围内的值

我想创建一个自定义数据类型,它基本上像普通的一样int,但值限制在给定范围内.我想我需要某种工厂功能,但我无法弄清楚如何做到这一点.

myType = MyCustomInt(minimum=7, maximum=49, default=10)
i = myType(16)    # OK
i = myType(52)    # raises ValueError
i = myType()      # i == 10

positiveInt = MyCustomInt(minimum=1)     # no maximum restriction
negativeInt = MyCustomInt(maximum=-1)    # no minimum restriction
nonsensicalInt = MyCustomInt()           # well, the same as an ordinary int
Run Code Online (Sandbox Code Playgroud)

任何提示都表示赞赏.谢谢!

python types

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

标签 统计

python ×2

deployment ×1

fabric ×1

flask-sqlalchemy ×1

git ×1

git-tag ×1

perl ×1

types ×1