12345678910111213141516171819202122232425262728293031323334353637383940 |
- # -*- coding: utf-8 -*-
- import piksemel
- import sys
- import os
- pythonPath="/usr/lib/python%d.%d" % sys.version_info[:2]
- def byteCompile(filepath):
- doc = piksemel.parse(filepath)
- paths = []
- for item in doc.tags("File"):
- path = item.getTagData("Path")
- if path.endswith(".py") and not path.startswith("usr/share/doc/"):
- paths.append("/"+path)
- if paths:
- os.system("/usr/bin/python %s/py_compile.py %s" % (pythonPath, " ".join(paths)))
- def removeByteCompiled(filepath):
- doc = piksemel.parse(filepath)
- for item in doc.tags("File"):
- path = item.getTagData("Path")
- if path.endswith(".py"):
- try:
- # Remove .pyc and .pyo
- os.unlink("/%sc" % path)
- os.unlink("/%so" % path)
- except OSError:
- pass
- def setupPackage(metapath, filepath):
- byteCompile(filepath)
- def cleanupPackage(metapath, filepath):
- pass
- def postCleanupPackage(metapath, filepath):
- removeByteCompiled(filepath)
|