25
29
proxy.inserttoken([record], branch_url, ','.join(complete_bugs[record]['developers']), complete_bugs[record]['from_merge'])
27
31
class GforgeUpdater(object):
33
def open_connection(self):
34
server="kecompil.dev.gen01.ke.p.fti.net"
38
self.conn = MySQLdb.connect(
43
self.curs = self.conn.cursor()
45
def close_connection(self):
49
def run_update(self, query):
50
self.curs.execute(query)
53
def run_select(self, query):
55
self.curs.execute(query)
56
ret = self.curs.fetchall()
57
print "#### %s " % str(ret)
28
60
def update(self, records, gforge_project, username, branch_url, old_revno, new_revno,complete_bugs):
29
if gforge_project is not None:
30
# Transform set in array for serialization
38
'Repository': gforge_project,
39
"FileName" : branch_url,
40
'PrevVersion': old_revno,
41
'ActualVersion' : new_revno,
42
'Log' : 'Publication sur gforge',
44
'ArtifactNumbers' : a_bugs,
45
"CvsDate" : int(time.time())
49
post_vars['data'] = s.serialize(SubmitVars)
50
post_params = urllib.urlencode(post_vars)
52
headers = {"Content-type": "application/x-www-form-urlencoded",
53
"Accept": "text/plain"}
54
conn = httplib.HTTPConnection(GFORGE_SERVER)
55
conn.request("POST", "/plugins/cvstracker/newcommit.php", post_params , headers)
56
response = conn.getresponse()
57
data = response.read()
61
#proxy = xmlrpclib.ServerProxy(SUNTOOL_SERVER)
62
#proxy.insertreleasenotes()
64
self.open_connection()
65
for record in complete_bugs.iterkeys():
67
query = "select id from gforge_records where id=%s" % record
68
if not len( self.run_select(query) ):
69
# Recuperation du titre via soap
70
print "recuperation du record %s" % record
72
GFORGE = gforge.GForgeProxy(ui.ui_factory)
73
print "#### %s" % str(GFORGE.session)
74
title = GFORGE.get_title(int(record))
77
insert_gforge = "insert into gforge_records (id, title) values (%s, '%s')" % (record, title.replace("'", ""))
78
self.run_update(insert_gforge)
84
updatequery = """insert ignore into bzr_branch_gforge_records (idbzr, idgforge)
85
select bzr_branch_id, %s from bzr_branch
86
where bzr_branch_name="%s"
87
""" % (record, branch_url)
88
self.run_update(updatequery )
90
self.close_connection()
62
93
# Dictionary containing the handled tracker for updates and the method abugtrackerssociated to the update action
63
#RECORDS_UPDATERS = {"sunke" : SuntoolUpdater(), "gforge" : GforgeUpdater()}
64
RECORDS_UPDATERS = {"sunke" : SuntoolUpdater() }
94
RECORDS_UPDATERS = {"sunke" : SuntoolUpdater(), "gforge" : GforgeUpdater()}
95
#RECORDS_UPDATERS = {"sunke" : SuntoolUpdater() }
66
99
class RecordsAnalyser(object):