Best Python code snippet using autotest_python
resource_lib.py
Source:resource_lib.py  
...241        return cls(request, instance)242    def _delete_entry(self):243        self.instance.delete()244    def full_representation(self):245        self.prepare_for_full_representation([self])246        return super(InstanceEntry, self).full_representation()247    @classmethod248    def prepare_for_full_representation(cls, entries):249        """250        Prepare the given list of entries to generate full representations.251        This method delegates to _do_prepare_for_full_representation(), which252        subclasses may override as necessary to do the actual processing.  This253        method also marks the instance as prepared, so it's safe to call this254        multiple times with the same instance(s) without wasting work.255        """256        not_prepared = [entry for entry in entries257                        if not entry._is_prepared_for_full_representation]258        cls._do_prepare_for_full_representation([entry.instance259                                                 for entry in not_prepared])260        for entry in not_prepared:261            entry._is_prepared_for_full_representation = True262    @classmethod263    def _do_prepare_for_full_representation(cls, instances):264        """265        Subclasses may override this to gather data as needed for full266        representations of the given model instances.  Typically, this involves267        querying over related objects, and this method offers a chance to query268        for many instances at once, which can provide a great performance269        benefit.270        """271        pass272class Collection(Resource):273    _DEFAULT_ITEMS_PER_PAGE = 50274    _permitted_methods=('GET', 'POST')275    # subclasses must override these276    queryset = None # or override _fresh_queryset() directly277    entry_class = None278    def __init__(self, request):279        super(Collection, self).__init__(request)280        assert self.entry_class is not None281        if isinstance(self.entry_class, basestring):282            type(self).entry_class = _resolve_class_path(self.entry_class)283        self._query_processor = query_lib.QueryProcessor()284        self.entry_class.add_query_selectors(self._query_processor)285    def _query_parameters_accepted(self):286        params = [('start_index', 'Index of first member to include'),287                  ('items_per_page', 'Number of members to include'),288                  ('full_representations',289                   'True to include full representations of members')]290        for selector in self._query_processor.selectors():291            params.append((selector.name, selector.doc))292        return params293    def _fresh_queryset(self):294        assert self.queryset is not None295        # always copy the queryset before using it to avoid caching296        return self.queryset.all()297    def _entry_from_instance(self, instance):298        return self.entry_class(self._request, instance)299    def _representation(self, entry_instances):300        entries = [self._entry_from_instance(instance)301                   for instance in entry_instances]302        want_full_representation = self._read_bool_parameter(303                'full_representations')304        if want_full_representation:305            self.entry_class.prepare_for_full_representation(entries)306        members = []307        for entry in entries:308            if want_full_representation:309                rep = entry.full_representation()310            else:311                rep = entry.short_representation()312            members.append(rep)313        rep = self.link()314        rep.update({'members': members})315        return rep316    def _read_bool_parameter(self, name):317        if name not in self._query_params:318            return False319        return (self._query_params[name].lower() == 'true')...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
