diff options
Diffstat (limited to 'wmfphablib')
-rwxr-xr-x | wmfphablib/phabapi.py | 29 | ||||
-rwxr-xr-x | wmfphablib/phabdb.py | 11 | ||||
-rw-r--r-- | wmfphablib/util.py | 4 |
3 files changed, 26 insertions, 18 deletions
diff --git a/wmfphablib/phabapi.py b/wmfphablib/phabapi.py index d6df30d..9f2dbe7 100755 --- a/wmfphablib/phabapi.py +++ b/wmfphablib/phabapi.py @@ -93,36 +93,43 @@ class phabapi: :param pmembers: list :param view: str :param edit str""" - - existing_proj = self.con.project.query(names=[project_name]) - - - if not existing_proj['data']: + existing_proj = phabdb.get_project_phid(project_name) + #print "EXISTING PROJ: ", existing_proj + #print "EXISTING PROJ TYPE: ", type(existing_proj) + #existing_proj = self.con.project.query(names=[project_name]) + if not existing_proj: log('need to create project(s) ' + project_name) try: new_proj = self.con.project.create(name=project_name, members=pmembers) #XXX: Bug where we have to specify a members array! except phabricator.APIError: pass - existing_proj = self.con.project.query(names=[project_name]) - log(str(existing_proj)) - phid = existing_proj['data'][existing_proj['data'].keys()[0]]['phid'] + phid = phabdb.get_project_phid(project_name) + if not phid: + raise Exception("Project %s does not exist still." % (project_name,)) + #existing_proj = self.con.project.query(names=[project_name]) + #log(str(existing_proj)) + #phid = existing_proj['data'][existing_proj['data'].keys()[0]]['phid'] phabdb.set_project_policy(phid, view, edit) else: - phid = existing_proj['data'][existing_proj['data'].keys()[0]]['phid'] + phid = existing_proj + #phid = existing_proj['data'][existing_proj['data'].keys()[0]]['phid'] log(project_name + ' exists') return phid - def upload_file(self, name, data, dump=False): + def upload_file(self, name, data, viewPolicy, dump=False): if dump: with open(name, 'wb') as f: f.write(data) + log("upload policy for %s is %s" % (name, viewPolicy)) out = {} self.con.timeout = config.file_upload_timeout encoded = base64.b64encode(data) - uploadphid = self.con.file.upload(name=name, data_base64=encoded) + uploadphid = self.con.file.upload(name=name, + data_base64=encoded, + viewPolicy=viewPolicy) out['phid'] = uploadphid log("%s upload response: %s" % (name, uploadphid.response)) fileid = phabdb.get_file_id_by_phid(uploadphid.response) diff --git a/wmfphablib/phabdb.py b/wmfphablib/phabdb.py index d4ddf2d..220ff5f 100755 --- a/wmfphablib/phabdb.py +++ b/wmfphablib/phabdb.py @@ -239,6 +239,7 @@ def is_bot(userphid): from user where phid=%s", (userphid,), limit=1) p.close() + if not isbot: raise Exception("user is not a present") if int(isbot[0][0]) > 0: @@ -352,6 +353,7 @@ def set_comment_author(transxphid, userphid): SET authorPHID=%s \ WHERE transactionPHID=%s", (userphid, transxphid)) + p.close() def set_task_mtime(taskphid, mtime): """set manual epoch modtime for task @@ -416,8 +418,8 @@ def get_emails(modtime=0): user=phuser_user, passwd=phuser_passwd) query = "SELECT address from user_email" - _ = pmig.sql_x(query, (), limit=None) - pmig.close() + _ = p.sql_x(query, (), limit=None) + p.close() if not _: return '' return _ @@ -804,9 +806,8 @@ def remove_reference(refname): :param refname: str """ - p = phdb(db='phabricator_maniphest', - user=phmanifest_user, - passwd=phmanifest_passwd) + p = phdb(db='phabricator_maniphest', user=phuser_user, passwd=phuser_passwd) + _ = p.sql_x("DELETE from \ maniphest_customfieldstringindex \ WHERE indexValue=%s", (refname,)) diff --git a/wmfphablib/util.py b/wmfphablib/util.py index 7ec1e36..c22c649 100644 --- a/wmfphablib/util.py +++ b/wmfphablib/util.py @@ -141,8 +141,8 @@ def remove_issue_by_bugid(bugid, ref): notice("!Removing issue T%s!" % (issueid,)) out = '' out += destroy_issue(issueid) - out += phabdb.remove_reference("%s%s" % (ref, bugid)) - out += phabdb.reference_ticket("%s%s" % (ref, bugid)) + out += str(phabdb.remove_reference("%s%s" % (ref, bugid))) + out += str(phabdb.reference_ticket("%s%s" % (ref, bugid))) return out def return_bug_list(dbcon=None, priority=None): |