假设我有以下模块:
var modulesReq = require.context('.', false, /\.js$/);
modulesReq.keys().forEach(function(module) {
modulesReq(module);
});
Run Code Online (Sandbox Code Playgroud)
Jest抱怨因为它不知道require.context
:
FAIL /foo/bar.spec.js (0s)
? Runtime Error
- TypeError: require.context is not a function
Run Code Online (Sandbox Code Playgroud)
我怎么嘲笑它?我尝试使用setupTestFrameworkScriptFile
Jest配置,但测试无法看到我所做的任何更改require
.
我有一个垂直的里面LinearLayout
有两个TextView
.前者包含静态文本属性(它的文本永远不会更改),最后一个包含回归计时器.下图显示了两个项目:
我想消除两个文本都有顶部和底部的空白区域.我尝试了几种方法......
android:includeFontPadding="false"
android:lineSpacingMultiplier="1"
android:lineSpacingExtra="0dp"
android:paddingTop="0dp"
android:paddingBottom="0dp"
android:layout_marginTop="0dp"
android:layout_marginBottom="0dp"
Run Code Online (Sandbox Code Playgroud)
......但他们都没有删除文本上方的空格.如何在没有任何额外空间的情况下使两个文本彼此靠近?
PS:我发现了类似的问题,但没有人回答.
完整的布局代码:
<LinearLayout
android:id="@+id/boxTime"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp" >
<TextView
android:id="@+id/textRemainingTime2"
android:layout_width="wrap_content"
android:layout_heigh="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:textSize="70sp"
android:includeFontPadding="false"
android:lineSpacingMultiplier="1"
android:lineSpacingExtra="0dp"
android:paddingTop="0dp"
android:paddingBottom="0dp"
android:layout_marginTop="0dp"
android:layout_marginBottom="0dp"
android:text="@string/title" />
<TextView
android:id="@+id/textRemainingTime"
android:layout_width="wrap_content"
android:layout_heigh="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:includeFontPadding="false"
android:lineSpacingMultiplier="1"
android:lineSpacingExtra="0dp"
android:paddingTop="0dp"
android:paddingBottom="0dp"
android:layout_marginTop="0dp"
android:layout_marginBottom="0dp"
android:textSize="107sp"
android:text="@string/timer" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 警告:我删除了很多"旧文本"以使问题更加清晰.如果需要,只需查看历史记录.
我正在使用proguard
缩小和混淆使用facebook sdk 3.0的应用程序(我正在使用sdk-version-3.0.2.b标记).我没有使用JAR文件.相反,我按照文档中的说明在我的工作区中导入了sdk .
在执行的某个时刻,应用程序加载PlacePickerFragment以让用户选择他所在的位置.为了编写代码,我完全遵循了美味的教程.当我生成调试apk而不使用proguard
一切按预期工作.但是当我使用生成签名的apk时proguard
,它会在PlacePickerFragment使用以下跟踪加载附近的地方时崩溃:
E/AndroidRuntime(27472): FATAL EXCEPTION: main
E/AndroidRuntime(27472): com.facebook.FacebookGraphObjectException: can't infer generic type of: interface com.facebook.model.GraphObjectList
E/AndroidRuntime(27472): at com.facebook.model.GraphObject$Factory.coerceValueToExpectedType(Unknown Source)
E/AndroidRuntime(27472): at com.facebook.model.GraphObject$Factory$GraphObjectProxy.proxyGraphObjectGettersAndSetters(Unknown Source)
E/AndroidRuntime(27472): at com.facebook.model.GraphObject$Factory$GraphObjectProxy.invoke(Unknown Source)
E/AndroidRuntime(27472): at com.facebook.widget.$Proxy2.getData(Native Method)
E/AndroidRuntime(27472): at com.facebook.widget.GraphObjectPagingLoader.addResults(Unknown Source)
E/AndroidRuntime(27472): at com.facebook.widget.GraphObjectPagingLoader.requestCompleted(Unknown Source)
E/AndroidRuntime(27472): at com.facebook.widget.GraphObjectPagingLoader.access$1(Unknown Source)
E/AndroidRuntime(27472): at com.facebook.widget.GraphObjectPagingLoader$2.onCompleted(Unknown Source)
E/AndroidRuntime(27472): at com.facebook.Request$4.run(Unknown Source)
E/AndroidRuntime(27472): at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime(27472): at android.os.Handler.dispatchMessage(Handler.java:92) …
Run Code Online (Sandbox Code Playgroud) 我想让我的python包"可以安装pip".问题是该软件包具有必须在用户的init shell脚本中提供的shell脚本(例如.bashrc
).
但是在安装之后,用户并不完全知道脚本的去向(大概是/usr/bin
,但我们无法保证).当然,用户可以运行which myscript.sh
并手动编辑他的init脚本.
但我想自动完成这一步.我可以创建一个新的distutils命令,但pip install
不会调用它.我可以扩展distutils.command.install.install
,但安装通过pip中断(虽然通过工作python setup.py install
):
setup.py
from distutils.command.install import install
class CustomInstall(install):
def run(self):
install.run(self)
# custom stuff here
do_my_stuff()
setup(..., cmdclass={'install': CustomInstall})
Run Code Online (Sandbox Code Playgroud)
贝壳
$ pip install dist/mypackage.tar.gz
Unpacking ./dist/mypackage.tar.gz
Running setup.py egg_info for package from file:///path/to/mypackage/dist/mypackage.tar.gz
Installing collected packages: mypackage
Running setup.py install for mypackage
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c …
Run Code Online (Sandbox Code Playgroud) 我有一个模型,我使用Django ORM从表中提取平均值.我想要舍入Avg值,我该怎么做?
请参阅下文我从YYYY-MM格式的按日期分组的价格模型中提取平均价格,我想自动提取四舍五入到最接近数字的平均值.
rs = Prices.objects.all.extra(select={
'for_date': 'CONCAT(CONCAT(extract( YEAR from for_date ), "-"),
LPAD(extract(MONTH from for_date), 2, "00"))'
}).values('for_date').annotate(price=Avg('price')).order_by('-for_date')
Run Code Online (Sandbox Code Playgroud) 我正在使用localtunnel v1.但是我发现v2允许你自定义子域,我需要这个功能.
我跟着介绍的教程README
从资源库,但它让我感到困惑的几个部分,并在结束时,它没有工作.
第一步是在端口号上运行一些web-app:checked.8000.
然后,它说了一些关于主机名的内容:
Localtunnel使用主机名执行一些操作,因此您需要设置两个主机名.一个用于localtunnel注册,一个用于本地隧道.通常它需要一个通配符,但我们只是硬编码这个示例隧道的主机名.
example.localtunnel.local - > 127.0.0.1
localtunnel.local - > 127.0.0.1您可以在/ etc/hosts中执行此操作或使用该奇特的ghost实用程序.
我迷路了,但我仍然编辑了我/etc/hosts
:
127.0.0.1 localhost
127.0.1.1 my-pc-name
127.0.0.1 example.localtunnel.local
127.0.0.1 localtunnel.local
Run Code Online (Sandbox Code Playgroud)
下一步...
现在您可以启动服务器了.它基于config目录中的配置文件.您可以创建自己的,但是这个配置为在端口9999上运行服务器并且期望主机名localtunnel.local
ginkgo config/default.conf.py
哪一个?无论如何......我根据localtunnel repo的目录中的文件创建了myconfig.conf.py /deploy
:
port = 9999
hostname = 'localtunnel.local'
service = 'localtunnel.server.TunnelBroker'
Run Code Online (Sandbox Code Playgroud)
但是,当我跑:
lt --broker 127.0.0.1:9999 --name example 8000
Run Code Online (Sandbox Code Playgroud)
我有:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/gevent/greenlet.py", line 390, in run
result = self._run(*self.args, **self.kwargs)
File "/usr/local/lib/python2.7/dist-packages/localtunnel/client.py", line 53, in …
Run Code Online (Sandbox Code Playgroud) 我知道,对于一个互相排斥的群体来说,多个位置论证是没有意义的,因为你不能说谁是谁.但我需要在其中包含一个位置参数.
我需要的:
$ myprogram -h
usage: myprogram [-h] [--delete value | --update value | value]
Run Code Online (Sandbox Code Playgroud)
其中position value
是默认操作(类型为"--include").(myprogram
没有参数也必须有效).
我的第一次尝试(这不起作用):
parser = ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('--delete', metavar='value')
group.add_argument('--update', metavar='value')
group.add_argument('value')
Run Code Online (Sandbox Code Playgroud)
那可能吗?
第二次尝试:
parser = ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('--delete', action='store_true')
group.add_argument('--update', action='store_true')
group.add_argument('--insert', action='store_true', default=True)
group.add_argument('value')
Run Code Online (Sandbox Code Playgroud) 我有以下任务:
- name: Retrieve records from Route53
route53:
command: get
zone: "{{ stag_zone }}"
record: "{{ stag_record }}"
type: A
aws_access_key: "{{ aws_access_key }}"
aws_secret_key: "{{ aws_secret_key }}"
register: rec
- name: Print records
debug: var=rec
- name: Record contains IP
debug: msg="{{rec}} contains {{stag_ip}}"
when: "'{{stag_ip}}' in {{rec.set.values}}"
Run Code Online (Sandbox Code Playgroud)
该Print records
任务输出是这样的:
ok: [XXX.XXX.XXX.XXX] => {
"var": {
"rec": {
"changed": false,
"invocation": {
"module_args": "",
"module_name": "route53"
},
"set": {
"alias": false,
"record": "YYY.XXX.ZZZ.",
"ttl": "300",
"type": "A", …
Run Code Online (Sandbox Code Playgroud) 我专注django.contrib.gis.geos.Point
于更好地创建和处理具有明确纬度和经度的点.
我目前的代码:
from django.contrib.gis.geos import Point
class LLPoint(Point):
def __init__(self, *args, **kwargs):
lat = kwargs.get('latitude')
lng = kwargs.get('longitude')
if lat and lng:
super(LLPoint, self).__init__(lng, lat)
elif lat or lng:
raise TypeError(u'You must both declare latitude and longitude, '
'not just one of them.')
else:
super(LLPoint, self).__init__(*args, **kwargs)
def __unicode__(self):
c = self.coordinates()
return u'LLPoint Lat: %.5f Lng: %.5f' % (c['latitude'], c['longitude'])
def coordinates(self):
return {
'latitude': self.coords[1],
'longitude': self.coords[0]
}
Run Code Online (Sandbox Code Playgroud)
问题是:
>>> LLPoint(latitude=10.0, longitude=20.0)
<Point object …
Run Code Online (Sandbox Code Playgroud) 我想在特定情况下仅在某个活动不可见时在我的应用中启动通知.
当我创建并销毁Activity时(使用onCreate/onDestroy),如果通过onPause/onResume方法可以看到此Activity,我设法在服务的绑定/取消绑定中执行此操作e,如下面的代码所示:
public void onCreate(Bundle savedInstanceState) {
// ...
bindService(...);
}
public void onDestroy() {
// ...
unbindService(mConnection);
}
public void onResume() {
// ...
// this method sets to true the Service's boolean which retain Activity's visibility.
mService.registerActivity(true);
}
public void onPause() {
mService.registerActivity(false);
}
Run Code Online (Sandbox Code Playgroud)
在服务上,我检查此布尔值以启动通知.
它适用于除特定情况之外的所有情况:在此活动中打开应用程序但启用了锁定屏幕.
通过我做的一些测试,当锁屏出现时,调用Activity.onPause方法.我希望锁定屏幕解锁后才调用Activity.onResume方法,但事实并非如此.当我按下电源按钮来召唤锁定屏幕时,已经调用了Activity.onResume方法.从这个意义上说,我所做的是不对的.
如何仅在用户解锁锁定屏幕时才调用Activity.onResume方法?或者......我怎样才能确定锁定屏幕已解锁且用户真的在看活动?