f698468cb6d76f3653ca7c2ee6d1dcd357aa8a2d
[retroconv] / csv_service.py~
1 import csv
2 from recv import recv
3 from sent import sent
4 from contactsServ import *
5 import os
6
7 class csvServ:
8
9         def __init__(self):
10         
11                 
12                 self.pathToHome = "/home/tarek/"
13                 self.pathToApp = self.pathToHome+".retroconv/"
14                 self.pathToInbox = self.pathToApp+"inbox.csv"
15                 self.pathToSent = self.pathToApp+"sent.csv"
16                         
17                 self.recvLst=[]
18                 self.sentLst=[]
19                 self.recvNumbers=[]
20                 self.sentNumbers=[]
21                 
22                 self.checkInitialLaunch()
23                 
24         def checkInitialLaunch(self):
25                 if not os.path.isdir(self.pathToApp):
26                         os.system("mkdir "+self.pathToApp)
27                 
28                 
29         
30         
31         def checkCsvValidity(self):
32                 print "Checking validity"
33                 
34                 #Check Extra Lines
35                 #Check number of fields
36                 #Check submit, deliver, sms (constant fields)
37                 
38         def fetchInbox(self):
39                 ifile = open(self.pathToInbox, "r")
40                 reader=csv.reader(ifile)
41                 #self.recvLst=[]
42                 #self.recvNumbers=[]
43                 for row in reader:
44                         self.recvLst.append(recv(row[2],row[5], row[7]))
45                         self.recvNumbers.append(row[2][-7:])
46                 
47                 
48                 ifile.close()
49                 
50         def fetchSent(self):
51                 ifile = open(self.pathToSent, "r")
52                 reader=csv.reader(ifile)
53                 #self.sentLst=[]
54                 #self.sentNumbers=[]
55                 for row in reader:
56                         self.sentLst.append(sent(row[3],row[5], row[7]))
57                         self.sentNumbers.append(row[3][-7:])
58                 
59                 
60                 
61                 
62                 
63                 ifile.close()
64         
65         def fetchContactsInfo(self):
66                 abook=address_book()
67                 abook.populateNames(self.recvLst, self.sentLst)
68         
69         def hasImportedSent(self):
70                  return os.path.isfile (self.pathToSent)
71                         
72                  
73         def hasImportedInbox(self):
74                  return os.path.isfile (self.pathToInbox)
75                         
76                 
77         def importSent(self, path):
78                 try:
79                         os.system("cp "+str(path).replace(" ", "\ ")+ " "+self.pathToSent)
80                         self.fetchSent()
81                         return True
82                 except:
83                         return False
84         
85         def importInbox(self, path):
86                 try:
87                         os.system("cp "+str(path).replace(" ", "\ ")+ " "+self.pathToInbox)
88                         self.fetchInbox()
89                         return True
90                 except:
91                         return False
92                                 
93                 
94         def getAllReceivedMsgs(self):
95                 msgs=[]
96                 for msg in self.recvLst:
97                         msgs.append(msg.getSummary())
98                 return msgs
99                 
100         
101         
102         
103         def getMsg(self, msgNum, msgType = 0):
104                 #msgType 0: recv, 1:sent
105                 
106                 if msgType == 0:
107                         return self.recvLst[msgNum]
108                 
109                 return self.sentLst[msgNum]
110                 
111         
112         def getMsgText(self, msgNum):
113                 return self.recvLst[msgNum].getMsg()