Subversion Repositories kim

Rev

Rev 6 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6 Rev 7
Line 114... Line 114...
114
        return PRF_DIR
114
        return PRF_DIR
115
115
116
116
117
    def get_chrome_history(self):
117
    def get_chrome_history(self):
118
        profile_dir = self.get_chrome_profile_dir()
118
        profile_dir = self.get_chrome_profile_dir()
119
        if profile_dir == None:
-
 
120
            self.log.warning ("No Chrome profile path found")
-
 
-
 
119
        if profile_dir is None:
-
 
120
            self.log.debug ("No Chrome profile path found")
121
            return None
121
            return None
122
        elif os.path.isdir(profile_dir) == False:
122
        elif os.path.isdir(profile_dir) == False:
123
            self.log.warning ('Path Does Not Exist: %s' % profile_dir)
123
            self.log.warning ('Path Does Not Exist: %s' % profile_dir)
124
            return None
124
            return None
125
        else:
125
        else:
Line 131... Line 131...
131
                self.log.warning ('PlacesDb does not exist: %s' % placesDB)
131
                self.log.warning ('PlacesDb does not exist: %s' % placesDB)
132
                return None
132
                return None
133
133
134
    def filter_firefox_history(self, placesDB):
134
    def filter_firefox_history(self, placesDB):
135
        sndict = {}
135
        sndict = {}
136
        self.log.debug('Printing Firefox history')
-
 
-
 
136
        self.log.debug('Searching SAP Notes in Firefox history')
137
        try:
137
        try:
138
            conn = sqlite3.connect(placesDB)
138
            conn = sqlite3.connect(placesDB)
139
            c = conn.cursor()
139
            c = conn.cursor()
140
            c.execute("select url, date(visit_date/1000000, \
140
            c.execute("select url, date(visit_date/1000000, \
141
              'unixepoch') from moz_places, moz_historyvisits \
141
              'unixepoch') from moz_places, moz_historyvisits \
Line 166... Line 166...
166
                self.log.error(error)
166
                self.log.error(error)
167
                return None
167
                return None
168
168
169
    def filter_chrome_history(self, placesDB):
169
    def filter_chrome_history(self, placesDB):
170
        sndict = {}
170
        sndict = {}
171
        self.log.debug('Printing Chrome history')
-
 
-
 
171
        self.log.debug('Searching SAP Notes in Chrome history')
172
        shutil.copy(placesDB, "history")
172
        shutil.copy(placesDB, "history")
173
        conn = sqlite3.connect("history")
173
        conn = sqlite3.connect("history")
174
        c = conn.cursor()
174
        c = conn.cursor()
175
        try:
175
        try:
176
            select_statement = "SELECT urls.url, date(visits.visit_time/1000000-11644473600, 'unixepoch') FROM urls, visits WHERE urls.id = visits.url;"
176
            select_statement = "SELECT urls.url, date(visits.visit_time/1000000-11644473600, 'unixepoch') FROM urls, visits WHERE urls.id = visits.url;"
Line 190... Line 190...
190
            self.log.debug ("Chrome: %d SAP Notes found" % len(sndict))
190
            self.log.debug ("Chrome: %d SAP Notes found" % len(sndict))
191
            return sndict
191
            return sndict
192
        except Exception as error:
192
        except Exception as error:
193
            self.log.error (error)
193
            self.log.error (error)
194
            return None
194
            return None
195
-
 
196
-
 
197
    def printUniqueSAPNotes(self):
-
 
198
        unique = set()
-
 
199
        for line in snotes:
-
 
200
            # Get SAP Note number
-
 
201
            sep = line.rfind('/')
-
 
202
            snid = line[sep+1:]
-
 
203
            unique.add(snid)
-
 
204
            # Get visited date and add it to set
-
 
205
            sep = line.find(':')
-
 
206
            visited = line[:sep]
-
 
207
            try:
-
 
208
                svdate = dnotes['visited']
-
 
209
                if not visited in svdate:
-
 
210
                    svdate.add(visited)
-
 
211
            except:
-
 
212
                svdate = set()
-
 
213
                svdate.add(visited)
-
 
214
                dnotes[snid] = {}
-
 
215
                dnotes[snid]['visited'] = svdate
-
 
216
195
217
196
218
    def get_uniq_sapnotes(self, sndicts):
197
    def get_uniq_sapnotes(self, sndicts):
219
        usndict = {}
198
        usndict = {}
220
        for sndict in sndicts:
199
        for sndict in sndicts:
221
            for snid in sndict:
-
 
222
                try:
-
 
223
                    date = usndict[snid]
-
 
224
                    if sndict[snid] > date:
-
 
-
 
200
            if sndict is not None:
-
 
201
                for snid in sndict:
-
 
202
                    try:
-
 
203
                        date = usndict[snid]
-
 
204
                        if sndict[snid] > date:
-
 
205
                            usndict[snid] = sndict[snid]
-
 
206
                    except:
225
                        usndict[snid] = sndict[snid]
207
                        usndict[snid] = sndict[snid]
226
                except:
-
 
227
                    usndict[snid] = sndict[snid]
-
 
-
 
208
            else:
-
 
209
                self.log.debug("Possibly there is no data for current dictionary")
228
        self.log.debug("Unique SAP Notes for all browsers: %d" % len(usndict))
210
        self.log.debug("Unique SAP Notes for all browsers: %d" % len(usndict))
229
        return usndict
211
        return usndict
230
212