Skip to content

Instantly share code, notes, and snippets.

View umutcoskun's full-sized avatar
🌴
On vacation

Umut Çağdaş Coşkun umutcoskun

🌴
On vacation
View GitHub Profile
class sleep:
def __init__(self, secs):
self.secs = secs
def __call__(self, func):
from functools import wraps
@wraps(func)
def wrapper(*args, **kwargs):
from time import sleep
def has_permission(permission):
def decorator(func):
from functools import wraps
@wraps(func)
def wrapper(*args, **kwargs):
user = kwargs.get('user')
assert permission in user.permissions
result = func(*args, **kwargs)
@benchmark
@has_permission('can_view_dashboard')
def view_dashboard(**kwargs):
user = kwargs.pop('user')
print('\n- DASHBOARD')
print('- Merhaba {username}, giriş başarılı.'.format(
username=user.name
))
@has_permission('can_view_dashboard')
def view_dashboard(**kwargs):
user = kwargs.pop('user')
print('\n- DASHBOARD')
print('- Merhaba {username}, giriş başarılı.'.format(
username=user.name
))
def has_permission(permission):
def decorator(func):
def wrapper(*args, **kwargs):
user = kwargs.get('user')
assert permission in user.permissions
result = func(*args, **kwargs)
return result
return wrapper
@umutcoskun
umutcoskun / app.py
Last active December 10, 2017 20:33
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/', methods=['GET'])
def home():
return render_template('home.html')
@benchmark
def test_response_status_is_200():
from urllib import request
response = request.urlopen(
request.Request('https://httpbin.org/status/200',
method='HEAD')
)
assert response.status == 200
def benchmark(func):
def wrapper(*args, **kwargs):
from time import time
time_start = time()
result = func(*args, **kwargs)
time_finish = time()
time_delta = time_finish - time_start
print('- [{func_name}] fonksiyonu {seconds} saniye sürdü.'.format(
def decorator(func):
def wrapper(*args, **kwargs):
print('Fonksiyon çalışacak...')
func()
return wrapper
@decorator
def func():
print('Fonksiyon çalıştı.')
# Yöntem 1:
@decorator
def func():
pass
# Yöntem 2:
def func():
pass
func = decorator(func)