1# coding=utf-8
2r"""
3This code was generated by
4\ / _    _  _|   _  _
5 | (_)\/(_)(_|\/| |(/_  v1.0.0
6      /       /
7"""
8
9from twilio.base import deserialize
10from twilio.base import serialize
11from twilio.base import values
12from twilio.base.instance_context import InstanceContext
13from twilio.base.instance_resource import InstanceResource
14from twilio.base.list_resource import ListResource
15from twilio.base.page import Page
16
17
18class HostedNumberOrderList(ListResource):
19    """ PLEASE NOTE that this class contains preview products that are subject
20    to change. Use them with caution. If you currently do not have developer
21    preview access, please contact help@twilio.com. """
22
23    def __init__(self, version):
24        """
25        Initialize the HostedNumberOrderList
26
27        :param Version version: Version that contains the resource
28
29        :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderList
30        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderList
31        """
32        super(HostedNumberOrderList, self).__init__(version)
33
34        # Path Solution
35        self._solution = {}
36        self._uri = '/HostedNumberOrders'.format(**self._solution)
37
38    def stream(self, status=values.unset, phone_number=values.unset,
39               incoming_phone_number_sid=values.unset, friendly_name=values.unset,
40               unique_name=values.unset, limit=None, page_size=None):
41        """
42        Streams HostedNumberOrderInstance records from the API as a generator stream.
43        This operation lazily loads records as efficiently as possible until the limit
44        is reached.
45        The results are returned as a generator, so this operation is memory efficient.
46
47        :param HostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder.
48        :param unicode phone_number: An E164 formatted phone number.
49        :param unicode incoming_phone_number_sid: IncomingPhoneNumber sid.
50        :param unicode friendly_name: A human readable description of this resource.
51        :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder.
52        :param int limit: Upper limit for the number of records to return. stream()
53                          guarantees to never return more than limit.  Default is no limit
54        :param int page_size: Number of records to fetch per request, when not set will use
55                              the default value of 50 records.  If no page_size is defined
56                              but a limit is defined, stream() will attempt to read the
57                              limit with the most efficient page size, i.e. min(limit, 1000)
58
59        :returns: Generator that will yield up to limit results
60        :rtype: list[twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance]
61        """
62        limits = self._version.read_limits(limit, page_size)
63
64        page = self.page(
65            status=status,
66            phone_number=phone_number,
67            incoming_phone_number_sid=incoming_phone_number_sid,
68            friendly_name=friendly_name,
69            unique_name=unique_name,
70            page_size=limits['page_size'],
71        )
72
73        return self._version.stream(page, limits['limit'])
74
75    def list(self, status=values.unset, phone_number=values.unset,
76             incoming_phone_number_sid=values.unset, friendly_name=values.unset,
77             unique_name=values.unset, limit=None, page_size=None):
78        """
79        Lists HostedNumberOrderInstance records from the API as a list.
80        Unlike stream(), this operation is eager and will load `limit` records into
81        memory before returning.
82
83        :param HostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder.
84        :param unicode phone_number: An E164 formatted phone number.
85        :param unicode incoming_phone_number_sid: IncomingPhoneNumber sid.
86        :param unicode friendly_name: A human readable description of this resource.
87        :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder.
88        :param int limit: Upper limit for the number of records to return. list() guarantees
89                          never to return more than limit.  Default is no limit
90        :param int page_size: Number of records to fetch per request, when not set will use
91                              the default value of 50 records.  If no page_size is defined
92                              but a limit is defined, list() will attempt to read the limit
93                              with the most efficient page size, i.e. min(limit, 1000)
94
95        :returns: Generator that will yield up to limit results
96        :rtype: list[twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance]
97        """
98        return list(self.stream(
99            status=status,
100            phone_number=phone_number,
101            incoming_phone_number_sid=incoming_phone_number_sid,
102            friendly_name=friendly_name,
103            unique_name=unique_name,
104            limit=limit,
105            page_size=page_size,
106        ))
107
108    def page(self, status=values.unset, phone_number=values.unset,
109             incoming_phone_number_sid=values.unset, friendly_name=values.unset,
110             unique_name=values.unset, page_token=values.unset,
111             page_number=values.unset, page_size=values.unset):
112        """
113        Retrieve a single page of HostedNumberOrderInstance records from the API.
114        Request is executed immediately
115
116        :param HostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder.
117        :param unicode phone_number: An E164 formatted phone number.
118        :param unicode incoming_phone_number_sid: IncomingPhoneNumber sid.
119        :param unicode friendly_name: A human readable description of this resource.
120        :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder.
121        :param str page_token: PageToken provided by the API
122        :param int page_number: Page Number, this value is simply for client state
123        :param int page_size: Number of records to return, defaults to 50
124
125        :returns: Page of HostedNumberOrderInstance
126        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderPage
127        """
128        data = values.of({
129            'Status': status,
130            'PhoneNumber': phone_number,
131            'IncomingPhoneNumberSid': incoming_phone_number_sid,
132            'FriendlyName': friendly_name,
133            'UniqueName': unique_name,
134            'PageToken': page_token,
135            'Page': page_number,
136            'PageSize': page_size,
137        })
138
139        response = self._version.page(method='GET', uri=self._uri, params=data, )
140
141        return HostedNumberOrderPage(self._version, response, self._solution)
142
143    def get_page(self, target_url):
144        """
145        Retrieve a specific page of HostedNumberOrderInstance records from the API.
146        Request is executed immediately
147
148        :param str target_url: API-generated URL for the requested results page
149
150        :returns: Page of HostedNumberOrderInstance
151        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderPage
152        """
153        response = self._version.domain.twilio.request(
154            'GET',
155            target_url,
156        )
157
158        return HostedNumberOrderPage(self._version, response, self._solution)
159
160    def create(self, phone_number, sms_capability, account_sid=values.unset,
161               friendly_name=values.unset, unique_name=values.unset,
162               cc_emails=values.unset, sms_url=values.unset,
163               sms_method=values.unset, sms_fallback_url=values.unset,
164               sms_fallback_method=values.unset, status_callback_url=values.unset,
165               status_callback_method=values.unset,
166               sms_application_sid=values.unset, address_sid=values.unset,
167               email=values.unset, verification_type=values.unset,
168               verification_document_sid=values.unset):
169        """
170        Create the HostedNumberOrderInstance
171
172        :param unicode phone_number: An E164 formatted phone number.
173        :param bool sms_capability: Specify SMS capability to host.
174        :param unicode account_sid: Account Sid.
175        :param unicode friendly_name: A human readable description of this resource.
176        :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder.
177        :param list[unicode] cc_emails: A list of emails.
178        :param unicode sms_url: SMS URL.
179        :param unicode sms_method: SMS Method.
180        :param unicode sms_fallback_url: SMS Fallback URL.
181        :param unicode sms_fallback_method: SMS Fallback Method.
182        :param unicode status_callback_url: Status Callback URL.
183        :param unicode status_callback_method: Status Callback Method.
184        :param unicode sms_application_sid: SMS Application Sid.
185        :param unicode address_sid: Address sid.
186        :param unicode email: Email.
187        :param HostedNumberOrderInstance.VerificationType verification_type: Verification Type.
188        :param unicode verification_document_sid: Verification Document Sid
189
190        :returns: The created HostedNumberOrderInstance
191        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance
192        """
193        data = values.of({
194            'PhoneNumber': phone_number,
195            'SmsCapability': sms_capability,
196            'AccountSid': account_sid,
197            'FriendlyName': friendly_name,
198            'UniqueName': unique_name,
199            'CcEmails': serialize.map(cc_emails, lambda e: e),
200            'SmsUrl': sms_url,
201            'SmsMethod': sms_method,
202            'SmsFallbackUrl': sms_fallback_url,
203            'SmsFallbackMethod': sms_fallback_method,
204            'StatusCallbackUrl': status_callback_url,
205            'StatusCallbackMethod': status_callback_method,
206            'SmsApplicationSid': sms_application_sid,
207            'AddressSid': address_sid,
208            'Email': email,
209            'VerificationType': verification_type,
210            'VerificationDocumentSid': verification_document_sid,
211        })
212
213        payload = self._version.create(method='POST', uri=self._uri, data=data, )
214
215        return HostedNumberOrderInstance(self._version, payload, )
216
217    def get(self, sid):
218        """
219        Constructs a HostedNumberOrderContext
220
221        :param sid: HostedNumberOrder sid.
222
223        :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext
224        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext
225        """
226        return HostedNumberOrderContext(self._version, sid=sid, )
227
228    def __call__(self, sid):
229        """
230        Constructs a HostedNumberOrderContext
231
232        :param sid: HostedNumberOrder sid.
233
234        :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext
235        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext
236        """
237        return HostedNumberOrderContext(self._version, sid=sid, )
238
239    def __repr__(self):
240        """
241        Provide a friendly representation
242
243        :returns: Machine friendly representation
244        :rtype: str
245        """
246        return '<Twilio.Preview.HostedNumbers.HostedNumberOrderList>'
247
248
249class HostedNumberOrderPage(Page):
250    """ PLEASE NOTE that this class contains preview products that are subject
251    to change. Use them with caution. If you currently do not have developer
252    preview access, please contact help@twilio.com. """
253
254    def __init__(self, version, response, solution):
255        """
256        Initialize the HostedNumberOrderPage
257
258        :param Version version: Version that contains the resource
259        :param Response response: Response from the API
260
261        :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderPage
262        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderPage
263        """
264        super(HostedNumberOrderPage, self).__init__(version, response)
265
266        # Path Solution
267        self._solution = solution
268
269    def get_instance(self, payload):
270        """
271        Build an instance of HostedNumberOrderInstance
272
273        :param dict payload: Payload response from the API
274
275        :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance
276        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance
277        """
278        return HostedNumberOrderInstance(self._version, payload, )
279
280    def __repr__(self):
281        """
282        Provide a friendly representation
283
284        :returns: Machine friendly representation
285        :rtype: str
286        """
287        return '<Twilio.Preview.HostedNumbers.HostedNumberOrderPage>'
288
289
290class HostedNumberOrderContext(InstanceContext):
291    """ PLEASE NOTE that this class contains preview products that are subject
292    to change. Use them with caution. If you currently do not have developer
293    preview access, please contact help@twilio.com. """
294
295    def __init__(self, version, sid):
296        """
297        Initialize the HostedNumberOrderContext
298
299        :param Version version: Version that contains the resource
300        :param sid: HostedNumberOrder sid.
301
302        :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext
303        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext
304        """
305        super(HostedNumberOrderContext, self).__init__(version)
306
307        # Path Solution
308        self._solution = {'sid': sid, }
309        self._uri = '/HostedNumberOrders/{sid}'.format(**self._solution)
310
311    def fetch(self):
312        """
313        Fetch the HostedNumberOrderInstance
314
315        :returns: The fetched HostedNumberOrderInstance
316        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance
317        """
318        payload = self._version.fetch(method='GET', uri=self._uri, )
319
320        return HostedNumberOrderInstance(self._version, payload, sid=self._solution['sid'], )
321
322    def delete(self):
323        """
324        Deletes the HostedNumberOrderInstance
325
326        :returns: True if delete succeeds, False otherwise
327        :rtype: bool
328        """
329        return self._version.delete(method='DELETE', uri=self._uri, )
330
331    def update(self, friendly_name=values.unset, unique_name=values.unset,
332               email=values.unset, cc_emails=values.unset, status=values.unset,
333               verification_code=values.unset, verification_type=values.unset,
334               verification_document_sid=values.unset, extension=values.unset,
335               call_delay=values.unset):
336        """
337        Update the HostedNumberOrderInstance
338
339        :param unicode friendly_name: A human readable description of this resource.
340        :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder.
341        :param unicode email: Email.
342        :param list[unicode] cc_emails: A list of emails.
343        :param HostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder.
344        :param unicode verification_code: A verification code.
345        :param HostedNumberOrderInstance.VerificationType verification_type: Verification Type.
346        :param unicode verification_document_sid: Verification Document Sid
347        :param unicode extension: Digits to dial after connecting the verification call.
348        :param unicode call_delay: The number of seconds, between 0 and 60, to delay before initiating the verification call.
349
350        :returns: The updated HostedNumberOrderInstance
351        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance
352        """
353        data = values.of({
354            'FriendlyName': friendly_name,
355            'UniqueName': unique_name,
356            'Email': email,
357            'CcEmails': serialize.map(cc_emails, lambda e: e),
358            'Status': status,
359            'VerificationCode': verification_code,
360            'VerificationType': verification_type,
361            'VerificationDocumentSid': verification_document_sid,
362            'Extension': extension,
363            'CallDelay': call_delay,
364        })
365
366        payload = self._version.update(method='POST', uri=self._uri, data=data, )
367
368        return HostedNumberOrderInstance(self._version, payload, sid=self._solution['sid'], )
369
370    def __repr__(self):
371        """
372        Provide a friendly representation
373
374        :returns: Machine friendly representation
375        :rtype: str
376        """
377        context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items())
378        return '<Twilio.Preview.HostedNumbers.HostedNumberOrderContext {}>'.format(context)
379
380
381class HostedNumberOrderInstance(InstanceResource):
382    """ PLEASE NOTE that this class contains preview products that are subject
383    to change. Use them with caution. If you currently do not have developer
384    preview access, please contact help@twilio.com. """
385
386    class Status(object):
387        RECEIVED = "received"
388        PENDING_VERIFICATION = "pending-verification"
389        VERIFIED = "verified"
390        PENDING_LOA = "pending-loa"
391        CARRIER_PROCESSING = "carrier-processing"
392        TESTING = "testing"
393        COMPLETED = "completed"
394        FAILED = "failed"
395        ACTION_REQUIRED = "action-required"
396
397    class VerificationType(object):
398        PHONE_CALL = "phone-call"
399        PHONE_BILL = "phone-bill"
400
401    def __init__(self, version, payload, sid=None):
402        """
403        Initialize the HostedNumberOrderInstance
404
405        :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance
406        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance
407        """
408        super(HostedNumberOrderInstance, self).__init__(version)
409
410        # Marshaled Properties
411        self._properties = {
412            'sid': payload.get('sid'),
413            'account_sid': payload.get('account_sid'),
414            'incoming_phone_number_sid': payload.get('incoming_phone_number_sid'),
415            'address_sid': payload.get('address_sid'),
416            'signing_document_sid': payload.get('signing_document_sid'),
417            'phone_number': payload.get('phone_number'),
418            'capabilities': payload.get('capabilities'),
419            'friendly_name': payload.get('friendly_name'),
420            'unique_name': payload.get('unique_name'),
421            'status': payload.get('status'),
422            'failure_reason': payload.get('failure_reason'),
423            'date_created': deserialize.iso8601_datetime(payload.get('date_created')),
424            'date_updated': deserialize.iso8601_datetime(payload.get('date_updated')),
425            'verification_attempts': deserialize.integer(payload.get('verification_attempts')),
426            'email': payload.get('email'),
427            'cc_emails': payload.get('cc_emails'),
428            'url': payload.get('url'),
429            'verification_type': payload.get('verification_type'),
430            'verification_document_sid': payload.get('verification_document_sid'),
431            'extension': payload.get('extension'),
432            'call_delay': deserialize.integer(payload.get('call_delay')),
433            'verification_code': payload.get('verification_code'),
434            'verification_call_sids': payload.get('verification_call_sids'),
435        }
436
437        # Context
438        self._context = None
439        self._solution = {'sid': sid or self._properties['sid'], }
440
441    @property
442    def _proxy(self):
443        """
444        Generate an instance context for the instance, the context is capable of
445        performing various actions.  All instance actions are proxied to the context
446
447        :returns: HostedNumberOrderContext for this HostedNumberOrderInstance
448        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext
449        """
450        if self._context is None:
451            self._context = HostedNumberOrderContext(self._version, sid=self._solution['sid'], )
452        return self._context
453
454    @property
455    def sid(self):
456        """
457        :returns: HostedNumberOrder sid.
458        :rtype: unicode
459        """
460        return self._properties['sid']
461
462    @property
463    def account_sid(self):
464        """
465        :returns: Account Sid.
466        :rtype: unicode
467        """
468        return self._properties['account_sid']
469
470    @property
471    def incoming_phone_number_sid(self):
472        """
473        :returns: IncomingPhoneNumber sid.
474        :rtype: unicode
475        """
476        return self._properties['incoming_phone_number_sid']
477
478    @property
479    def address_sid(self):
480        """
481        :returns: Address sid.
482        :rtype: unicode
483        """
484        return self._properties['address_sid']
485
486    @property
487    def signing_document_sid(self):
488        """
489        :returns: LOA document sid.
490        :rtype: unicode
491        """
492        return self._properties['signing_document_sid']
493
494    @property
495    def phone_number(self):
496        """
497        :returns: An E164 formatted phone number.
498        :rtype: unicode
499        """
500        return self._properties['phone_number']
501
502    @property
503    def capabilities(self):
504        """
505        :returns: A mapping of phone number capabilities.
506        :rtype: unicode
507        """
508        return self._properties['capabilities']
509
510    @property
511    def friendly_name(self):
512        """
513        :returns: A human readable description of this resource.
514        :rtype: unicode
515        """
516        return self._properties['friendly_name']
517
518    @property
519    def unique_name(self):
520        """
521        :returns: A unique, developer assigned name of this HostedNumberOrder.
522        :rtype: unicode
523        """
524        return self._properties['unique_name']
525
526    @property
527    def status(self):
528        """
529        :returns: The Status of this HostedNumberOrder.
530        :rtype: HostedNumberOrderInstance.Status
531        """
532        return self._properties['status']
533
534    @property
535    def failure_reason(self):
536        """
537        :returns: Why a hosted_number_order reached status "action-required"
538        :rtype: unicode
539        """
540        return self._properties['failure_reason']
541
542    @property
543    def date_created(self):
544        """
545        :returns: The date this HostedNumberOrder was created.
546        :rtype: datetime
547        """
548        return self._properties['date_created']
549
550    @property
551    def date_updated(self):
552        """
553        :returns: The date this HostedNumberOrder was updated.
554        :rtype: datetime
555        """
556        return self._properties['date_updated']
557
558    @property
559    def verification_attempts(self):
560        """
561        :returns: The number of attempts made to verify ownership of the phone number.
562        :rtype: unicode
563        """
564        return self._properties['verification_attempts']
565
566    @property
567    def email(self):
568        """
569        :returns: Email.
570        :rtype: unicode
571        """
572        return self._properties['email']
573
574    @property
575    def cc_emails(self):
576        """
577        :returns: A list of emails.
578        :rtype: list[unicode]
579        """
580        return self._properties['cc_emails']
581
582    @property
583    def url(self):
584        """
585        :returns: The URL of this HostedNumberOrder.
586        :rtype: unicode
587        """
588        return self._properties['url']
589
590    @property
591    def verification_type(self):
592        """
593        :returns: The method used for verifying ownership of the number to be hosted.
594        :rtype: HostedNumberOrderInstance.VerificationType
595        """
596        return self._properties['verification_type']
597
598    @property
599    def verification_document_sid(self):
600        """
601        :returns: Verification Document Sid.
602        :rtype: unicode
603        """
604        return self._properties['verification_document_sid']
605
606    @property
607    def extension(self):
608        """
609        :returns: Phone extension to use for ownership verification call.
610        :rtype: unicode
611        """
612        return self._properties['extension']
613
614    @property
615    def call_delay(self):
616        """
617        :returns: Seconds (0-30) to delay ownership verification call by.
618        :rtype: unicode
619        """
620        return self._properties['call_delay']
621
622    @property
623    def verification_code(self):
624        """
625        :returns: The digits passed during the ownership verification call.
626        :rtype: unicode
627        """
628        return self._properties['verification_code']
629
630    @property
631    def verification_call_sids(self):
632        """
633        :returns: List of IDs for ownership verification calls.
634        :rtype: list[unicode]
635        """
636        return self._properties['verification_call_sids']
637
638    def fetch(self):
639        """
640        Fetch the HostedNumberOrderInstance
641
642        :returns: The fetched HostedNumberOrderInstance
643        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance
644        """
645        return self._proxy.fetch()
646
647    def delete(self):
648        """
649        Deletes the HostedNumberOrderInstance
650
651        :returns: True if delete succeeds, False otherwise
652        :rtype: bool
653        """
654        return self._proxy.delete()
655
656    def update(self, friendly_name=values.unset, unique_name=values.unset,
657               email=values.unset, cc_emails=values.unset, status=values.unset,
658               verification_code=values.unset, verification_type=values.unset,
659               verification_document_sid=values.unset, extension=values.unset,
660               call_delay=values.unset):
661        """
662        Update the HostedNumberOrderInstance
663
664        :param unicode friendly_name: A human readable description of this resource.
665        :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder.
666        :param unicode email: Email.
667        :param list[unicode] cc_emails: A list of emails.
668        :param HostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder.
669        :param unicode verification_code: A verification code.
670        :param HostedNumberOrderInstance.VerificationType verification_type: Verification Type.
671        :param unicode verification_document_sid: Verification Document Sid
672        :param unicode extension: Digits to dial after connecting the verification call.
673        :param unicode call_delay: The number of seconds, between 0 and 60, to delay before initiating the verification call.
674
675        :returns: The updated HostedNumberOrderInstance
676        :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance
677        """
678        return self._proxy.update(
679            friendly_name=friendly_name,
680            unique_name=unique_name,
681            email=email,
682            cc_emails=cc_emails,
683            status=status,
684            verification_code=verification_code,
685            verification_type=verification_type,
686            verification_document_sid=verification_document_sid,
687            extension=extension,
688            call_delay=call_delay,
689        )
690
691    def __repr__(self):
692        """
693        Provide a friendly representation
694
695        :returns: Machine friendly representation
696        :rtype: str
697        """
698        context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items())
699        return '<Twilio.Preview.HostedNumbers.HostedNumberOrderInstance {}>'.format(context)
700