allahım pisi ne kadar kolay, bu amcada ChangeLog'ları generate etmek için kullanığım araç. İlerde belki direkt çıkartırız falan tag'lardan...

This commit is contained in:
S.Çağlar Onur
2005-10-08 02:48:08 +00:00
parent 8e779786f8
commit 02e4d5f590
+62
View File
@@ -0,0 +1,62 @@
#!/usr/bin/python
# -*- conding: utf-8 -*-
import os
import sys
import datetime
sys.path.append('.')
import pisi.specfile
def scanPSPEC(folder):
packages = []
for root, dirs, files in os.walk(folder):
if "pspec.xml" in files:
packages.append(root)
# dont walk into the versioned stuff
if ".svn" in dirs:
dirs.remove(".svn")
return packages
if __name__ == "__main__":
try:
packages = scanPSPEC(sys.argv[1])
except:
print "Usage: ChangeLogGenerator.py path2repo"
sys.exit(1)
for package in packages:
spec = pisi.specfile.SpecFile()
spec.read(os.path.join(package, "pspec.xml"))
name = spec.source.name.encode('utf-8')
version = spec.source.history[0].version.encode('utf-8')
date = spec.source.history[0].date.encode('utf-8')
packager = spec.source.packager.name.encode('utf-8')
mail = spec.source.packager.email.encode('utf-8')
try:
year, month, day = date.split("-")
n = datetime.date(int(year), int(month), int(day))
except ValueError, e:
print "Package %s: Wrong Format:" % name
date = n.strftime("%d %b %Y")
log='''# ChangeLog for %s
# Copyright © 2005 TUBITAK/UEKAE
# Licensed under the GNU General Public License, version 2.
* %s-%s (%s)
%s; %s <caglar@uludag.org.tr>
Initial import
''' % (name, name, version, date, date, packager)
file = os.path.join(package, "ChangeLog")
if not os.path.exists(file):
dest = open(file, "w")
dest.write(log)
dest.close()