diff --git a/ennstatus/donate/functions.py b/ennstatus/donate/functions.py
--- a/ennstatus/donate/functions.py
+++ b/ennstatus/donate/functions.py
@@ -17,19 +17,6 @@
import os
import os.path
import csv
-import statistics
-
-from collections import defaultdict
-
-from babel.numbers import parse_decimal
-
-
-def load_csv_file(file):
-
- with open(file, encoding='utf-8', newline='') as csvfile:
- csvreader = csv.reader(csvfile, delimiter=',')
- rows = list(csvreader)
- return rows
def load_csv(date):
@@ -37,8 +24,11 @@ def load_csv(date):
filename = '.'.join([date, 'csv'])
path = os.path.join('donations', filename)
- for row in load_csv_file(path):
- yield row
+ with open(path, encoding='utf-8', newline='') as csvfile:
+ csvreader = csv.reader(csvfile, delimiter=',')
+
+ for row in csvreader:
+ yield row
def get_choices():
@@ -49,141 +39,3 @@ def get_choices():
if not file.startswith('.') \
and file.endswith('.csv'):
yield os.path.splitext(file)[0]
-
-
-def get_all_csv():
-
- for file in os.listdir('donations'):
- path = os.path.join('donations', file)
- yield load_csv_file(path)
-
-
-def get_all_rows():
-
- for csvfile in get_all_csv():
- for row in csvfile:
- yield row
-
-
-def all_csv_to_dict():
-
- data = defaultdict(set)
-
- for row in get_all_rows():
- data[row[0]].add(parse_decimal(row[2], locale='de'))
- return data
-
-
-def data_to_year(data):
-
- year_data = defaultdict(set)
-
- for date, values in data.items():
- year = date.split('-')[0]
- for value in values:
- year_data[year].add(value)
-
- return year_data
-
-
-def data_to_month(data):
-
- month_data = defaultdict(set)
-
- for date, values in data.items():
- month = date.rsplit('-', maxsplit=1)[0]
- for value in values:
- month_data[month].add(value)
-
- return month_data
-
-
-def year_sum(data):
-
- year_data = data_to_year(data)
-
- for year, values in year_data.items():
- year_data[year] = sum(values)
-
- return year_data
-
-
-def month_sum(data):
-
- month_data = data_to_month(data)
-
- for month, values in month_data.items():
- month_data[month] = sum(values)
-
- return month_data
-
-
-def get_all_years_mean(data):
-
- mean = set()
- year_data = year_sum(data)
-
- for year, values in year_data.items():
- mean.add(values)
-
- return statistics.mean(mean)
-
-
-def get_months_mean(data):
-
- mean = set()
- month_data = month_sum(data)
-
- for year, values in month_data.items():
- mean.add(values)
-
- return statistics.mean(mean)
-
-
-def get_best_year(data):
-
- year_data = year_sum(data)
- return max(year_data.items(), key=lambda x: x[1])
-
-
-def get_best_month(data):
-
- month_data = month_sum(data)
- return max(month_data.items(), key=lambda x: x[1])
-
-
-def get_highest_donation():
-
- data = all_csv_to_dict()
-
- for date, values in data.items():
- data[date] = max(values)
-
- return max(
- sorted(
- data.items(),
- key=lambda x: x[0],
- reverse=True
- ),
- key=lambda x: x[1]
- )
-
-
-def get_median_donation():
- data = all_csv_to_dict()
- donations = []
-
- for value in data.values():
- donations.extend(value)
-
- return statistics.median(donations)
-
-
-def get_mode_donation():
- data = all_csv_to_dict()
- donations = []
-
- for value in data.values():
- donations.extend(value)
-
- return statistics.mode(donations)
diff --git a/ennstatus/donate/views.py b/ennstatus/donate/views.py
--- a/ennstatus/donate/views.py
+++ b/ennstatus/donate/views.py
@@ -14,27 +14,13 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
Flag icons provided by: famfamfam
diff --git a/setup.py b/setup.py --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ def _get_requirements(): setup(name='Ennstatus', - version='5.3.0-dev', + version='5.3.0', description=('Ennstatus provides the user with vital information about ' 'the status of the organizations Tor servers.'), author='Frënn vun der Ënn',