Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: third_party/logilab/common/dbf.py

Issue 753543006: pylint: upgrade to 1.4.0 (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/logilab/common/date.py ('k') | third_party/logilab/common/deprecation.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 # copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved. 2 # copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
3 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr 3 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
4 # 4 #
5 # This file is part of logilab-common. 5 # This file is part of logilab-common.
6 # 6 #
7 # logilab-common is free software: you can redistribute it and/or modify it unde r 7 # logilab-common is free software: you can redistribute it and/or modify it unde r
8 # the terms of the GNU Lesser General Public License as published by the Free 8 # the terms of the GNU Lesser General Public License as published by the Free
9 # Software Foundation, either version 2.1 of the License, or (at your option) an y 9 # Software Foundation, either version 2.1 of the License, or (at your option) an y
10 # later version. 10 # later version.
(...skipping 12 matching lines...) Expand all
23 >>> rec = readDbf('test.dbf') 23 >>> rec = readDbf('test.dbf')
24 >>> for line in rec: 24 >>> for line in rec:
25 >>> print line['name'] 25 >>> print line['name']
26 26
27 27
28 :date: 13/07/2007 28 :date: 13/07/2007
29 29
30 http://www.physics.ox.ac.uk/users/santoso/Software.Repository.html 30 http://www.physics.ox.ac.uk/users/santoso/Software.Repository.html
31 page says code is "available as is without any warranty or support". 31 page says code is "available as is without any warranty or support".
32 """ 32 """
33 from __future__ import print_function
33 34
34 import struct 35 import struct
35 import os, os.path 36 import os, os.path
36 import sys 37 import sys
37 import csv 38 import csv
38 import tempfile 39 import tempfile
39 40
40 from six.moves import range 41 from six.moves import range
41 42
42 class Dbase: 43 class Dbase:
(...skipping 29 matching lines...) Expand all
72 idx = 0 73 idx = 0
73 for item in lst: 74 for item in lst:
74 id = ids[idx] 75 id = ids[idx]
75 result[id] = item 76 result[id] = item
76 idx += 1 77 idx += 1
77 return result 78 return result
78 79
79 def open(self, db_name): 80 def open(self, db_name):
80 filesize = os.path.getsize(db_name) 81 filesize = os.path.getsize(db_name)
81 if filesize <= 68: 82 if filesize <= 68:
82 raise IOError, 'The file is not large enough to be a dbf file' 83 raise IOError('The file is not large enough to be a dbf file')
83 84
84 self.fdb = open(db_name, 'rb') 85 self.fdb = open(db_name, 'rb')
85 86
86 self.memo_file = '' 87 self.memo_file = ''
87 if os.path.isfile(db_name[0:-1] + 't'): 88 if os.path.isfile(db_name[0:-1] + 't'):
88 self.memo_file = db_name[0:-1] + 't' 89 self.memo_file = db_name[0:-1] + 't'
89 elif os.path.isfile(db_name[0:-3] + 'fpt'): 90 elif os.path.isfile(db_name[0:-3] + 'fpt'):
90 self.memo_file = db_name[0:-3] + 'fpt' 91 self.memo_file = db_name[0:-3] + 'fpt'
91 92
92 if self.memo_file: 93 if self.memo_file:
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 self.fmemo.close() 146 self.fmemo.close()
146 147
147 def get_numrecords(self): 148 def get_numrecords(self):
148 return self.num_records 149 return self.num_records
149 150
150 def get_record_with_names(self, rec_no): 151 def get_record_with_names(self, rec_no):
151 """ 152 """
152 This function accept record number from 0 to N-1 153 This function accept record number from 0 to N-1
153 """ 154 """
154 if rec_no < 0 or rec_no > self.num_records: 155 if rec_no < 0 or rec_no > self.num_records:
155 raise Exception, 'Unable to extract data outside the range' 156 raise Exception('Unable to extract data outside the range')
156 157
157 offset = self.header['Record Size'] * rec_no 158 offset = self.header['Record Size'] * rec_no
158 data = self.db_data[offset:offset+self.row_len] 159 data = self.db_data[offset:offset+self.row_len]
159 record = self._assign_ids(struct.unpack(self.row_format, data), self.row _ids) 160 record = self._assign_ids(struct.unpack(self.row_format, data), self.row _ids)
160 161
161 if self.memo_file: 162 if self.memo_file:
162 for key in self.fields: 163 for key in self.fields:
163 field = self.fields[key] 164 field = self.fields[key]
164 f_type = field['Field Type'] 165 f_type = field['Field Type']
165 f_name = field['Field Name'] 166 f_name = field['Field Name']
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 rec = [] 221 rec = []
221 for i in range(0, num): 222 for i in range(0, num):
222 record = db.get_record_with_names(i) 223 record = db.get_record_with_names(i)
223 rec.append(record) 224 rec.append(record)
224 db.close() 225 db.close()
225 return rec 226 return rec
226 227
227 if __name__=='__main__': 228 if __name__=='__main__':
228 rec = readDbf('dbf/sptable.dbf') 229 rec = readDbf('dbf/sptable.dbf')
229 for line in rec: 230 for line in rec:
230 print '%s %s' % (line['GENUS'].strip(), line['SPECIES'].strip()) 231 print('%s %s' % (line['GENUS'].strip(), line['SPECIES'].strip()))
OLDNEW
« no previous file with comments | « third_party/logilab/common/date.py ('k') | third_party/logilab/common/deprecation.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698