mirror of
https://github.com/elisspace/autopsy.git
synced 2026-08-30 08:01:57 +00:00
Added more specific exception handling to python example
This commit is contained in:
@@ -135,16 +135,16 @@ class ContactsDbIngestModule(DataSourceIngestModule):
|
||||
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 @@ class ContactsDbIngestModule(DataSourceIngestModule):
|
||||
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
|
||||
|
||||
@@ -134,6 +134,8 @@ class RunExeIngestModule(DataSourceIngestModule):
|
||||
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 @@ class RunExeIngestModule(DataSourceIngestModule):
|
||||
# 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
|
||||
return IngestModule.ProcessResult.OK
|
||||
|
||||
Reference in New Issue
Block a user