import and export assets with zip folders
This commit is contained in:
@@ -867,7 +867,6 @@ def export_system_full():
|
|||||||
icons = db.execute("SELECT icon_location FROM icons").fetchall()
|
icons = db.execute("SELECT icon_location FROM icons").fetchall()
|
||||||
blinkies = db.execute("SELECT blinkie_location FROM blinkies").fetchall()
|
blinkies = db.execute("SELECT blinkie_location FROM blinkies").fetchall()
|
||||||
stamps = db.execute("SELECT stamp_location FROM stamps").fetchall()
|
stamps = db.execute("SELECT stamp_location FROM stamps").fetchall()
|
||||||
misc = os.listdir(current_app.config["MISC_UPLOAD_FOLDER"])
|
|
||||||
|
|
||||||
data = {}
|
data = {}
|
||||||
data["members"] = []
|
data["members"] = []
|
||||||
@@ -905,8 +904,6 @@ def export_system_full():
|
|||||||
for stamp in stamps:
|
for stamp in stamps:
|
||||||
sname = stamp[0]
|
sname = stamp[0]
|
||||||
zipf.write(current_app.config["STAMPS_UPLOAD_FOLDER"] + "/" + sname)
|
zipf.write(current_app.config["STAMPS_UPLOAD_FOLDER"] + "/" + sname)
|
||||||
#for misc_file in misc:
|
|
||||||
#zipf.write(current_app.config["MISC_UPLOAD_FOLDER"] + "/" + misc_file)
|
|
||||||
|
|
||||||
return send_file("static/tmp/"+zip_name, as_attachment=True)
|
return send_file("static/tmp/"+zip_name, as_attachment=True)
|
||||||
|
|
||||||
@@ -947,6 +944,12 @@ def assets():
|
|||||||
else:
|
else:
|
||||||
file.save(os.path.join(current_app.config["MISC_UPLOAD_FOLDER"], fname+str(i)+"."+ftype))
|
file.save(os.path.join(current_app.config["MISC_UPLOAD_FOLDER"], fname+str(i)+"."+ftype))
|
||||||
|
|
||||||
|
if "images_zip" in request.files:
|
||||||
|
file = request.files["images_zip"]
|
||||||
|
with zipfile.ZipFile(file, "r") as zipf:
|
||||||
|
for f in zipf.namelist():
|
||||||
|
zipf.extract(f)
|
||||||
|
|
||||||
icons = db.execute("SELECT * FROM icons").fetchall()
|
icons = db.execute("SELECT * FROM icons").fetchall()
|
||||||
icon_storage = os.listdir(current_app.config["ICON_UPLOAD_FOLDER"])
|
icon_storage = os.listdir(current_app.config["ICON_UPLOAD_FOLDER"])
|
||||||
|
|
||||||
@@ -1015,6 +1018,16 @@ def delete_misc(filename):
|
|||||||
os.remove(os.path.join(current_app.config["MISC_UPLOAD_FOLDER"], filename))
|
os.remove(os.path.join(current_app.config["MISC_UPLOAD_FOLDER"], filename))
|
||||||
return redirect(url_for("manage.assets"))
|
return redirect(url_for("manage.assets"))
|
||||||
|
|
||||||
|
@bp.route("/export/misc")
|
||||||
|
@login_required
|
||||||
|
def export_misc():
|
||||||
|
misc = os.listdir(current_app.config["MISC_UPLOAD_FOLDER"])
|
||||||
|
zip_name = "myriad_assets.zip"
|
||||||
|
zip_path = current_app.config["TMP_FOLDER"] + "/" + zip_name
|
||||||
|
with zipfile.ZipFile(zip_path, "w") as zipf:
|
||||||
|
for misc_file in misc:
|
||||||
|
zipf.write(current_app.config["MISC_UPLOAD_FOLDER"] + "/" + misc_file)
|
||||||
|
return send_file("static/tmp/"+zip_name, as_attachment=True)
|
||||||
|
|
||||||
# GROUPS
|
# GROUPS
|
||||||
|
|
||||||
|
|||||||
@@ -71,6 +71,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<p><a href="{{ url_for('manage.export_misc') }}">Export all assets to zip</a></p>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p>Import assets from a zip folder</p>
|
||||||
|
<form method="post" enctype="multipart/form-data" id="images_zip">
|
||||||
|
<input type="file" name="images_zip" class="mobile-edit">
|
||||||
|
<input type="submit" value="Upload ZIP">
|
||||||
|
</form>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function copyURL(a) {
|
function copyURL(a) {
|
||||||
navigator.clipboard.writeText(a);
|
navigator.clipboard.writeText(a);
|
||||||
|
|||||||
Reference in New Issue
Block a user