来自手动的config.json的QooXDoo示例生成错误漂亮的打印

时间:2011-05-07 08:00:38

标签: python qooxdoo

我从doc 1.4中的示例中获取了config.json中的“pretty-print”作业键。

"jobs" :   {
    "pretty-print" :    { 
        "general" :     { ..... },
        "comments" :    {  ...... },
        "blocks" :    { ....... }
    },

python Generate.py产生这个:

  
    

警告:!未知的作业配置键“块” - 忽略。
    警告: !未知的作业配置键“注释” - 忽略。
    警告: !未知的作业配置键“常规” - 忽略。

  

我看着每一个人,doc&来源并不明白为什么

EDITED 我正在使用QooXdoo 1.4 whit Python 2.6

我正在使用另一个系统生成的源码javascript 我需要重新格式化源.js并需要修改标准设置QooXdoo使用

http://manual.qooxdoo.org/1.4.x/pages/tool/generator_config_ref.html我举个例子:

"pretty-print" :
{
  "general" :
  {
    "indent-string"        : "    "
  },
  "comments" :
  {
    "trailing" :
    {
      "keep-column"        : false,
      "comment-cols"       : [50, 70, 90],
      "padding"            : "    "
    }
  },
  "blocks" :
  {
    "align-with-curlies"   : false,
    "open-curly" :
    {
      "newline-before"     : "N",
      "indent-before"      : false
    }
  }
}

并输入我的应用程序的config.json
执行“漂亮打印”作业但忽略设置

重新编辑 我有问题只有这个键“漂亮打印”,config.json上的其他变化是好的

1 个答案:

答案 0 :(得分:2)

你得到的几乎是正确的,你只是错过了一层嵌套。

jobs地图的整体结构如下(也记录为here):

"jobs" : {
     "job-name" : {
          "pretty-print" : { ... }
          ...
     }
     ...
}

所以你只需要在“jobs”和“pretty-print”之间插入一个工作名称;工作名称只是一个可自由选择的字符串。 (您可以将“作业”地图视为一个容器,[作业名称]作为此容器中的单个对象,以及“漂亮打印”,以及您在generator_config_ref.html上记录的所有其他键,作为特定个人的属性。)

现在,您可以从头开始定义作业对象,例如给它一个唯一的名称,如my-pretty-print。但是,这需要您将所有必要的作业属性放在一起,以使作业成功运行(这与 peer-keys 注释中提供了许多关键描述)

我更推荐使用预先定义的作业并进行优化。在您的情况下,使用默认作业pretty,并进行优化。通过在您自己的配置pretty中命名作业,您可以自动从预定义的作业继承所有属性。所以只需添加

"jobs" : {
    "pretty" : {}
}

到您的配置图将创建一个自定义作业pretty,它与同名的默认作业完全相同(因为您没有任何更改)。现在,您可以从默认作业中提供想要不同的内容,例如

"jobs" : {
    "pretty" : { "general" : { "indent-string" : "    " }}
}

将使用所有默认设置,除了缩进字符串将有4个空格而不是2.这应该让你去。