我目前正在构建一个环回应用程序,它只有一个名为的模型Phone.这是我的common/models/phone.js代码:
module.exports = function(Phone) {
// Return a random phone's data.
Phone.random = function(callback) {
return callback(null, {
id: '12345',
number: '+18182179222',
name: 'Randall Degges'
});
};
Phone.remoteMethod('random', {
description: 'Return a random phone.',
accepts: [],
returns: [
//{ type: 'object', root: true, description: 'return value' },
{ arg: 'id', type: 'string', description: 'phone id', required: true, root: true },
{ arg: 'number', type: 'string', description: 'phone number', required: true, root: true },
{ arg: 'name', …Run Code Online (Sandbox Code Playgroud) 我一直在寻找一个模块,它允许我在python中执行SSH/SFTP功能,而不使用POPEN手动完成.有这样的事吗?我还没有找到任何真实的信息,谢谢!
更新:我已经在这个问题的底部添加了一个解决方案.
我目前正在撰写一些报告代码,允许用户选择指定日期范围.它的工作方式(简化)是:
这里有一个代码片段,有评论描述我会沿着什么喜欢做的事:
from datetime import datetime, timedelta
# ...
now = datetime.now()
start_time = now.replace(hour=0, minute=0, second=0, microsecond=0)
stop_time = now
# If the user enters no year, month, or day--then we'll simply run a
# report that only spans the current day (from the start of today to now).
if options['year']:
start_time = start_time.replace(year=options['year'], month=0, day=0)
stop_time = stop_time.replace(year=options['year'])
# If the user specifies a year value, we should set stop_time to the …Run Code Online (Sandbox Code Playgroud) 我有一个非常大的Redshift数据库,其中包含数十亿行HTTP请求数据.
我有一个表requests有一些重要的字段:
ip_addresscitystatecountry我有一个每天运行一次的Python进程,它抓取所有尚未进行地理编码的不同行(没有任何城市/州/国家/地区信息),然后尝试通过Google的地理编码API对每个IP地址进行地理编码.
这个过程(伪代码)看起来像这样:
for ip_address in ips_to_geocode:
country, state, city = geocode_ip_address(ip_address)
execute_transaction('''
UPDATE requests
SET ip_country = %s, ip_state = %s, ip_city = %s
WHERE ip_address = %s
''')
Run Code Online (Sandbox Code Playgroud)
运行此代码时,我经常会收到如下错误:
psycopg2.InternalError: 1023
DETAIL: Serializable isolation violation on table - 108263, transactions forming the cycle are: 647671, 647682 (pid:23880)
Run Code Online (Sandbox Code Playgroud)
我假设这是因为我有其他进程不断地将HTTP请求记录到我的表中,所以当我尝试执行我的UPDATE语句时,它无法选择所有具有我要更新的IP地址的行.
我的问题是:我能做些什么才能以理智的方式更新这些记录,以便经常停止失败?
我正在使用django-compressor来压缩我网站的静态CSS和Javascript文件.由于我通过Amazon S3提供我网站的静态资产,我还使用django-storage将我的文件上传到S3.
这是我的问题:我正在尝试创建一个干净的base.html模板,我的网站的所有其他模板都可以继承和扩展.这是目前的样子:
{% load compress %}
<html>
<head>
<!-- test -->
{% compress css %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ STATIC_URL }}css/styles.css" />
{% endcompress %}
{% compress css %}
{% block css %}{% endblock %}
{% endcompress %}
{% compress js %}
{% block js %}{% endblock %}
{% endcompress %}
</head>
<body>
{% block body %}{% endblock %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我在这里尝试做的是允许继承此模板的模板覆盖css和js块,因此他们可以定义自己的css和javascript进行压缩.不幸的是,这不是发生的事情.
当我运行python manage.py compress …
我有一个名为PostgreSQL的表queries_query,它有很多列.
其中两个列created和user_sid我的应用程序经常在SQL查询中一起使用,以确定给定用户在过去30天内完成了多少查询.在最近30天之前的任何时间查询这些统计数据是非常非常罕见的.
这是我的问题:
我目前通过运行以下方法在这两列上创建了我的多列索引:
CREATE INDEX CONCURRENTLY some_index_name ON queries_query (user_sid, created)
Run Code Online (Sandbox Code Playgroud)
但我想进一步限制索引只关心创建日期在过去30天内的查询.我尝试过以下方法:
CREATE INDEX CONCURRENTLY some_index_name ON queries_query (user_sid, created)
WHERE created >= NOW() - '30 days'::INTERVAL`
Run Code Online (Sandbox Code Playgroud)
但这引发了一个异常,说明我的函数必须是不可变的.
我很乐意让这个工作,以便我可以优化我的索引,并削减Postgres需要执行这些重复查询的资源.
当我手动使用Graph API Explorer为我的应用程序生成访问令牌时,我遇到了使图搜索工作的问题.
我创建了一个应用程序,将沙盒模式设置为"关闭",然后手动将我的用户帐户权限授予我的应用程序.为安全起见,我在生成访问令牌之前包含了图API浏览器中可用的所有权限.
当我点击我的访问令牌时,我发现它仍然有效,并且列出了所有权限,但是,当我执行以下搜索时:
/search?q=myphonenumber&type=user
我收到一个错误说:
{
"error": {
"message": "(#200) Must have a valid access_token to access this endpoint",
"type": "OAuthException",
"code": 200
}
}
Run Code Online (Sandbox Code Playgroud)
我知道上面的搜索代码是有效的,因为我几天前能够让它工作,我似乎无法弄清楚改变了什么.我错过了一个允许我使用访问令牌进行API搜索的权限吗?
更新:我还应该提到普通/me查询工作正常,似乎只是不允许的搜索.
我目前正在尝试使用Go进行一些实验.这是我正在尝试做的事情:
我已经运行了一个REST API服务,并且我想在尽可能多的Goroutines中反复查询特定的URL,以查看这些响应的性能(通过查看我的REST API服务器日志).我想在退出程序之前发送总共100万个HTTP请求 - 执行与我的计算机允许的同时多个.
我知道有一些工具可以做到这一点,但我主要感兴趣的是如何在Go with goroutines中最大化我的HTTP并发性.
这是我的代码:
package main
import (
"fmt"
"net/http"
"runtime"
"time"
)
func main() {
runtime.GOMAXPROCS(runtime.NumCPU())
transport := &http.Transport{}
for i := 0; i < 1000000; i++ {
go func() {
req, _ := http.NewRequest("GET", "http://myapi.com", nil)
req.Header.Set("User-Agent", "custom-agent")
req.SetBasicAuth("xxx", "xxx")
resp, err := transport.RoundTrip(req)
if err != nil {
panic("HTTP request failed.")
}
defer resp.Body.Close()
if resp.StatusCode != 302 {
panic("Unexpected response returned.")
}
location := resp.Header.Get("Location")
if location == "" { …Run Code Online (Sandbox Code Playgroud) 好的,我现在已经抓取了谷歌和Django文档超过2个小时(以及freenode上的IRC频道),并且无法解决这个问题.
基本上,我有一个名为的模型Room,如下所示:
class Room(models.Model):
"""
A `Partyline` room. Rooms on the `Partyline`s are like mini-chatrooms. Each
room has a variable amount of `Caller`s, and usually a moderator of some
sort. Each `Partyline` has many rooms, and it is common for `Caller`s to
join multiple rooms over the duration of their call.
"""
LIVE = 0
PRIVATE = 1
ONE_ON_ONE = 2
UNCENSORED = 3
BULLETIN_BOARD = 4
CHILL = 5
PHONE_BOOTH = 6
TYPE_CHOICES = (
('LR', 'Live …Run Code Online (Sandbox Code Playgroud) 我有一个开源的 python 命令行程序,可以在 Python 2.7、Python3+ 上运行,并且是跨平台的。
我正在尝试更轻松地将它打包为我的 Windows 用户的可执行文件。这个包的源代码在 Github 上:https : //github.com/stormpath/stormpath-cli
我正在尝试使用pyinstaller打包我的 Python 程序,但遇到了问题。
我正在从 Windows 8 框中运行以下命令:
$ pyinstaller --onefile setup.py
Run Code Online (Sandbox Code Playgroud)
这成功地为我生成了一个 EXE 文件,但是当我去运行它时,我收到以下错误:
$ pyinstaller --onefile setup.py
Run Code Online (Sandbox Code Playgroud)
出于测试目的,为了帮助缩小问题范围,我创建了一个test.py包含以下代码的脚本:
print('hello, world!')
Run Code Online (Sandbox Code Playgroud)
然后也打包成一个exe:
$ pyinstaller --onefile test.py
Run Code Online (Sandbox Code Playgroud)
当我运行这个生成的 exe 时,一切正常!Hello world 按预期输出。
我相信正在发生的事情是我没有告诉 pyinstaller 如何正确“检测”我的项目是一个 python 包,而不是单个文件脚本。
我已经阅读了很多文档,并在谷歌上搜索了很多,但还没有找到一种方法来指定一个包供 pyinstaller 分析。
我错过了什么?
我正在编写一些分析注册域名并寻找趋势的软件。我正在尝试一些机器学习,以帮助根据正在注册的域类型来预测未来将购买哪些域名。
我一直在寻找一种方法来下载“所有”存在的已注册域,但我一直找不到这样做的方法。
我很容易使用whois命令行工具查询单个域名,例如:
$ whois google.com
Domain Name: GOOGLE.COM
Registry Domain ID: 2138514_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.markmonitor.com
Registrar URL: http://www.markmonitor.com
Updated Date: 2018-02-21T18:36:40Z
Creation Date: 1997-09-15T04:00:00Z
Registry Expiry Date: 2020-09-14T04:00:00Z
Registrar: MarkMonitor Inc.
Registrar IANA ID: 292
Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
Registrar Abuse Contact Phone: +1.2083895740
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited
Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
Name Server: NS1.GOOGLE.COM
Name Server: NS2.GOOGLE.COM
Name …Run Code Online (Sandbox Code Playgroud) 我目前正在编写一个网站,它使用django-guardian来分配在整个网站中使用的对象级权限。
这是所需的功能:
我希望用户有权编辑单个对象(或多个对象)。例如,如果有一个名为“Joe”的用户和一个名为“Partyline”的模型,我可以为“Joe”授予 3 个特定“Partyline”对象的“change_partyline”特定权限。
当 Joe 登录 Django 管理面板时,我希望他只能编辑他的 3 个特定的“Partyline”对象,因为这些是他唯一有权编辑的内容。
这是当前的功能:
我可以将 Joe Change_partyline 权限分配给 3 个 Partyline 对象——没问题。乔可以正常登录管理面板。问题是,由于 Joe 没有更改所有派对线的“全局”权限,因此管理面板表示他没有任何权限,并且不允许他编辑任何内容。我想找到一种方法让管理员认识到 Joe 仅具有编辑 3 个特定对象的权限,并让他仅查看和编辑他有权处理的那些对象。
我很想找到一种方法来完成这项工作。我现在广泛使用管理员来让用户管理事务,如果必须将某些功能从管理员中移至网站上的其他区域,确实会破坏演示效果。
如果您有任何建议,请让我知道!
作为参考,以下是一些 shell 输出,证明用户对 Partyline 对象具有 Change_partyline 权限:
>>> from django.contrib.auth.models import User
>>> u = User.objects.get(id=2)
>>> from apps.partylines.models import Partyline
>>> p = Partyline.objects.get(id=3)
>>> u.has_perm('partylines.change_partyline', p)
True
Run Code Online (Sandbox Code Playgroud)
这是我的partylines.admin模块(它显示了 Partyline 模块如何在管理中填充):
from django.contrib import admin
from guardian.admin import GuardedModelAdmin
from apps.partylines.models import Partyline
class PartylineAdmin(GuardedModelAdmin):
list_display …Run Code Online (Sandbox Code Playgroud) python ×5
django ×3
compression ×1
concurrency ×1
django-admin ×1
django-forms ×1
dns ×1
go ×1
http ×1
indexing ×1
loopbackjs ×1
node.js ×1
postgresql ×1
pyinstaller ×1
python-2.7 ×1
search ×1
sftp ×1
sql ×1
ssh ×1
timestamp ×1
windows ×1