Best Python code snippet using playwright-python
decorators_0.py
Source:decorators_0.py
1# prerequisites: 1st-class functions & closures2# a decorator is a func that takes another func as its arg, adds some kind of functionality & returns another func3# a decorator doesn't alter the source code of the func that's passed to it as an arg4def decor_func_0(func):5 def wrapper_func():6 return func()7 return wrapper_func8def display_0():9 print('display_0() ran')10display_func_0 = decor_func_0(display_0)11display_func_0()12print('\n****************************************\n')13def decor_func_1(func):14 def wrapper_func():15 print('wrapper_func() executed this before {}'.format(func.__name__))16 return func()17 return wrapper_func18def display_1():19 print('display_1() ran')20display_func_1 = decor_func_1(display_1)21display_func_1()22print('\n****************************************\n')23def decor_func_2(func):24 def wrapper_func():25 print('wrapper_func() executed this before {}'.format(func.__name__))26 return func()27 return wrapper_func28# @decor_func_2 -> display_2 = decor_func_2(display_2)29@decor_func_230def display_2():31 print('display_2() ran')32display_2()33print('\n****************************************\n')34def decor_func_3(func):35 def wrapper_func(*args, **kwargs):36 print('wrapper_func() executed this before {}'.format(func.__name__))37 return func(*args, **kwargs)38 return wrapper_func39@decor_func_340def display_3():41 print('display_3() ran')42@decor_func_343def display_info_0(name, age):44 print('display_info_0() ran with args: ({}, {})'.format(name, age))45display_info_0('Nikola Tesla', 23)46display_3()47print('\n****************************************\n')48class decor_class_0(object):49 def __init__(self, func):50 self.func = func51 52 # __call__() behaves just like the inner wrapper_func() does53 def __call__(self, *args, **kwargs):54 print('__call__() executed this before {}'.format(self.func.__name__))55 return self.func(*args, **kwargs)56def decor_func_4(func):57 def wrapper_func(*args, **kwargs):58 print('wrapper_func() executed this before {}'.format(func.__name__))59 return func(*args, **kwargs)60 return wrapper_func61#@decor_func_462@decor_class_063def display_4():64 print('display_4() ran')65#@decor_func_466@decor_class_067def display_info_1(name, age):68 print('display_info_1() ran with args: ({}, {})'.format(name, age))69display_info_1('Nikola Tesla', 23)70display_4()71print('\n-----------------------------------------------------------------------------------\n')72# some practical examples...
decoratorTest.py
Source:decoratorTest.py
...6 return func78def call_twice(func):9 @functools.wraps(func)10 def wrapper_func(*args, **kwargs):11 func(*args, **kwargs)12 return func(*args, **kwargs)13 14 return wrapper_func1516def call_times(num_times):17 def descorator_func(func):18 @functools.wraps(func)19 def wrapper_func(*args, **kwargs):20 for idx in range(num_times-1):21 func(*args, **kwargs)22 return func(*args, **kwargs)23 return wrapper_func24 assert(isinstance(num_times, int))25 return descorator_func2627# only python 3.0 above support it28# def call_times_both(_func=None, *, num_times=2):29# def descorator_func(func):30# @functools.wraps(func)31# def wrapper_func(*args, **kwargs):32# for idx in range(num_times-1):33# func(*args, **kwargs)34# return func(*args, **kwargs)35 36# if _func is None:37# return descorator_func38# else:39# return descorator_func(_func)4041class CalTimes():42 def __init__(self, func):43 functools.update_wrapper(self, func) # do not use '@' decorator symbol44 self.func = func45 self.call_times = 046 def __call__(self, *args, **kwargs):47 print 'call times:%d'%self.call_times48 self.call_times += 149 return self.func(*args, **kwargs)5051class CalTimesParam():52 def __init__(self, num_times=2):53 # functools.update_wrapper(self, func)54 # self.func = func55 self.num_times = num_times56 self.call_times = 05758 def __call__(self, func):59 @functools.wraps(func)60 def wrapper_func(*args, **kwargs):61 for idx in range(self.num_times-1):62 func(*args, **kwargs)63 return func(*args, **kwargs)64 print 'call times:%d'%self.call_times65 self.call_times += 166 return wrapper_func6768@call_twice69@register70def callprint(str):71 print(str)7273@call_times(3)74def callprint(str):75 print(str)7677@CalTimes78def callprint(str):79 print(str)8081@CalTimesParam(2)82def callprint(str):83 print(str)8485def Singleton(cls):86 """Make a class a Singleton class (only one instance)"""87 @functools.wraps(cls)88 def wrapper_func(*args, **kwargs):89 if wrapper_func.singleton is None:90 wrapper_func.singleton = cls(*args, **kwargs)91 return wrapper_func.singleton92 wrapper_func.singleton = None93 return wrapper_func94@Singleton95class Solution(object):96 pass9798if __name__ == '__main__':99 callprint('fjoa')100 print callprint.__name__101 print callprint102 print PLUGIN
...
decoraters.py
Source:decoraters.py
...7from .tests import PDF, Fetch_Data8from django_celery_beat.models import PeriodicTask, PeriodicTasks, IntervalSchedule9# this decorator checks for authenticated users10def unauthenticated_user(view_func):11 def wrapper_func(request, *args, **kwargs):12 if request.user.is_authenticated:13 return redirect('raw_material')14 else:15 return view_func(request,*args, **kwargs)16 return wrapper_func17# def admin_access(view_func):18# def wrapper_func(request, *args, **kwargs):19# us = request.user.groups.all()[0].name20# print(us)21# return view_func(request, *args, **kwargs)22# return wrapper_func23# this decorator is for access functionality of groups24def allowed_users(allowed_roles=[]):25 def decorator(view_func):26 def wrapper_func(request, *args, **kwargs):27 # print('working',allowed_roles)28 group = None29 if request.user.groups.exists():30 group = request.user.groups.all()[0].name31 print(group)32 if group in allowed_roles:33 return view_func(request, *args, **kwargs)34 else:35 return redirect('raw_material')36 return wrapper_func37 return decorator38# this decorator checks for active users39def unautherized_user(view_func):40 def wrapper_func(request, *args, **kwargs):41 try:42 user_id = request.user43 rg = Register.objects.filter(user__exact=user_id)44 except:45 redirect('login')46 # rs = rg.values()[0]47 try:48 rs = rg.values()[0]49 rs_status = rs['userRole']50 if rs_status == 'Active':51 return view_func(request,*args, **kwargs)52 else:53 # return view_func(request,*args, **kwargs)54 # print('nothing')55 return 'nothing'56 except:57 return view_func(request,*args, **kwargs)58 return wrapper_func59 60# this decorator checks for delete access61def del_access(view_func):62 def wrapper_func(request, *args, **kwargs):63 try:64 user_id = request.user65 rg = Register.objects.filter(user__exact=user_id)66 except:67 redirect('login')68 # rs = rg.values()[0]69 try:70 rs = rg.values()[0]71 rs_del = rs['delete_access']72 if rs_del == 'Yes':73 return view_func(request,*args, **kwargs)74 else:75 # return view_func(request,*args, **kwargs)76 # print('nothing')...
test_pyplot.py
Source:test_pyplot.py
...35 @mpl.cbook._make_keyword_only("(version)", "kwo")36 def func(new, kwo=None):37 pass38 @plt._copy_docstring_and_deprecators(func)39 def wrapper_func(new, kwo=None):40 pass41 wrapper_func(None)42 wrapper_func(new=None)43 wrapper_func(None, kwo=None)44 wrapper_func(new=None, kwo=None)45 assert not recwarn46 with pytest.warns(MatplotlibDeprecationWarning):47 wrapper_func(old=None)48 with pytest.warns(MatplotlibDeprecationWarning):49 wrapper_func(None, None)50def test_pyplot_box():51 fig, ax = plt.subplots()52 plt.box(False)53 assert not ax.get_frame_on()54 plt.box(True)55 assert ax.get_frame_on()56 plt.box()57 assert not ax.get_frame_on()58 plt.box()59 assert ax.get_frame_on()60def test_stackplot_smoke():61 # Small smoke test for stackplot (see #12405)62 plt.stackplot([1, 2, 3], [1, 2, 3])63def test_nrows_error():...
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!