blob: 80ef9a63ff8ad156a37668adcd0e6f5892bfadad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
#!/usr/bin/python3
# -*- coding: utf-8 -*-
#
# Copyright © 2015 Mattia Rizzolo <mattia@mapreri.org>
# Licensed under GPL-2
#
# Depends: python3
#
# Choose which packages should trigger an email to the maintainer when the
# reproducibly status change
import argparse
parser = argparse.ArgumentParser(
description='Choose which packages should trigger an email to the ' +
'maintainer when the reproducibly status change',
epilog='The build results will be announced on the #debian-reproducible' +
' IRC channel.')
group = parser.add_mutually_exclusive_group()
parser.add_argument('-o', '--deactivate', action='store_true',
help='Deactivate the notifications')
group.add_argument('-p', '--packages', default='', nargs='+',
help='list of packages for which activate notifications')
local_args = parser.parse_known_args()[0]
# these are here as an hack to be able to parse the command line
from reproducible_common import *
class bcolors:
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
GOOD = '\033[92m'
WARN = '\033[93m' + UNDERLINE
FAIL = '\033[91m' + BOLD + UNDERLINE
ENDC = '\033[0m'
packages = local_args.packages
if not packages:
log.critical(bcolors.FAIL + 'You have to specify at least a package' +
bcolors.ENDC)
def _good(text):
log.info(bcolors.GOOD + str(text) + bcolors.ENDC)
c = conn_db.cursor()
for package in packages:
if local_args.deactivate:
_good('Deactovating notification for package ' + str(package))
flag = 0
else:
_good('Activating notification for package ' + str(package))
flag = 1
rows = c.execute(('UPDATE OR FAIL sources SET notify_maintainer="{}" ' +
'WHERE name="{}"').format(flag, package)).rowcount
conn_db.commit()
if rows == 0:
log.error(bcolors.FAIL + str(package) + ' does not exists')
sys.exit(1)
if DEBUG:
log.debug('Double check the change:')
query = 'SELECT * FROM sources WHERE name="{}"'.format(package)
log.debug(query_db(query))
|