我有一个主框架(称之为a),还有一个弹出式Toplevel(称之为b).如何确保用户在"活着" a时无法点击任何内容b?
我有一个webapp,当用户点击一个字段时,里面的文字会突出显示供他复制.但是,在Android上,这不会触发复制上下文菜单的打开,因此用户必须自己选择文本.
有没有办法以编程方式触发长按事件,以便复制/粘贴上下文菜单出现在移动浏览器上?
使用下面的代码段代码,我们可以捕获AWS异常:
from aws_utils import make_session
session = make_session()
cf = session.resource("iam")
role = cf.Role("foo")
try:
role.load()
except Exception as e:
print(type(e))
raise e
Run Code Online (Sandbox Code Playgroud)
返回的错误是类型botocore.errorfactory.NoSuchEntityException.但是,当我尝试导入此异常时,我得到了这个:
>>> import botocore.errorfactory.NoSuchEntityException
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named NoSuchEntityException
Run Code Online (Sandbox Code Playgroud)
我能找到捕获此特定错误的最佳方法是:
from botocore.exceptions import ClientError
session = make_session()
cf = session.resource("iam")
role = cf.Role("foo")
try:
role.load()
except ClientError as e:
if e.response["Error"]["Code"] == "NoSuchEntity":
# ignore the target exception
pass
else:
# this is not …Run Code Online (Sandbox Code Playgroud) 我最近切换了服务器,现在我的主页无法正常工作.它给出了以下文字:
Warning: session_start() [function.session-start]: open(/var/lib/php/session/sess_eqbchncji8kj22f0iqa9g3v7u2, O_RDWR) failed: Permission denied (13) in /var/www/vhosts/alt.alternativedc.com/httpdocs/index.php on line 6
Warning: Unknown: open(/var/lib/php/session/sess_eqbchncji8kj22f0iqa9g3v7u2, O_RDWR) failed: Permission denied (13) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)
我认为这意味着会话文件夹不可写,因此我在ssh-ed进入服务器后运行以下命令:
chmod o+rw /var/lib/php/session
Run Code Online (Sandbox Code Playgroud)
这似乎没有解决问题.不知道现在该怎么办......
sbt package运行得很好,但在spark-submit我收到错误后:
线程"main"中的异常java.lang.NoSuchMethodError:org.apache.spark.SparkContext $ .rddToPairRDDFunctions(Lorg/apache/spark/rdd/RDD; Lscala/reflect/ClassTag; Lscala/reflect/ClassTag; Lscala/math/Ordering ;)Lorg /阿帕奇/火花/ RDD/PairRDDFunctions; 在SmokeStack $ .main(SmokeStack.scala:46)位于sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)的sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Iv.:60)太阳的SmokeStack.main(SmokeStack.scala)位于org.apache.spark.deploy.SparkSubmit $ .org $ apache $ spark $ deploy $的java.lang.reflect.Method.invoke(Method.java:498)中的.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在org.apache.spark.spark.deploy.SparkSubmit $ .submit(SparkSubmit.scala:)org.apache.spark.deploy.SparkSubmit $ .doRunMain $ 1(SparkSubmit.scala:185)的SparkSubmit $$ runMain(SparkSubmit.scala:736) 210)org.apache.spark.deploy.SparkSubmit $ .main(SparkSubmit.scala:124)at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
这是违规行:
val sigCounts = rowData.map(row => (row("Signature"), 1)).countByKey()
Run Code Online (Sandbox Code Playgroud)
rowData是RDD Map [String,String]."签名"键存在于地图中的所有项目中.
我怀疑这可能是一个构建问题.下面是我的sbt文件:
name := "Example1"
version := "0.1"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.2.0"
scalacOptions ++= Seq("-feature")
Run Code Online (Sandbox Code Playgroud)
我是Scala的新手所以也许进口不正确?我有:
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import scala.io.Source
Run Code Online (Sandbox Code Playgroud) 我遇到了一个奇怪的构建问题与打字稿和@types/react.我有两个打字稿配置文件:一个用于使用react的文件,另一个用于不使用的文件.当构建我的项目中没有使用反应的部分时,我看到以下错误:
node_modules/@types/react/index.d.ts(3508,58):错误TS2304:找不到名称'HTMLDialogElement'.node_modules/@types/react/index.d.ts(3508,78):错误TS2304:找不到名称'HTMLDialogElement'.node_modules/@types/react/index.d.ts(3782,72):错误TS2304:找不到名称'HTMLDialogElement'.node_modules/@types/react/index.d.ts(3782,92):错误TS2304:找不到名称'HTMLDialogElement'.
我能用最小的例子重现错误:
node_modules/typescript/bin/tsc typescript/foo.ts --outDir static/js/src --module none
Run Code Online (Sandbox Code Playgroud)
该文件typescript/foo.ts是我用来重现问题的最小文件,故意短:
function printNumber(n: number) {
console.log(n);
}
let x = 3;
x *= 4;
printNumber(x);
Run Code Online (Sandbox Code Playgroud)
请注意,foo.ts没有任何参考作出任何反应.最奇怪的是,当我卸载时@types/react,错误消息消失了.
这是怎么回事?
编辑:我发现这个问题在tsc版本> 2.3.2时出现.我将tsc降级到版本2.3.2,但问题仍然存在.
假设我有一个如下字符串:
"func(arg1, arg2, arg3, arg4, ..., argn)"
Run Code Online (Sandbox Code Playgroud)
编辑:此功能不是某种特定语言.它只有这种格式.如果它更容易,不要把它看作函数调用,只是一个字符串.
我想写一个正则表达式来匹配函数和每个参数.我是用Python写的.所需的输出是:
{"function" : "func", "arg" : ["arg1", "arg2", ... , "argn"]}
Run Code Online (Sandbox Code Playgroud)
编辑:虽然参数可以是函数调用,但是一旦我创建了一个有效的函数,我就可以很容易地递归地尝试将它们与相同的正则表达式匹配.通过这个我的意思是我可以用每个参数递归函数.但这并不是真的相关.我不是想创建一个解释器,只是为了识别这些论点.
以下是我对此的尝试:
import re
s = "func(arg1, arg2, arg3, arg4, argn)"
m = re.match(r"(?P<function>\w+)\s?\((?P<args>(?P<arg>\w+(,\s?)?)+)\)", s)
print m.groupdict()
Run Code Online (Sandbox Code Playgroud)
这是输出:
{'function': 'func', 'args': 'arg1, arg2, arg3, arg4, argn', 'arg': 'argn'}
Run Code Online (Sandbox Code Playgroud)
函数匹配得很好,参数集也是如此.但是,我似乎无法匹配个别论点.这是我的正则表达式的问题,还是Python正则表达式匹配的限制?
EDIT2:我知道我现在可以使用以下代码拆分参数:
d["arg"] = d["args"].split(", ")
Run Code Online (Sandbox Code Playgroud)
但我想知道我是否可以用正则表达式完成整个工作.特别是,我想知道为什么"arg"只匹配最后一个参数.
EDIT3:我想我(1)希望弄清楚为什么Python每次只匹配最后一个参数,以及(2)我是否可以在Python中进行Scheme风格的模式匹配.或者,如果在Python中存在与Scheme样式模式匹配一样直观的东西.我查看了ast模块,它的语法非常复杂.
我的团队管理着许多服务器,公司政策规定必须每隔几周更改这些服务器上的密码.有时候,我们的官方密码数据库因任何原因都会过时(人们通常会忘记更新它),但我们有时会在几个月之后才发现这一点,因为我们并不总是使用每台服务器.
我想编写一个脚本来清除数据库中的密码,并使用这些密码每晚尝试(ssh)登录到每个服务器,并将结果发送给团队.我能够抓取数据库的登录信息,但我不知道如何检查ssh登录是否成功.
我不能使用公钥认证来完成此任务.我想要密码验证,所以我可以验证密码.
我通过指定以下文件禁用公钥验证:
PasswordAuthentication=yes
PubkeyAuthentication=no
Run Code Online (Sandbox Code Playgroud)
我对expect脚本的尝试:
# $1 = host, $2 = user, $3 = password, $4 = config file
expect -c "spawn ssh $2@$1 -F $4
expect -re \".*?assword.*?\"
send \"$3\n\"
...
send \'^D\'"
Run Code Online (Sandbox Code Playgroud)
我想也许退出状态可能表明成功了吗?但是在手册页中找不到任何东西.
将我的 Chrome 扩展程序移植到 Firefox 网络扩展程序时,我无法发出任何网络请求,因为它们被同源策略阻止。
举个例子:
const headers = {"content-type": "application/json" };
window.fetch(myDomain + "/api/v3/token", { method: "GET", headers: headers });
Run Code Online (Sandbox Code Playgroud)
这失败并出现以下错误:
有没有办法将 Firefox 扩展配置为不考虑这些请求 CORS?相同的代码作为 Google Chrome 扩展程序工作得很好。
即使请求转到本地主机,这也是正确的。
我已经尝试使用 jquery 的$.ajax方法和 axios 库来获得相同的结果(在 Chrome 中有效,在 Firefox 中无效),所以我认为问题不限于window.fetchAPI。
编辑:我知道我可以在服务器端添加 CORS 处理程序,但我试图不这样做。为什么这在 Chrome 中有效,而在 Firefox 中无效?
编辑 2:扩展是一个弹出窗口
javascript same-origin-policy google-chrome-extension firefox-addon-webextensions
我有一些使用nodemailer模块的代码。
在路由器(router.js)中,我有
const transporter = nodeMailer.createTransport(emailArgs);
Run Code Online (Sandbox Code Playgroud)
然后在路线(/login)内我有:
...
return transporter.sendMail(mailOptions);
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用jest测试框架测试这条路线。我在模拟对sendMail. 我读了这篇关于如何使用 jest mocking 的好博文,但我收到了这个错误:
类型错误:无法读取未定义的属性“sendMail”
事实上,当我检查transporter它的值是未定义的。
这是我的测试代码(不起作用):
import request from "supertest";
import router from "./router";
jest.mock("nodemailer");
describe("", () => {
...
test("", async () => {
// 1 - 200 status code; 2 - check email was sent
expect.assertions(2);
const response = await request(router)
.post("/login")
// global variable
.send({ "email": email })
.set("Accept", "application/json")
.expect("Content-Type", …Run Code Online (Sandbox Code Playgroud) javascript ×3
python ×3
android ×1
apache ×1
apache-spark ×1
bash ×1
boto3 ×1
expect ×1
firefox-addon-webextensions ×1
ios ×1
jestjs ×1
mobile ×1
mocking ×1
node.js ×1
nodemailer ×1
php ×1
reactjs ×1
regex ×1
scala ×1
shell ×1
ssh ×1
tkinter ×1
typescript ×1
unit-testing ×1