From 02e4d5f59003a50e7146cb6f073e8d73560c5bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=2E=C3=87a=C4=9Flar=20Onur?= Date: Sat, 8 Oct 2005 02:48:08 +0000 Subject: [PATCH] =?UTF-8?q?allah=C4=B1m=20pisi=20ne=20kadar=20kolay,=20bu?= =?UTF-8?q?=20amcada=20ChangeLog'lar=C4=B1=20generate=20etmek=20i=C3=A7in?= =?UTF-8?q?=20kullan=C4=B1=C4=9F=C4=B1m=20ara=C3=A7.=20=C4=B0lerde=20belki?= =?UTF-8?q?=20direkt=20=C3=A7=C4=B1kart=C4=B1r=C4=B1z=20falan=20tag'lardan?= =?UTF-8?q?...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/ChangeLogGenerator.py | 62 +++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tools/ChangeLogGenerator.py diff --git a/tools/ChangeLogGenerator.py b/tools/ChangeLogGenerator.py new file mode 100644 index 00000000..a3ee9a0b --- /dev/null +++ b/tools/ChangeLogGenerator.py @@ -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 + 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()