her pisi-index.xml ait olduğu depo adı ile aynı isme sahip bir dizine koyuluyor. Nasıl çalıştığını az önce yazmıştım.
This commit is contained in:
+8
-5
@@ -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)
|
||||
|
||||
|
||||
+3
-3
@@ -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')
|
||||
|
||||
|
||||
+6
-5
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user