* create pisi.api (closes #195)
- add init() routine - move content of toplevel here
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE Project SYSTEM "Project-3.7.dtd">
|
<!DOCTYPE Project SYSTEM "Project-3.7.dtd">
|
||||||
<!-- Project file for project pisi -->
|
<!-- Project file for project pisi -->
|
||||||
<!-- Saved: 2005-08-16, 12:33:37 -->
|
<!-- Saved: 2005-08-19, 16:42:14 -->
|
||||||
<!-- Copyright (C) 2005 PiSi Development Team, pisi@uludag.org.tr -->
|
<!-- Copyright (C) 2005 PiSi Development Team, pisi@uludag.org.tr -->
|
||||||
<Project version="3.7">
|
<Project version="3.7">
|
||||||
<ProgLanguage mixed="0">Python</ProgLanguage>
|
<ProgLanguage mixed="0">Python</ProgLanguage>
|
||||||
@@ -239,10 +239,6 @@
|
|||||||
<Dir>pisi</Dir>
|
<Dir>pisi</Dir>
|
||||||
<Name>context.py</Name>
|
<Name>context.py</Name>
|
||||||
</Source>
|
</Source>
|
||||||
<Source>
|
|
||||||
<Dir>pisi</Dir>
|
|
||||||
<Name>toplevel.py</Name>
|
|
||||||
</Source>
|
|
||||||
<Source>
|
<Source>
|
||||||
<Dir>pisi</Dir>
|
<Dir>pisi</Dir>
|
||||||
<Name>sourcefetcher.py</Name>
|
<Name>sourcefetcher.py</Name>
|
||||||
@@ -307,6 +303,10 @@
|
|||||||
<Dir>pisi</Dir>
|
<Dir>pisi</Dir>
|
||||||
<Name>uri.py</Name>
|
<Name>uri.py</Name>
|
||||||
</Source>
|
</Source>
|
||||||
|
<Source>
|
||||||
|
<Dir>pisi</Dir>
|
||||||
|
<Name>api.py</Name>
|
||||||
|
</Source>
|
||||||
</Sources>
|
</Sources>
|
||||||
<Forms>
|
<Forms>
|
||||||
</Forms>
|
</Forms>
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
__version__ = "0.3"
|
__version__ = "0.3"
|
||||||
|
|
||||||
__all__ = [ 'toplevel', 'packagedb', 'installdb' ]
|
__all__ = [ 'api', 'packagedb', 'installdb' ]
|
||||||
|
|
||||||
class Error(Exception):
|
class Error(Exception):
|
||||||
"""Class of exceptions that lead to program termination"""
|
"""Class of exceptions that lead to program termination"""
|
||||||
|
|||||||
@@ -34,6 +34,14 @@ from pisi.index import Index
|
|||||||
class Error(pisi.Error):
|
class Error(pisi.Error):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def init(database = True):
|
||||||
|
"""Kickstart PISI subsystem"""
|
||||||
|
# initialize repository databases
|
||||||
|
if database:
|
||||||
|
from pisi.repodb import repodb
|
||||||
|
repodb.init_dbs()
|
||||||
|
|
||||||
|
|
||||||
def install(packages):
|
def install(packages):
|
||||||
"""install a list of packages (either files/urls, or names)"""
|
"""install a list of packages (either files/urls, or names)"""
|
||||||
|
|
||||||
+20
-23
@@ -115,17 +115,14 @@ class Command(object):
|
|||||||
else:
|
else:
|
||||||
self.authInfo = None
|
self.authInfo = None
|
||||||
|
|
||||||
def init(self, database = False):
|
def init(self, database = True):
|
||||||
"""initialize PiSi components"""
|
"""initialize PiSi components"""
|
||||||
|
|
||||||
# NB: command imports here or in the command class run fxns
|
# NB: command imports here or in the command class run fxns
|
||||||
import pisi.toplevel
|
import pisi.api
|
||||||
from pisi.ui import ui
|
from pisi.ui import ui
|
||||||
|
|
||||||
# initialize repository databases
|
pisi.api.init(database)
|
||||||
if database:
|
|
||||||
from pisi.repodb import repodb
|
|
||||||
repodb.init_dbs()
|
|
||||||
|
|
||||||
def finalize(self):
|
def finalize(self):
|
||||||
"""do cleanup work for PiSi components"""
|
"""do cleanup work for PiSi components"""
|
||||||
@@ -243,7 +240,7 @@ fetch all necessary files and build the package for you.
|
|||||||
from pisi.config import config
|
from pisi.config import config
|
||||||
pisi.ui.ui.info('Output directory: %s\n' % config.options.output_dir)
|
pisi.ui.ui.info('Output directory: %s\n' % config.options.output_dir)
|
||||||
for arg in self.args:
|
for arg in self.args:
|
||||||
pisi.toplevel.build(arg, self.authInfo)
|
pisi.api.build(arg, self.authInfo)
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
|
|
||||||
@@ -305,7 +302,7 @@ specified a package name, it should exist in a specified repository.
|
|||||||
return
|
return
|
||||||
|
|
||||||
self.init()
|
self.init()
|
||||||
pisi.toplevel.install(self.args)
|
pisi.api.install(self.args)
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
|
|
||||||
@@ -334,7 +331,7 @@ specified a package name, it should exist in a specified repository.
|
|||||||
return
|
return
|
||||||
|
|
||||||
self.init()
|
self.init()
|
||||||
pisi.toplevel.upgrade(self.args)
|
pisi.api.upgrade(self.args)
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
|
|
||||||
@@ -358,7 +355,7 @@ Remove package(s) from your system. Just give the package names to remove.
|
|||||||
return
|
return
|
||||||
|
|
||||||
self.init()
|
self.init()
|
||||||
pisi.toplevel.remove(self.args)
|
pisi.api.remove(self.args)
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
|
|
||||||
@@ -387,7 +384,7 @@ Upgrade the entire system.
|
|||||||
|
|
||||||
self.init()
|
self.init()
|
||||||
from pisi.installdb import installdb
|
from pisi.installdb import installdb
|
||||||
pisi.toplevel.upgrade(installdb.list_installed())
|
pisi.api.upgrade(installdb.list_installed())
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
|
|
||||||
@@ -405,7 +402,7 @@ class ConfigurePending(PackageOp):
|
|||||||
def run(self):
|
def run(self):
|
||||||
|
|
||||||
self.init()
|
self.init()
|
||||||
pisi.toplevel.configure_pending()
|
pisi.api.configure_pending()
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
|
|
||||||
@@ -443,7 +440,7 @@ Usage: info <package1> <package2> ... <packagen>
|
|||||||
def printinfo(self, arg):
|
def printinfo(self, arg):
|
||||||
import os.path
|
import os.path
|
||||||
|
|
||||||
metadata, files = pisi.toplevel.info(arg)
|
metadata, files = pisi.api.info(arg)
|
||||||
print metadata.package
|
print metadata.package
|
||||||
if self.options.files or self.options.files_path:
|
if self.options.files or self.options.files_path:
|
||||||
if files:
|
if files:
|
||||||
@@ -483,7 +480,7 @@ source and binary packages.
|
|||||||
def run(self):
|
def run(self):
|
||||||
|
|
||||||
self.init()
|
self.init()
|
||||||
from pisi.toplevel import index
|
from pisi.api import index
|
||||||
if len(self.args)==1:
|
if len(self.args)==1:
|
||||||
index(self.args[0])
|
index(self.args[0])
|
||||||
elif len(self.args)==0:
|
elif len(self.args)==0:
|
||||||
@@ -558,7 +555,7 @@ Synchronizes the PiSi databases with the current repository.
|
|||||||
|
|
||||||
self.init(True)
|
self.init(True)
|
||||||
for repo in self.args:
|
for repo in self.args:
|
||||||
pisi.toplevel.update_repo(repo)
|
pisi.api.update_repo(repo)
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
|
|
||||||
@@ -585,7 +582,7 @@ NB: We support only local files (e.g., /a/b/c) and http:// URIs at the moment
|
|||||||
self.init()
|
self.init()
|
||||||
name = self.args[0]
|
name = self.args[0]
|
||||||
indexuri = self.args[1]
|
indexuri = self.args[1]
|
||||||
pisi.toplevel.add_repo(name, indexuri)
|
pisi.api.add_repo(name, indexuri)
|
||||||
self.init()
|
self.init()
|
||||||
else:
|
else:
|
||||||
self.help()
|
self.help()
|
||||||
@@ -611,7 +608,7 @@ Remove all repository information from the system.
|
|||||||
if len(self.args)>=1:
|
if len(self.args)>=1:
|
||||||
self.init()
|
self.init()
|
||||||
for repo in self.args:
|
for repo in self.args:
|
||||||
pisi.toplevel.remove_repo(repo)
|
pisi.api.remove_repo(repo)
|
||||||
self.finalize()
|
self.finalize()
|
||||||
else:
|
else:
|
||||||
self.help()
|
self.help()
|
||||||
@@ -750,7 +747,7 @@ for you.
|
|||||||
state = self.options.state
|
state = self.options.state
|
||||||
|
|
||||||
for arg in self.args:
|
for arg in self.args:
|
||||||
pisi.toplevel.build_until(arg, state, self.authInfo)
|
pisi.api.build_until(arg, state, self.authInfo)
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
|
|
||||||
@@ -775,7 +772,7 @@ TODO: desc.
|
|||||||
|
|
||||||
self.init()
|
self.init()
|
||||||
for arg in self.args:
|
for arg in self.args:
|
||||||
pisi.toplevel.build_until(arg, "unpack", self.authInfo)
|
pisi.api.build_until(arg, "unpack", self.authInfo)
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
|
|
||||||
@@ -800,7 +797,7 @@ TODO: desc.
|
|||||||
|
|
||||||
self.init()
|
self.init()
|
||||||
for arg in self.args:
|
for arg in self.args:
|
||||||
pisi.toplevel.build_until(arg, "setupaction",
|
pisi.api.build_until(arg, "setupaction",
|
||||||
self.authInfo)
|
self.authInfo)
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
@@ -826,7 +823,7 @@ TODO: desc.
|
|||||||
|
|
||||||
self.init()
|
self.init()
|
||||||
for arg in self.args:
|
for arg in self.args:
|
||||||
pisi.toplevel.build_until(arg, "buildaction", self.authInfo)
|
pisi.api.build_until(arg, "buildaction", self.authInfo)
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
|
|
||||||
@@ -851,7 +848,7 @@ TODO: desc.
|
|||||||
|
|
||||||
self.init()
|
self.init()
|
||||||
for arg in self.args:
|
for arg in self.args:
|
||||||
pisi.toplevel.build_until(arg, "installaction",
|
pisi.api.build_until(arg, "installaction",
|
||||||
self.authInfo)
|
self.authInfo)
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
@@ -877,7 +874,7 @@ TODO: desc.
|
|||||||
|
|
||||||
self.init()
|
self.init()
|
||||||
for arg in self.args:
|
for arg in self.args:
|
||||||
pisi.toplevel.build_until(arg, "buildpackages", self.authInfo)
|
pisi.api.build_until(arg, "buildpackages", self.authInfo)
|
||||||
self.finalize()
|
self.finalize()
|
||||||
|
|
||||||
usage_text1 = """%prog [options] <command> [arguments]
|
usage_text1 = """%prog [options] <command> [arguments]
|
||||||
|
|||||||
Reference in New Issue
Block a user