Esempio n. 1
0
 def ListBranchs(self,workdir,owner=''):
     global msg
     if owner == '':
         owner = Config.Owner
     msg = Job.createGetBranchs(workdir=workdir, scm=self.scm, owner=owner)
     result = self._send(msg)
     return result.split("\n")
Esempio n. 2
0
 def Pull(self, repo, workdir, key, owner=''):
     global msg
     if owner == '':
         owner = Config.Owner
     msg = Job.createPullMessage(owner, workdir, self.sshkey, self.scm, options=self.options)
     result = self._send(msg)
     return result
Esempio n. 3
0
    def ListCommits(self, workdir, page=0, rpp=10, owner='', options=None):
        if owner == '':
            owner = Config.Owner
        msg = Job.createListCommitsMessage(workdir=workdir,
                                           scm=self.scm,
                                           owner=owner,
                                           key=self.sshkey,
                                           options=options)
        res = self._send(msg)
        result = []
        #HEAD = True
        for line in res.split("\n"):
            if line == "": continue
            info = line.split(",,")
            # print line
            #   if HEAD:
            #      info[0] = "HEAD"
            #     HEAD = False
            try:

                d = {
                    "Hash": info[0],
                    "Short": info[1],
                    "Author": info[2],
                    "Committed": info[3],
                    "Message": info[4]
                }
                result.append(d)

            except:
                print "Error while parsing line (%s)" % line
        #print result
        return result
Esempio n. 4
0
 def ListTags(self, workdir, owner=''):
     global msg
     if owner == '':
         owner = Config.Owner
     msg = Job.createListTagsMessage(workdir=workdir,
                                     scm=self.scm,
                                     key=self.sshkey,
                                     owner=owner)
     result = self._send(msg)
     if result == "Done": return []
     #print result
     res = []
     for line in result.split("\n"):
         if line == "": continue
         info = line.split(",,")
         Date = datetime.datetime.strptime(
             info[2][:-6],
             "%a %b %d %H:%M:%S %Y").strftime("%Y-%m-%d %H:%M:%S")
         res.append({
             "Tag": info[0],
             "Tagger": info[1],
             "Date": Date,
             "Commit": info[3]
         })
     if len(res) > 0:
         newlist = sorted(res, key=itemgetter('Date'), reverse=True)
         return newlist
     else:
         return []
Esempio n. 5
0
 def ListBranchs(self, workdir, owner=''):
     global msg
     if owner == '':
         owner = Config.Owner
     msg = Job.createGetBranchs(workdir=workdir, scm=self.scm, owner=owner)
     result = self._send(msg)
     return result.split("\n")
Esempio n. 6
0
def checkStatus(domain,port,id,owner,waitTillCompleted=True,retry=True):
	#print "retry in CheckStatus:",retry
			
	Connect.domain= domain
	Connect.port  = port
	status = Job.checkJobStatus(Connect,id,owner,waitTillCompleted,retry)
	return status
Esempio n. 7
0
 def SwitchTag(self, workdir, tag, owner=''):
     global msg
     if owner == '':
         owner = Config.Owner
     msg = Job.createSwitchTagMessage(workdir=workdir, tag=tag, scm=self.scm, owner=owner)
     result = self._send(msg)
     return result
Esempio n. 8
0
 def Deploy(self, workdir, configFile, owner=''):
     global msg
     if owner == '':
         owner = Config.Owner
     msg = Job.createDeployMessage(workdir=workdir, configFile=configFile, scm=self.scm, owner=owner)
     result = self._send(msg)
     return result
Esempio n. 9
0
 def getChangeLog(self, workdir, since,to, owner=''):
     if owner == '':
         owner = Config.Owner
     msg = Job.createGetChangeLog(owner, workdir,  self.scm,options={"since":since,"to":to})
     res = self._send(msg)
     result = []
     for item in res.split("\n"):
         if item == "" or item == "Done": continue
         result.append(item)
     return result
Esempio n. 10
0
 def getCommitsDiff(self,workdir,commit,owner=''):
     if owner == '':
         owner = Config.Owner
     msg = Job.creategetCommitsDiffMessage(owner, workdir, commit, self.scm)
     res = self._send(msg)
     result=[]
     for item in res.split("\n"):
         if item=="" or item=="Done" : continue
         result.append(item)
     return result
Esempio n. 11
0
 def SwitchTag(self, workdir, tag, owner=''):
     global msg
     if owner == '':
         owner = Config.Owner
     msg = Job.createSwitchTagMessage(workdir=workdir,
                                      tag=tag,
                                      scm=self.scm,
                                      owner=owner)
     result = self._send(msg)
     return result
Esempio n. 12
0
 def getCommitsDiff(self, workdir, commit, owner=''):
     if owner == '':
         owner = Config.Owner
     msg = Job.creategetCommitsDiffMessage(owner, workdir, commit, self.scm)
     res = self._send(msg)
     result = []
     for item in res.split("\n"):
         if item == "" or item == "Done": continue
         result.append(item)
     return result
Esempio n. 13
0
 def Deploy(self, workdir, configFile, owner=''):
     global msg
     if owner == '':
         owner = Config.Owner
     msg = Job.createDeployMessage(workdir=workdir,
                                   configFile=configFile,
                                   scm=self.scm,
                                   owner=owner)
     result = self._send(msg)
     return result
Esempio n. 14
0
def UploadFiles(domain,port,id,owner,files,outputDir):
	Connect.domain = domain
	print Connect.domain
	Connect.port   = port
	print Connect.port
	retry = True
	for file in files:
		print file
		uploadData 	= Job.UploadFileData(id,owner,file,outputDir)
		res 	 	= Connect.Send(uploadData,retry)
	return res
Esempio n. 15
0
 def Pull(self, repo, workdir, key, owner=''):
     global msg
     if owner == '':
         owner = Config.Owner
     msg = Job.createPullMessage(owner,
                                 workdir,
                                 self.sshkey,
                                 self.scm,
                                 options=self.options)
     result = self._send(msg)
     return result
Esempio n. 16
0
def FetchFiles(domain,port,files,mode='auto',destination="",retry=True):
	#print domain,files,mode,destination,sshKeyPath
	Connect.domain=domain
	Connect.port  =port
	if (files !=None):
		#print "in files"
		if mode=="auto":
			if sshKeyPath!="":
				mode="scp"
				
			else:
				mode="xml"
				
			print 'Decided to use ' + mode + " to transfer files"
		if mode=='xml':
			msg=Job.FetchOutput(id,owner,files)
	#		print msg
			#print "retry in fetchFiles:",retry
			res = Connect.Send(msg,retry)
			outlist=Job.parseResponse(res)
	#		print outlist
			return outlist
		elif mode=='scp':
			print "in scp"	
			print files
			for file in files:
				dest=""
				if destination=="":
					dest=os.path.dirname(os.path.abspath(file))
				else:
					dest=destination
				if not os.path.exists(dest):
					os.makedirs(dest)
				cmd='scp -r -i %s ubuntu@%s:%s %s'%(sshKeyPath,domain,file,dest)
				#print 'cmd:' ,cmd	
				#exit()
				scp(cmd)
			return files
	else:
		return "No Files"
Esempio n. 17
0
 def getChangeLog(self, workdir, since, to, owner=''):
     if owner == '':
         owner = Config.Owner
     msg = Job.createGetChangeLog(owner,
                                  workdir,
                                  self.scm,
                                  options={
                                      "since": since,
                                      "to": to
                                  })
     res = self._send(msg)
     result = []
     for item in res.split("\n"):
         if item == "" or item == "Done": continue
         result.append(item)
     return result
Esempio n. 18
0
 def ListTags(self, workdir, owner=''):
     global msg
     if owner == '':
         owner = Config.Owner
     msg = Job.createListTagsMessage(workdir=workdir, scm=self.scm, key=self.sshkey, owner=owner)
     result = self._send(msg)
     if result == "Done": return []
     #print result
     res=[]
     for line in result.split("\n"):
         if line=="": continue
         info=line.split(",,")
         Date=datetime.datetime.strptime(info[2][:-6],"%a %b %d %H:%M:%S %Y").strftime("%Y-%m-%d %H:%M:%S")
         res.append({"Tag":info[0],"Tagger":info[1],"Date":Date,"Commit":info[3]})
     if len(res)>0:
         newlist = sorted(res, key=itemgetter('Date'), reverse=True)
         return newlist
     else:
         return []
Esempio n. 19
0
    def ListCommits(self, workdir, page=0, rpp=10, owner='',options=None):
        if owner == '':
            owner = Config.Owner
        msg = Job.createListCommitsMessage(workdir=workdir, scm=self.scm, owner=owner,key=self.sshkey,options=options)
        res = self._send(msg)
        result = []
        #HEAD = True
        for line in res.split("\n"):
            if line=="": continue
            info = line.split(",,")
            # print line
         #   if HEAD:
          #      info[0] = "HEAD"
           #     HEAD = False
            try:

                d = {"Hash": info[0], "Short": info[1], "Author": info[2], "Committed": info[3], "Message": info[4]}
                result.append(d)

            except:
                print "Error while parsing line (%s)"%line
        #print result
        return result
Esempio n. 20
0
def submitJob(domain,port,id,owner,command,inputs=None,outputs=None,retry=True):
	#print "sending new job to..",domain
	"""global forceFiles
	if not forceFiles:
		if inputs!=None:
			for file in inputs:
				if not file in command:
					print "Input file '" + file + "' doesn't exists in the command, please revise your command, files list or use --force-files"
					exit(-10)
		if outputs !=None:
			for file in outputs:
				if not file in command:
					print "Output file '" + file + "' doesn't exists in the command, please revise your command, files list or use --force-files"
					exit(-10)
	"""
	msg=Job.createJobMessage(id,owner,command.strip(),inputs,outputs,retry)
	#raise Exception(msg)
	
	Connect.domain	= domain
	Connect.port	= port
	#print Connect.domain
	#print msg
	res = Connect.Send(msg,retry) 
	return res
Esempio n. 21
0
 def SwitchCommit(self, workdir, commit, owner=''):
     if owner == '':
         owner = Config.Owner
     msg = Job.createSwitchCommitMessage(owner, workdir, commit, self.scm)
     res = self._send(msg)
     return res
Esempio n. 22
0
 def SwitchCommit(self, workdir, commit, owner=''):
     if owner == '':
         owner = Config.Owner
     msg = Job.createSwitchCommitMessage(owner, workdir, commit, self.scm)
     res = self._send(msg)
     return res