PhoenixMock  1.8.7
Tools to split/merge/print mock used in Phoenix
createReleaseCurl Namespace Reference

Functions

def createReleaseCurlCommand (projectIdOwn, projectName, projectTagName, basePackageDir, token)
 
def getListArchiveFile (inputDirectory, projectName)
 
def getListArchiveLinks (projectIdOwn, listPackage, useComma, token)
 
def uploadFileCommand (projectIdOwn, fileName, token)
 

Variables

string apiProject = "/api/v4/projects/"
 
 args = parser.parse_args()
 
 default
 
 False
 
 help
 
 parser = argparse.ArgumentParser(description="Program which creates release with given tag")
 
 required
 
string server = "gitlab.in2p3.fr"
 
 str
 
 True
 
 type
 

Function Documentation

◆ createReleaseCurlCommand()

def createReleaseCurl.createReleaseCurlCommand (   projectIdOwn,
  projectName,
  projectTagName,
  basePackageDir,
  token 
)
Create a release of the given project
Parameters:
        projectIdOwn : id of the project on gitlab
        projectName : name of the project
        projectTagName : tag name of the project
        basePackageDir : base directory wher eto find binary packages
        token : token to be used to create the release

Definition at line 92 of file createReleaseCurl.py.

92 def createReleaseCurlCommand(projectIdOwn, projectName, projectTagName, basePackageDir, token):
93  '''
94  Create a release of the given project
95  Parameters:
96  projectIdOwn : id of the project on gitlab
97  projectName : name of the project
98  projectTagName : tag name of the project
99  basePackageDir : base directory wher eto find binary packages
100  token : token to be used to create the release
101  '''
102  postURL="--request POST https://"+server+apiProject+str(projectIdOwn)+"/releases"
103  header="--header 'Content-Type: application/json' "
104  privateToken='--header "PRIVATE-TOKEN: '+token+'" '
105  versionName="version " + projectTagName
106  dataStr = "--data '{ \"name\": \"Release "+versionName+"\"," + "\"tag_name\": \""+projectTagName+"\","
107  dataStr += "\"description\": \"Automatic release, "+versionName+"\""
108 
109  useComma = False
110  linksData = ", \"assets\": { \"links\": ["
111  listArchiveFile = getListArchiveFile(basePackageDir + "/", projectName)
112  linksData += getListArchiveLinks(projectIdOwn, listArchiveFile, useComma, token)
113  linksData += "] } "
114  dataStr += linksData
115  dataStr += "}' "
116  command = "curl --insecure " + header + privateToken + dataStr + postURL
117  print("Create Release command :",command)
118  output = subprocess.getoutput(command)
119  print("Release Output :",output)
120 
121 

References getListArchiveFile(), getListArchiveLinks(), and str.

+ Here is the call graph for this function:

◆ getListArchiveFile()

def createReleaseCurl.getListArchiveFile (   inputDirectory,
  projectName 
)
Get the list of the archives file for a given project name
Parameters:
        inputDirectory : directory (for one OS) where all the binary packages are created
        projectName : name of the project
Return:
        list of corresponding binary packages

Definition at line 15 of file createReleaseCurl.py.

15 def getListArchiveFile(inputDirectory, projectName):
16  '''
17  Get the list of the archives file for a given project name
18  Parameters:
19  inputDirectory : directory (for one OS) where all the binary packages are created
20  projectName : name of the project
21  Return:
22  list of corresponding binary packages
23  '''
24  listPackage = glob.glob(inputDirectory + "/*/" + projectName + "-*" )
25  print(listPackage)
26  return listPackage
27 
28 
29 #curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "file=@dk.png" "https://gitlab.example.com/api/v4/projects/5/uploads"

Referenced by createReleaseCurlCommand().

+ Here is the caller graph for this function:

◆ getListArchiveLinks()

def createReleaseCurl.getListArchiveLinks (   projectIdOwn,
  listPackage,
  useComma,
  token 
)
Create the list of link to the archive uploaded binary packages
Parameters:
        projectIdOwn : id of the project to be used
        listPackage : list of the binary packages to be uploaded and linked
        useComma : True to add a comma in the first place, false otherwise
        token : token to be used to create the release
Return:
        string of the list of archive links corresponding to the given list of packages

Definition at line 58 of file createReleaseCurl.py.

58 def getListArchiveLinks(projectIdOwn, listPackage, useComma, token):
59  '''
60  Create the list of link to the archive uploaded binary packages
61  Parameters:
62  projectIdOwn : id of the project to be used
63  listPackage : list of the binary packages to be uploaded and linked
64  useComma : True to add a comma in the first place, false otherwise
65  token : token to be used to create the release
66  Return:
67  string of the list of archive links corresponding to the given list of packages
68  '''
69  linksData = ""
70  for packageName in listPackage:
71  if useComma:
72  linksData += ", "
73  baseName = os.path.basename(packageName)
74  packageOsName = packageName.split('/')[-2]
75  nameData = "\"name\": \"" + packageOsName + " " + baseName+"\""
76 
77  uploadedFullPath, outputUrl = uploadFileCommand(projectIdOwn, packageName, token)
78  print("outputUrl =",outputUrl)
79  fullPathToFile = 'https://'+server+"/"+uploadedFullPath
80  #filePathData = '"filepath": "'+fullPathToFile+'"'
81  linkType = '"link_type": "other" '
82  urlData = '"url": "'+fullPathToFile+'"'
83 
84  addDataLink = '{ '+nameData + ", " + urlData + ", " + linkType +'}'
85  print("addDataLink =",addDataLink)
86  linksData += addDataLink
87  useComma = True
88 
89  return linksData
90 
91 

References uploadFileCommand().

Referenced by createReleaseCurlCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ uploadFileCommand()

def createReleaseCurl.uploadFileCommand (   projectIdOwn,
  fileName,
  token 
)
Upload a file in the given gitlab project
Parameters:
        projectIdOwn : id of the project
        fileName : name of the file to be uploaded
        token : token to be used to create the release
Return:
        url of the uploaded file

Definition at line 30 of file createReleaseCurl.py.

30 def uploadFileCommand(projectIdOwn, fileName, token):
31  '''
32  Upload a file in the given gitlab project
33  Parameters:
34  projectIdOwn : id of the project
35  fileName : name of the file to be uploaded
36  token : token to be used to create the release
37  Return:
38  url of the uploaded file
39  '''
40  print("Upload file",fileName)
41  URL = '"https://'+server+apiProject+str(projectIdOwn)+'/uploads"'
42  privateToken='--header "PRIVATE-TOKEN: '+token+'" '
43  fileCmd = '--form "file=@'+fileName+'" '
44  command = "curl --insecure --request POST " + privateToken + fileCmd + URL
45  #print("Updload file command :", command)
46  output = subprocess.getoutput(command)
47  print("Upload file output :",output)
48  outputDico = json.loads('{' + output.split("{")[1])
49  outputFile = outputDico["full_path"]
50  outputUrl = outputDico["full_path"]
51  print("Upload file output file ",outputFile, ", url :",outputUrl)
52  return outputFile, outputUrl
53 
54 
55 
56 #{ "name": "hoge", "url": "https://google.com", "filepath": "/binaries/linux-amd64", "link_type":"other" }
57 

References str.

Referenced by getListArchiveLinks().

+ Here is the caller graph for this function:

Variable Documentation

◆ apiProject

string createReleaseCurl.apiProject = "/api/v4/projects/"

Definition at line 12 of file createReleaseCurl.py.

◆ args

createReleaseCurl.args = parser.parse_args()

Definition at line 129 of file createReleaseCurl.py.

◆ default

createReleaseCurl.default

Definition at line 128 of file createReleaseCurl.py.

◆ False

createReleaseCurl.False

Definition at line 128 of file createReleaseCurl.py.

◆ help

createReleaseCurl.help

Definition at line 124 of file createReleaseCurl.py.

◆ parser

createReleaseCurl.parser = argparse.ArgumentParser(description="Program which creates release with given tag")

◆ required

createReleaseCurl.required

Definition at line 124 of file createReleaseCurl.py.

◆ server

string createReleaseCurl.server = "gitlab.in2p3.fr"

Definition at line 11 of file createReleaseCurl.py.

◆ str

◆ True

createReleaseCurl.True

Definition at line 124 of file createReleaseCurl.py.

◆ type

createReleaseCurl.getListArchiveFile
def getListArchiveFile(inputDirectory, projectName)
Definition: createReleaseCurl.py:15
createReleaseCurl.uploadFileCommand
def uploadFileCommand(projectIdOwn, fileName, token)
Definition: createReleaseCurl.py:30
createReleaseCurl.str
str
Definition: createReleaseCurl.py:128
createReleaseCurl.createReleaseCurlCommand
def createReleaseCurlCommand(projectIdOwn, projectName, projectTagName, basePackageDir, token)
Definition: createReleaseCurl.py:92
createReleaseCurl.getListArchiveLinks
def getListArchiveLinks(projectIdOwn, listPackage, useComma, token)
Definition: createReleaseCurl.py:58