Skip to content
Snippets Groups Projects
Commit 4896a698 authored by Oliwer Mattsson's avatar Oliwer Mattsson :headphones:
Browse files

Laddade upp godkänd datalager.

parent 6145e18d
No related branches found
No related tags found
No related merge requests found
......@@ -11,10 +11,12 @@ import os
import json
import pprint
import re
import unicodedata
from operator import itemgetter
# ---- IMPORTS ---- #
def load(filename):
try:
......@@ -35,14 +37,18 @@ def save(data):
file.close()
# Update unique techniques if user added new ones to the file.
get_techniques_stats(data)
# Reload data
load()
# Get project count
def get_project_count(data):
return len(data)
# Get project by ID
def get_project(data, id):
......@@ -50,12 +56,6 @@ def get_project(data, id):
if data[n]['project_id'] == id:
return data[n]
# Get project count
def get_project_count(data):
return len(data)
# Get all unique techniques from project
......@@ -94,7 +94,11 @@ def get_technique_stats(data):
# Fetches and sorts projects matching criteria from the specified list.
def search(data, sort_by='project_id', sort_order='desc', techniques=None, search=None, search_field=None):
def search(data, sort_by='start_date', sort_order='desc', techniques=None, search=None, search_fields=None):
if type(search) == str:
search = search.lower()
results = []
# get it
......@@ -102,16 +106,88 @@ def search(data, sort_by='project_id', sort_order='desc', techniques=None, searc
results.append(project)
# sort it
sorted_list = sorted(results, key=itemgetter(sort_by))
results = sorted(results, key=itemgetter(sort_by))
# order it
if sort_order == 'asc': results.reverse()
if sort_order == 'desc': results.reverse()
# filter it (by techniques)
for project in sorted_list:
pass
if techniques != None:
for technique in get_techniques(data):
for project in results:
if all(n in project['techniques_used'] for n in techniques):
pass
else:
results.pop(results.index(project))
# search for it
if search != None:
pass
search_results = []
for project in results:
if search_fields != None and search_fields != "" and search != "":
for field in search_fields:
substring = project[field]
if type(substring) == str:
substring = substring.lower()
if substring.find(search) != -1:
search_results.append(project)
break
if type(substring) == int:
if str(substring).find(search) != -1:
search_results.append(project)
break
if type(substring) == list:
for subsubstring in substring:
if type(subsubstring) == str:
if subsubstring.find(search) != -1:
search_results.append(project)
break
if type(subsubstring) == int:
if str(subsubstring).find(search) != -1:
search_results.append(project)
break
elif search_fields == "":
results.clear()
break
else:
for substring in list(project.values()):
substring = substring.lower()
print(type(substring))
if type(substring) == str:
if substring.find(search) != -1:
search_results.append(project)
break
if type(substring) == int:
if str(substring).find(search) != -1:
search_results.append(project)
break
if type(substring) == list:
for subsubstring in substring:
if type(subsubstring) == str:
if subsubstring.find(search) != -1:
search_results.append(project)
break
if type(subsubstring) == int:
if str(subsubstring).find(search) != -1:
search_results.append(project)
break
results = search_results
#pprint.pp(results)
return results
......@@ -196,7 +272,6 @@ def edit_project(data, id):
def delete_project(data):
pass
......@@ -245,15 +320,14 @@ def menu(data):
def main():
data = load('data.json')
menu(data)
data = load('MyPortfolio/data.json')
#menu(data)
get_technique_stats(data)
#search(data, 'project_id', 'desc')
if __name__ == "__main__":
main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment