From f7b0b02a1ed12ed70feb3bc4bd9cffa1f714b3e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Tue, 19 Jul 2005 23:13:56 +0000 Subject: [PATCH] =?UTF-8?q?her=20pisi-index.xml=20ait=20oldu=C4=9Fu=20depo?= =?UTF-8?q?=20ad=C4=B1=20ile=20ayn=C4=B1=20isme=20sahip=20bir=20dizine=20k?= =?UTF-8?q?oyuluyor.=20Nas=C4=B1l=20=C3=A7al=C4=B1=C5=9Ft=C4=B1=C4=9F?= =?UTF-8?q?=C4=B1n=C4=B1=20az=20=C3=B6nce=20yazm=C4=B1=C5=9Ft=C4=B1m.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pisi/index.py | 13 ++++++++----- pisi/operations.py | 6 +++--- pisi/util.py | 11 ++++++----- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/pisi/index.py b/pisi/index.py index cc924e71..096f1f5e 100644 --- a/pisi/index.py +++ b/pisi/index.py @@ -18,18 +18,21 @@ class Index(XmlFile): self.sources = [] self.packages = [] - def read(self, filename): + def read(self, filename, repo = None): """Read PSPEC file""" self.filepath = filename url = PUrl(filename) if url.isRemoteFile(): - from os.path import join + import os from fetcher import fetchUrl - # TODO: farklı depoların index dosyalarını handle edebilmek gerekiyor. - dest = config.index_dir() + + dest = os.path.join(config.index_dir(), repo) + if not os.path.exists(dest): + os.makedirs(dest) fetchUrl(url, dest, ui.Progress) - self.filepath = join(dest, url.filename()) + + self.filepath = os.path.join(dest, url.filename()) self.readxml(self.filepath) diff --git a/pisi/operations.py b/pisi/operations.py index 9348fabe..b317c995 100644 --- a/pisi/operations.py +++ b/pisi/operations.py @@ -73,16 +73,16 @@ def index(repo_dir = '.'): index.write(const.pisi_index) ui.info('* Index file written\n') -def updatedb(indexfile = None): +def updatedb(indexfile = None, repo = "default"): from index import Index if not indexfile: - repos_path = config.values.repos.default + repos_path = config.values.repos[repo] indexfile = os.path.join(repos_path, const.pisi_index) ui.info('* Updating DB from index file: %s\n' % indexfile) index = Index() - index.read(indexfile) + index.read(indexfile, repo) index.update_db() ui.info('* Package db updated.\n') diff --git a/pisi/util.py b/pisi/util.py index c0871a4f..a76aed90 100644 --- a/pisi/util.py +++ b/pisi/util.py @@ -258,13 +258,14 @@ def package_name(name, version, release): # TODO: Currently we're supporting for only one repository. We'll # extend this functionality soon. -def repo_index(repo = config.values.repos.default): +def repo_index(reponame = "default"): "return a par (url, IndexObj) for the given repository" from index import Index + repourl = config.values.repos[reponame] + index = Index() - # buraya repo adını da ekleyeceğiz. - # path/to/repos_dir/default/pisi-index.xml gibi... - indexpath = os.path.join(config.index_dir(), const.pisi_index) + indexpath = os.path.join(config.index_dir(), + reponame, const.pisi_index) index.read(indexpath) - return (repo, index) + return (repourl, index)