Changeset 659

Show
Ignore:
Timestamp:
10/01/08 14:19:02 (2 months ago)
Author:
mdroe
Message:

More speed improvements

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/vo/vo/converters.py

    r658 r659  
    105105    def _binparse_var(self, read): 
    106106        length = self._parse_length(read) 
    107         return str(read(length).decode('ascii')
     107        return read(length).encode('ascii'
    108108 
    109109    def _binparse_fixed(self, read): 
     
    184184        self._base = base 
    185185 
    186     def parse(self, value): 
    187         if value.strip() == '': 
    188             parts = [] 
    189         parts = array_splitter.split(value) 
    190  
    191         if isinstance(self._base, NumericArray): 
    192             items = self._base._items 
    193             parse_parts = self._base.parse_parts 
    194             if len(parts) % items != 0: 
    195                 raise ValueError("Incorrect number of elements in array") 
    196             result = [] 
    197             for i in xrange(0, len(parts), items): 
    198                 result.append(parse_parts(parts[i:i+items])) 
    199             return np.array(result) 
    200         else: 
    201             parse = self._base.parse 
    202             return np.array([parse(x) for x in parts], dtype=self._base.format) 
    203  
    204186    def output(self, value): 
    205187        output = self._base.output 
     
    336318 
    337319    parse = staticmethod(float) 
    338 #     def parse(value): 
    339 #         return float(value) 
    340320 
    341321    def output(self, value): 
     
    486466 
    487467class BitArray(NumericArray): 
    488     vararray_type = VarArray 
     468    vararray_type = ArrayVarArray 
    489469 
    490470    def __init__(self, field, base, arraysize): 
     
    535515    format = 'b1' 
    536516    array_type = BitArray 
    537     vararray_type = VarArray 
     517    vararray_type = ScalarVarArray 
    538518    default = False 
    539519 
  • trunk/vo/vo/tree.py

    r658 r659  
    207207                "The gref attribute on LINK is deprecated in VOTABLE 1.1") 
    208208 
    209         self.ID = ID 
     209        self.ID           = ID 
    210210        self.content_role = content_role 
    211211        self.content_type = content_type 
    212         self.title = title 
    213         self.value = value 
    214         self.href = href 
    215         self.action = action 
     212        self.title        = title 
     213        self.value        = value 
     214        self.href         = href 
     215        self.action       = action 
    216216 
    217217    def _set_ID(self, ID): 
     
    267267        _SimpleElement.__init__(self) 
    268268 
    269         self.ID = ID or name 
    270         self.name = name or ID 
     269        self.ID    = ID or name 
     270        self.name = name or ID 
    271271        self.value = value 
    272272 
     
    339339 
    340340        self._votable = votable 
    341         self._field = field 
    342         self.ID = ID 
    343         self.null = null 
    344         self._ref = ref 
    345         self.type = type 
    346  
    347         self.min = None 
    348         self.max = None 
     341        self._field   = field 
     342        self.ID       = ID 
     343        self.null     = null 
     344        self._ref     = ref 
     345        self.type     = type 
     346 
     347        self.min           = None 
     348        self.max           = None 
    349349        self.min_inclusive = True 
    350350        self.max_inclusive = True 
    351         self.options = [] 
     351        self.options       = [] 
    352352 
    353353    def _get_null(self): return self._field.converter.default 
     
    580580            datatype = 'unicodeChar' 
    581581 
    582         self.ref = ref 
    583         self.datatype = datatype 
     582        self.ref       = ref 
     583        self.datatype = datatype 
    584584        self.arraysize = arraysize 
    585         self.ucd = ucd 
    586         self.unit = unit 
    587         self.width = width 
     585        self.ucd       = ucd 
     586        self.unit      = unit 
     587        self.width     = width 
    588588        self.precision = precision 
    589         self.utype = utype 
    590         self.values = None 
    591         self.links = util.HomogeneousList(Link) 
     589        self.utype     = utype 
     590        self.values    = None 
     591        self.links     = util.HomogeneousList(Link) 
    592592 
    593593        self.title = None 
     
    802802        _SimpleElement.__init__(self) 
    803803 
    804         self.ID = ID 
     804        self.ID      = ID 
    805805        self.equinox = equinox 
    806         self.epoch = epoch 
    807         self.system = system 
     806        self.epoch   = epoch 
     807        self.system = system 
    808808 
    809809    def _set_ID(self, ID): 
     
    884884    def __init__(self, table, ref): 
    885885        self._table = table 
    886         self.ref = ref 
     886        self.ref    = ref 
    887887 
    888888    def _set_ref(self, ref): 
     
    940940        self._table = table 
    941941 
    942         self.ID = ID or name 
    943         self.name = name or ID 
    944         self.ref = ref 
    945         self.ucd = ucd 
    946         self.utype = utype 
     942        self.ID          = ID or name 
     943        self.name        = name or ID 
     944        self.ref         = ref 
     945        self.ucd         = ucd 
     946        self.utype       = utype 
    947947        self.description = None 
    948948 
     
    11461146 
    11471147        self.array = np.array([]) 
    1148         self.mask = np.array([]) 
     1148        self.mask = np.array([]) 
    11491149 
    11501150    def _set_ID(self, ID): 
     
    16361636    def __init__(self, name=None, ID=None, utype=None, type='results', 
    16371637                 **kwargs): 
    1638         self.name = name 
    1639         self.ID = ID 
    1640         self.utype = utype 
    1641         self.type = type 
     1638        self.name             = name 
     1639        self.ID               = ID 
     1640        self.utype            = utype 
     1641        self.type             = type 
    16421642        self.extra_attributes = kwargs 
    1643         self.description = None 
     1643        self.description      = None 
     1644 
    16441645        self.coordinate_systems = util.HomogeneousList(CooSys) 
    1645         self.params = util.HomogeneousList(Param) 
    1646         self.infos = util.HomogeneousList(Info) 
    1647         self.links = util.HomogeneousList(Link) 
    1648         self.tables = util.HomogeneousList(Table) 
    1649         self.resources = util.HomogeneousList(Resource) 
     1646        self.params             = util.HomogeneousList(Param) 
     1647        self.infos              = util.HomogeneousList(Info) 
     1648        self.links              = util.HomogeneousList(Link) 
     1649        self.tables             = util.HomogeneousList(Table) 
     1650        self.resources          = util.HomogeneousList(Resource) 
    16501651 
    16511652    def _set_ID(self, ID): 
     
    17901791 
    17911792    def __init__(self, ID=None): 
    1792         self.ID = ID 
    1793         self.description = None 
     1793        self.ID                 = ID 
     1794        self.description        = None 
    17941795        self.coordinate_systems = util.HomogeneousList(CooSys) 
    1795         self.params = util.HomogeneousList(Param) 
    1796         self.infos = util.HomogeneousList(Info) 
    1797         self.resources = util.HomogeneousList(Resource) 
     1796        self.params             = util.HomogeneousList(Param) 
     1797        self.infos              = util.HomogeneousList(Info) 
     1798        self.resources          = util.HomogeneousList(Resource) 
    17981799 
    17991800    def _set_ID(self, ID): 
     
    19551956            for coosys in resource.iter_coosys(): 
    19561957                yield coosys 
     1958 
     1959    get_coosys_by_id = _lookup_by_id_factory( 
     1960        'iter_coosys', 'COOSYS', 
     1961        """Looks up a COOSYS element by the given ID.""") 
     1962 
  • trunk/vo/vo/votable2recarray.py

    r637 r659  
    4646    *source* may be a filename or a readable file-like object. 
    4747 
    48     If the *columns* parameter is specified, it should be a list 
    49     of field names to include in output.  The default is to 
    50     include all fields. 
     48    If the *columns* parameter is specified, it should be a list of 
     49    field names to include in the output.  The default is to include 
     50    all fields. 
    5151 
    5252    The *invalid* parameter may be one of the following values: 
     
    6363    assert invalid in ('exception', 'mask') 
    6464 
    65     config = {'columns': columns, 
    66               'invalid': invalid, 
     65    config = {'columns': columns, 
     66              'invalid': invalid, 
    6767              'pedantic': pedantic} 
    6868