1) Here is a simple code that demonstrates how you can change the dimensions of your animation project for example:
Code: Select all
import zipfile, json
filename = "test.anime"
# 1) extract the zip file
archive = zipfile.ZipFile(filename, "r")
animeprev = archive.read("preview.jpg")
animeproj = archive.read("Project.animeproj")
archive.close()
# 2) edit the json structure
anime = json.loads(animeproj)
anime["project_data"]["width"] = 1920
anime["project_data"]["height"] = 1080
animeproj = json.dumps(anime)
# 3) resave the zip file
archive = zipfile.ZipFile("mod_" + filename, "w", zipfile.ZIP_DEFLATED)
archive.writestr("preview.jpg", animeprev)
archive.writestr("Project.animeproj", animeproj)
archive.close()
Code: Select all
import zipfile, json
filename = "Dragon.anime"
# recursive function to print layer info
def layerprint(path, depth):
for layer in path:
print depth * 2 * "-" + "|", layer["name"], "=", layer["type"]
if layer.has_key("layers"): layerprint(layer["layers"], depth + 1)
# 1) extract the zip file
archive = zipfile.ZipFile(filename, "r")
animeproj = archive.read("Project.animeproj")
archive.close()
# 2) read the json structure
anime = json.loads(animeproj)
layerprint(anime["layers"], 0)
| Dragon = BoneLayer
--| Wing R = BoneLayer
----| Layer 9 = MeshLayer
--| Arm R = BoneLayer
----| Layer 6 = MeshLayer
--| Leg Right = BoneLayer
----| Layer 4 = MeshLayer
--| Body = BoneLayer
----| Body = MeshLayer
----| inside = MeshLayer
----| lines 2 = MeshLayer
----| shading back 2 = MeshLayer
--| Leg Left = BoneLayer
----| Calf = BoneLayer
------| Layer 2 = MeshLayer
------| Layer 2 = MeshLayer
----| foot = MeshLayer
----| thigh = BoneLayer
------| thigh = MeshLayer
------| lines = MeshLayer
------| shading back = MeshLayer
--| Arm L = BoneLayer
----| Layer 6 = MeshLayer
--| Wing = BoneLayer
----| Layer 8 = MeshLayer
--| head = BoneLayer
----| Horn = BoneLayer
------| Layer 5 = MeshLayer
------| Layer 2 = MeshLayer
----| Horn 2 = BoneLayer
------| Layer 5 = MeshLayer
------| Layer 2 = MeshLayer
----| head = MeshLayer
----| ear = MeshLayer
----| eye = MeshLayer