distribusi-verse/verse/statuspengguna/helper.py

91 lines
2.6 KiB
Python
Raw Normal View History

import os
from flask_login import current_user
2022-03-04 19:08:55 +01:00
from flask import flash
from usermodel import User
from distribusimodel import Distribusis
2022-03-04 19:08:55 +01:00
from app import db
2022-03-04 19:08:55 +01:00
def IsZipUploaded(distribusiname):
userfolder = os.path.join("stash", distribusiname)
if os.path.exists(userfolder):
2022-03-04 19:08:55 +01:00
zipfilename = "{}.zip".format(distribusiname)
if os.path.exists(os.path.join(userfolder, zipfilename)):
print("folder with zipfile found, file uploaded")
return True
2022-03-18 17:32:49 +01:00
print("distribusi folder has no zipfile")
return False
def IsDistribusiLive(distribusiname):
userfolder = os.path.join("stash", distribusiname)
if os.path.exists(userfolder):
zipfilename = "{}.zip".format(distribusiname)
if os.path.exists(os.path.join(userfolder, zipfilename)):
print("folder with zipfile found, file uploaded")
return False
if len(os.listdir(userfolder)) > 0:
return True
2022-03-04 19:08:55 +01:00
print("distribusi folder is empty")
return False
2022-03-04 21:10:06 +01:00
def IsCssSelected(distribusiname):
2022-03-18 17:32:49 +01:00
userfolder = os.path.join("themes/userstyles", distribusiname)
2022-03-04 21:10:06 +01:00
if os.path.exists(userfolder):
for file in os.listdir(userfolder):
if file.endswith(".css"):
return True
print("distribusi folder has no css file")
return False
def HasDistribusi():
user = User.query.filter_by(email=current_user.email).first()
distribusi = Distribusis.query.filter_by(userid=user.id).first()
if distribusi is None:
print("no distribusi found")
return False
return True
def CurrentDistribusi():
user = User.query.filter_by(email=current_user.email).first()
if user.currentdistribusi is None:
return "None"
return user.currentdistribusi
def DistribusiSelected():
user = User.query.filter_by(email=current_user.email).first()
if user.currentdistribusi is None:
return False
return True
2022-03-04 19:08:55 +01:00
def ResetUserState():
"""reset user state upon visiting index, so that distribusi workflow can
be done correctly"""
try:
user = User.query.filter_by(email=current_user.email).first()
user.currentdistribusi = None
db.session.commit()
except:
db.session.rollback()
flash("An error occured !", "danger")
2022-03-18 17:32:49 +01:00
def SelectCurrentDistribusi(distribusiname):
user = User.query.filter_by(email=current_user.email).first()
try:
user.currentdistribusi = distribusiname
db.session.commit()
except:
db.session.rollback()
flash("An error occured !", "danger")
# def IsThemeSelected
# def IsCustomThemePresent
# def IsDistribusiLive