added support for float numbers
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@34 014f5005-505e-4b48-8d0a-63407b615a7c
This commit is contained in:
parent
a340186071
commit
ee37a74088
@ -24,3 +24,6 @@
|
|||||||
|
|
||||||
0.4
|
0.4
|
||||||
- Created GUI
|
- Created GUI
|
||||||
|
|
||||||
|
0.5
|
||||||
|
- Added support for float numbers
|
@ -16,6 +16,8 @@
|
|||||||
#
|
#
|
||||||
# author Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
|
# author Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
|
||||||
|
|
||||||
|
import rtypes
|
||||||
|
|
||||||
class relation (object):
|
class relation (object):
|
||||||
'''This objects defines a relation (as a group of consistent tuples) and operations
|
'''This objects defines a relation (as a group of consistent tuples) and operations
|
||||||
A relation can be represented using a table
|
A relation can be represented using a table
|
||||||
@ -76,6 +78,8 @@ class relation (object):
|
|||||||
for j in range(len(self.header.attributes)):
|
for j in range(len(self.header.attributes)):
|
||||||
if i[j].isdigit():
|
if i[j].isdigit():
|
||||||
attributes[self.header.attributes[j]]=int(i[j])
|
attributes[self.header.attributes[j]]=int(i[j])
|
||||||
|
elif rtypes.rstring(i[j]).isFloat():
|
||||||
|
attributes[self.header.attributes[j]]=float(i[j])
|
||||||
else:
|
else:
|
||||||
attributes[self.header.attributes[j]]=i[j]
|
attributes[self.header.attributes[j]]=i[j]
|
||||||
|
|
||||||
@ -411,6 +415,7 @@ class header (object):
|
|||||||
res.append(j)
|
res.append(j)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
if __name__=="__main__":
|
if __name__=="__main__":
|
||||||
a=["id","nome","cognome"]
|
a=["id","nome","cognome"]
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ import parser
|
|||||||
import relation
|
import relation
|
||||||
import maingui
|
import maingui
|
||||||
|
|
||||||
version="0.4"
|
version="0.5"
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
app = QtGui.QApplication(sys.argv)
|
app = QtGui.QApplication(sys.argv)
|
||||||
|
28
rtypes.py
Normal file
28
rtypes.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# Relational
|
||||||
|
# Copyright (C) 2008 Salvo "LtWorf" Tomaselli
|
||||||
|
#
|
||||||
|
# Relation is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# author Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
|
||||||
|
|
||||||
|
'''Custom types for relational algebra'''
|
||||||
|
class rstring (str):
|
||||||
|
'''String subclass with some custom methods'''
|
||||||
|
def isFloat(self):
|
||||||
|
'''True if the string is a float number, false otherwise'''
|
||||||
|
lst=['0','1','2','3','4','5','6','7','8','9','.']
|
||||||
|
for i in self:
|
||||||
|
if i not in lst:
|
||||||
|
return False;
|
||||||
|
return True;
|
@ -1,5 +1,5 @@
|
|||||||
id name chief age
|
id name chief age
|
||||||
0 jack 0 22
|
0 jack 0 22.1
|
||||||
1 carl 0 20
|
1 carl 0 20
|
||||||
2 john 1 30
|
2 john 1 30
|
||||||
3 dean 1 33
|
3 dean 1 33
|
||||||
|
Loading…
x
Reference in New Issue
Block a user