Files
pisi/scripts/cleanCache.py
T
Onur Küçük dd37032f0f step 2
2006-09-19 16:18:10 +00:00

66 lines
1.6 KiB
Python
Executable File

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import sys
import glob
import string
import pisi.util as util
from pisi.version import Version
def findUnneededFiles():
listdir = map(lambda x: os.path.basename(x).split(".pisi")[0], glob.glob("/var/cache/pisi/packages/*.pisi"))
listdir.sort()
dict = {}
for f in listdir:
try:
name, version = util.parse_package_name(f)
if dict.has_key(name):
if Version(dict[name]) < Version(version):
dict[name] = version
else:
if version:
dict[name] = version
except:
pass
for f in dict:
listdir.remove("%s-%s" % (f, dict[f]))
return listdir
def usage(msg):
print """
Error: %s
Usage:
cleanCache --dry-run (Shows unneeded files)
cleanCache --clean (Removes unneeded files)
""" % msg
sys.exit(1)
if __name__ == "__main__":
try:
sys.argv[1]
except IndexError:
usage("Unsufficient arguments...")
root = "/var/cache/pisi/packages"
if sys.argv[1] == "--dry-run":
for i in findUnneededFiles():
if os.path.exists("%s/%s.pisi" % (root, i)):
print "%s.pisi" % i
elif sys.argv[1] == "--clean":
for i in findUnneededFiles():
if os.path.exists("%s/%s.pisi" % (root, i)):
try:
os.remove("%s/%s.pisi" % (root, i))
except OSError:
usage("Permission denied...")
else:
usage("No command given...")