aboutsummaryrefslogtreecommitdiff
path: root/ipsutils-newspec.py
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2013-06-05 15:18:42 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2013-06-05 15:18:42 -0400
commit744c45857bf277de6598d45134dc4e62ea0ebb98 (patch)
tree58ce01e2fa2a7686e7507249e3595ea018e32df6 /ipsutils-newspec.py
parentd379001c4b7d539773db39f8d21166c0a8059697 (diff)
downloadipsutils-744c45857bf277de6598d45134dc4e62ea0ebb98.tar.gz
Initial commit
Diffstat (limited to 'ipsutils-newspec.py')
-rwxr-xr-xipsutils-newspec.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/ipsutils-newspec.py b/ipsutils-newspec.py
new file mode 100755
index 0000000..5e83d0c
--- /dev/null
+++ b/ipsutils-newspec.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python
+# This file is part of ipsutils.
+
+# ipsutils is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# ipsutils is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with ipsutils. If not, see <http://www.gnu.org/licenses/>.
+import argparse
+import ipsutils
+import os.path
+
+
+parser = argparse.ArgumentParser(description='Generates a fresh .ips spec file')
+parser.add_argument('spec', nargs='*', help='name of package(s)')
+args = parser.parse_args()
+
+if args.spec:
+ for spec in args.spec:
+ spec_template = ipsutils.config.Config()
+ spec_template.key_dict['name'] = os.path.splitext(os.path.basename(spec))[0]
+ spec_template.key_dict['release'] = '1'
+
+ print("Generating '{}' spec file".format(spec))
+ fp = file(spec, 'w+')
+ for key, val in spec_template.key_dict.items():
+ if key is 'description' \
+ or key is 'classification' \
+ or key is 'summary' \
+ or key is 'maintainer':
+ val = '""'
+ fp.write('{}: {}\n'.format(key, val))
+ fp.write('\n')
+
+ for key in spec_template.script_dict.keys():
+ fp.write('\n')
+ fp.write('%{}\n\n'.format(key))
+ fp.write('%end\n')
+ fp.flush()
+ fp.close()