diff --git a/osc/build.py b/osc/build.py index 47fc6fbd..16e1a475 100644 --- a/osc/build.py +++ b/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 diff --git a/osc/fetch.py b/osc/fetch.py index ae8016cc..1d778344 100644 --- a/osc/fetch.py +++ b/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)