From: Michael Schroeder Date: Fri, 2 Nov 2012 13:32:27 +0000 (+0100) Subject: get rid of the ugly load_if_changed method X-Git-Tag: upstream/0.2.3~86 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=85f694ba7aa2faf014b1f0ce9785133adc46e115;p=platform%2Fupstream%2Flibsolv.git get rid of the ugly load_if_changed method --- diff --git a/examples/p5solv b/examples/p5solv index 103ee88..6cbe5dd 100755 --- a/examples/p5solv +++ b/examples/p5solv @@ -71,10 +71,6 @@ sub load { print "repo: '$self->{'alias'}' cached\n"; return 1; } - return $self->load_if_changed(); -} - -sub load_if_changed { return 0; } @@ -278,8 +274,9 @@ sub load_ext { return 1; } -sub load_if_changed { - my ($self) = @_; +sub load { + my ($self, $pool) = @_; + return 1 if $self->Repo::generic::load($pool); print "rpmmd repo '$self->{'alias'}': "; STDOUT->flush(); my $f = $self->download("repodata/repomd.xml"); @@ -407,8 +404,9 @@ sub load_ext { return 1; } -sub load_if_changed { - my ($self) = @_; +sub load { + my ($self, $pool) = @_; + return 1 if $self->Repo::generic::load($pool); print "susetags repo '$self->{'alias'}': "; STDOUT->flush(); my $f = $self->download("content"); diff --git a/examples/pysolv b/examples/pysolv index d4c7265..a9dc144 100755 --- a/examples/pysolv +++ b/examples/pysolv @@ -99,9 +99,6 @@ class repo_generic(dict): if not dorefresh and self.usecachedrepo(None): print "repo: '%s': cached" % self.name return True - return self.load_if_changed() - - def load_if_changed(self): return False def load_ext(self, repodata): @@ -198,10 +195,6 @@ class repo_generic(dict): return solv.xfopen_fd(None, os.dup(f.fileno())) def usecachedrepo(self, ext, mark=False): - if not ext: - cookie = self['cookie'] - else: - cookie = self['extcookie'] try: repopath = self.cachepath(ext) f = open(repopath, 'r') @@ -209,6 +202,10 @@ class repo_generic(dict): fcookie = f.read(32) if len(fcookie) != 32: return False + if not ext: + cookie = self['cookie'] + else: + cookie = self['extcookie'] if cookie and fcookie != cookie: return False if self.type != 'system' and not ext: @@ -239,7 +236,7 @@ class repo_generic(dict): def writecachedrepo(self, ext, info=None): if not ext and 'incomplete' in self: - return + return try: if not os.path.isdir("/var/cache/solv"): os.mkdir("/var/cache/solv", 0755) @@ -304,7 +301,9 @@ class repo_generic(dict): return '' class repo_repomd(repo_generic): - def load_if_changed(self): + def load(self, pool): + if super(repo_repomd, self).load(pool): + return True print "rpmmd repo '%s':" % self.name, sys.stdout.flush() f = self.download("repodata/repomd.xml", False, None, None) @@ -336,7 +335,7 @@ class repo_repomd(repo_generic): self.handle.add_updateinfoxml(f, 0) solv.xfclose(f) self.add_exts() - self.writecachedrepo(None) + self.writecachedrepo(None) # must be called after writing the repo self.handle.create_stubs() return True @@ -409,7 +408,9 @@ class repo_repomd(repo_generic): return True class repo_susetags(repo_generic): - def load_if_changed(self): + def load(self, pool): + if super(repo_susetags, self).load(pool): + return True print "susetags repo '%s':" % self.name, sys.stdout.flush() f = self.download("content", False, None, None) @@ -448,7 +449,7 @@ class repo_susetags(repo_generic): solv.xfclose(f) self.handle.internalize() self.add_exts() - self.writecachedrepo(None) + self.writecachedrepo(None) # must be called after writing the repo self.handle.create_stubs() return True diff --git a/examples/rbsolv b/examples/rbsolv index ba87aab..8ac3eca 100755 --- a/examples/rbsolv +++ b/examples/rbsolv @@ -72,14 +72,10 @@ class Repo_generic puts "repo: '#{@name}' cached" return true end - return load_if_changed() - end - - def load_ext(repodata) return false end - def load_if_changed + def load_ext(repodata) return false end @@ -233,7 +229,8 @@ class Repo_rpmmd < Repo_generic return nil, nil end - def load_if_changed + def load(pool) + return true if super(pool) print "rpmmd repo '#{@name}: " f = download("repodata/repomd.xml", false, nil, nil) if !f @@ -344,7 +341,8 @@ class Repo_susetags < Repo_generic return nil, nil end - def load_if_changed + def load(pool) + return true if super(pool) print "susetags repo '#{@name}: " f = download("content", false, nil, nil) if !f