|
|
@@ -0,0 +1,62 @@
|
|
|
+'''
|
|
|
+
|
|
|
+@author: olivier.massot, 2019
|
|
|
+'''
|
|
|
+import configparser
|
|
|
+from core import constants
|
|
|
+from zipfile import ZipFile
|
|
|
+
|
|
|
+from path import Path
|
|
|
+
|
|
|
+
|
|
|
+build_dir = constants.MAIN / "build"
|
|
|
+version = constants.VERSION
|
|
|
+
|
|
|
+name = f"MnCheck_v{version}.zip"
|
|
|
+
|
|
|
+config = configparser.ConfigParser()
|
|
|
+
|
|
|
+config["general"] = {"name" : "MnCheck",
|
|
|
+ "qgisminimumversion" : "3.4",
|
|
|
+ "description" : "Contrôle des données FTTH format MN",
|
|
|
+ "version" : version,
|
|
|
+ "author" : "Manche Numérique 2019",
|
|
|
+ "email" : constants.CONTACT,
|
|
|
+ "about" : "Auto-contrôle des livrables FTTH aux formats Manche Numérique",
|
|
|
+ "tracker" : "",
|
|
|
+ "repository" : "",
|
|
|
+ "tags" : "python",
|
|
|
+ "homepage" : "http://www.manchenumerique.fr/",
|
|
|
+ "category" : "Plugins",
|
|
|
+ "icon" : "icon.png",
|
|
|
+ "experimental" : "False",
|
|
|
+ "deprecated" : "False"}
|
|
|
+
|
|
|
+with open(build_dir / 'metadata.txt', 'w+') as mdf:
|
|
|
+ config.write(mdf)
|
|
|
+
|
|
|
+with ZipFile(build_dir / name, 'w') as zip_:
|
|
|
+
|
|
|
+ def _zip_write(p):
|
|
|
+ if p.ext == ".pyc":
|
|
|
+ return
|
|
|
+ zip_.write(p, p.relpath(constants.MAIN))
|
|
|
+
|
|
|
+ for f in Path(constants.MAIN / "ext").walkfiles():
|
|
|
+ _zip_write(f)
|
|
|
+ for f in Path(constants.MAIN / "core").walkfiles():
|
|
|
+ _zip_write(f)
|
|
|
+ for f in Path(constants.MAIN / "schemas").walkfiles():
|
|
|
+ _zip_write(f)
|
|
|
+ for f in Path(constants.MAIN / "ui").walkfiles():
|
|
|
+ _zip_write(f)
|
|
|
+
|
|
|
+ _zip_write(constants.MAIN / "__init__.py")
|
|
|
+ _zip_write(constants.MAIN / "main.py")
|
|
|
+ _zip_write(constants.MAIN / "README.md")
|
|
|
+ _zip_write(constants.MAIN / "icon.png")
|
|
|
+ _zip_write(constants.MAIN / "LICENSE")
|
|
|
+
|
|
|
+ zip_.write(build_dir / "metadata.txt", "metadata.txt")
|
|
|
+
|
|
|
+Path(build_dir / "metadata.txt").remove_p()
|