Lines Matching refs:self
52 def __init__(self, baseDir, extractDir):
53 self.baseDir = baseDir
54 self.extractDir = extractDir
56 def clean (self):
57 fullDstPath = os.path.join(EXTERNAL_DIR, self.baseDir, self.extractDir)
66 def __init__(self, url, checksum, baseDir, extractDir = "src", postExtract=None):
67 Source.__init__(self, baseDir, extractDir)
68 self.url = url
69 self.filename = os.path.basename(self.url)
70 self.checksum = checksum
71 self.archiveDir = "packages"
72 self.postExtract = postExtract
74 def clean (self):
75 Source.clean(self)
76 self.removeArchives()
78 def update (self, cmdProtocol = None, force = False):
79 if not self.isArchiveUpToDate():
80 self.fetchAndVerifyArchive()
82 if self.getExtractedChecksum() != self.checksum:
83 Source.clean(self)
84 self.extract()
85 self.storeExtractedChecksum(self.checksum)
87 def removeArchives (self):
92 def isArchiveUpToDate (self):
95 return computeChecksum(readBinaryFile(archiveFile)) == self.checksum
99 def getExtractedChecksumFilePath (self):
102 def getExtractedChecksum (self):
103 extractedChecksumFile = self.getExtractedChecksumFilePath()
110 def storeExtractedChecksum (self, checksum):
112 writeBinaryFile(self.getExtractedChecksumFilePath(), checksum_bytes)
114 def connectToUrl (self, url):
131 def fetchAndVerifyArchive (self):
132 print("Fetching %s" % self.url)
134 req = self.connectToUrl(self.url)
137 dstPath = os.path.join(EXTERNAL_DIR, self.baseDir, self.archiveDir, self.filename)
139 if checksum != self.checksum:
140 raise Exception("Checksum mismatch for %s, expected %s, got %s" % (self.filename, self.checksum, checksum))
147 def extract (self):
148 print("Extracting %s to %s/%s" % (self.filename, self.baseDir, self.extractDir))
150 srcPath = os.path.join(EXTERNAL_DIR, self.baseDir, self.archiveDir, self.filename)
151 tmpPath = os.path.join(EXTERNAL_DIR, ".extract-tmp-%s" % self.baseDir)
152 dstPath = os.path.join(EXTERNAL_DIR, self.baseDir, self.extractDir)
154 if self.filename.endswith(".zip"):
169 raise Exception("%s doesn't contain single top-level directory" % self.filename)
184 if self.postExtract != None:
185 self.postExtract(dstPath)
188 def __init__(self, url, filename, checksum, baseDir, extractDir = "src"):
189 Source.__init__(self, baseDir, extractDir)
190 self.url = url
191 self.filename = filename
192 self.checksum = checksum
194 def update (self, cmdProtocol = None, force = False):
195 if not self.isFileUpToDate():
196 Source.clean(self)
197 self.fetchAndVerifyFile()
199 def isFileUpToDate (self):
203 return computeChecksum(data.encode('utf-8')) == self.checksum
207 def connectToUrl (self, url):
224 def fetchAndVerifyFile (self):
225 print("Fetching %s" % self.url)
227 req = self.connectToUrl(self.url)
230 dstPath = os.path.join(EXTERNAL_DIR, self.baseDir, self.extractDir, self.filename)
232 if checksum != self.checksum:
233 raise Exception("Checksum mismatch for %s, expected %s, got %s" % (self.filename, self.checksum, checksum))
241 def __init__(self, httpsUrl, sshUrl, revision, baseDir, extractDir = "src", removeTags = [], patch = ""):
242 Source.__init__(self, baseDir, extractDir)
243 self.httpsUrl = httpsUrl
244 self.sshUrl = sshUrl
245 self.revision = revision
246 self.removeTags = removeTags
247 self.patch = patch
249 def checkout(self, url, fullDstPath, force):
255 for tag in self.removeTags:
262 execute(["git", "checkout"] + force_arg + [self.revision])
264 if(self.patch != ""):
265 patchFile = os.path.join(EXTERNAL_DIR, self.patch)
271 def update (self, cmdProtocol, force = False):
272 fullDstPath = os.path.join(EXTERNAL_DIR, self.baseDir, self.extractDir)
273 url = self.httpsUrl
274 backupUrl = self.sshUrl
278 url = self.sshUrl
279 backupUrl = self.httpsUrl
282 self.checkout(url, fullDstPath, force)
285 self.checkout(backupUrl, fullDstPath, force)