3 # Copyright 2007 Google Inc.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
20 from google
.net
.proto
import ProtocolBuffer
22 import dummy_thread
as thread
24 __pychecker__
= """maxreturns=0 maxbranches=0 no-callinit
25 unusednames=printElemNumber,debug_strs no-special"""
27 if hasattr(ProtocolBuffer
, 'ExtendableProtocolMessage'):
28 _extension_runtime
= True
29 _ExtendableProtocolMessage
= ProtocolBuffer
.ExtendableProtocolMessage
31 _extension_runtime
= False
32 _ExtendableProtocolMessage
= ProtocolBuffer
.ProtocolMessage
34 from google
.appengine
.api
.api_base_pb
import *
35 import google
.appengine
.api
.api_base_pb
36 class BlobstoreServiceError(ProtocolBuffer
.ProtocolMessage
):
44 DATA_INDEX_OUT_OF_RANGE
= 5
45 BLOB_FETCH_SIZE_TOO_LARGE
= 6
46 ARGUMENT_OUT_OF_RANGE
= 8
53 3: "PERMISSION_DENIED",
55 5: "DATA_INDEX_OUT_OF_RANGE",
56 6: "BLOB_FETCH_SIZE_TOO_LARGE",
57 8: "ARGUMENT_OUT_OF_RANGE",
58 9: "INVALID_BLOB_KEY",
61 def ErrorCode_Name(cls
, x
): return cls
._ErrorCode
_NAMES
.get(x
, "")
62 ErrorCode_Name
= classmethod(ErrorCode_Name
)
65 def __init__(self
, contents
=None):
67 if contents
is not None: self
.MergeFromString(contents
)
70 def MergeFrom(self
, x
):
74 if x
is self
: return 1
77 def IsInitialized(self
, debug_strs
=None):
85 def ByteSizePartial(self
):
92 def OutputUnchecked(self
, out
):
95 def OutputPartial(self
, out
):
98 def TryMerge(self
, d
):
103 if (tt
== 0): raise ProtocolBuffer
.ProtocolBufferDecodeError
107 def __str__(self
, prefix
="", printElemNumber
=0):
112 def _BuildTagLookupTable(sparse
, maxtag
, default
=None):
113 return tuple([sparse
.get(i
, default
) for i
in xrange(0, 1+maxtag
)])
116 _TEXT
= _BuildTagLookupTable({
120 _TYPES
= _BuildTagLookupTable({
121 0: ProtocolBuffer
.Encoder
.NUMERIC
,
122 }, 0, ProtocolBuffer
.Encoder
.MAX_TYPE
)
126 _STYLE_CONTENT_TYPE
= """"""
127 _PROTO_DESCRIPTOR_NAME
= 'apphosting.BlobstoreServiceError'
128 class CreateUploadURLRequest(ProtocolBuffer
.ProtocolMessage
):
129 has_success_path_
= 0
131 has_max_upload_size_bytes_
= 0
132 max_upload_size_bytes_
= 0
133 has_max_upload_size_per_blob_bytes_
= 0
134 max_upload_size_per_blob_bytes_
= 0
135 has_gs_bucket_name_
= 0
138 def __init__(self
, contents
=None):
139 if contents
is not None: self
.MergeFromString(contents
)
141 def success_path(self
): return self
.success_path_
143 def set_success_path(self
, x
):
144 self
.has_success_path_
= 1
145 self
.success_path_
= x
147 def clear_success_path(self
):
148 if self
.has_success_path_
:
149 self
.has_success_path_
= 0
150 self
.success_path_
= ""
152 def has_success_path(self
): return self
.has_success_path_
154 def max_upload_size_bytes(self
): return self
.max_upload_size_bytes_
156 def set_max_upload_size_bytes(self
, x
):
157 self
.has_max_upload_size_bytes_
= 1
158 self
.max_upload_size_bytes_
= x
160 def clear_max_upload_size_bytes(self
):
161 if self
.has_max_upload_size_bytes_
:
162 self
.has_max_upload_size_bytes_
= 0
163 self
.max_upload_size_bytes_
= 0
165 def has_max_upload_size_bytes(self
): return self
.has_max_upload_size_bytes_
167 def max_upload_size_per_blob_bytes(self
): return self
.max_upload_size_per_blob_bytes_
169 def set_max_upload_size_per_blob_bytes(self
, x
):
170 self
.has_max_upload_size_per_blob_bytes_
= 1
171 self
.max_upload_size_per_blob_bytes_
= x
173 def clear_max_upload_size_per_blob_bytes(self
):
174 if self
.has_max_upload_size_per_blob_bytes_
:
175 self
.has_max_upload_size_per_blob_bytes_
= 0
176 self
.max_upload_size_per_blob_bytes_
= 0
178 def has_max_upload_size_per_blob_bytes(self
): return self
.has_max_upload_size_per_blob_bytes_
180 def gs_bucket_name(self
): return self
.gs_bucket_name_
182 def set_gs_bucket_name(self
, x
):
183 self
.has_gs_bucket_name_
= 1
184 self
.gs_bucket_name_
= x
186 def clear_gs_bucket_name(self
):
187 if self
.has_gs_bucket_name_
:
188 self
.has_gs_bucket_name_
= 0
189 self
.gs_bucket_name_
= ""
191 def has_gs_bucket_name(self
): return self
.has_gs_bucket_name_
194 def MergeFrom(self
, x
):
196 if (x
.has_success_path()): self
.set_success_path(x
.success_path())
197 if (x
.has_max_upload_size_bytes()): self
.set_max_upload_size_bytes(x
.max_upload_size_bytes())
198 if (x
.has_max_upload_size_per_blob_bytes()): self
.set_max_upload_size_per_blob_bytes(x
.max_upload_size_per_blob_bytes())
199 if (x
.has_gs_bucket_name()): self
.set_gs_bucket_name(x
.gs_bucket_name())
202 if x
is self
: return 1
203 if self
.has_success_path_
!= x
.has_success_path_
: return 0
204 if self
.has_success_path_
and self
.success_path_
!= x
.success_path_
: return 0
205 if self
.has_max_upload_size_bytes_
!= x
.has_max_upload_size_bytes_
: return 0
206 if self
.has_max_upload_size_bytes_
and self
.max_upload_size_bytes_
!= x
.max_upload_size_bytes_
: return 0
207 if self
.has_max_upload_size_per_blob_bytes_
!= x
.has_max_upload_size_per_blob_bytes_
: return 0
208 if self
.has_max_upload_size_per_blob_bytes_
and self
.max_upload_size_per_blob_bytes_
!= x
.max_upload_size_per_blob_bytes_
: return 0
209 if self
.has_gs_bucket_name_
!= x
.has_gs_bucket_name_
: return 0
210 if self
.has_gs_bucket_name_
and self
.gs_bucket_name_
!= x
.gs_bucket_name_
: return 0
213 def IsInitialized(self
, debug_strs
=None):
215 if (not self
.has_success_path_
):
217 if debug_strs
is not None:
218 debug_strs
.append('Required field: success_path not set.')
223 n
+= self
.lengthString(len(self
.success_path_
))
224 if (self
.has_max_upload_size_bytes_
): n
+= 1 + self
.lengthVarInt64(self
.max_upload_size_bytes_
)
225 if (self
.has_max_upload_size_per_blob_bytes_
): n
+= 1 + self
.lengthVarInt64(self
.max_upload_size_per_blob_bytes_
)
226 if (self
.has_gs_bucket_name_
): n
+= 1 + self
.lengthString(len(self
.gs_bucket_name_
))
229 def ByteSizePartial(self
):
231 if (self
.has_success_path_
):
233 n
+= self
.lengthString(len(self
.success_path_
))
234 if (self
.has_max_upload_size_bytes_
): n
+= 1 + self
.lengthVarInt64(self
.max_upload_size_bytes_
)
235 if (self
.has_max_upload_size_per_blob_bytes_
): n
+= 1 + self
.lengthVarInt64(self
.max_upload_size_per_blob_bytes_
)
236 if (self
.has_gs_bucket_name_
): n
+= 1 + self
.lengthString(len(self
.gs_bucket_name_
))
240 self
.clear_success_path()
241 self
.clear_max_upload_size_bytes()
242 self
.clear_max_upload_size_per_blob_bytes()
243 self
.clear_gs_bucket_name()
245 def OutputUnchecked(self
, out
):
247 out
.putPrefixedString(self
.success_path_
)
248 if (self
.has_max_upload_size_bytes_
):
250 out
.putVarInt64(self
.max_upload_size_bytes_
)
251 if (self
.has_max_upload_size_per_blob_bytes_
):
253 out
.putVarInt64(self
.max_upload_size_per_blob_bytes_
)
254 if (self
.has_gs_bucket_name_
):
256 out
.putPrefixedString(self
.gs_bucket_name_
)
258 def OutputPartial(self
, out
):
259 if (self
.has_success_path_
):
261 out
.putPrefixedString(self
.success_path_
)
262 if (self
.has_max_upload_size_bytes_
):
264 out
.putVarInt64(self
.max_upload_size_bytes_
)
265 if (self
.has_max_upload_size_per_blob_bytes_
):
267 out
.putVarInt64(self
.max_upload_size_per_blob_bytes_
)
268 if (self
.has_gs_bucket_name_
):
270 out
.putPrefixedString(self
.gs_bucket_name_
)
272 def TryMerge(self
, d
):
276 self
.set_success_path(d
.getPrefixedString())
279 self
.set_max_upload_size_bytes(d
.getVarInt64())
282 self
.set_max_upload_size_per_blob_bytes(d
.getVarInt64())
285 self
.set_gs_bucket_name(d
.getPrefixedString())
289 if (tt
== 0): raise ProtocolBuffer
.ProtocolBufferDecodeError
293 def __str__(self
, prefix
="", printElemNumber
=0):
295 if self
.has_success_path_
: res
+=prefix
+("success_path: %s\n" % self
.DebugFormatString(self
.success_path_
))
296 if self
.has_max_upload_size_bytes_
: res
+=prefix
+("max_upload_size_bytes: %s\n" % self
.DebugFormatInt64(self
.max_upload_size_bytes_
))
297 if self
.has_max_upload_size_per_blob_bytes_
: res
+=prefix
+("max_upload_size_per_blob_bytes: %s\n" % self
.DebugFormatInt64(self
.max_upload_size_per_blob_bytes_
))
298 if self
.has_gs_bucket_name_
: res
+=prefix
+("gs_bucket_name: %s\n" % self
.DebugFormatString(self
.gs_bucket_name_
))
302 def _BuildTagLookupTable(sparse
, maxtag
, default
=None):
303 return tuple([sparse
.get(i
, default
) for i
in xrange(0, 1+maxtag
)])
306 kmax_upload_size_bytes
= 2
307 kmax_upload_size_per_blob_bytes
= 3
310 _TEXT
= _BuildTagLookupTable({
313 2: "max_upload_size_bytes",
314 3: "max_upload_size_per_blob_bytes",
318 _TYPES
= _BuildTagLookupTable({
319 0: ProtocolBuffer
.Encoder
.NUMERIC
,
320 1: ProtocolBuffer
.Encoder
.STRING
,
321 2: ProtocolBuffer
.Encoder
.NUMERIC
,
322 3: ProtocolBuffer
.Encoder
.NUMERIC
,
323 4: ProtocolBuffer
.Encoder
.STRING
,
324 }, 4, ProtocolBuffer
.Encoder
.MAX_TYPE
)
328 _STYLE_CONTENT_TYPE
= """"""
329 _PROTO_DESCRIPTOR_NAME
= 'apphosting.CreateUploadURLRequest'
330 class CreateUploadURLResponse(ProtocolBuffer
.ProtocolMessage
):
334 def __init__(self
, contents
=None):
335 if contents
is not None: self
.MergeFromString(contents
)
337 def url(self
): return self
.url_
339 def set_url(self
, x
):
348 def has_url(self
): return self
.has_url_
351 def MergeFrom(self
, x
):
353 if (x
.has_url()): self
.set_url(x
.url())
356 if x
is self
: return 1
357 if self
.has_url_
!= x
.has_url_
: return 0
358 if self
.has_url_
and self
.url_
!= x
.url_
: return 0
361 def IsInitialized(self
, debug_strs
=None):
363 if (not self
.has_url_
):
365 if debug_strs
is not None:
366 debug_strs
.append('Required field: url not set.')
371 n
+= self
.lengthString(len(self
.url_
))
374 def ByteSizePartial(self
):
378 n
+= self
.lengthString(len(self
.url_
))
384 def OutputUnchecked(self
, out
):
386 out
.putPrefixedString(self
.url_
)
388 def OutputPartial(self
, out
):
391 out
.putPrefixedString(self
.url_
)
393 def TryMerge(self
, d
):
397 self
.set_url(d
.getPrefixedString())
401 if (tt
== 0): raise ProtocolBuffer
.ProtocolBufferDecodeError
405 def __str__(self
, prefix
="", printElemNumber
=0):
407 if self
.has_url_
: res
+=prefix
+("url: %s\n" % self
.DebugFormatString(self
.url_
))
411 def _BuildTagLookupTable(sparse
, maxtag
, default
=None):
412 return tuple([sparse
.get(i
, default
) for i
in xrange(0, 1+maxtag
)])
416 _TEXT
= _BuildTagLookupTable({
421 _TYPES
= _BuildTagLookupTable({
422 0: ProtocolBuffer
.Encoder
.NUMERIC
,
423 1: ProtocolBuffer
.Encoder
.STRING
,
424 }, 1, ProtocolBuffer
.Encoder
.MAX_TYPE
)
428 _STYLE_CONTENT_TYPE
= """"""
429 _PROTO_DESCRIPTOR_NAME
= 'apphosting.CreateUploadURLResponse'
430 class DeleteBlobRequest(ProtocolBuffer
.ProtocolMessage
):
434 def __init__(self
, contents
=None):
436 if contents
is not None: self
.MergeFromString(contents
)
438 def blob_key_size(self
): return len(self
.blob_key_
)
439 def blob_key_list(self
): return self
.blob_key_
441 def blob_key(self
, i
):
442 return self
.blob_key_
[i
]
444 def set_blob_key(self
, i
, x
):
445 self
.blob_key_
[i
] = x
447 def add_blob_key(self
, x
):
448 self
.blob_key_
.append(x
)
450 def clear_blob_key(self
):
453 def token(self
): return self
.token_
455 def set_token(self
, x
):
459 def clear_token(self
):
464 def has_token(self
): return self
.has_token_
467 def MergeFrom(self
, x
):
469 for i
in xrange(x
.blob_key_size()): self
.add_blob_key(x
.blob_key(i
))
470 if (x
.has_token()): self
.set_token(x
.token())
473 if x
is self
: return 1
474 if len(self
.blob_key_
) != len(x
.blob_key_
): return 0
475 for e1
, e2
in zip(self
.blob_key_
, x
.blob_key_
):
476 if e1
!= e2
: return 0
477 if self
.has_token_
!= x
.has_token_
: return 0
478 if self
.has_token_
and self
.token_
!= x
.token_
: return 0
481 def IsInitialized(self
, debug_strs
=None):
487 n
+= 1 * len(self
.blob_key_
)
488 for i
in xrange(len(self
.blob_key_
)): n
+= self
.lengthString(len(self
.blob_key_
[i
]))
489 if (self
.has_token_
): n
+= 1 + self
.lengthString(len(self
.token_
))
492 def ByteSizePartial(self
):
494 n
+= 1 * len(self
.blob_key_
)
495 for i
in xrange(len(self
.blob_key_
)): n
+= self
.lengthString(len(self
.blob_key_
[i
]))
496 if (self
.has_token_
): n
+= 1 + self
.lengthString(len(self
.token_
))
500 self
.clear_blob_key()
503 def OutputUnchecked(self
, out
):
504 for i
in xrange(len(self
.blob_key_
)):
506 out
.putPrefixedString(self
.blob_key_
[i
])
507 if (self
.has_token_
):
509 out
.putPrefixedString(self
.token_
)
511 def OutputPartial(self
, out
):
512 for i
in xrange(len(self
.blob_key_
)):
514 out
.putPrefixedString(self
.blob_key_
[i
])
515 if (self
.has_token_
):
517 out
.putPrefixedString(self
.token_
)
519 def TryMerge(self
, d
):
523 self
.add_blob_key(d
.getPrefixedString())
526 self
.set_token(d
.getPrefixedString())
530 if (tt
== 0): raise ProtocolBuffer
.ProtocolBufferDecodeError
534 def __str__(self
, prefix
="", printElemNumber
=0):
537 for e
in self
.blob_key_
:
539 if printElemNumber
: elm
="(%d)" % cnt
540 res
+=prefix
+("blob_key%s: %s\n" % (elm
, self
.DebugFormatString(e
)))
542 if self
.has_token_
: res
+=prefix
+("token: %s\n" % self
.DebugFormatString(self
.token_
))
546 def _BuildTagLookupTable(sparse
, maxtag
, default
=None):
547 return tuple([sparse
.get(i
, default
) for i
in xrange(0, 1+maxtag
)])
552 _TEXT
= _BuildTagLookupTable({
558 _TYPES
= _BuildTagLookupTable({
559 0: ProtocolBuffer
.Encoder
.NUMERIC
,
560 1: ProtocolBuffer
.Encoder
.STRING
,
561 2: ProtocolBuffer
.Encoder
.STRING
,
562 }, 2, ProtocolBuffer
.Encoder
.MAX_TYPE
)
566 _STYLE_CONTENT_TYPE
= """"""
567 _PROTO_DESCRIPTOR_NAME
= 'apphosting.DeleteBlobRequest'
568 class FetchDataRequest(ProtocolBuffer
.ProtocolMessage
):
576 def __init__(self
, contents
=None):
577 if contents
is not None: self
.MergeFromString(contents
)
579 def blob_key(self
): return self
.blob_key_
581 def set_blob_key(self
, x
):
582 self
.has_blob_key_
= 1
585 def clear_blob_key(self
):
586 if self
.has_blob_key_
:
587 self
.has_blob_key_
= 0
590 def has_blob_key(self
): return self
.has_blob_key_
592 def start_index(self
): return self
.start_index_
594 def set_start_index(self
, x
):
595 self
.has_start_index_
= 1
596 self
.start_index_
= x
598 def clear_start_index(self
):
599 if self
.has_start_index_
:
600 self
.has_start_index_
= 0
601 self
.start_index_
= 0
603 def has_start_index(self
): return self
.has_start_index_
605 def end_index(self
): return self
.end_index_
607 def set_end_index(self
, x
):
608 self
.has_end_index_
= 1
611 def clear_end_index(self
):
612 if self
.has_end_index_
:
613 self
.has_end_index_
= 0
616 def has_end_index(self
): return self
.has_end_index_
619 def MergeFrom(self
, x
):
621 if (x
.has_blob_key()): self
.set_blob_key(x
.blob_key())
622 if (x
.has_start_index()): self
.set_start_index(x
.start_index())
623 if (x
.has_end_index()): self
.set_end_index(x
.end_index())
626 if x
is self
: return 1
627 if self
.has_blob_key_
!= x
.has_blob_key_
: return 0
628 if self
.has_blob_key_
and self
.blob_key_
!= x
.blob_key_
: return 0
629 if self
.has_start_index_
!= x
.has_start_index_
: return 0
630 if self
.has_start_index_
and self
.start_index_
!= x
.start_index_
: return 0
631 if self
.has_end_index_
!= x
.has_end_index_
: return 0
632 if self
.has_end_index_
and self
.end_index_
!= x
.end_index_
: return 0
635 def IsInitialized(self
, debug_strs
=None):
637 if (not self
.has_blob_key_
):
639 if debug_strs
is not None:
640 debug_strs
.append('Required field: blob_key not set.')
641 if (not self
.has_start_index_
):
643 if debug_strs
is not None:
644 debug_strs
.append('Required field: start_index not set.')
645 if (not self
.has_end_index_
):
647 if debug_strs
is not None:
648 debug_strs
.append('Required field: end_index not set.')
653 n
+= self
.lengthString(len(self
.blob_key_
))
654 n
+= self
.lengthVarInt64(self
.start_index_
)
655 n
+= self
.lengthVarInt64(self
.end_index_
)
658 def ByteSizePartial(self
):
660 if (self
.has_blob_key_
):
662 n
+= self
.lengthString(len(self
.blob_key_
))
663 if (self
.has_start_index_
):
665 n
+= self
.lengthVarInt64(self
.start_index_
)
666 if (self
.has_end_index_
):
668 n
+= self
.lengthVarInt64(self
.end_index_
)
672 self
.clear_blob_key()
673 self
.clear_start_index()
674 self
.clear_end_index()
676 def OutputUnchecked(self
, out
):
678 out
.putPrefixedString(self
.blob_key_
)
680 out
.putVarInt64(self
.start_index_
)
682 out
.putVarInt64(self
.end_index_
)
684 def OutputPartial(self
, out
):
685 if (self
.has_blob_key_
):
687 out
.putPrefixedString(self
.blob_key_
)
688 if (self
.has_start_index_
):
690 out
.putVarInt64(self
.start_index_
)
691 if (self
.has_end_index_
):
693 out
.putVarInt64(self
.end_index_
)
695 def TryMerge(self
, d
):
699 self
.set_blob_key(d
.getPrefixedString())
702 self
.set_start_index(d
.getVarInt64())
705 self
.set_end_index(d
.getVarInt64())
709 if (tt
== 0): raise ProtocolBuffer
.ProtocolBufferDecodeError
713 def __str__(self
, prefix
="", printElemNumber
=0):
715 if self
.has_blob_key_
: res
+=prefix
+("blob_key: %s\n" % self
.DebugFormatString(self
.blob_key_
))
716 if self
.has_start_index_
: res
+=prefix
+("start_index: %s\n" % self
.DebugFormatInt64(self
.start_index_
))
717 if self
.has_end_index_
: res
+=prefix
+("end_index: %s\n" % self
.DebugFormatInt64(self
.end_index_
))
721 def _BuildTagLookupTable(sparse
, maxtag
, default
=None):
722 return tuple([sparse
.get(i
, default
) for i
in xrange(0, 1+maxtag
)])
728 _TEXT
= _BuildTagLookupTable({
735 _TYPES
= _BuildTagLookupTable({
736 0: ProtocolBuffer
.Encoder
.NUMERIC
,
737 1: ProtocolBuffer
.Encoder
.STRING
,
738 2: ProtocolBuffer
.Encoder
.NUMERIC
,
739 3: ProtocolBuffer
.Encoder
.NUMERIC
,
740 }, 3, ProtocolBuffer
.Encoder
.MAX_TYPE
)
744 _STYLE_CONTENT_TYPE
= """"""
745 _PROTO_DESCRIPTOR_NAME
= 'apphosting.FetchDataRequest'
746 class FetchDataResponse(ProtocolBuffer
.ProtocolMessage
):
750 def __init__(self
, contents
=None):
751 if contents
is not None: self
.MergeFromString(contents
)
753 def data(self
): return self
.data_
755 def set_data(self
, x
):
759 def clear_data(self
):
764 def has_data(self
): return self
.has_data_
767 def MergeFrom(self
, x
):
769 if (x
.has_data()): self
.set_data(x
.data())
772 if x
is self
: return 1
773 if self
.has_data_
!= x
.has_data_
: return 0
774 if self
.has_data_
and self
.data_
!= x
.data_
: return 0
777 def IsInitialized(self
, debug_strs
=None):
779 if (not self
.has_data_
):
781 if debug_strs
is not None:
782 debug_strs
.append('Required field: data not set.')
787 n
+= self
.lengthString(len(self
.data_
))
790 def ByteSizePartial(self
):
794 n
+= self
.lengthString(len(self
.data_
))
800 def OutputUnchecked(self
, out
):
801 out
.putVarInt32(8002)
802 out
.putPrefixedString(self
.data_
)
804 def OutputPartial(self
, out
):
806 out
.putVarInt32(8002)
807 out
.putPrefixedString(self
.data_
)
809 def TryMerge(self
, d
):
813 self
.set_data(d
.getPrefixedString())
817 if (tt
== 0): raise ProtocolBuffer
.ProtocolBufferDecodeError
821 def __str__(self
, prefix
="", printElemNumber
=0):
823 if self
.has_data_
: res
+=prefix
+("data: %s\n" % self
.DebugFormatString(self
.data_
))
827 def _BuildTagLookupTable(sparse
, maxtag
, default
=None):
828 return tuple([sparse
.get(i
, default
) for i
in xrange(0, 1+maxtag
)])
832 _TEXT
= _BuildTagLookupTable({
837 _TYPES
= _BuildTagLookupTable({
838 0: ProtocolBuffer
.Encoder
.NUMERIC
,
839 1000: ProtocolBuffer
.Encoder
.STRING
,
840 }, 1000, ProtocolBuffer
.Encoder
.MAX_TYPE
)
844 _STYLE_CONTENT_TYPE
= """"""
845 _PROTO_DESCRIPTOR_NAME
= 'apphosting.FetchDataResponse'
846 class CloneBlobRequest(ProtocolBuffer
.ProtocolMessage
):
851 has_target_app_id_
= 0
854 def __init__(self
, contents
=None):
855 if contents
is not None: self
.MergeFromString(contents
)
857 def blob_key(self
): return self
.blob_key_
859 def set_blob_key(self
, x
):
860 self
.has_blob_key_
= 1
863 def clear_blob_key(self
):
864 if self
.has_blob_key_
:
865 self
.has_blob_key_
= 0
868 def has_blob_key(self
): return self
.has_blob_key_
870 def mime_type(self
): return self
.mime_type_
872 def set_mime_type(self
, x
):
873 self
.has_mime_type_
= 1
876 def clear_mime_type(self
):
877 if self
.has_mime_type_
:
878 self
.has_mime_type_
= 0
881 def has_mime_type(self
): return self
.has_mime_type_
883 def target_app_id(self
): return self
.target_app_id_
885 def set_target_app_id(self
, x
):
886 self
.has_target_app_id_
= 1
887 self
.target_app_id_
= x
889 def clear_target_app_id(self
):
890 if self
.has_target_app_id_
:
891 self
.has_target_app_id_
= 0
892 self
.target_app_id_
= ""
894 def has_target_app_id(self
): return self
.has_target_app_id_
897 def MergeFrom(self
, x
):
899 if (x
.has_blob_key()): self
.set_blob_key(x
.blob_key())
900 if (x
.has_mime_type()): self
.set_mime_type(x
.mime_type())
901 if (x
.has_target_app_id()): self
.set_target_app_id(x
.target_app_id())
904 if x
is self
: return 1
905 if self
.has_blob_key_
!= x
.has_blob_key_
: return 0
906 if self
.has_blob_key_
and self
.blob_key_
!= x
.blob_key_
: return 0
907 if self
.has_mime_type_
!= x
.has_mime_type_
: return 0
908 if self
.has_mime_type_
and self
.mime_type_
!= x
.mime_type_
: return 0
909 if self
.has_target_app_id_
!= x
.has_target_app_id_
: return 0
910 if self
.has_target_app_id_
and self
.target_app_id_
!= x
.target_app_id_
: return 0
913 def IsInitialized(self
, debug_strs
=None):
915 if (not self
.has_blob_key_
):
917 if debug_strs
is not None:
918 debug_strs
.append('Required field: blob_key not set.')
919 if (not self
.has_mime_type_
):
921 if debug_strs
is not None:
922 debug_strs
.append('Required field: mime_type not set.')
923 if (not self
.has_target_app_id_
):
925 if debug_strs
is not None:
926 debug_strs
.append('Required field: target_app_id not set.')
931 n
+= self
.lengthString(len(self
.blob_key_
))
932 n
+= self
.lengthString(len(self
.mime_type_
))
933 n
+= self
.lengthString(len(self
.target_app_id_
))
936 def ByteSizePartial(self
):
938 if (self
.has_blob_key_
):
940 n
+= self
.lengthString(len(self
.blob_key_
))
941 if (self
.has_mime_type_
):
943 n
+= self
.lengthString(len(self
.mime_type_
))
944 if (self
.has_target_app_id_
):
946 n
+= self
.lengthString(len(self
.target_app_id_
))
950 self
.clear_blob_key()
951 self
.clear_mime_type()
952 self
.clear_target_app_id()
954 def OutputUnchecked(self
, out
):
956 out
.putPrefixedString(self
.blob_key_
)
958 out
.putPrefixedString(self
.mime_type_
)
960 out
.putPrefixedString(self
.target_app_id_
)
962 def OutputPartial(self
, out
):
963 if (self
.has_blob_key_
):
965 out
.putPrefixedString(self
.blob_key_
)
966 if (self
.has_mime_type_
):
968 out
.putPrefixedString(self
.mime_type_
)
969 if (self
.has_target_app_id_
):
971 out
.putPrefixedString(self
.target_app_id_
)
973 def TryMerge(self
, d
):
977 self
.set_blob_key(d
.getPrefixedString())
980 self
.set_mime_type(d
.getPrefixedString())
983 self
.set_target_app_id(d
.getPrefixedString())
987 if (tt
== 0): raise ProtocolBuffer
.ProtocolBufferDecodeError
991 def __str__(self
, prefix
="", printElemNumber
=0):
993 if self
.has_blob_key_
: res
+=prefix
+("blob_key: %s\n" % self
.DebugFormatString(self
.blob_key_
))
994 if self
.has_mime_type_
: res
+=prefix
+("mime_type: %s\n" % self
.DebugFormatString(self
.mime_type_
))
995 if self
.has_target_app_id_
: res
+=prefix
+("target_app_id: %s\n" % self
.DebugFormatString(self
.target_app_id_
))
999 def _BuildTagLookupTable(sparse
, maxtag
, default
=None):
1000 return tuple([sparse
.get(i
, default
) for i
in xrange(0, 1+maxtag
)])
1006 _TEXT
= _BuildTagLookupTable({
1013 _TYPES
= _BuildTagLookupTable({
1014 0: ProtocolBuffer
.Encoder
.NUMERIC
,
1015 1: ProtocolBuffer
.Encoder
.STRING
,
1016 2: ProtocolBuffer
.Encoder
.STRING
,
1017 3: ProtocolBuffer
.Encoder
.STRING
,
1018 }, 3, ProtocolBuffer
.Encoder
.MAX_TYPE
)
1022 _STYLE_CONTENT_TYPE
= """"""
1023 _PROTO_DESCRIPTOR_NAME
= 'apphosting.CloneBlobRequest'
1024 class CloneBlobResponse(ProtocolBuffer
.ProtocolMessage
):
1028 def __init__(self
, contents
=None):
1029 if contents
is not None: self
.MergeFromString(contents
)
1031 def blob_key(self
): return self
.blob_key_
1033 def set_blob_key(self
, x
):
1034 self
.has_blob_key_
= 1
1037 def clear_blob_key(self
):
1038 if self
.has_blob_key_
:
1039 self
.has_blob_key_
= 0
1042 def has_blob_key(self
): return self
.has_blob_key_
1045 def MergeFrom(self
, x
):
1046 assert x
is not self
1047 if (x
.has_blob_key()): self
.set_blob_key(x
.blob_key())
1049 def Equals(self
, x
):
1050 if x
is self
: return 1
1051 if self
.has_blob_key_
!= x
.has_blob_key_
: return 0
1052 if self
.has_blob_key_
and self
.blob_key_
!= x
.blob_key_
: return 0
1055 def IsInitialized(self
, debug_strs
=None):
1057 if (not self
.has_blob_key_
):
1059 if debug_strs
is not None:
1060 debug_strs
.append('Required field: blob_key not set.')
1065 n
+= self
.lengthString(len(self
.blob_key_
))
1068 def ByteSizePartial(self
):
1070 if (self
.has_blob_key_
):
1072 n
+= self
.lengthString(len(self
.blob_key_
))
1076 self
.clear_blob_key()
1078 def OutputUnchecked(self
, out
):
1080 out
.putPrefixedString(self
.blob_key_
)
1082 def OutputPartial(self
, out
):
1083 if (self
.has_blob_key_
):
1085 out
.putPrefixedString(self
.blob_key_
)
1087 def TryMerge(self
, d
):
1088 while d
.avail() > 0:
1089 tt
= d
.getVarInt32()
1091 self
.set_blob_key(d
.getPrefixedString())
1095 if (tt
== 0): raise ProtocolBuffer
.ProtocolBufferDecodeError
1099 def __str__(self
, prefix
="", printElemNumber
=0):
1101 if self
.has_blob_key_
: res
+=prefix
+("blob_key: %s\n" % self
.DebugFormatString(self
.blob_key_
))
1105 def _BuildTagLookupTable(sparse
, maxtag
, default
=None):
1106 return tuple([sparse
.get(i
, default
) for i
in xrange(0, 1+maxtag
)])
1110 _TEXT
= _BuildTagLookupTable({
1115 _TYPES
= _BuildTagLookupTable({
1116 0: ProtocolBuffer
.Encoder
.NUMERIC
,
1117 1: ProtocolBuffer
.Encoder
.STRING
,
1118 }, 1, ProtocolBuffer
.Encoder
.MAX_TYPE
)
1122 _STYLE_CONTENT_TYPE
= """"""
1123 _PROTO_DESCRIPTOR_NAME
= 'apphosting.CloneBlobResponse'
1124 class DecodeBlobKeyRequest(ProtocolBuffer
.ProtocolMessage
):
1126 def __init__(self
, contents
=None):
1128 if contents
is not None: self
.MergeFromString(contents
)
1130 def blob_key_size(self
): return len(self
.blob_key_
)
1131 def blob_key_list(self
): return self
.blob_key_
1133 def blob_key(self
, i
):
1134 return self
.blob_key_
[i
]
1136 def set_blob_key(self
, i
, x
):
1137 self
.blob_key_
[i
] = x
1139 def add_blob_key(self
, x
):
1140 self
.blob_key_
.append(x
)
1142 def clear_blob_key(self
):
1146 def MergeFrom(self
, x
):
1147 assert x
is not self
1148 for i
in xrange(x
.blob_key_size()): self
.add_blob_key(x
.blob_key(i
))
1150 def Equals(self
, x
):
1151 if x
is self
: return 1
1152 if len(self
.blob_key_
) != len(x
.blob_key_
): return 0
1153 for e1
, e2
in zip(self
.blob_key_
, x
.blob_key_
):
1154 if e1
!= e2
: return 0
1157 def IsInitialized(self
, debug_strs
=None):
1163 n
+= 1 * len(self
.blob_key_
)
1164 for i
in xrange(len(self
.blob_key_
)): n
+= self
.lengthString(len(self
.blob_key_
[i
]))
1167 def ByteSizePartial(self
):
1169 n
+= 1 * len(self
.blob_key_
)
1170 for i
in xrange(len(self
.blob_key_
)): n
+= self
.lengthString(len(self
.blob_key_
[i
]))
1174 self
.clear_blob_key()
1176 def OutputUnchecked(self
, out
):
1177 for i
in xrange(len(self
.blob_key_
)):
1179 out
.putPrefixedString(self
.blob_key_
[i
])
1181 def OutputPartial(self
, out
):
1182 for i
in xrange(len(self
.blob_key_
)):
1184 out
.putPrefixedString(self
.blob_key_
[i
])
1186 def TryMerge(self
, d
):
1187 while d
.avail() > 0:
1188 tt
= d
.getVarInt32()
1190 self
.add_blob_key(d
.getPrefixedString())
1194 if (tt
== 0): raise ProtocolBuffer
.ProtocolBufferDecodeError
1198 def __str__(self
, prefix
="", printElemNumber
=0):
1201 for e
in self
.blob_key_
:
1203 if printElemNumber
: elm
="(%d)" % cnt
1204 res
+=prefix
+("blob_key%s: %s\n" % (elm
, self
.DebugFormatString(e
)))
1209 def _BuildTagLookupTable(sparse
, maxtag
, default
=None):
1210 return tuple([sparse
.get(i
, default
) for i
in xrange(0, 1+maxtag
)])
1214 _TEXT
= _BuildTagLookupTable({
1219 _TYPES
= _BuildTagLookupTable({
1220 0: ProtocolBuffer
.Encoder
.NUMERIC
,
1221 1: ProtocolBuffer
.Encoder
.STRING
,
1222 }, 1, ProtocolBuffer
.Encoder
.MAX_TYPE
)
1226 _STYLE_CONTENT_TYPE
= """"""
1227 _PROTO_DESCRIPTOR_NAME
= 'apphosting.DecodeBlobKeyRequest'
1228 class DecodeBlobKeyResponse(ProtocolBuffer
.ProtocolMessage
):
1230 def __init__(self
, contents
=None):
1232 if contents
is not None: self
.MergeFromString(contents
)
1234 def decoded_size(self
): return len(self
.decoded_
)
1235 def decoded_list(self
): return self
.decoded_
1237 def decoded(self
, i
):
1238 return self
.decoded_
[i
]
1240 def set_decoded(self
, i
, x
):
1241 self
.decoded_
[i
] = x
1243 def add_decoded(self
, x
):
1244 self
.decoded_
.append(x
)
1246 def clear_decoded(self
):
1250 def MergeFrom(self
, x
):
1251 assert x
is not self
1252 for i
in xrange(x
.decoded_size()): self
.add_decoded(x
.decoded(i
))
1254 def Equals(self
, x
):
1255 if x
is self
: return 1
1256 if len(self
.decoded_
) != len(x
.decoded_
): return 0
1257 for e1
, e2
in zip(self
.decoded_
, x
.decoded_
):
1258 if e1
!= e2
: return 0
1261 def IsInitialized(self
, debug_strs
=None):
1267 n
+= 1 * len(self
.decoded_
)
1268 for i
in xrange(len(self
.decoded_
)): n
+= self
.lengthString(len(self
.decoded_
[i
]))
1271 def ByteSizePartial(self
):
1273 n
+= 1 * len(self
.decoded_
)
1274 for i
in xrange(len(self
.decoded_
)): n
+= self
.lengthString(len(self
.decoded_
[i
]))
1278 self
.clear_decoded()
1280 def OutputUnchecked(self
, out
):
1281 for i
in xrange(len(self
.decoded_
)):
1283 out
.putPrefixedString(self
.decoded_
[i
])
1285 def OutputPartial(self
, out
):
1286 for i
in xrange(len(self
.decoded_
)):
1288 out
.putPrefixedString(self
.decoded_
[i
])
1290 def TryMerge(self
, d
):
1291 while d
.avail() > 0:
1292 tt
= d
.getVarInt32()
1294 self
.add_decoded(d
.getPrefixedString())
1298 if (tt
== 0): raise ProtocolBuffer
.ProtocolBufferDecodeError
1302 def __str__(self
, prefix
="", printElemNumber
=0):
1305 for e
in self
.decoded_
:
1307 if printElemNumber
: elm
="(%d)" % cnt
1308 res
+=prefix
+("decoded%s: %s\n" % (elm
, self
.DebugFormatString(e
)))
1313 def _BuildTagLookupTable(sparse
, maxtag
, default
=None):
1314 return tuple([sparse
.get(i
, default
) for i
in xrange(0, 1+maxtag
)])
1318 _TEXT
= _BuildTagLookupTable({
1323 _TYPES
= _BuildTagLookupTable({
1324 0: ProtocolBuffer
.Encoder
.NUMERIC
,
1325 1: ProtocolBuffer
.Encoder
.STRING
,
1326 }, 1, ProtocolBuffer
.Encoder
.MAX_TYPE
)
1330 _STYLE_CONTENT_TYPE
= """"""
1331 _PROTO_DESCRIPTOR_NAME
= 'apphosting.DecodeBlobKeyResponse'
1332 class CreateEncodedGoogleStorageKeyRequest(ProtocolBuffer
.ProtocolMessage
):
1336 def __init__(self
, contents
=None):
1337 if contents
is not None: self
.MergeFromString(contents
)
1339 def filename(self
): return self
.filename_
1341 def set_filename(self
, x
):
1342 self
.has_filename_
= 1
1345 def clear_filename(self
):
1346 if self
.has_filename_
:
1347 self
.has_filename_
= 0
1350 def has_filename(self
): return self
.has_filename_
1353 def MergeFrom(self
, x
):
1354 assert x
is not self
1355 if (x
.has_filename()): self
.set_filename(x
.filename())
1357 def Equals(self
, x
):
1358 if x
is self
: return 1
1359 if self
.has_filename_
!= x
.has_filename_
: return 0
1360 if self
.has_filename_
and self
.filename_
!= x
.filename_
: return 0
1363 def IsInitialized(self
, debug_strs
=None):
1365 if (not self
.has_filename_
):
1367 if debug_strs
is not None:
1368 debug_strs
.append('Required field: filename not set.')
1373 n
+= self
.lengthString(len(self
.filename_
))
1376 def ByteSizePartial(self
):
1378 if (self
.has_filename_
):
1380 n
+= self
.lengthString(len(self
.filename_
))
1384 self
.clear_filename()
1386 def OutputUnchecked(self
, out
):
1388 out
.putPrefixedString(self
.filename_
)
1390 def OutputPartial(self
, out
):
1391 if (self
.has_filename_
):
1393 out
.putPrefixedString(self
.filename_
)
1395 def TryMerge(self
, d
):
1396 while d
.avail() > 0:
1397 tt
= d
.getVarInt32()
1399 self
.set_filename(d
.getPrefixedString())
1403 if (tt
== 0): raise ProtocolBuffer
.ProtocolBufferDecodeError
1407 def __str__(self
, prefix
="", printElemNumber
=0):
1409 if self
.has_filename_
: res
+=prefix
+("filename: %s\n" % self
.DebugFormatString(self
.filename_
))
1413 def _BuildTagLookupTable(sparse
, maxtag
, default
=None):
1414 return tuple([sparse
.get(i
, default
) for i
in xrange(0, 1+maxtag
)])
1418 _TEXT
= _BuildTagLookupTable({
1423 _TYPES
= _BuildTagLookupTable({
1424 0: ProtocolBuffer
.Encoder
.NUMERIC
,
1425 1: ProtocolBuffer
.Encoder
.STRING
,
1426 }, 1, ProtocolBuffer
.Encoder
.MAX_TYPE
)
1430 _STYLE_CONTENT_TYPE
= """"""
1431 _PROTO_DESCRIPTOR_NAME
= 'apphosting.CreateEncodedGoogleStorageKeyRequest'
1432 class CreateEncodedGoogleStorageKeyResponse(ProtocolBuffer
.ProtocolMessage
):
1436 def __init__(self
, contents
=None):
1437 if contents
is not None: self
.MergeFromString(contents
)
1439 def blob_key(self
): return self
.blob_key_
1441 def set_blob_key(self
, x
):
1442 self
.has_blob_key_
= 1
1445 def clear_blob_key(self
):
1446 if self
.has_blob_key_
:
1447 self
.has_blob_key_
= 0
1450 def has_blob_key(self
): return self
.has_blob_key_
1453 def MergeFrom(self
, x
):
1454 assert x
is not self
1455 if (x
.has_blob_key()): self
.set_blob_key(x
.blob_key())
1457 def Equals(self
, x
):
1458 if x
is self
: return 1
1459 if self
.has_blob_key_
!= x
.has_blob_key_
: return 0
1460 if self
.has_blob_key_
and self
.blob_key_
!= x
.blob_key_
: return 0
1463 def IsInitialized(self
, debug_strs
=None):
1465 if (not self
.has_blob_key_
):
1467 if debug_strs
is not None:
1468 debug_strs
.append('Required field: blob_key not set.')
1473 n
+= self
.lengthString(len(self
.blob_key_
))
1476 def ByteSizePartial(self
):
1478 if (self
.has_blob_key_
):
1480 n
+= self
.lengthString(len(self
.blob_key_
))
1484 self
.clear_blob_key()
1486 def OutputUnchecked(self
, out
):
1488 out
.putPrefixedString(self
.blob_key_
)
1490 def OutputPartial(self
, out
):
1491 if (self
.has_blob_key_
):
1493 out
.putPrefixedString(self
.blob_key_
)
1495 def TryMerge(self
, d
):
1496 while d
.avail() > 0:
1497 tt
= d
.getVarInt32()
1499 self
.set_blob_key(d
.getPrefixedString())
1503 if (tt
== 0): raise ProtocolBuffer
.ProtocolBufferDecodeError
1507 def __str__(self
, prefix
="", printElemNumber
=0):
1509 if self
.has_blob_key_
: res
+=prefix
+("blob_key: %s\n" % self
.DebugFormatString(self
.blob_key_
))
1513 def _BuildTagLookupTable(sparse
, maxtag
, default
=None):
1514 return tuple([sparse
.get(i
, default
) for i
in xrange(0, 1+maxtag
)])
1518 _TEXT
= _BuildTagLookupTable({
1523 _TYPES
= _BuildTagLookupTable({
1524 0: ProtocolBuffer
.Encoder
.NUMERIC
,
1525 1: ProtocolBuffer
.Encoder
.STRING
,
1526 }, 1, ProtocolBuffer
.Encoder
.MAX_TYPE
)
1530 _STYLE_CONTENT_TYPE
= """"""
1531 _PROTO_DESCRIPTOR_NAME
= 'apphosting.CreateEncodedGoogleStorageKeyResponse'
1532 if _extension_runtime
:
1535 __all__
= ['BlobstoreServiceError','CreateUploadURLRequest','CreateUploadURLResponse','DeleteBlobRequest','FetchDataRequest','FetchDataResponse','CloneBlobRequest','CloneBlobResponse','DecodeBlobKeyRequest','DecodeBlobKeyResponse','CreateEncodedGoogleStorageKeyRequest','CreateEncodedGoogleStorageKeyResponse']