View difference between Paste ID: GRvHnN9v and aRNiw8M0
SHOW: | | - or go back to the newest paste.
1-
import requests, re
1+
import time, random
2-
from matplotlib import pyplot as plt
2+
3-
from matplotlib.ticker import EngFormatter
3+
# decorator function
4-
from bs4 import BeautifulSoup
4+
def my_timer(func):
5
6-
def main(url):
6+
    def wrapper(*args, **kwargs):
7
        print("my_timer call")
8-
    result = requests.get(url)
8+
9-
    status = result.status_code
9+
        start = time.time()
10
        result = func(*args, **kwargs)
11-
    # status = 404
11+
        print("my_timer result:", time.time()-start)
12-
    assert status == 200, f"Site Error: Status Code {status}"
12+
13
        return result
14-
    data = get_data(result.content)
14+
15-
    draw_data(data)
15+
    return wrapper
16
17-
def get_data(source):
17+
18-
    """
18+
def print_something_decorator(func):
19-
    Gets a html source (str) and parses it with BeautifulSoup
19+
20-
    :param source: str()
20+
    def wrapper(*args, **kwargs):
21-
    :return: dict()
21+
        print("print_something_decorator call")
22-
    """
22+
        return func(*args, **kwargs)
23
24-
    soup = BeautifulSoup(source, 'lxml')
24+
    return wrapper
25-
    page_title = soup.title.text
25+
26
@my_timer
27-
    columns = soup.find_all('div', class_="oszlop")
27+
@print_something_decorator
28
def get_all_files(root_folder):
29-
    day_list = []
29+
    print("Listing all files in", root_folder)
30-
    temp_mins = []
30+
    time.sleep( random.randint(2,10) )
31-
    temp_maxes = []
31+
    print("Data ready!")
32-
    for col in columns:
32+
33-
        date_day = col.find('div', class_='nap')
33+
34-
        date_num = col.find('div', class_='datum')
34+
get_all_files("c:/temp/photos")