小编Bri*_*unt的帖子

如何在Ext.js中执行html输入标记自动完成?

如果您正在使用Ext.js库,那么如何在输入文本区域中自动完成?

更准确地说,如何基于迭代Ajax请求自动完成(如jQuery自动完成插件,其中Ajax选项设置为更新URL).

感谢您的赞赏并感谢您的阅读.

ajax extjs autocomplete

8
推荐指数
2
解决办法
9218
查看次数

通过Python/Fabric从命令行更改Unix密码

我想用一种方法在Ubuntu 10.4带有结构的远程盒子上更新我的密码.

我希望我fabfile.py看起来像这样:

def update_password(old_pw, new_pw):
    # Connects over ssh with a public key authentication
    run("some_passwd_cmd --old %s --new %s" % (old_pw, new_pd))
Run Code Online (Sandbox Code Playgroud)

不幸的是,我所知道的唯一一个命令让一个人更改密码passwd,而在Ubuntu 10.4上似乎没有任何方法可以传递新的(或旧的)密码作为参数passwd.

可以使用什么命令来更改Ubuntu 10.4上的用户密码fabric

编辑:我已经看过了usermod -p,这可能会有效,但手册页不建议这样做.

编辑:由于某种原因usermod -p,无法在面料上工作.

同样,我尝试了一个(有点不安全)mikej的答案,确实解决了这个问题:

# connecting & running as root.
from fabric.api import *
from fabric.contrib import files

files.append("%s\n%s" % (passwd, passwd), '.pw.tmp')
# .pw.tmp:
# PASSWD
# PASSWD

run("passwd %s < .pw.tmp" % …
Run Code Online (Sandbox Code Playgroud)

python unix passwords passwd fabric

8
推荐指数
3
解决办法
8040
查看次数

MacVim和Mercurial办理登机手续

我正在尝试使用MacVim作为默认编辑器(显然在我的Mac上).我想让MacVim编辑提交消息hg ci.不幸的是,当我这样做时(通过设置EDITOR=mvimalias vi='mvim')MacVim弹出一个空消息(即下半部分没有样板文件),当我保存该提交消息时,我得到错误"abort:empty commit message".

有没有办法在使用mvimMercurial检查更改时使用MacVim(可能是via )编辑提交消息?

感谢您阅读,我期待着阅读答案.

布赖恩

macos mercurial macvim

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

创建一个Flask公共网址装饰器

我想为Flask路由创建一个装饰器,将某些路由标记为public,所以我可以这样做:

@public
@app.route('/welcome')
def welcome():
    return render_template('/welcome.html')
Run Code Online (Sandbox Code Playgroud)

在其他地方,这是我在想装饰器和检查看起来像:

_public_urls = set()

def public(route_function):
    # add route_function's url to _public_urls
    # _public_urls.add(route_function ...?.url_rule)
    def decorator(f):
        return f

def requested_url_is_public():
    from flask import request
    return request.url_rule in _public_urls
Run Code Online (Sandbox Code Playgroud)

然后,当发出请求时,我有一个检查的上下文函数requested_url_is_public.

我有点难过,因为我不知道如何在public装饰器中获取给定函数的url规则.

也许这不是Flask的最佳设计选择,但我希望有另一种简单而优雅的方式来实现这一目标.

我以前见过这样的模式,想模仿它.例如,这与Django的login_required装饰者相对应.

我喜欢读这个想法.

python decorator werkzeug flask

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

根据索引数组从对象中获取特定的javascript值

给定一个这样的嵌套对象:

var cars = {
    "bentley": {
        "suppliers": [
            {
            "location": "England",
            "name": "Sheffield Mines"}
        ]
        // ...
    }
};
Run Code Online (Sandbox Code Playgroud)

像这样的数组["bentley", "suppliers", "0", "name"],是否有一个现有的函数将采取最深的元素,即pluck_innards(cars, ['bentley', "suppliers", "0", "name"])返回"谢菲尔德矿".

换句话说,是否有一个功能(我将其命名deep_pluck)在哪里

deep_pluck(cars, ['bentley', 'suppliers', '0', 'name']) 
         === cars['bentley']['suppliers']['0']['name']
Run Code Online (Sandbox Code Playgroud)

在我看来,这很简单,但很常见,可能已经在一个Javascript实用程序库中完成,例如jQuerylo-dash/underscore - 但我还没有看到它.

我的想法是微不足道的,包括:

function deep_pluck(array, identities) {
    var this_id = identities.shift();
    if (identities.length > 0) {
        return deep_pluck(array[this_id], identities);
    }
    return array[this_id];
}
Run Code Online (Sandbox Code Playgroud)

在jsFiddle上发布的内容.

当然,如果函数足够智能以确定何时需要数组中的数字索引,那将是有帮助的.我不确定其他警告可能会引起关注.

对于我想象已经巧妙解决的问题,这是一个相当长的问题,但我想发布这个,因为我有兴趣看看那里有什么解决方案.

javascript underscore.js

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

从 Firebase/Google Cloud Storage 读取作为 Node.js 函数中的缓冲区

我正在使用 Node.js 8 版本的 Firebase 函数,并希望将文件从 Google Cloud Storage 检索到该函数作为Buffer.

这看起来很简单:

const admin = require('firebase-admin')
const getRawBody = require('raw-body')

async function myFunction (path) {
  const bucket = admin.storage().bucket()
  const file = await bucket.file(path).get()
  console.log("All good so far.")
  const buffer = await getRawBody(file.createReadStream()) // often fails.
}
Run Code Online (Sandbox Code Playgroud)

我正在阅读的文件很小(130kb)。

确实工作了一段时间,但现在始终因内存限制错误或超时错误而失败,这表明存在 Firebase/GCS 问题。

我知道我可以增加函数的内存限制,但是如果它在一个很小的文件上失败表明工作中存在更大的问题,并且它总是会在更大的文件上失败。

有没有更好的方法将 GCS 文件转换为Buffer.

如果不是,这个问题是可以解决的吗?

node.js google-cloud-storage firebase firebase-storage

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

Django/Python - 通过多对多关系中的公共集对对象进行分组

这是一个部分算法逻辑问题(如何做),部分实现问题(如何做到最好!).我正在和Django合作,所以我想我会与之分享.

在Python中,值得一提的是,问题与how-do-i-use-pythons-itertoolsgroupby有些相关.

假设您有两个Django Model派生类:

from django.db import models

class Car(models.Model):
    mods = models.ManyToManyField(Representative)
Run Code Online (Sandbox Code Playgroud)

from django.db import models

class Mods(models.Model):
   ...
Run Code Online (Sandbox Code Playgroud)

如何获得汽车列表,按汽车分组,使用一组共同的Mod?

即我想得到一个类似的:

Cars_by_common_mods = [ 
  { mods: { 'a' }, cars: { 'W1', 'W2' } },
  { mods: { 'a', 'b' }, cars: { 'X1', 'X2', 'X3' }, },
  { mods: { 'b' }, cars: { 'Y1', 'Y2' } },
  { mods: { 'a', 'b', 'c' }, cars: { 'Z1' } },
]
Run Code Online (Sandbox Code Playgroud)

我一直在想类似的东西:

def cars_by_common_mods():
  cars …
Run Code Online (Sandbox Code Playgroud)

python puzzle django algorithm

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

如何在Django中添加默认(隐藏)值以形成模板?

鉴于Django.db模型类:

class P(models.Model):
   type = models.ForeignKey(Type) # Type is another models.Model class
   name = models.CharField()
Run Code Online (Sandbox Code Playgroud)

其中一个人希望创建一个具有指定类型的新P,即如何使"type"成为默认的隐藏字段(来自用户),其中type为:

http://x.y/P/new?type=3 
Run Code Online (Sandbox Code Playgroud)

因此,在形式中不会出现"类型"字段,但是当保存P时,其类型将具有id 3(即Type.objects.get(pk = 3)).

其次,当使用通用Django视图时,一个(并且可能)如何通过urls.py在URL中指定"默认"类型,即.

urlpatterns = ('django.generic.views.create_update',
  url(r'^/new$', 'create_object', { 'model': P }, name='new_P'),
)
Run Code Online (Sandbox Code Playgroud)

我发现非常难以描述,这可能是问题的一部分.:)输入非常感谢!

python django django-templates django-urls

7
推荐指数
2
解决办法
9472
查看次数

Google App Engine/Python - 更改日志记录格式

如何更改loggingGoogle App Engine中模块的输出格式?

我试过了,例如:

  log_format = "* %(asctime)s %(levelname)-8s %(message)s"
  date_format = "%a, %d %b %Y %H:%M:%S"

  console = logging.StreamHandler()
  fr = logging.Formatter(log_format)
  console.setFormatter(fr)

  logger = logging.getLogger()
  logger.addFilter(SuperfluousFilter())
  logger.addHandler(console)

  logger.setLevel(logging.DEBUG)
  console.setLevel(logging.DEBUG)

  logging.error("Reconfiguring logging")
Run Code Online (Sandbox Code Playgroud)

但是,这会导致重复的日志记录输出:一个包含来自google/appengine/tools/dev_appserver.py(或在Google代码中的某个位置)的日志记录处理程序,另一个来自我StreamHandler上面的新文件.以上代码输出:

ERROR    2010-06-23 20:46:18,871 initialize.py:38] Reconfiguring logging
2010-06-23 20:46:18,871 ERROR    Reconfiguring logging

顶行显然dev_appserver.py来自我的代码的底线.

所以我想推论的问题是:如何更改Google App Engine的格式,同时避免重复输出?

谢谢你的阅读.

布赖恩

python logging google-app-engine

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

如何使用 Vega/Vega-lite 渲染类/组织/流程/状态图/图表

我找不到 Vega 的状态/类/流程图/组织结构图示例。外面有吗?

感觉 Vega 非常适合这个(如果有点过分),但没有一个例子可以从它开始,这是一个相当陡峭的学习曲线。“织女星的工作原理页面上有一些示例,但没有链接到它们的构建方式:

vega 工作原理图

还有树布局示例,但不清楚如何开始将其转换为适合流程图样式图的块。

在此处输入图片说明

这是来自例如mermaid.js 的所需输出类型的一些示例(以及其他形状,例如菱形/三角形)

类图

javascript charts vega vega-lite

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