Best Python code snippet using autotest_python
boottool.py
Source:boottool.py  
...245        '''246        self.path = path247        self.global_options_to_add = {}248        self.global_options_to_remove = {}249        self._follow_symlink()250    def _follow_symlink(self):251        '''252        Dereference the path if it's a symlink and make it absolute253        elilo.conf usually is a symlink to the EFI boot partition, so we254        better follow it to the proper location.255        '''256        if os.path.islink(self.path):257            self.path_link = self.path258            self.path = os.path.realpath(self.path_link)259        self.path = os.path.abspath(self.path)260    def add_global_option(self, key, val=None):261        '''262        Adds a global option to the updated elilo configuration file263        :type key: string264        :param key: option name...filesystem.py
Source:filesystem.py  
...92    def is_file(self, path_object):93        return path_object.obj.info.meta.type == pytsk3.TSK_FS_META_TYPE_REG94    def is_symlink(self, path_object):95        return path_object.obj.info.meta.type == pytsk3.TSK_FS_META_TYPE_LNK96    def _follow_symlink(self, parent, path_object):97        # TODO: attempt to follow symlinks with TSK98        #99        # As a temporary fix, downgrade all links to OSFileSystem so that100        # they are still collected101        return OSFileSystem('/').get_fullpath(path_object.path)102    def list_directory(self, path_object):103        if path_object.path in self._entries_cache:104            return self._entries_cache[path_object.path]105        else:106            # Make sure we do not keep more than 10 000 entries in the cache107            if len(self._entries_cache_last) >= 10000:108                first = self._entries_cache_last.popleft()109                del self._entries_cache[first]110            entries = []111            directory = path_object.obj112            if not isinstance(directory, pytsk3.Directory):113                if not self.is_directory(path_object):114                    return115                directory = path_object.obj.as_directory()116            for entry in directory:117                if (118                    not hasattr(entry, 'info') or119                    not hasattr(entry.info, 'name') or120                    not hasattr(entry.info.name, 'name') or121                    entry.info.name.name in [b'.', b'..'] or122                    not hasattr(entry.info, 'meta') or123                    not hasattr(entry.info.meta, 'size') or124                    not hasattr(entry.info.meta, 'type') or125                    not self.is_allocated(entry)126                ):127                    continue128                name = entry.info.name.name.decode('utf-8', errors='replace')129                filepath = os.path.join(path_object.path, name)130                entry_path_object = PathObject(self, name, filepath, entry)131                if entry.info.meta.type == pytsk3.TSK_FS_META_TYPE_LNK:132                    symlink_object = self._follow_symlink(path_object, entry_path_object)133                    if symlink_object:134                        entries.append(symlink_object)135                else:136                    entries.append(entry_path_object)137            self._entries_cache[path_object.path] = entries138            self._entries_cache_last.append(entries)139            return entries140    def get_path(self, parent, name):141        for path_object in self.list_directory(parent):142            if os.path.normcase(name) == os.path.normcase(path_object.name):143                return path_object144    def get_fullpath(self, filepath):145        relative_path = self._relative_path(filepath)146        path_object = next(self._base_generator())...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!!
