From 4f77e2c10503b79055bfe8e66bcb9e063a55b1b5 Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Mon, 17 Apr 2017 22:04:22 +0300 Subject: [PATCH] @cached --- toxygen/history.py | 3 +++ toxygen/main.py | 2 ++ toxygen/util.py | 20 +++++++++++++++++--- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/toxygen/history.py b/toxygen/history.py index 586981a..fe7d3ee 100644 --- a/toxygen/history.py +++ b/toxygen/history.py @@ -1,3 +1,6 @@ +# -*- coding: utf-8 -*- + + from sqlite3 import connect import settings from os import chdir diff --git a/toxygen/main.py b/toxygen/main.py index 8c51fd2..c9ab9cf 100644 --- a/toxygen/main.py +++ b/toxygen/main.py @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- + import sys from loginscreen import LoginScreen import profile diff --git a/toxygen/util.py b/toxygen/util.py index 2c9483d..f5cff4e 100644 --- a/toxygen/util.py +++ b/toxygen/util.py @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- + import os import time import shutil @@ -7,11 +9,25 @@ import re program_version = '0.2.8' +def cached(func): + saved_result = None + + def wrapped_func(): + nonlocal saved_result + if saved_result is None: + saved_result = func() + + return saved_result + + return wrapped_func + + def log(data): with open(curr_directory() + '/logs.log', 'a') as fl: fl.write(str(data) + '\n') +@cached def curr_directory(): return os.path.dirname(os.path.realpath(__file__)) @@ -46,9 +62,8 @@ def convert_time(t): return '%02d:%02d' % (h, m) +@cached def time_offset(): - if hasattr(time_offset, 'offset'): - return time_offset.offset hours = int(time.strftime('%H')) minutes = int(time.strftime('%M')) sec = int(time.time()) - time.timezone @@ -56,7 +71,6 @@ def time_offset(): h, m = divmod(m, 60) d, h = divmod(h, 24) result = hours * 60 + minutes - h * 60 - m - time_offset.offset = result return result