小编Tan*_*rad的帖子

如何获取Ansible主机文件中定义的当前计算机的主机名?

我正在设置一个Ansible手册来设置几个服务器.如果当前主机是我的本地开发主机,在我的主机文件中名为"local",那么我只想运行几个任务.我怎样才能做到这一点?我在文档中的任何地方都找不到它.

我在if语句时尝试了这个,但它失败了,因为ansible_hostname解析了创建机器时生成的主机名,而不是你在hosts文件中定义的主机名.

- name: Install this only for local dev machine
  pip: name=pyramid
  when: ansible_hostname == "local"
Run Code Online (Sandbox Code Playgroud)

ansible

160
推荐指数
1
解决办法
16万
查看次数

如何限制对react-router中路由的访问?

有谁知道如何限制对react-router中特定路由的访问?我想在允许访问特定路由之前检查用户是否已登录.我认为这很简单,但文档并不清楚如何做到这一点.

这是我应该在我定义<Route>组件的地方设置的,还是我应该在组件处理程序中处理它?

<Route handler={App} path="/">
  <NotFoundRoute handler={NotFound} name="not-found"/>
  <DefaultRoute handler={Login} name="login"/>
  <Route handler={Todos} name="todos"/> {/* I want this to be restricted */}
</Route>
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router

64
推荐指数
3
解决办法
4万
查看次数

如何在Electron中添加具有"检查元素"选项的右键菜单,如Chrome?

我正在构建一个Electron应用程序,我想检查特定的UI元素.我开放Chrome开发工具用于开发,但我想要的是能够右键单击UI元素并选择"检查元素",就像我可以在谷歌浏览器中一样.目前,右键单击在我的样板电子应用程序中没有做任何事情.我怎样才能启用它?

electron

30
推荐指数
2
解决办法
3万
查看次数

在init之前调用viewDidLoad?

我面临一个奇怪的情况.在我的控制器中,viewDidLoad之前正在呼叫init.这有什么技术原因吗?

objective-c ios

22
推荐指数
4
解决办法
7585
查看次数

如何检查Ansible命令输出中是否存在字符串列表?

我想在shell命令不返回预期输出的情况下运行Ansible操作.ogr2ogr --formats漂亮打印兼容文件格式列表.我想grep格式输出,如果我的预期文件格式不在输出中,我想运行命令来安装这些组件.有谁知道如何做到这一点?

- name: check if proper ogr formats set up
  command: ogr2ogr --formats | grep $item
  with_items:
    - PostgreSQL
    - FileGDB
    - Spatialite
  register: ogr_check

# If grep from ogr_check didn't find a certain format from with_items, run this
- name: install proper ogr formats
  action: DO STUFF
  when: Not sure what to do here
Run Code Online (Sandbox Code Playgroud)

grep ansible

22
推荐指数
2
解决办法
3万
查看次数

如何使用SQLAlchemy将列默认设置为PostgreSQL函数?

SQLAlchemy中定义的所有表都有一个类型为UUID的id列.

from sqlalchemy.ext.declarative import declarative_base
from uuid import uuid4
Base = declarative_base()

class MyTable(Base):
    id = Column(UUIDtype, default=uuid4, primary_key=True)
Run Code Online (Sandbox Code Playgroud)

UUIDtypePostgreSQL UUID类型的特殊列类型在哪里.这在PostgreSQL中成功创建了UUID列,但只在使用SQLAlchemy插入时生成默认的UUID值.这对我的一些用例来说很好,但我想在PostgreSQL方面分配列的默认值,以防在SQLAlchemy之外发生插入.

以下SQL命令在列上放置正确的默认值:

ALTER TABLE my_table ALTER COLUMN id SET DEFAULT uuid_generate_v4()
Run Code Online (Sandbox Code Playgroud)

如何uuid_generate_v4()通过SQLAlchemy模型定义将此函数指定为列默认值?如果唯一的选择是通过执行原始SQL语句,有没有办法将该语句的执行挂钩到表创建过程中?

postgresql uuid sqlalchemy

16
推荐指数
1
解决办法
5110
查看次数

如何从OSM XML planet文件中提取分层的城市/州/国家/地区数据?

我想编写一个脚本来解析OpenStreetMap(OSM)XML文件,并以分层方式构建城镇数据库.我希望结果数据集具有在美国可能如下所示的层次结构:

USA -> California -> San Francisco County -> San Francisco
Run Code Online (Sandbox Code Playgroud)

也许在英国这样:

United Kingdom -> England -> Middlesex -> London -> Soho
Run Code Online (Sandbox Code Playgroud)

输出将是一个JSON文档,它描述OSM文件中所有城市的层次结构,其结构与上面的示例类似.

我正在使用Python和"imposm"解析器库,我可以毫无问题地加载和解析文件; 我的问题是缺乏对OSM数据结构的理解:我不知道如何知道OSM数据中节点之间的父/子关系.例如,如果我找到"Soho"的节点,我怎么能把它绑回"威斯敏斯特市","大伦敦","米德尔塞克斯"和"英格兰"的节点?

我知道有些节点有一个"is_in"标签可能会提供一些这样的信息,但是

  • A)这是不一致的
  • B)它似乎是一个自由格式的文本字段,而不是指向OSM节点的链接(即is_in:"威斯敏斯特市"并没有给我任何指向威斯敏斯特节点的链接).

如果您对如何分层链接这些节点有任何建议,请告诉我.

openstreetmap

13
推荐指数
1
解决办法
4080
查看次数

如何使用正则表达式从python中删除字符串中的标签?(不是HTML)

我需要从python中的字符串中删除标签.

<FNT name="Century Schoolbook" size="22">Title</FNT>
Run Code Online (Sandbox Code Playgroud)

删除两端的整个标记的最有效方法是什么,只留下"标题"?我只看到过使用HTML标签做到这一点的方法,而这在python中对我没用.我正在使用这个特别适用于GIS程序ArcMap.它有自己的布局元素标签,我只需删除两个特定标题文本元素的标签.我相信正则表达式应该可以正常使用,但我对任何其他建议持开放态度.

python strip arcmap

12
推荐指数
2
解决办法
2万
查看次数

如何在wifi源丢失连接时检测到网络可达性的丢失?

我正在努力获得真实的互联网连接状态.我已经使用了Apple的Reachability但它只给了我wifi连接的状态,即没有覆盖设备通过wifi连接(到路由器或热点)的情况,但wifi路由器或热点本身没有连接到互联网.通过从wifi路由器拉入互联网输入电缆可以重现这种情况.ReachableViaWiFi两个reachabilityForInternetConnection和的可达性通知程序返回ReachabilityWithHostName.我对这个问题非常感兴趣.我通过它尝试了它,NSURLConnection但是电池耗尽过多而且个人我不喜欢那种继续发出URL请求的解决方案,尽管在后台线程中.

这是我正在使用的代码(由SO老师提供,但不记得确切的链接)

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkNetworkStatus:) name:kReachabilityChangedNotification object:nil];

    internetReachable = [[Reachability reachabilityForInternetConnection] retain];
    [internetReachable startNotifier];

    // check if a pathway to a random host exists
    hostReachable = [[Reachability reachabilityWithHostName: @"www.google.com"] retain];
    [hostReachable startNotifier];
Run Code Online (Sandbox Code Playgroud)

然后在观察者方法中:

 - (void) checkNetworkStatus:(NSNotification *)notice{

    // called after network status changes

    NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
    switch (internetStatus)

    {
        case NotReachable:
        {
            NSLog(@"The internet is down.");
            self.isInternetReachable = NO;

            break;

        }
        case ReachableViaWiFi:
        {
            NSLog(@"The internet is working via …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c reachability ios

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

如何在Ansible的另一个角色中调用角色?

我的剧本运行了一系列角色:

roles:
  - common
  - postgres
  - nginx
  - supervisord
  - { role: deploy_app,  app_name: myapp }
  - { role: deploy_app,  app_name: otherapp }
Run Code Online (Sandbox Code Playgroud)

我有另一个角色,celery我只想myapp在使用创建app的应用程序时运行deploy_app.我在想我应该将一个参数传递给这样的角色:

- { role: deploy_app,  app_name: myapp, celery: yes }
Run Code Online (Sandbox Code Playgroud)

然后在我的deploy_app角色中,我会使用一个when条件:

- name: create celery worker for application
  <RUN ROLE HERE>
  when: '{{ celery }}' == 'yes'
Run Code Online (Sandbox Code Playgroud)

如何在任务列表中有条件地运行角色?

ansible

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