mirror of
https://github.com/openSUSE/osc.git
synced 2025-02-25 19:52:12 +01:00
- add partname and fullpartname attributes to Pac() class
- cleanup partial files in case the user hits ctrl-c
This commit is contained in:
parent
964d921d39
commit
6492b73677
16
osc/build.py
16
osc/build.py
@ -140,8 +140,8 @@ class Pac:
|
||||
|
||||
self.mp['arch'] = node.get('arch') or self.mp['buildarch']
|
||||
|
||||
self.mp['extproject'] = node.get('project').replace(':', ':/')
|
||||
self.mp['extrepository'] = node.get('repository').replace(':', ':/')
|
||||
self.mp['extproject'] = node.get('project').replace(':', ':/')
|
||||
self.mp['extrepository'] = node.get('repository').replace(':', ':/')
|
||||
self.mp['repopackage'] = node.get('package') or '_repository'
|
||||
self.mp['repoarch'] = node.get('repoarch') or self.mp['arch']
|
||||
|
||||
@ -153,12 +153,13 @@ class Pac:
|
||||
self.mp['apiurl'] = apiurl
|
||||
|
||||
self.filename = '%(name)s-%(version)s-%(release)s.%(arch)s.%(pacsuffix)s' % self.mp
|
||||
self.partname = '%s.part' % self.filename
|
||||
|
||||
self.mp['filename'] = self.filename
|
||||
if self.mp['repopackage'] == '_repository':
|
||||
self.mp['repofilename'] = self.mp['name']
|
||||
else:
|
||||
self.mp['repofilename'] = self.mp['filename']
|
||||
if self.mp['repopackage'] == '_repository':
|
||||
self.mp['repofilename'] = self.mp['name']
|
||||
else:
|
||||
self.mp['repofilename'] = self.mp['filename']
|
||||
|
||||
# make the content of the dictionary accessible as class attributes
|
||||
self.__dict__.update(self.mp)
|
||||
@ -174,7 +175,8 @@ class Pac:
|
||||
# or if-modified-since, so the caching is simply name-based (on the assumption
|
||||
# that the filename is suitable as identifier)
|
||||
self.localdir = '%s/%s/%s/%s' % (cachedir, self.project, self.repository, self.arch)
|
||||
self.fullfilename=os.path.join(self.localdir, self.filename)
|
||||
self.fullfilename = os.path.join(self.localdir, self.filename)
|
||||
self.fullpartname = os.path.join(self.localdir, self.partname)
|
||||
self.url_local = 'file://%s/' % self.fullfilename
|
||||
|
||||
# first, add the local URL
|
||||
|
16
osc/fetch.py
16
osc/fetch.py
@ -68,7 +68,6 @@ class Fetcher:
|
||||
|
||||
MirrorGroup._join_url = join_url
|
||||
mg = MirrorGroup(self.gr, pac.urllist)
|
||||
partname = pac.fullfilename + ".part"
|
||||
|
||||
if self.http_debug:
|
||||
print
|
||||
@ -79,7 +78,7 @@ class Fetcher:
|
||||
try:
|
||||
# it returns the filename
|
||||
ret = mg.urlgrab(pac.filename,
|
||||
filename=partname,
|
||||
filename = pac.fullpartname,
|
||||
text = '(%s) %s' %(pac.project, pac.filename))
|
||||
|
||||
except URLGrabError, e:
|
||||
@ -90,8 +89,8 @@ class Fetcher:
|
||||
|
||||
sys.exit(1)
|
||||
|
||||
if partname.endswith('.rpm.part'):
|
||||
rpm_data = data_from_rpm(partname, 'Name:', 'Version:', 'Release:', 'Arch:', 'SourceRPM:', 'NoSource:', 'NoPatch:')
|
||||
if pac.partname.endswith('.rpm.part'):
|
||||
rpm_data = data_from_rpm(pac.fullpartname, 'Name:', 'Version:', 'Release:', 'Arch:', 'SourceRPM:', 'NoSource:', 'NoPatch:')
|
||||
if rpm_data:
|
||||
arch = rpm_data['Arch:']
|
||||
if not rpm_data['SourceRPM:']:
|
||||
@ -104,7 +103,7 @@ class Fetcher:
|
||||
pac.filename = canonname
|
||||
pac.fullfilename = os.path.join(head, canonname)
|
||||
|
||||
os.rename(partname, pac.fullfilename);
|
||||
os.rename(pac.fullpartname, pac.fullfilename);
|
||||
|
||||
def dirSetup(self, pac):
|
||||
dir = os.path.join(self.cachedir, pac.localdir)
|
||||
@ -126,7 +125,6 @@ class Fetcher:
|
||||
pass
|
||||
else:
|
||||
self.dirSetup(i)
|
||||
|
||||
try:
|
||||
# if there isn't a progress bar, there is no output at all
|
||||
if not self.progress_obj:
|
||||
@ -136,9 +134,9 @@ class Fetcher:
|
||||
except KeyboardInterrupt:
|
||||
print 'Cancelled by user (ctrl-c)'
|
||||
print 'Exiting.'
|
||||
if os.path.exists(i.fullfilename):
|
||||
print 'Cleaning up incomplete file', i.fullfilename
|
||||
os.unlink(i.fullfilename)
|
||||
if os.path.exists(i.fullpartname):
|
||||
print 'Cleaning up incomplete file', i.fullpartname
|
||||
os.unlink(i.fullpartname)
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user