From cf630d87d633f3861e3ac8a50433fa29ca46a74e Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Tue, 29 Nov 2011 12:01:06 +0100 Subject: [PATCH] group db-related stuff in sfa/storage --- setup.py | 1 + sfa/client/sfadump.py | 6 ++++-- sfa/client/sfi.py | 5 +++-- sfa/importer/sfa-import-plc.py | 3 ++- sfa/importer/sfa-nuke-plc.py | 3 ++- sfa/importer/sfaImport.py | 7 ++++--- sfa/managers/registry_manager.py | 5 +++-- sfa/methods/CreateGid.py | 3 ++- sfa/methods/CreateSliver.py | 5 ++++- sfa/methods/DeleteSliver.py | 2 +- sfa/methods/GetCredential.py | 4 +++- sfa/methods/GetGids.py | 4 +++- sfa/methods/GetSelfCredential.py | 6 ++++-- sfa/methods/GetTicket.py | 3 ++- sfa/methods/GetVersion.py | 3 ++- sfa/methods/List.py | 6 ++++-- sfa/methods/ListResources.py | 6 ++++-- sfa/methods/ListSlices.py | 4 +++- sfa/methods/RedeemTicket.py | 3 ++- sfa/methods/Register.py | 4 +++- sfa/methods/Remove.py | 4 +++- sfa/methods/RenewSliver.py | 6 ++++-- sfa/methods/Resolve.py | 6 ++++-- sfa/methods/ResolveGENI.py | 3 ++- sfa/methods/Shutdown.py | 3 ++- sfa/methods/SliverStatus.py | 3 ++- sfa/methods/Start.py | 4 +++- sfa/methods/Stop.py | 4 +++- sfa/methods/Update.py | 4 +++- sfa/methods/UpdateSliver.py | 3 ++- sfa/methods/get_key_from_incoming_ip.py | 3 ++- sfa/methods/get_trusted_certs.py | 4 ++-- sfa/methods/reset_slice.py | 3 ++- sfa/plc/pldriver.py | 7 +++---- sfa/server/sfa-ca.py | 3 ++- sfa/server/sfa-clean-peer-records.py | 10 ++++++---- sfa/server/sfa-start.py | 4 ++-- sfa/server/sfaapi.py | 7 +++++-- sfa/{util => storage}/PostgreSQL.py | 0 sfa/{util => storage}/filter.py | 11 ++--------- sfa/{util => storage}/parameter.py | 0 sfa/{util => storage}/record.py | 4 ++-- sfa/{util => storage}/row.py | 0 sfa/{util => storage}/table.py | 9 +++++---- sfa/util/method.py | 4 ++-- tests/testRecord.py | 2 +- wsdl/sfa2wsdl.py | 2 +- 47 files changed, 121 insertions(+), 75 deletions(-) rename sfa/{util => storage}/PostgreSQL.py (100%) rename sfa/{util => storage}/filter.py (98%) rename sfa/{util => storage}/parameter.py (100%) rename sfa/{util => storage}/record.py (99%) rename sfa/{util => storage}/row.py (100%) rename sfa/{util => storage}/table.py (96%) diff --git a/setup.py b/setup.py index 02226955..c0a8b9ed 100755 --- a/setup.py +++ b/setup.py @@ -37,6 +37,7 @@ bins = [ package_dirs = [ 'sfa', 'sfa/trust', + 'sfa/storage', 'sfa/util', 'sfa/client', 'sfa/server', diff --git a/sfa/client/sfadump.py b/sfa/client/sfadump.py index 52a91055..c45f7719 100755 --- a/sfa/client/sfadump.py +++ b/sfa/client/sfadump.py @@ -8,11 +8,13 @@ import xmlrpclib from types import StringTypes, ListType from optparse import OptionParser +from sfa.util.sfalogging import logger + from sfa.trust.certificate import Certificate from sfa.trust.credential import Credential from sfa.trust.gid import GID -from sfa.util.record import SfaRecord -from sfa.util.sfalogging import logger + +from sfa.storage.record import SfaRecord def determine_sfa_filekind(fn): diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index 6299ce2b..421ff10e 100755 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -25,14 +25,15 @@ from sfa.util.xrn import get_leaf, get_authority, hrn_to_urn from sfa.util.config import Config from sfa.util.version import version_core from sfa.util.cache import Cache -from sfa.util.record import SfaRecord, UserRecord, SliceRecord, NodeRecord, AuthorityRecord + +from sfa.storage.record import SfaRecord, UserRecord, SliceRecord, NodeRecord, AuthorityRecord from sfa.rspecs.rspec import RSpec from sfa.rspecs.rspec_converter import RSpecConverter from sfa.rspecs.version_manager import VersionManager -from sfa.client.return_value import ReturnValue import sfa.client.xmlrpcprotocol as xmlrpcprotocol +from sfa.client.return_value import ReturnValue from sfa.client.client_helper import pg_users_arg, sfa_users_arg AGGREGATE_PORT=12346 diff --git a/sfa/importer/sfa-import-plc.py b/sfa/importer/sfa-import-plc.py index dad723b6..45945343 100755 --- a/sfa/importer/sfa-import-plc.py +++ b/sfa/importer/sfa-import-plc.py @@ -18,12 +18,13 @@ import os import getopt import sys -from sfa.util.table import SfaTable from sfa.util.xrn import get_leaf, get_authority from sfa.util.plxrn import hostname_to_hrn, slicename_to_hrn, email_to_hrn, hrn_to_pl_slicename from sfa.util.config import Config from sfa.util.xrn import Xrn +from sfa.storage.table import SfaTable + from sfa.importer.sfaImport import sfaImport def process_options(): diff --git a/sfa/importer/sfa-nuke-plc.py b/sfa/importer/sfa-nuke-plc.py index be7b0c10..5450a20e 100755 --- a/sfa/importer/sfa-nuke-plc.py +++ b/sfa/importer/sfa-nuke-plc.py @@ -11,9 +11,10 @@ import sys import os from optparse import OptionParser -from sfa.util.table import SfaTable from sfa.util.sfalogging import logger +from sfa.storage.table import SfaTable + def main(): usage="%prog: trash the registry DB (the 'sfa' table in the 'planetlab5' database)" parser = OptionParser(usage=usage) diff --git a/sfa/importer/sfaImport.py b/sfa/importer/sfaImport.py index 082d3ed3..3f054ba7 100644 --- a/sfa/importer/sfaImport.py +++ b/sfa/importer/sfaImport.py @@ -9,17 +9,18 @@ ## from sfa.util.sfalogging import _SfaLogger - -from sfa.util.record import SfaRecord -from sfa.util.table import SfaTable from sfa.util.xrn import get_authority, hrn_to_urn from sfa.util.plxrn import email_to_hrn from sfa.util.config import Config + from sfa.trust.certificate import convert_public_key, Keypair from sfa.trust.trustedroots import TrustedRoots from sfa.trust.hierarchy import Hierarchy from sfa.trust.gid import create_uuid +from sfa.storage.record import SfaRecord +from sfa.storage.table import SfaTable + def _un_unicode(str): if isinstance(str, unicode): diff --git a/sfa/managers/registry_manager.py b/sfa/managers/registry_manager.py index a1b7b1af..93d2ea8f 100644 --- a/sfa/managers/registry_manager.py +++ b/sfa/managers/registry_manager.py @@ -8,8 +8,6 @@ import commands from sfa.util.faults import RecordNotFound, AccountNotEnabled, PermissionError, MissingAuthority, \ UnknownSfaType, ExistingRecord, NonExistingRecord from sfa.util.prefixTree import prefixTree -from sfa.util.record import SfaRecord -from sfa.util.table import SfaTable from sfa.util.xrn import Xrn, get_authority, hrn_to_urn, urn_to_hrn from sfa.util.plxrn import hrn_to_pl_login_base from sfa.util.version import version_core @@ -20,6 +18,9 @@ from sfa.trust.credential import Credential from sfa.trust.certificate import Certificate, Keypair, convert_public_key from sfa.trust.gid import create_uuid +from sfa.storage.record import SfaRecord +from sfa.storage.table import SfaTable + class RegistryManager: def __init__ (self): pass diff --git a/sfa/methods/CreateGid.py b/sfa/methods/CreateGid.py index db69acd1..eb001a1c 100644 --- a/sfa/methods/CreateGid.py +++ b/sfa/methods/CreateGid.py @@ -1,7 +1,8 @@ from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + +from sfa.storage.parameter import Parameter, Mixed from sfa.trust.credential import Credential class CreateGid(Method): diff --git a/sfa/methods/CreateSliver.py b/sfa/methods/CreateSliver.py index 218986eb..fb1a2920 100644 --- a/sfa/methods/CreateSliver.py +++ b/sfa/methods/CreateSliver.py @@ -1,9 +1,12 @@ from sfa.util.faults import SfaInvalidArgument from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed from sfa.util.sfatablesRuntime import run_sfatables + from sfa.trust.credential import Credential + +from sfa.storage.parameter import Parameter, Mixed + from sfa.rspecs.rspec import RSpec class CreateSliver(Method): diff --git a/sfa/methods/DeleteSliver.py b/sfa/methods/DeleteSliver.py index fe07b6ad..6be2bc4e 100644 --- a/sfa/methods/DeleteSliver.py +++ b/sfa/methods/DeleteSliver.py @@ -1,6 +1,6 @@ from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed +from sfa.storage.parameter import Parameter, Mixed from sfa.trust.auth import Auth from sfa.trust.credential import Credential diff --git a/sfa/methods/GetCredential.py b/sfa/methods/GetCredential.py index d966dd3f..50525c20 100644 --- a/sfa/methods/GetCredential.py +++ b/sfa/methods/GetCredential.py @@ -1,8 +1,10 @@ from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + from sfa.trust.credential import Credential +from sfa.storage.parameter import Parameter, Mixed + class GetCredential(Method): """ Retrive a credential for an object diff --git a/sfa/methods/GetGids.py b/sfa/methods/GetGids.py index 5c1470b7..f67f5d4d 100644 --- a/sfa/methods/GetGids.py +++ b/sfa/methods/GetGids.py @@ -1,8 +1,10 @@ from sfa.util.faults import RecordNotFound from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + from sfa.trust.credential import Credential +from sfa.storage.parameter import Parameter, Mixed + class GetGids(Method): """ Get a list of record information (hrn, gid and type) for diff --git a/sfa/methods/GetSelfCredential.py b/sfa/methods/GetSelfCredential.py index efad1804..fd87ca03 100644 --- a/sfa/methods/GetSelfCredential.py +++ b/sfa/methods/GetSelfCredential.py @@ -2,10 +2,12 @@ from sfa.util.faults import RecordNotFound, ConnectionKeyGIDMismatch from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed -from sfa.util.record import SfaRecord + from sfa.trust.certificate import Certificate +from sfa.storage.parameter import Parameter, Mixed +from sfa.storage.record import SfaRecord + class GetSelfCredential(Method): """ Retrive a credential for an object diff --git a/sfa/methods/GetTicket.py b/sfa/methods/GetTicket.py index b1d8f872..2223e373 100644 --- a/sfa/methods/GetTicket.py +++ b/sfa/methods/GetTicket.py @@ -1,10 +1,11 @@ from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed from sfa.util.sfatablesRuntime import run_sfatables from sfa.trust.credential import Credential +from sfa.storage.parameter import Parameter, Mixed + class GetTicket(Method): """ Retrieve a ticket. This operation is currently implemented on PLC diff --git a/sfa/methods/GetVersion.py b/sfa/methods/GetVersion.py index 801b3392..9dc586f1 100644 --- a/sfa/methods/GetVersion.py +++ b/sfa/methods/GetVersion.py @@ -1,5 +1,6 @@ from sfa.util.method import Method -from sfa.util.parameter import Parameter + +from sfa.storage.parameter import Parameter class GetVersion(Method): diff --git a/sfa/methods/List.py b/sfa/methods/List.py index 55dd7dd9..bbd3e478 100644 --- a/sfa/methods/List.py +++ b/sfa/methods/List.py @@ -1,10 +1,12 @@ from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed -from sfa.util.record import SfaRecord + from sfa.trust.credential import Credential +from sfa.storage.parameter import Parameter, Mixed +from sfa.storage.record import SfaRecord + class List(Method): """ List the records in an authority. diff --git a/sfa/methods/ListResources.py b/sfa/methods/ListResources.py index 6b1e7850..65fd819f 100644 --- a/sfa/methods/ListResources.py +++ b/sfa/methods/ListResources.py @@ -2,10 +2,12 @@ import zlib from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed -from sfa.trust.credential import Credential from sfa.util.sfatablesRuntime import run_sfatables +from sfa.trust.credential import Credential + +from sfa.storage.parameter import Parameter, Mixed + class ListResources(Method): """ Returns information about available resources or resources allocated to this slice diff --git a/sfa/methods/ListSlices.py b/sfa/methods/ListSlices.py index eed408f2..e14c9b6d 100644 --- a/sfa/methods/ListSlices.py +++ b/sfa/methods/ListSlices.py @@ -1,7 +1,9 @@ from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + from sfa.trust.credential import Credential +from sfa.storage.parameter import Parameter, Mixed + class ListSlices(Method): """ List the slices instantiated at this interface diff --git a/sfa/methods/RedeemTicket.py b/sfa/methods/RedeemTicket.py index c6a75e2a..522ff124 100644 --- a/sfa/methods/RedeemTicket.py +++ b/sfa/methods/RedeemTicket.py @@ -1,5 +1,6 @@ from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + +from sfa.storage.parameter import Parameter, Mixed class RedeemTicket(Method): """ diff --git a/sfa/methods/Register.py b/sfa/methods/Register.py index 2d9cbfd8..87f9a0f8 100644 --- a/sfa/methods/Register.py +++ b/sfa/methods/Register.py @@ -1,7 +1,9 @@ from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + from sfa.trust.credential import Credential +from sfa.storage.parameter import Parameter, Mixed + class Register(Method): """ Register an object with the registry. In addition to being stored in the diff --git a/sfa/methods/Remove.py b/sfa/methods/Remove.py index 1804fd91..ee650f1c 100644 --- a/sfa/methods/Remove.py +++ b/sfa/methods/Remove.py @@ -1,8 +1,10 @@ from sfa.util.xrn import Xrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + from sfa.trust.credential import Credential +from sfa.storage.parameter import Parameter, Mixed + class Remove(Method): """ Remove an object from the registry. If the object represents a PLC object, diff --git a/sfa/methods/RenewSliver.py b/sfa/methods/RenewSliver.py index 48d64931..a380d992 100644 --- a/sfa/methods/RenewSliver.py +++ b/sfa/methods/RenewSliver.py @@ -3,10 +3,12 @@ import datetime from sfa.util.faults import InsufficientRights from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter -from sfa.trust.credential import Credential from sfa.util.sfatime import utcparse +from sfa.trust.credential import Credential + +from sfa.storage.parameter import Parameter + class RenewSliver(Method): """ Renews the resources in a sliver, extending the lifetime of the slice. diff --git a/sfa/methods/Resolve.py b/sfa/methods/Resolve.py index 094500f0..9a6dd47c 100644 --- a/sfa/methods/Resolve.py +++ b/sfa/methods/Resolve.py @@ -2,9 +2,11 @@ import types from sfa.util.xrn import Xrn, urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + from sfa.trust.credential import Credential -from sfa.util.record import SfaRecord + +from sfa.storage.parameter import Parameter, Mixed +from sfa.storage.record import SfaRecord class Resolve(Method): """ diff --git a/sfa/methods/ResolveGENI.py b/sfa/methods/ResolveGENI.py index 7c9cc144..e32bf6de 100644 --- a/sfa/methods/ResolveGENI.py +++ b/sfa/methods/ResolveGENI.py @@ -1,5 +1,6 @@ from sfa.util.method import Method -from sfa.util.parameter import Parameter + +from sfa.storage.parameter import Parameter class ResolveGENI(Method): """ diff --git a/sfa/methods/Shutdown.py b/sfa/methods/Shutdown.py index 9788608a..273b9914 100644 --- a/sfa/methods/Shutdown.py +++ b/sfa/methods/Shutdown.py @@ -1,4 +1,5 @@ -from sfa.util.parameter import Parameter +from sfa.storage.parameter import Parameter + from sfa.methods.Stop import Stop class Shutdown(Stop): diff --git a/sfa/methods/SliverStatus.py b/sfa/methods/SliverStatus.py index 2a0ac5dc..f722c7cd 100644 --- a/sfa/methods/SliverStatus.py +++ b/sfa/methods/SliverStatus.py @@ -1,6 +1,7 @@ from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + +from sfa.storage.parameter import Parameter, Mixed class SliverStatus(Method): """ diff --git a/sfa/methods/Start.py b/sfa/methods/Start.py index 7f8aefd2..14122225 100644 --- a/sfa/methods/Start.py +++ b/sfa/methods/Start.py @@ -1,8 +1,10 @@ from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + from sfa.trust.credential import Credential +from sfa.storage.parameter import Parameter, Mixed + class Start(Method): """ Start the specified slice diff --git a/sfa/methods/Stop.py b/sfa/methods/Stop.py index 48974ab2..0d802827 100644 --- a/sfa/methods/Stop.py +++ b/sfa/methods/Stop.py @@ -1,8 +1,10 @@ from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + from sfa.trust.credential import Credential +from sfa.storage.parameter import Parameter, Mixed + class Stop(Method): """ Stop the specified slice diff --git a/sfa/methods/Update.py b/sfa/methods/Update.py index 76433024..e0b1003e 100644 --- a/sfa/methods/Update.py +++ b/sfa/methods/Update.py @@ -1,7 +1,9 @@ from sfa.util.method import Method -from sfa.util.parameter import Parameter + from sfa.trust.credential import Credential +from sfa.storage.parameter import Parameter + class Update(Method): """ Update an object in the registry. Currently, this only updates the diff --git a/sfa/methods/UpdateSliver.py b/sfa/methods/UpdateSliver.py index 245b2077..3302b56d 100644 --- a/sfa/methods/UpdateSliver.py +++ b/sfa/methods/UpdateSliver.py @@ -1,4 +1,5 @@ -from sfa.util.parameter import Parameter, Mixed +from sfa.storage.parameter import Parameter, Mixed + from sfa.methods.CreateSliver import CreateSliver class UpdateSliver(CreateSliver): diff --git a/sfa/methods/get_key_from_incoming_ip.py b/sfa/methods/get_key_from_incoming_ip.py index c7abb75b..5887f998 100644 --- a/sfa/methods/get_key_from_incoming_ip.py +++ b/sfa/methods/get_key_from_incoming_ip.py @@ -1,7 +1,8 @@ from sfa.util.method import Method -from sfa.util.parameter import Parameter from sfa.util.sfalogging import logger +from sfa.storage.parameter import Parameter + class get_key_from_incoming_ip(Method): """ Generate a new keypair and gid for requesting caller (component/node). diff --git a/sfa/methods/get_trusted_certs.py b/sfa/methods/get_trusted_certs.py index 460ab4dc..7a4e1c54 100644 --- a/sfa/methods/get_trusted_certs.py +++ b/sfa/methods/get_trusted_certs.py @@ -1,9 +1,9 @@ -#from sfa.util.faults import * from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + from sfa.trust.auth import Auth from sfa.trust.credential import Credential +from sfa.storage.parameter import Parameter, Mixed class get_trusted_certs(Method): """ diff --git a/sfa/methods/reset_slice.py b/sfa/methods/reset_slice.py index 387981d4..c3975ffd 100644 --- a/sfa/methods/reset_slice.py +++ b/sfa/methods/reset_slice.py @@ -1,6 +1,7 @@ from sfa.util.xrn import urn_to_hrn from sfa.util.method import Method -from sfa.util.parameter import Parameter, Mixed + +from sfa.storage.parameter import Parameter, Mixed class reset_slice(Method): """ diff --git a/sfa/plc/pldriver.py b/sfa/plc/pldriver.py index a93ebd52..d5d5bf9a 100644 --- a/sfa/plc/pldriver.py +++ b/sfa/plc/pldriver.py @@ -1,12 +1,13 @@ # from sfa.util.faults import MissingSfaInfo, UnknownSfaType from sfa.util.sfalogging import logger -from sfa.util.table import SfaTable from sfa.util.defaultdict import defaultdict - from sfa.util.xrn import hrn_to_urn, get_leaf from sfa.util.plxrn import slicename_to_hrn, hostname_to_hrn, hrn_to_pl_slicename, hrn_to_pl_login_base +# one would think the driver should not need to mess with the SFA db, but.. +from sfa.storage.table import SfaTable + # the driver interface, mostly provides default behaviours from sfa.managers.driver import Driver @@ -418,8 +419,6 @@ class PlDriver (Driver, PlShell): # we obtain # get the sfa records - # xxx thgen fixme - use SfaTable hardwired for now - # table = self.SfaTable() table = SfaTable() person_list, persons = [], {} person_list = table.find({'type': 'user', 'pointer': person_ids}) diff --git a/sfa/server/sfa-ca.py b/sfa/server/sfa-ca.py index 0fbe140f..b87e119c 100755 --- a/sfa/server/sfa-ca.py +++ b/sfa/server/sfa-ca.py @@ -23,11 +23,12 @@ import sys from optparse import OptionParser from sfa.util.config import Config -from sfa.util.table import SfaTable from sfa.trust.gid import GID, create_uuid from sfa.trust.hierarchy import Hierarchy +from sfa.storage.table import SfaTable + def main(): args = sys.argv script_name = args[0] diff --git a/sfa/server/sfa-clean-peer-records.py b/sfa/server/sfa-clean-peer-records.py index 0d99e98c..62acb4b2 100644 --- a/sfa/server/sfa-clean-peer-records.py +++ b/sfa/server/sfa-clean-peer-records.py @@ -5,17 +5,19 @@ import os import traceback import socket -import sfa.client.xmlrpcprotocol as xmlrpcprotocol -from sfa.util.table import SfaTable from sfa.util.prefixTree import prefixTree from sfa.util.config import Config -from sfa.generic import Generic - from sfa.trust.certificate import Keypair from sfa.trust.hierarchy import Hierarchy from sfa.server.registry import Registries +from sfa.storage.table import SfaTable + +import sfa.client.xmlrpcprotocol as xmlrpcprotocol + +from sfa.generic import Generic + def main(): config = Config() if not config.SFA_REGISTRY_ENABLED: diff --git a/sfa/server/sfa-start.py b/sfa/server/sfa-start.py index dbd5e4f7..6c050601 100755 --- a/sfa/server/sfa-start.py +++ b/sfa/server/sfa-start.py @@ -136,8 +136,8 @@ def update_cert_records(gids): Removes old records from the db. """ # import SfaTable here so this module can be loaded by PlcComponentApi - from sfa.util.table import SfaTable - from sfa.util.record import SfaRecord + from sfa.storage.table import SfaTable + from sfa.storage.record import SfaRecord if not gids: return table = SfaTable() diff --git a/sfa/server/sfaapi.py b/sfa/server/sfaapi.py index 9afe9b4f..79a5540d 100644 --- a/sfa/server/sfaapi.py +++ b/sfa/server/sfaapi.py @@ -2,18 +2,21 @@ import os, os.path import datetime from sfa.util.faults import SfaFault, SfaAPIError +from sfa.util.genicode import GENICODE from sfa.util.config import Config from sfa.util.cache import Cache from sfa.trust.auth import Auth + from sfa.trust.certificate import Keypair, Certificate from sfa.trust.credential import Credential from sfa.trust.rights import determine_rights + from sfa.server.xmlrpcapi import XmlrpcApi -from sfa.util.genicode import GENICODE + from sfa.client.return_value import ReturnValue # thgen xxx fixme this is wrong all right, but temporary, will use generic -from sfa.util.table import SfaTable +from sfa.storage.table import SfaTable #################### class SfaApi (XmlrpcApi): diff --git a/sfa/util/PostgreSQL.py b/sfa/storage/PostgreSQL.py similarity index 100% rename from sfa/util/PostgreSQL.py rename to sfa/storage/PostgreSQL.py diff --git a/sfa/util/filter.py b/sfa/storage/filter.py similarity index 98% rename from sfa/util/filter.py rename to sfa/storage/filter.py index 8f037cab..afe425d8 100644 --- a/sfa/util/filter.py +++ b/sfa/storage/filter.py @@ -1,16 +1,9 @@ from types import StringTypes -try: - set -except NameError: - from sets import Set - set = Set - -try: import pgdb -except: pass +import pgdb from sfa.util.faults import SfaInvalidArgument -from sfa.util.parameter import Parameter, Mixed, python_type +from sfa.storage.parameter import Parameter, Mixed, python_type class Filter(Parameter, dict): """ diff --git a/sfa/util/parameter.py b/sfa/storage/parameter.py similarity index 100% rename from sfa/util/parameter.py rename to sfa/storage/parameter.py diff --git a/sfa/util/record.py b/sfa/storage/record.py similarity index 99% rename from sfa/util/record.py rename to sfa/storage/record.py index 7ebf379a..46c6699e 100644 --- a/sfa/util/record.py +++ b/sfa/storage/record.py @@ -8,9 +8,9 @@ from types import StringTypes from sfa.trust.gid import GID -from sfa.util.parameter import Parameter +from sfa.storage.parameter import Parameter from sfa.util.xrn import get_authority -from sfa.util.row import Row +from sfa.storage.row import Row from sfa.util.xml import XML class SfaRecord(Row): diff --git a/sfa/util/row.py b/sfa/storage/row.py similarity index 100% rename from sfa/util/row.py rename to sfa/storage/row.py diff --git a/sfa/util/table.py b/sfa/storage/table.py similarity index 96% rename from sfa/util/table.py rename to sfa/storage/table.py index 5fdafeff..3c69fda3 100644 --- a/sfa/util/table.py +++ b/sfa/storage/table.py @@ -6,10 +6,11 @@ from types import StringTypes from sfa.util.config import Config -from sfa.util.parameter import Parameter -from sfa.util.filter import Filter -from sfa.util.PostgreSQL import PostgreSQL -from sfa.util.record import SfaRecord, AuthorityRecord, NodeRecord, SliceRecord, UserRecord + +from sfa.storage.parameter import Parameter +from sfa.storage.filter import Filter +from sfa.storage.PostgreSQL import PostgreSQL +from sfa.storage.record import SfaRecord, AuthorityRecord, NodeRecord, SliceRecord, UserRecord class SfaTable(list): diff --git a/sfa/util/method.py b/sfa/util/method.py index 97ddb399..4bfeb9bb 100644 --- a/sfa/util/method.py +++ b/sfa/util/method.py @@ -7,10 +7,10 @@ import time from types import IntType, LongType, StringTypes import textwrap - from sfa.util.sfalogging import logger from sfa.util.faults import SfaFault, SfaInvalidAPIMethod, SfaInvalidArgumentCount, SfaInvalidArgument -from sfa.util.parameter import Parameter, Mixed, python_type, xmlrpc_type + +from sfa.storage.parameter import Parameter, Mixed, python_type, xmlrpc_type class Method: """ diff --git a/tests/testRecord.py b/tests/testRecord.py index 0eff8e84..329d84e9 100755 --- a/tests/testRecord.py +++ b/tests/testRecord.py @@ -2,7 +2,7 @@ import unittest import xmlrpclib from sfa.trust.gid import * from sfa.util.config import * -from sfa.util.record import * +from sfa.storage.record import * class TestRecord(unittest.TestCase): def setUp(self): diff --git a/wsdl/sfa2wsdl.py b/wsdl/sfa2wsdl.py index de446283..e794e898 100755 --- a/wsdl/sfa2wsdl.py +++ b/wsdl/sfa2wsdl.py @@ -16,7 +16,7 @@ import inspect from types import * from optparse import OptionParser -from sfa.util.parameter import Parameter,Mixed +from sfa.storage.parameter import Parameter,Mixed import globals -- 2.43.0