* korkmayin birsey olmuyor

* absolute module name'leri kullan importlarda, ornegin
  from pisi.package import Package gibi
* basit bir exception hiyerarsisi tanimla. bu olay daha
  bir oturdu.
* bazi yerlerde iki sinif arasinda iki line bosluk yoktu vs.
  onlari biraz duzelt
This commit is contained in:
Eray Özkural
2005-08-10 16:04:54 +00:00
parent b05913bf15
commit a69853d751
26 changed files with 165 additions and 92 deletions
+12 -2
View File
@@ -8,6 +8,16 @@
# Please read the COPYING file.
#
# PISI package version
__version__ = "0.1"
# PISI version
__version__ = "0.2"
__all__ = [ 'toplevel', 'packagedb', 'installdb' ]
class PisiError(Exception):
"""Class of exceptions that lead to program termination"""
pass
class PisiException(Exception):
"""Class of exceptions that must be caught and handled within PISI"""
pass
+8
View File
@@ -10,3 +10,11 @@
# pisi.actionsapi version
__version__ = '0.1'
import pisi
class ActionsApiError(pisi.PisiError):
pass
class ActionsApiException(pisi.PisiException):
pass
+5 -4
View File
@@ -18,10 +18,11 @@ import os
from pisi.ui import ui
# ActionsAPI Modules
import get
from shelltools import system
from shelltools import can_access_file
from libtools import gnuconfig_update
import pisi.actionsapi
import pisi.actionsapi.get as get
from pisi.actionsapi.shelltools import system
from pisi.actionsapi.shelltools import can_access_file
from pisi.actionsapi.libtools import gnuconfig_update
class ConfigureError(Exception):
def __init__(self, Exception):
+2
View File
@@ -16,6 +16,8 @@ import sys
import re
from itertools import izip, imap, count, ifilter, ifilterfalse
import pisi.actionsapi as actionsapi
def cat(filename):
return file(filename).xreadlines()
+3 -2
View File
@@ -19,8 +19,9 @@ import shutil
from pisi.ui import ui
# ActionsAPI Modules
from shelltools import chmod, makedirs
import get
import pisi.actionsapi
from pisi.actionsapi.shelltools import chmod, makedirs
import pisi.actionsapi.get
def preplib(sourceDirectory):
os.system('/sbin/ldconfig -n -N %s' % get.installDIR() + sourceDirectory)
+4 -3
View File
@@ -20,9 +20,10 @@ import fileinput
import re
# ActionsAPI Modules
import get
from pisitools_functions import *
from shelltools import *
import pisi.actionsapi
import pisi.actionsapi.get as get
from pisi.actionsapi.pisitools_functions import *
from pisi.actionsapi.shelltools import *
def dobin(sourceFile, destinationDirectory = '/usr/bin'):
'''insert a executable file into /bin or /usr/bin'''
+2 -1
View File
@@ -18,7 +18,8 @@ import os
import glob
# ActionsAPI Modules
from shelltools import *
import pisi.actionsapi
from pisi.actionsapi.shelltools import *
class FileError(Exception):
pass
+2 -1
View File
@@ -20,7 +20,8 @@ import shutil
from pisi.ui import ui
# ActionsAPI Modules
import get
import pisi.actionsapi
import pisi.actionsapi.get
def can_access_file(sourceFile):
'''test the existence of file'''
+2 -2
View File
@@ -15,8 +15,8 @@
from os import getenv, environ
# Pisi-Core Modules
import pisi.config
import pisi.constants
import pisi.config # That was the only correct
import pisi.constants # use before changing to abs. imports
# Set individual information, that are generally needed for ActionsAPI
+10 -5
View File
@@ -9,21 +9,23 @@
#
# Please read the COPYING file.
#
# Archive module provides access to regular archive file types.
# maintainer baris and meren
#standard lisbrary modules
# standard library modules
import os
import tarfile
import zipfile
#pisi modules
import util
# PiSi modules
import pisi
import pisi.util as util
class ArchiveError(Exception):
class ArchiveError(pisi.PisiError):
pass
class ArchiveBase(object):
"""Base class for Archive classes."""
def __init__(self, filepath, atype):
@@ -38,6 +40,7 @@ class ArchiveBase(object):
os.makedirs(self.targetDir)
class ArchiveTar(ArchiveBase):
"""ArchiveTar handles tar archives depending on the compression
type. Provides access to tar, tar.gz and tar.bz2 files.
@@ -68,6 +71,7 @@ class ArchiveTar(ArchiveBase):
os.chdir(oldwd)
tar.close()
class ArchiveZip(ArchiveBase):
"""ArchiveZip handles zip archives.
@@ -180,6 +184,7 @@ class ArchiveZip(ArchiveBase):
self.close()
return
class Archive:
"""Archive is the main factory for ArchiveClasses, regarding the
Abstract Factory Pattern :)."""
+12 -10
View File
@@ -17,17 +17,19 @@
import os
import sys
import util
from ui import ui
from constants import const
from config import config
from context import BuildContext
from sourcearchive import SourceArchive
from files import Files, FileInfo
from metadata import MetaData
from package import Package
import pisi
import pisi.util as util
from pisi.ui import ui
from pisi.constants import const
from pisi.config import config
from pisi.context import BuildContext
from pisi.sourcearchive import SourceArchive
from pisi.files import Files, FileInfo
from pisi.metadata import MetaData
from pisi.package import Package
class PisiBuildError(Exception):
class PisiBuildError(pisi.PisiError):
pass
+23 -1
View File
@@ -12,9 +12,10 @@
import sys
from optparse import OptionParser
import pisi
from pisi.purl import PUrl
from common import *
from pisi.cli.common import *
import pisi.toplevel
from pisi.ui import ui
@@ -27,6 +28,7 @@ def commandsString():
s += x + '\n'
return s
# helper functions
def cmdObject(cmd, fail=False):
@@ -40,6 +42,7 @@ def cmdObject(cmd, fail=False):
else:
return None
class Command(object):
"""generic help string for any command"""
@@ -99,6 +102,7 @@ class Command(object):
print 'Program terminated abnormally.'
sys.exit(-1)
class Help(Command):
"""Prints usage
@@ -122,6 +126,7 @@ for that command.
obj = cmdObject(arg, True)
obj.help()
# print "\n",self.parser.format_option_help()
class Build(Command):
"""Build a PISI package using a pspec.xml file
@@ -143,6 +148,7 @@ fetch all necessary files and build the package for you.
for arg in self.args:
pisi.toplevel.build(arg, self.authInfo)
class PackageOp(Command):
"""Abstract package operation command"""
def __init__(self):
@@ -173,6 +179,7 @@ class PackageOp(Command):
# pisi.comariface.finalize()
#except pisi.comariface.ComarError:
# ui.error('Comar error encountered\n')
class Install(PackageOp):
"""Install PISI packages
@@ -195,6 +202,7 @@ specified a package name, it should exist in a specified repository.
pisi.toplevel.install(self.args)
self.finalize()
class Upgrade(PackageOp):
"""Upgrade PISI packages
@@ -216,6 +224,7 @@ specified a package name, it should exist in a specified repository.
pisi.toplevel.upgrade(self.args)
self.finalize()
class Remove(PackageOp):
"""Remove PISI packages
@@ -236,6 +245,7 @@ Remove a package from your system. Just give the package name to remove.
pisi.toplevel.remove(self.args)
self.finalize()
class ConfigurePending(PackageOp):
"""configure pending packages"""
@@ -251,6 +261,7 @@ class ConfigurePending(PackageOp):
pisi.toplevel.configure_pending()
self.finalize()
class Info(Command):
"""Display information about a package
@@ -277,6 +288,7 @@ TODO: Some description...
metadata, files = pisi.toplevel.info(arg)
print metadata.package
class Index(Command):
"""Index PISI files in a given directory
@@ -302,6 +314,7 @@ TODO: Some description...
print 'Indexing only a single directory supported'
return
class ListInstalled(Command):
"""Print the list of all installed packages
@@ -328,6 +341,7 @@ TODO: Some description...
else:
print package
class UpdateRepo(Command):
"""Update the databases of a repository
@@ -348,6 +362,7 @@ TODO: Some description...
for repo in self.args:
pisi.toplevel.update_repo(repo)
class AddRepo(Command):
"""Add a repository
@@ -369,6 +384,7 @@ TODO: Some description...
self.help()
return
class RemoveRepo(Command):
"""Remove a repository
@@ -389,6 +405,7 @@ TODO: Some description...
self.help()
return
class ListRepo(Command):
"""List repositories
@@ -500,6 +517,7 @@ for you.
for arg in self.args:
pisi.toplevel.build_until(arg, state, self.authInfo)
class BuildUnpack(Command):
"""Unpack the source archive
@@ -559,6 +577,7 @@ TODO: desc.
for arg in self.args:
pisi.toplevel.build_until(arg, "buildaction", self.authInfo)
class BuildInstall(Command):
"""Install to the sandbox
@@ -578,6 +597,7 @@ TODO: desc.
for arg in self.args:
pisi.toplevel.build_until(arg, "installaction", self.authInfo)
class BuildPackage(Command):
"""Setup the source
@@ -597,6 +617,8 @@ TODO: desc.
for arg in self.args:
pisi.toplevel.build_until(arg, "buildpackages", self.authInfo)
# command dictionary
commands = {"help": Help,
"build": Build,
"build-until": BuildUntil,
+2 -2
View File
@@ -16,8 +16,8 @@ from optparse import OptionParser
import pisi
import pisi.operations
from pisi.purl import PUrl
from common import *
from commands import *
from pisi.cli.common import *
from pisi.cli.commands import *
class ParserError(Exception):
pass
+3 -1
View File
@@ -13,7 +13,9 @@
import socket
import struct
class ComarError(Exception):
import pisi
class ComarError(pisi.PisiError):
pass
class ComarIface:
+3 -5
View File
@@ -16,8 +16,9 @@
# Authors: Baris Metin <baris@uludag.org.tr
# Eray Ozkural <eray@uludag.org.tr>
from constants import const
from configfile import ConfigurationFile
import pisi
from pisi.constants import const
from pisi.configfile import ConfigurationFile
class Config(object):
"""Config Singleton"""
@@ -27,9 +28,6 @@ class Config(object):
self.values = ConfigurationFile("/etc/pisi/pisi.conf")
self.destdir = self.values.general.destinationdirectory
def __call__(self):
return self
# directory accessor functions
# here is how it goes
# x_dir: system wide directory for storing info type x
+2
View File
@@ -16,6 +16,8 @@
# Author: Baris Metin <baris@uludag.org.tr
import pisi
class _constant:
"Constant members implementation"
class ConstError(TypeError):
+7 -4
View File
@@ -21,13 +21,16 @@ import os
from base64 import encodestring
# pisi modules
import util
from purl import PUrl
from ui import ui
import pisi
import pisi.util as util
from pisi.purl import PUrl
from pisi.ui import ui
class FetchError (Exception):
class FetchError(pisi.PisiError):
pass
# helper functions
def fetchUrl(url, dest, progress=None):
fetch = Fetcher(url, dest)
+3 -1
View File
@@ -16,7 +16,9 @@ ver = sys.version_info
if ver[0] <= 2 and ver[1] < 4:
from sets import Set as set
class CycleError(Exception):
# not a PISI error!
class CycleException(Exception):
pass
class digraph(object):
+14 -13
View File
@@ -16,21 +16,22 @@
import os
from specfile import *
from package import Package
from config import config
from constants import const
from ui import ui
from installdb import installdb
import packagedb
from packagedb import inst_packagedb
import dependency
from metadata import MetaData
from comariface import comard
import operations
import pisi
from pisi.specfile import *
from pisi.package import Package
from pisi.config import config
from pisi.constants import const
from pisi.ui import ui
from pisi.installdb import installdb
import pisi.packagedb as packagedb
from pisi.packagedb import inst_packagedb
import pisi.dependency as dependency
from pisi.metadata import MetaData
from pisi.comariface import comard
import pisi.operations as operations
#import conflicts
class InstallError(Exception):
class InstallError(pisi.PisiError):
pass
class Installer:
+8 -5
View File
@@ -19,14 +19,17 @@ import os
import fcntl
# PiSi
import lockeddbshelve as shelve
from constants import const
from files import Files
import util
import pisi
import pisi.lockeddbshelve as shelve
from pisi.constants import const
from pisi.files import Files
import pisi.util as util
class InstallDBError(Exception):
class InstallDBError(pisi.PisiError):
pass
class InstallDB:
def __init__(self):
+7 -5
View File
@@ -12,11 +12,13 @@
import os
from config import config
from constants import const
from ui import ui
from purl import PUrl
import util, packagedb
import pisi
from pisi.config import config
from pisi.constants import const
from pisi.ui import ui
from pisi.purl import PUrl
import pisi.util as util
import pisi.packagedb as packagedb
# single package operations
+10 -7
View File
@@ -17,16 +17,19 @@
from os.path import join
import archive
from constants import const
from config import config
from purl import PUrl
from metadata import MetaData
from files import Files
import pisi
import pisi.archive as archive
from pisi.constants import const
from pisi.config import config
from pisi.purl import PUrl
from pisi.metadata import MetaData
from pisi.files import Files
class PackageError(Exception):
class PackageError(pisi.PisiError):
pass
class Package:
"""PISI Package Class provides access to a pisi package (.pisi
file)."""
+5 -4
View File
@@ -22,12 +22,13 @@
#from bsddb.dbshelve import DBShelf
import bsddb.dbshelve as shelve
import os, fcntl
import util
from config import config
from bsddb import db
class PackageDBError(Exception):
import pisi
import pisi.util as util
from pisi.config import config
class PackageDBError(pisi.PisiError):
pass
class PackageDB(object):
+8 -8
View File
@@ -20,15 +20,15 @@ from os import access, R_OK
# pisi modules
from archive import Archive
from purl import PUrl
from ui import ui
from config import config
from fetcher import fetchUrl
import util
import pisi
from pisi.archive import Archive
from pisi.purl import PUrl
from pisi.ui import ui
from pisi.config import config
from pisi.fetcher import fetchUrl
import pisi.util as util
class SourceArchiveError(Exception):
class SourceArchiveError(pisi.PisiError):
pass
class SourceArchive:
+6 -5
View File
@@ -24,14 +24,15 @@ import shutil
import statvfs
# pisi modules
from ui import ui
from constants import const
from config import config
import pisi
from pisi.ui import ui
from pisi.constants import const
from pisi.config import config
class FileError(Exception):
class FileError(pisi.PisiError):
pass
class UtilError(Exception):
class UtilError(pisi.PisiError):
pass
+2 -1
View File
@@ -16,8 +16,9 @@
# Authors: Eray Ozkural <eray@uludag.org.tr>
# Baris Metin <baris@uludag.org.tr
import pisi
class XmlError(Exception):
class XmlError(pisi.PisiError):
pass
def getNodeAttribute(node, attrname):