diff --git a/pisi/config.py b/pisi/config.py index ce44fb30..d55bf6d7 100644 --- a/pisi/config.py +++ b/pisi/config.py @@ -32,6 +32,9 @@ class Config(object): def archives_dir(self): return self.destdir + self.values.dirs.archives_dir + + def packages_dir(self): + return self.destdir + self.values.dirs.packages_dir def tmp_dir(self): return self.destdir + self.values.dirs.tmp_dir diff --git a/pisi/configfile.py b/pisi/configfile.py index 59740453..2966eef0 100644 --- a/pisi/configfile.py +++ b/pisi/configfile.py @@ -19,6 +19,7 @@ #lib_dir = /var/lib/pisi #db_dir = /var/db/pisi #archives_dir = /var/cache/pisi/archives +#packages_dir = /var/cache/pisi/packages #tmp_dir = /var/tmp/pisi import os @@ -45,6 +46,7 @@ class DirsDefaults: lib_dir = "/var/lib/pisi" db_dir = "/var/db/pisi" archives_dir = "/var/cache/pisi/archives" + packages_dir = "/var/cache/pisi/packages" tmp_dir = "/var/tmp/pisi" # bu bilgiyi burada tutmak mantıklı değil. bunun yerine kullanıcının diff --git a/pisi/operations.py b/pisi/operations.py index 14228842..67e299e3 100644 --- a/pisi/operations.py +++ b/pisi/operations.py @@ -22,11 +22,7 @@ def remove(package_name): def install(pkg_location): from install import Installer - url = PUrl(pkg_location) - if url.isRemoteFile(): - pass # bunu simdilik bosverelim, once bir calissin :) - - i = Installer(url.uri) + i = Installer(pkg_location) i.install() diff --git a/pisi/package.py b/pisi/package.py index 1e49aa53..5c9e8594 100644 --- a/pisi/package.py +++ b/pisi/package.py @@ -24,15 +24,13 @@ class Package: url = PUrl(packagefn) if url.isRemoteFile(): - from os import getcwd from fetcher import fetchUrl from ui import ui - # TODO: belki Constants.packages_dir() gibi bir yere - # indirmek daha iyi olur. - fetchUrl(url, getcwd(), ui.Progress) - self.filename = url.filename() + dest = config.packages_dir() + fetchUrl(url, dest, ui.Progress) + self.filepath = join(dest, url.filename()) - self.impl = archive.ArchiveZip(self.filename, 'zip', mode) + self.impl = archive.ArchiveZip(self.filepath, 'zip', mode) def add_to_package(self, fn): """Add a file or directory to package"""