/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/Model/table.py
ViewVC logotype

Contents of /branches/WIP-pyshapelib-bramz/Thuban/Model/table.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6 - (show annotations)
Tue Aug 28 15:41:52 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/Model/table.py
File MIME type: text/x-python
File size: 1691 byte(s)
import all the source files

1 # Copyright (c) 2001 by Intevation GmbH
2 # Authors:
3 # Bernhard Herzog <[email protected]>
4 #
5 # This program is free software under the GPL (>=v2)
6 # Read the file COPYING coming with Thuban for details.
7
8 """
9 Classes for handling tables of data.
10 """
11
12 __version__ = "$Revision$"
13
14 import dbflib
15
16 # the field types supported by a Table instance.
17 FIELDTYPE_INT = "int"
18 FIELDTYPE_STRING = "string"
19 FIELDTYPE_DOUBLE = "double"
20
21
22 # map the dbflib constants for the field types to our constants
23 dbflib_fieldtypes = {dbflib.FTString: FIELDTYPE_STRING,
24 dbflib.FTInteger: FIELDTYPE_INT,
25 dbflib.FTDouble: FIELDTYPE_DOUBLE}
26
27 class Table:
28
29 """
30 Represent a table of data.
31
32 Currently this is basically just a wrapper around dbflib.
33 """
34
35 def __init__(self, filename):
36 self.filename = filename
37 self.dbf = dbflib.DBFFile(filename)
38
39 def record_count(self):
40 """Return the number of records"""
41 return self.dbf.record_count()
42
43 def field_count(self):
44 """Return the number of fields in a record"""
45 return self.dbf.field_count()
46
47 def field_info(self, field):
48 """Return a tuple (type, name, width, prec) for the field no. field
49
50 type is the data type of the field, name the name, width the
51 field width in characters and prec the decimal precision.
52 """
53 type, name, width, prec = self.dbf.field_info(field)
54 type = dbflib_fieldtypes[type]
55 return type, name, width, prec
56
57 def read_record(self, record):
58 """Return the record no. record as a dict mapping field names to values
59 """
60 return self.dbf.read_record(record)
61
62

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26