Changeset 659
- Timestamp:
- 10/01/08 14:19:02 (2 months ago)
- Files:
-
- trunk/vo/vo/converters.py (modified) (5 diffs)
- trunk/vo/vo/tree.py (modified) (11 diffs)
- trunk/vo/vo/votable2recarray.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/vo/vo/converters.py
r658 r659 105 105 def _binparse_var(self, read): 106 106 length = self._parse_length(read) 107 return str(read(length).decode('ascii'))107 return read(length).encode('ascii') 108 108 109 109 def _binparse_fixed(self, read): … … 184 184 self._base = base 185 185 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._items193 parse_parts = self._base.parse_parts194 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.parse202 return np.array([parse(x) for x in parts], dtype=self._base.format)203 204 186 def output(self, value): 205 187 output = self._base.output … … 336 318 337 319 parse = staticmethod(float) 338 # def parse(value):339 # return float(value)340 320 341 321 def output(self, value): … … 486 466 487 467 class BitArray(NumericArray): 488 vararray_type = VarArray468 vararray_type = ArrayVarArray 489 469 490 470 def __init__(self, field, base, arraysize): … … 535 515 format = 'b1' 536 516 array_type = BitArray 537 vararray_type = VarArray517 vararray_type = ScalarVarArray 538 518 default = False 539 519 trunk/vo/vo/tree.py
r658 r659 207 207 "The gref attribute on LINK is deprecated in VOTABLE 1.1") 208 208 209 self.ID = ID209 self.ID = ID 210 210 self.content_role = content_role 211 211 self.content_type = content_type 212 self.title = title213 self.value = value214 self.href = href215 self.action = action212 self.title = title 213 self.value = value 214 self.href = href 215 self.action = action 216 216 217 217 def _set_ID(self, ID): … … 267 267 _SimpleElement.__init__(self) 268 268 269 self.ID = ID or name270 self.name = name or ID269 self.ID = ID or name 270 self.name = name or ID 271 271 self.value = value 272 272 … … 339 339 340 340 self._votable = votable 341 self._field = field342 self.ID = ID343 self.null = null344 self._ref = ref345 self.type = type346 347 self.min = None348 self.max = None341 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 349 349 self.min_inclusive = True 350 350 self.max_inclusive = True 351 self.options = []351 self.options = [] 352 352 353 353 def _get_null(self): return self._field.converter.default … … 580 580 datatype = 'unicodeChar' 581 581 582 self.ref = ref583 self.datatype = datatype582 self.ref = ref 583 self.datatype = datatype 584 584 self.arraysize = arraysize 585 self.ucd = ucd586 self.unit = unit587 self.width = width585 self.ucd = ucd 586 self.unit = unit 587 self.width = width 588 588 self.precision = precision 589 self.utype = utype590 self.values = None591 self.links = util.HomogeneousList(Link)589 self.utype = utype 590 self.values = None 591 self.links = util.HomogeneousList(Link) 592 592 593 593 self.title = None … … 802 802 _SimpleElement.__init__(self) 803 803 804 self.ID = ID804 self.ID = ID 805 805 self.equinox = equinox 806 self.epoch = epoch807 self.system = system806 self.epoch = epoch 807 self.system = system 808 808 809 809 def _set_ID(self, ID): … … 884 884 def __init__(self, table, ref): 885 885 self._table = table 886 self.ref = ref886 self.ref = ref 887 887 888 888 def _set_ref(self, ref): … … 940 940 self._table = table 941 941 942 self.ID = ID or name943 self.name = name or ID944 self.ref = ref945 self.ucd = ucd946 self.utype = utype942 self.ID = ID or name 943 self.name = name or ID 944 self.ref = ref 945 self.ucd = ucd 946 self.utype = utype 947 947 self.description = None 948 948 … … 1146 1146 1147 1147 self.array = np.array([]) 1148 self.mask = np.array([])1148 self.mask = np.array([]) 1149 1149 1150 1150 def _set_ID(self, ID): … … 1636 1636 def __init__(self, name=None, ID=None, utype=None, type='results', 1637 1637 **kwargs): 1638 self.name = name1639 self.ID = ID1640 self.utype = utype1641 self.type = type1638 self.name = name 1639 self.ID = ID 1640 self.utype = utype 1641 self.type = type 1642 1642 self.extra_attributes = kwargs 1643 self.description = None 1643 self.description = None 1644 1644 1645 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) 1650 1651 1651 1652 def _set_ID(self, ID): … … 1790 1791 1791 1792 def __init__(self, ID=None): 1792 self.ID = ID1793 self.description = None1793 self.ID = ID 1794 self.description = None 1794 1795 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) 1798 1799 1799 1800 def _set_ID(self, ID): … … 1955 1956 for coosys in resource.iter_coosys(): 1956 1957 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 46 46 *source* may be a filename or a readable file-like object. 47 47 48 If the *columns* parameter is specified, it should be a list 49 of field names to include in output. The default is to50 includeall 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. 51 51 52 52 The *invalid* parameter may be one of the following values: … … 63 63 assert invalid in ('exception', 'mask') 64 64 65 config = {'columns': columns,66 'invalid': invalid,65 config = {'columns': columns, 66 'invalid': invalid, 67 67 'pedantic': pedantic} 68 68
