tfuncs.py - devuan-releasebot - devuan's releasebot reimplemented (scorsh version)
HTML git clone git://parazyd.org/devuan-releasebot.git
DIR Log
DIR Files
DIR Refs
DIR LICENSE
---
tfuncs.py (1671B)
---
1 # See LICENSE file for copyright and license details.
2
3 """
4 Common releasebot functions
5 """
6
7 from os.path import isfile, join
8
9 from config import templatedir, vcs_credentials
10
11
12 def read_template(jobtype, distro):
13 """
14 Reads a template file into memory
15 """
16 fpath = join(templatedir, distro, jobtype+'-config.xml')
17 if isfile(fpath):
18 return open(fpath).read()
19
20 return None
21
22
23 def fill_template(pkgname, jobtype, distro, arches=None, desc=None,
24 git_uri=None, buildvar='', sequential=None, jlabels=None):
25 """
26 Fills up blanks in the template
27 """
28 tmpl = read_template(jobtype, distro)
29
30 if tmpl:
31 if not git_uri:
32 git_uri = 'https://git.devuan.org/devuan-packages/%s.git' % pkgname
33 if not desc:
34 desc = 'Releasebot created Jenkins job for %s %s packaging' % \
35 (pkgname, jobtype)
36 archlist = ''
37 for arch in arches:
38 archlist += ' <string>%s</string>\n' % arch
39
40 jlablist = ''
41 for lab in jlabels:
42 jlablist += ' <string>%s</string>\n' % lab
43
44 tmpl = tmpl.replace('{{{PKGNAME}}}', pkgname)
45 tmpl = tmpl.replace('{{{GIT_URI}}}', git_uri)
46 tmpl = tmpl.replace('{{{GIT_CREDENTIALS}}}', vcs_credentials)
47 tmpl = tmpl.replace('{{{DESCRIPTION}}}', desc)
48 tmpl = tmpl.replace('{{{ARCHITECTURES}}}', archlist)
49 tmpl = tmpl.replace('{{{LABELS}}}', jlablist)
50 tmpl = tmpl.replace('{{{BUILD_ADDVAR}}}', buildvar)
51 tmpl = tmpl.replace('{{{RUNSEQUENTIAL}}}', sequential)
52 return tmpl
53
54 return None