mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-05-06 05:01:48 +02:00
Remove temp file in upload_json()
This commit is contained in:
parent
7e6fc168e8
commit
51b7d2caff
2 changed files with 7 additions and 14 deletions
|
@ -4,6 +4,7 @@ import ast
|
||||||
import operator
|
import operator
|
||||||
|
|
||||||
from io import BytesIO, StringIO
|
from io import BytesIO, StringIO
|
||||||
|
|
||||||
import jinja2
|
import jinja2
|
||||||
from json import dumps, JSONEncoder
|
from json import dumps, JSONEncoder
|
||||||
from flask import redirect, current_app
|
from flask import redirect, current_app
|
||||||
|
@ -11,6 +12,7 @@ from babel import Locale
|
||||||
from werkzeug.routing import HTTPException, RoutingException
|
from werkzeug.routing import HTTPException, RoutingException
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
|
|
||||||
import csv
|
import csv
|
||||||
|
|
||||||
|
|
||||||
|
@ -255,8 +257,3 @@ def same_bill(bill1, bill2):
|
||||||
if bill1[a] != bill2[a]:
|
if bill1[a] != bill2[a]:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def parse_date(string_date):
|
|
||||||
date = string_date.split("-")
|
|
||||||
return datetime(int(date[0]), int(date[1]), int(date[2]), 0, 0, 0)
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ import os
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from smtplib import SMTPRecipientsRefused
|
from smtplib import SMTPRecipientsRefused
|
||||||
|
|
||||||
|
from dateutil.parser import parse
|
||||||
from flask import (
|
from flask import (
|
||||||
abort,
|
abort,
|
||||||
Blueprint,
|
Blueprint,
|
||||||
|
@ -53,7 +54,6 @@ from ihatemoney.utils import (
|
||||||
LoginThrottler,
|
LoginThrottler,
|
||||||
get_members,
|
get_members,
|
||||||
same_bill,
|
same_bill,
|
||||||
parse_date,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
main = Blueprint("main", __name__)
|
main = Blueprint("main", __name__)
|
||||||
|
@ -399,17 +399,13 @@ def edit_project():
|
||||||
@main.route("/<project_id>/upload_json", methods=["GET", "POST"])
|
@main.route("/<project_id>/upload_json", methods=["GET", "POST"])
|
||||||
def upload_json():
|
def upload_json():
|
||||||
form = UploadForm()
|
form = UploadForm()
|
||||||
pid = g.project.id
|
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
filename = pid + "_uploaded_bills.json"
|
file = form.file.data.stream.read()
|
||||||
form.file.data.save(filename)
|
|
||||||
try:
|
try:
|
||||||
import_project(filename)
|
import_project(file)
|
||||||
flash(_("Project successfully uploaded"))
|
flash(_("Project successfully uploaded"))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
flash(_("Invalid JSON"), category="error")
|
flash(_("Invalid JSON"), category="error")
|
||||||
finally:
|
|
||||||
os.remove(filename)
|
|
||||||
return redirect(url_for("main.list_bills"))
|
return redirect(url_for("main.list_bills"))
|
||||||
|
|
||||||
return render_template("upload_json.html", form=form)
|
return render_template("upload_json.html", form=form)
|
||||||
|
@ -417,7 +413,7 @@ def upload_json():
|
||||||
|
|
||||||
def import_project(file):
|
def import_project(file):
|
||||||
# From json : export list of members
|
# From json : export list of members
|
||||||
json_file = json.load(open(file))
|
json_file = json.loads(file)
|
||||||
members_json = get_members(json_file)
|
members_json = get_members(json_file)
|
||||||
members = g.project.members
|
members = g.project.members
|
||||||
members_already_here = list()
|
members_already_here = list()
|
||||||
|
@ -463,7 +459,7 @@ def import_project(file):
|
||||||
form = get_billform_for(g.project)
|
form = get_billform_for(g.project)
|
||||||
form.what = b["what"]
|
form.what = b["what"]
|
||||||
form.amount = b["amount"]
|
form.amount = b["amount"]
|
||||||
form.date = parse_date(b["date"])
|
form.date = parse(b["date"])
|
||||||
form.payer = id_dict[b["payer_name"]]
|
form.payer = id_dict[b["payer_name"]]
|
||||||
form.payed_for = owers_id
|
form.payed_for = owers_id
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue