Best Python code snippet using autotest_python
file_store.py
Source:file_store.py
...38 def __str__(self):39 return '%s[%s]' % (type(self).__name__, self._store_file)40 def _refresh_impl(self):41 """See parent class docstring."""42 with self._lock_backing_file():43 return self._refresh_impl_locked()44 def _commit_impl(self, info):45 """See parent class docstring."""46 with self._lock_backing_file():47 return self._commit_impl_locked(info)48 def _refresh_impl_locked(self):49 """Same as _refresh_impl, but assumes relevant files are locked."""50 try:51 with open(self._store_file, 'r') as fp:52 return host_info.json_deserialize(fp)53 except IOError as e:54 if e.errno == errno.ENOENT:55 raise host_info.StoreError(56 'No backing file. You must commit to the store before '57 'trying to read a value from it.')58 raise host_info.StoreError('Failed to read backing file (%s) : %r'59 % (self._store_file, e))60 except host_info.DeserializationError as e:61 raise host_info.StoreError(62 'Failed to desrialize backing file %s: %r' %63 (self._store_file, e))64 def _commit_impl_locked(self, info):65 """Same as _commit_impl, but assumes relevant files are locked."""66 try:67 with open(self._store_file, 'w') as fp:68 host_info.json_serialize(info, fp)69 except IOError as e:70 raise host_info.StoreError('Failed to write backing file (%s) : %r'71 % (self._store_file, e))72 @contextlib.contextmanager73 def _lock_backing_file(self):74 """Context to lock the backing store file.75 @raises StoreError if the backing file can not be locked.76 """77 def _retry_locking_failures(exc):78 return isinstance(exc, locking.LockNotAcquiredError)79 try:80 retry_util.GenericRetry(81 handler=_retry_locking_failures,82 functor=self._lock.write_lock,83 max_retry=self._lock_max_retry,84 sleep=self._lock_sleep)85 # If self._lock fails to write the locking file, it'll leak an OSError86 except (locking.LockNotAcquiredError, OSError) as e:87 raise host_info.StoreError(e)...
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!!