diff --git a/pythonExamples/Aug2015DataSourceTutorial/FindContactsDb.py b/pythonExamples/Aug2015DataSourceTutorial/FindContactsDb.py index a629cb5097124e99d19825ebbde6926e264ed99b..ddaa7eac434c17a67d6d8f6fe1d1d3ca06a976f6 100755 --- a/pythonExamples/Aug2015DataSourceTutorial/FindContactsDb.py +++ b/pythonExamples/Aug2015DataSourceTutorial/FindContactsDb.py @@ -135,16 +135,16 @@ def process(self, dataSource, progressBar): try: Class.forName("org.sqlite.JDBC").newInstance() dbConn = DriverManager.getConnection("jdbc:sqlite:%s" % lclDbPath) - except: - self.log(Level.INFO, "Could not open database file (not SQLite) " + file.getName()) + except SQLException as e: + self.log(Level.INFO, "Could not open database file (not SQLite) " + file.getName() + " (" + e.getMessage() + ")") return IngestModule.ProcessResult.OK # Query the contacts table in the database and get all columns. - try: + try: stmt = dbConn.createStatement() resultSet = stmt.executeQuery("SELECT * FROM contacts") - except: - self.log(Level.INFO, "Error querying database for contacts table") + except SQLException as e: + self.log(Level.INFO, "Error querying database for contacts table (" + e.getMessage() + ")") return IngestModule.ProcessResult.OK # Cycle through each row and create artifacts @@ -153,8 +153,8 @@ def process(self, dataSource, progressBar): name = resultSet.getString("name") email = resultSet.getString("email") phone = resultSet.getString("phone") - except: - self.log(Level.INFO, "Error getting values from contacts table") + except SQLException as e: + self.log(Level.INFO, "Error getting values from contacts table (" + e.getMessage() + ")") # Make an artifact on the blackboard, TSK_CONTACT and give it attributes for each of the fields diff --git a/pythonExamples/Aug2015DataSourceTutorial/RunExe.py b/pythonExamples/Aug2015DataSourceTutorial/RunExe.py index 606e73712d417a93a8b8b4a21d348c4843d90405..19a6928958445cc106e394ae7ca834d227414c14 100755 --- a/pythonExamples/Aug2015DataSourceTutorial/RunExe.py +++ b/pythonExamples/Aug2015DataSourceTutorial/RunExe.py @@ -134,6 +134,8 @@ def process(self, dataSource, progressBar): reportHandle = open(reportPath, 'w') # Run the EXE, saving output to the report + # NOTE: we should really be checking for if the module has been + # cancelled and then killing the process. self.log(Level.INFO, "Running program on data source") subprocess.Popen([self.path_to_exe, imagePaths[0]], stdout=reportHandle).communicate()[0] reportHandle.close() @@ -141,4 +143,4 @@ def process(self, dataSource, progressBar): # Add the report to the case, so it shows up in the tree Case.getCurrentCase().addReport(reportPath, "Run EXE", "img_stat output") - return IngestModule.ProcessResult.OK \ No newline at end of file + return IngestModule.ProcessResult.OK