-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbulkloader.yaml
93 lines (79 loc) · 3.13 KB
/
bulkloader.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# Autogenerated bulkloader.yaml file.
# You must edit this file before using it. TODO: Remove this line when done.
# At a minimum address the items marked with TODO:
# * Fill in connector and connector_options
# * Review the property_map.
# - Ensure the 'external_name' matches the name of your CSV column,
# XML tag, etc.
# - Check that __key__ property is what you want. Its value will become
# the key name on import, and on export the value will be the Key
# object. If you would like automatic key generation on import and
# omitting the key on export, you can remove the entire __key__
# property from the property map.
# If you have module(s) with your model classes, add them here. Also
# change the kind properties to model_class.
python_preamble:
- import: base64
- import: re
- import: google.appengine.ext.bulkload.transform
- import: google.appengine.ext.bulkload.bulkloader_wizard
- import: google.appengine.ext.db
- import: google.appengine.api.datastore
- import: google.appengine.api.users
transformers:
- kind: Book
connector: csv
connector_options:
import_options:
dialect: excel-tab
export_options:
dialect: excel-tab
property_map:
- property: __key__
external_name: key
export_transform: transform.key_id_or_name_as_string
- property: comment
external_name: comment
# Type: String Stats: 12 properties of this type in this kind.
import_transform: db.Text
- property: imageurl
external_name: imageurl
# Type: String Stats: 32 properties of this type in this kind.
import_transform: db.Text
- property: owner
external_name: owner
# Type: User Stats: 32 properties of this type in this kind.
import_transform: transform.none_if_empty(users.User) # Assumes email address
- property: status
external_name: status
# Type: String Stats: 32 properties of this type in this kind.
- property: tag
external_name: tag
# Type: String Stats: 32 properties of this type in this kind.
import_transform: transform.split_string(',')
export_transform: transform.empty_if_none(transform.join_list(','))
- property: timestamp
external_name: timestamp
# Type: Date/Time Stats: 32 properties of this type in this kind.
import_transform: transform.import_date_time('%Y-%m-%dT%H:%M:%S')
export_transform: transform.export_date_time('%Y-%m-%dT%H:%M:%S')
- property: title
external_name: title
# Type: String Stats: 32 properties of this type in this kind.
- property: url
external_name: url
# Type: String Stats: 32 properties of this type in this kind.
import_transform: db.Text
- kind: Token
connector: csv
connector_options:
# TODO: Add connector options here--these are specific to each connector.
property_map:
- property: __key__
external_name: key
export_transform: transform.key_id_or_name_as_string
- property: t
external_name: t
# Type: Blob Stats: 6 properties of this type in this kind.
import_transform: transform.blobproperty_from_base64
export_transform: base64.b64encode