#python #qooxdoo
#python #qooxdoo
Вопрос:
Я беру пример из документа 1.4 для ключа задания «pretty-print» в моем config.json.
"jobs" : {
"pretty-print" : {
"general" : { ..... },
"comments" : { ...... },
"blocks" : { ....... }
},
python Generate.py создайте это:
Предупреждение: ! Неизвестный ключ конфигурации задания «блокирует» — игнорируется.
Предупреждение: ! Неизвестный ключ конфигурации задания «комментарии» — игнорируется.
Предупреждение: ! Неизвестный ключ конфигурации задания «general» — игнорируется.
Я просмотрел everywere, doc amp; source и не понимаю, почему
ОТРЕДАКТИРОВАНО, я использую QooXdoo 1.4 с Python 2.6
Я работаю с исходным кодом javascript, сгенерированным из другой системы, мне нужно переформатировать source .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 моего приложения
задание «pretty-print» выполняется, но игнорируется настройка
ОТРЕДАКТИРОВАНО ЗАНОВО, у меня проблема только с этим ключом «pretty-print», другой вариант config.json в порядке
Комментарии:
1. здесь слишком мало контекста, можете ли вы предоставить полный минимальный пример кода, в котором есть проблема?
Ответ №1:
Вы поняли это почти правильно, вы просто пропустили один уровень вложенности.
Общая структура jobs
карты выглядит следующим образом (что также задокументировано здесь):
"jobs" : {
"job-name" : {
"pretty-print" : { ... }
...
}
...
}
Итак, вам просто нужно вставить имя задания между «jobs» и «pretty-print»; имя задания — это просто свободно выбираемая строка. (Вы можете представить карту «jobs» как контейнер, [job-name] как отдельные объекты в этом контейнере, а «pretty-print» и все другие ключи, которые вы видели задокументированными на generator_config_ref.html , как свойства конкретного пользователя).
Теперь вы можете определить объект задания с нуля, например, присвоив ему уникальное имя, такое как my-pretty-print
. Но для успешного выполнения задания требуется, чтобы вы собрали воедино все необходимые свойства задания (на это намекает примечание о одноранговых ключах, приведенное со многими описаниями ключей).
Я скорее рекомендую использовать предварительно определенное задание и доработать его. В вашем случае используйте задание по умолчанию pretty
и доработайте его. Называя задание в вашей собственной конфигурации pretty
, вы автоматически наследуете все свойства из предварительно определенного задания. Поэтому просто добавляю
"jobs" : {
"pretty" : {}
}
для вашей карты конфигурации будет создано пользовательское задание pretty
, которое выполняет то же самое, что и задание по умолчанию с тем же именем (поскольку у вас ничего не изменилось). Теперь вы можете просто предоставить то, что вы хотите по-другому, чем задание по умолчанию, например
"jobs" : {
"pretty" : { "general" : { "indent-string" : " " }}
}
будут использоваться все настройки по умолчанию, за исключением того, что строка отступа будет содержать 4 пробела вместо 2. Это должно заставить вас работать.
Комментарии:
1. Танки, вы направили меня в правильном направлении решение: «jobs»: { «pretty» : { «pretty-print» : { «general» : { «indent-string»: » » } } }