Skip to content

Commit cade2ea

Browse files
committed
Added basic database
1 parent cb5b3f3 commit cade2ea

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

Tiny URL/DataBase/DataBase.py

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import shelve
2+
import os.path
3+
4+
class DataBase(object):
5+
6+
def isEmpty(self, fileName):
7+
file_object = open(fileName, "r")
8+
for line in file_object:
9+
if(line.strip() != ""):
10+
file_object.close()
11+
return False
12+
file_object.close()
13+
return True
14+
15+
def ifFile(self,fileName):
16+
if not os.path.isfile(fileName):
17+
#print "File does not exist"
18+
return False
19+
return True
20+
21+
def write(self, fileName, string):
22+
file_object = open(fileName, "a")
23+
file_object.write(string+"\n")
24+
file_object.close()
25+
26+
def read(self, fileName):
27+
if not self.ifFile(fileName):
28+
return
29+
file_object = open(fileName, "r")
30+
for line in file_object:
31+
print line,
32+
file_object.close()
33+
34+
def getKey(self, fileName):
35+
if not self.ifFile(fileName):
36+
return
37+
file_object = open(fileName, 'r')
38+
lines = file_object.readlines()
39+
file_object.close()
40+
i = 0
41+
while(lines[i].strip() == ""):
42+
i = i+1
43+
key = lines[i]
44+
file_object = open(fileName, 'w')
45+
file_object.write(''.join(lines[i+1:]))
46+
file_object.close()
47+
#if file empty then delete it
48+
if(self.isEmpty(fileName)):
49+
os.remove(fileName)
50+
return key
51+
52+
def writeToHash(self, fileName, key, value):
53+
hashFile_object = shelve.open(fileName)
54+
hashFile_object[key] = value
55+
hashFile_object.close()
56+
57+
def readFromHash(self, fileName, key):
58+
hashFile_object = shelve.open(fileName)
59+
if (key in hashFile_object):
60+
value = hashFile_object[key]
61+
hashFile_object.close()
62+
return value

0 commit comments

Comments
 (0)