How to use inherited_method method in freezegun

Best Python code snippet using freezegun

utils.py

Source:utils.py Github

copy

Full Screen

...15 ]16 for method_name in result_list:17 inherited_method = getattr(super(subclass, subclass), method_name)18 def new_method(self, other, *, inherited_method=inherited_method):19 return self.from_timedelta(inherited_method(self, other))20 setattr(subclass, method_name, new_method)21 conditional_result_list = ["__truediv__", "__floordiv__", "__rtruediv__"]22 for method_name in conditional_result_list:23 inherited_method = getattr(super(subclass, subclass), method_name)24 def new_method(self, other, *, inherited_method=inherited_method):25 result = inherited_method(self, other)26 if type(result) == timedelta:27 return self.from_timedelta(result)28 return result29 setattr(subclass, method_name, new_method)30 divmod_list = ["__divmod__", "__rdivmod__"]31 for method_name in divmod_list:32 inherited_method = getattr(super(subclass, subclass), method_name)33 def new_method(self, other, *, inherited_method=inherited_method):34 q, r = inherited_method(self, other)35 if type(r) == timedelta:36 r = self.from_timedelta(r)37 return q, r38 setattr(subclass, method_name, new_method)39 self_list = ["__pos__", "__neg__", "__abs__"]40 for method_name in self_list:41 inherited_method = getattr(super(subclass, subclass), method_name)42 def new_method(self, *, inherited_method=inherited_method):43 return self.from_timedelta(inherited_method(self))44 setattr(subclass, method_name, new_method)45 return subclass46def convert_timestamp(timestamp: str) -> Optional[datetime]:47 """48 Converts the timestamp format returned by the API.49 Parameters50 ----------51 timestamp : str52 The string containing the timestamp.53 Returns54 -------55 Optional[datetime]56 A converted datetime object.\n57 `None` is returned if an empty string was passed....

Full Screen

Full Screen

replicator.py

Source:replicator.py Github

copy

Full Screen

1import pandas as pd2from thermotar.utils import df_utils3class Replicator:4 def __init__(self,objects,indexes = None,index_names = None, get_methods = 'inheritable'):5 '''Grabs list of dataframes or objects with .data methods. Concatanates them into one dataframe and sets to this dfs df '''6 if not indexes:7 indexes = range(len(objects)) 8 9 self.index_names = index_names10 self.replicas = {index:item for index,item in zip(indexes,objects)}11 # assume homogenous12 try:13 # to do add some sort of index naming14 df = pd.concat([member.data for member in objects],keys=indexes,ignore_index=False,join='outer',names=index_names)15 except AttributeError:16 df = pd.concat(objects,keys=indexes,ignore_index=False,join='outer',names = index_names)17 self.data = df18 self.objects = objects19 def updata(self):20 ''' Update this object's big dataframe'''21 try:22 # to do add some sort of index naming23 df = pd.concat([member.data for member in self.replicas.values()],keys=self.replicas,ignore_index=False,join='outer',names=self.index_names)24 except AttributeError:25 df = pd.concat(self.replicas.values(),keys=self.replicas,ignore_index=False,join='outer',names = self.index_names)26 self.data = df27 # if get_methods == 'inheritable':28 # # some hackery to make the method that can be used by the replicatoron29 # for method_name in objects[0]._inheritable:30 31 # print(method_name)32 # inherited_method = getattr(objects[0],method_name)33 34 # #decorate(apply_sub_df)35 # decorated = apply_sub_df(inherited_method)36 # #set the doc string to the docstring of the inherited method.37 # decorated.__doc__ = inherited_method.__doc__38 # setattr(self,method_name,decorated)39 # # except AttributeError:40 # # Warning('No inheritable methods')41# a decorator for applying methods to sub frame of self.data42# def apply_sub_df(function):43# def wrapper(self, temp, rep,**kwargs):44# # df = self.data45# # sub_df = df.loc[temp,rep]46# # sub_df = function(sub_df,**kwargs)47# # # new columns48# # missing_cols = list(set(sub_df.columns) - set(df.columns) )49# # df = df_utils.new_cols(df,missing_cols)50# # df.loc[temp,rep]=sub_df.values51# # #return df52# return (self,temp,rep)53 ...

Full Screen

Full Screen

forking_class.py

Source:forking_class.py Github

copy

Full Screen

1def rebind(target_class, core_name, method_name):2 def wrapper(self, *args, **kwargs):3 return getattr(getattr(self, core_name), method_name)(*args, **kwargs)4 setattr(target_class, method_name, wrapper)5def forking_class(forked_class, core_name, superclass_flag_name, superclass_dict, inherited_methods):6 def _init(self, superclass_flag, *args, **kwargs):7 setattr(self, core_name, superclass_dict[superclass_flag](*args, **kwargs))8 setattr(self, superclass_flag_name, superclass_flag)9 def _getattribute(self, item: str):10 try:11 return object.__getattribute__(self, item)12 except AttributeError as e:13 try:14 return object.__getattribute__(self, core_name).__getattribute__(item)15 except AttributeError:16 raise e17 def _setattr(self, item, value):18 try:19 getattr(object.__getattribute__(self, core_name), item)20 object.__getattribute__(self, core_name).__setattr__(item, value)21 except AttributeError:22 object.__setattr__(self, item, value)23 forked_class.__init__ = _init24 forked_class.__getattribute__ = _getattribute25 forked_class.__setattr__ = _setattr26 for inherited_method in inherited_methods:27 rebind(forked_class, core_name, inherited_method)28 return forked_class29def create_forked_class(class_name, *args, **kwargs):30 forked_class = type(class_name, (), {})...

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run freezegun automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful