小编Ojm*_*eny的帖子

在Jinja2/Flask中类似于'startswith'的方法

我正在寻找类似于python的开头的方法/方式.我想要做的是链接表格中以"i-"开头的一些字段.

我的步骤:

  1. 我创建了filter,返回True/False:

    @app.template_filter('startswith')
    def starts_with(field):
        if field.startswith("i-"):
                return True
        return False
    
    Run Code Online (Sandbox Code Playgroud)

然后将其链接到模板:

{% for field in row %}
            {% if {{ field | startswith }} %}
               <td><a href="{{ url_for('munin') }}">{{ field | table_field | safe }}</a></td>
            {% else %}
               <td>{{ field | table_field | safe}}</td>
            {% endif %}
     {% endfor %}
Run Code Online (Sandbox Code Playgroud)

不幸的是,它不起作用.

第二步.我没有使用过滤器,但在模板中

{% for field in row %}
            {% if field[:2] == 'i-' %}
               <td><a href="{{ url_for('munin') }}">{{ field | table_field | safe }}</a></td>
            {% else %}
               <td>{{ …
Run Code Online (Sandbox Code Playgroud)

jinja2 flask

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

C++ .cpp文件没有看到来自.h的变量

我用c ++编写了程序.首先我正常写它(通常我不用c ++编写),我想把变量放在头文件和代码中.cpp文件中.问题是.cpp中的类看不到变量 - "标识符未定义".

#include <iostream>
#include <string>
#include <cmath>
#include <vector>

using namespace std;

class Hex {

private:
    int n;
    string value;
    bool negative = false;

public:
     Hex();
     bool isCorrect();
     string getValue();
     void setValue();
};
Run Code Online (Sandbox Code Playgroud)

a.cpp

#include "a.h"
#include "stdafx.h"     

class Hex {

    public:
      Hex(int n, string w) { //some implementation }

//rest class
}
Run Code Online (Sandbox Code Playgroud)

我做错了什么?如果重要的是我正在开发VS 2013.

c++

6
推荐指数
2
解决办法
1452
查看次数

如何检查字符串数组的子字符串是否与其他字符串数组中的模式匹配

我想知道是否有任何groovy方法来检查字符串的子串是否与模式匹配.

例如,我有字符串List(或数组):

def Errors = ['File xyz cannot be created: No space left on device', 'File kjh has errors: some_error']

然后我有字符串列表,例如 def Patterns = ['Tests failed', 'No space left on device', 'Something goes wrong', ...some strings... ]

我想检查List的某些元素是否是元素的Patterns子串 Errors.

在那个例子中它应该返回true,因为Patternshas No space left on deviceErrorshas 'File xyz cannot be created: No space left on device'.

我知道如何通过使用两个for循环和方法来编写非常有用且无效的contains但是我知道Groovy有更强大的内置方法.我试过了findAll(),但它根本没用.

你有什么想法?有没有办法让它更聪明?

groovy

5
推荐指数
1
解决办法
878
查看次数

如何在Jenkins中添加新行描述

当我以编程方式更改它时,如何在Jenkins中添加新行描述?

我尝试过这样的事情:

job.builds[0].description = "hello" << '\n' << "world"
Run Code Online (Sandbox Code Playgroud)

和控制台脚本打印良好:

hello

world

但是在詹金斯的描述中,这份工作有"你好世界"而没有新线beetwen helloworld

有没有办法做到这一点?

groovy jenkins

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

Groovy Postbuild不会在Jenkins上执行脚本

我写过简单的groovy脚本,但我不知道如何在Jenkins上执行它.

看看这个简单的脚本:

String jbN = System.getenv('JOB_NAME')
println  jbN
println "Hello"
Run Code Online (Sandbox Code Playgroud)

我会除了我至少会尊敬"你好".脚本不予回报.我收到了Build step 'Groovy Postbuild' marked build as failure(or success)

似乎脚本没有被执行.

编辑:

我没有添加它,但我已经有脚本来分析日志,所以我需要它在构建后执行它.问题比我想的要大.插件:"Scriptler"或"Groovy插件"不打印任何内容.我正在尝试打印的脚本:

String jbN = System.getenv('JOB_NAME')
println  jbN
Run Code Online (Sandbox Code Playgroud)

groovy jenkins jenkins-plugins

5
推荐指数
1
解决办法
5375
查看次数

标签 统计

groovy ×3

jenkins ×2

c++ ×1

flask ×1

jenkins-plugins ×1

jinja2 ×1