def fetch_suite(self, suite):
flat = suite.endswith('/')
if flat:
baseurl = joinurl(self.uri, suite)
else:
baseurl = joinurl(self.uri, 'dists', suite)
log.info('Fetching InRelease file from %s', baseurl)
r = self.session.get(joinurl(baseurl, 'InRelease'))
if not (400 <= r.status_code < 500):
r.raise_for_status()
release = ReleaseFile.parse_signed(r.content)
else:
log.info('Server returned %d; fetching Release file instead',
r.status_code)
r = self.session.get(joinurl(baseurl, 'Release'))
r.raise_for_status()
release = ReleaseFile.parse(r.content)
### TODO: Handle/fetch/verify PGP stuff
if flat:
return FlatRepository(self, suite, release)
else:
return Suite(self, suite, release)
评论列表
文章目录