|
3 | 3 | These functions are *not* part of the API. |
4 | 4 | """ |
5 | 5 | import calendar |
6 | | -from datetime import datetime, timedelta |
| 6 | +import datetime |
7 | 7 |
|
8 | 8 | from google.protobuf.internal.type_checkers import Int64ValueChecker |
9 | 9 | import pytz |
@@ -43,7 +43,7 @@ def _get_protobuf_attribute_and_value(val): |
43 | 43 | :returns: A tuple of the attribute name and proper value type. |
44 | 44 | """ |
45 | 45 |
|
46 | | - if isinstance(val, datetime): |
| 46 | + if isinstance(val, datetime.datetime): |
47 | 47 | name = 'timestamp_microseconds' |
48 | 48 | # If the datetime is naive (no timezone), consider that it was |
49 | 49 | # intended to be UTC and replace the tzinfo to that effect. |
@@ -91,8 +91,8 @@ def _get_value_from_value_pb(value_pb): |
91 | 91 | result = None |
92 | 92 | if value_pb.HasField('timestamp_microseconds_value'): |
93 | 93 | microseconds = value_pb.timestamp_microseconds_value |
94 | | - naive = (datetime.utcfromtimestamp(0) + |
95 | | - timedelta(microseconds=microseconds)) |
| 94 | + naive = (datetime.datetime.utcfromtimestamp(0) + |
| 95 | + datetime.timedelta(microseconds=microseconds)) |
96 | 96 | result = naive.replace(tzinfo=pytz.utc) |
97 | 97 |
|
98 | 98 | elif value_pb.HasField('key_value'): |
@@ -163,9 +163,9 @@ def _set_protobuf_value(value_pb, val): |
163 | 163 | key = val.key() |
164 | 164 | if key is not None: |
165 | 165 | e_pb.key.CopyFrom(key.to_protobuf()) |
166 | | - for k, v in val.items(): |
| 166 | + for item_key, value in val.iteritems(): |
167 | 167 | p_pb = e_pb.property.add() |
168 | | - p_pb.name = k |
169 | | - _set_protobuf_value(p_pb.value, v) |
| 168 | + p_pb.name = item_key |
| 169 | + _set_protobuf_value(p_pb.value, value) |
170 | 170 | else: # scalar, just assign |
171 | 171 | setattr(value_pb, attr, val) |
0 commit comments