appengine import_transform пользовательское значение - PullRequest
1 голос
/ 16 декабря 2011

Из того, что я мог выяснить, не очень легко назначить значения по умолчанию для свойств в файле bulkloader.yaml.Я узнал, что один из способов установить значения по умолчанию - написать свою собственную функцию:

 - property: status
      external_name: status
      import_transform: extrabulkloadfunctions.staticvalue(int)

Поэтому я изменил функцию transform.none_if_empty (int), чтобы она возвращала строку «в очереди» вместо None.

def staticvalue(fn):

  def wrapper(value):
    if value == '' or value is None:
      return 'in queue'
    return fn(value)

  return wrapper

Мне было интересно, хотя, поскольку input_transform принимает только функцию, можно ли передать значение по умолчанию, чтобы мне не приходилось писать новую функцию для каждого вида по умолчаниюзначение, которое я хочу передать. IE:

import_transform: extrabulkloadfunctions.staticvalue("default A")
import_transform: extrabulkloadfunctions.staticvalue("default B")

и т. д.

Спасибо!

1 Ответ

0 голосов
/ 16 декабря 2011
import_transform: "lambda x: 'default A'"
...