mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 07:56:16 +00:00
Implement Jython report module support
This commit is contained in:
parent
40c944690e
commit
8c6e381877
40
Core/src/org/sleuthkit/autopsy/examples/reportmodule.py
Executable file
40
Core/src/org/sleuthkit/autopsy/examples/reportmodule.py
Executable file
@ -0,0 +1,40 @@
|
||||
from java.lang import System
|
||||
from org.sleuthkit.autopsy.casemodule import Case
|
||||
from org.sleuthkit.datamodel import SleuthkitCase
|
||||
from org.sleuthkit.autopsy.report import GeneralReportModuleAdapter
|
||||
|
||||
class SampleGeneralReportModule(GeneralReportModuleAdapter):
|
||||
|
||||
def getName(self):
|
||||
return "Sample Report Module"
|
||||
|
||||
def getDescription(self):
|
||||
return "A sample Jython report module"
|
||||
|
||||
def getFilePath(self):
|
||||
return "sampleReport.txt"
|
||||
|
||||
def generateReport(self, reportPath, progressBar):
|
||||
# There are two tasks to do.
|
||||
progressBar.setIndeterminate(False)
|
||||
progressBar.start()
|
||||
progressBar.setMaximumProgress(2)
|
||||
|
||||
# Get files by created in last two weeks.
|
||||
fileCount = 0
|
||||
autopsyCase = Case.getCurrentCase()
|
||||
sleuthkitCase = autopsyCase.getSleuthkitCase()
|
||||
currentTime = System.currentTimeMillis() / 1000
|
||||
minTime = currentTime - (14 * 24 * 60 * 60)
|
||||
otherFiles = sleuthkitCase.findFilesWhere("crtime > %d" % minTime)
|
||||
for otherFile in otherFiles:
|
||||
fileCount += 1
|
||||
progressBar.increment()
|
||||
|
||||
# Write the result to the report file.
|
||||
report = open(reportPath + '\\' + self.getFilePath(), 'w')
|
||||
report.write("file count = %d" % fileCount)
|
||||
report.close()
|
||||
progressBar.increment()
|
||||
progressBar.complete()
|
||||
|
52
Core/src/org/sleuthkit/autopsy/report/GeneralReportModuleAdapter.java
Executable file
52
Core/src/org/sleuthkit/autopsy/report/GeneralReportModuleAdapter.java
Executable file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Autopsy Forensic Browser
|
||||
*
|
||||
* Copyright 2014 Basis Technology Corp.
|
||||
* Contact: carrier <at> sleuthkit <dot> org
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.report;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
|
||||
/**
|
||||
* An adapter that provides no-op implementations of various GeneralReportModule
|
||||
* methods.
|
||||
*/
|
||||
public abstract class GeneralReportModuleAdapter implements GeneralReportModule {
|
||||
|
||||
@Override
|
||||
public abstract String getName();
|
||||
|
||||
@Override
|
||||
public abstract String getDescription();
|
||||
|
||||
@Override
|
||||
public String getExtension() {
|
||||
return null;
|
||||
}
|
||||
|
||||
// This is actually the report file name. It will be appended to a path to a
|
||||
// reports directory.
|
||||
@Override
|
||||
public abstract String getFilePath();
|
||||
|
||||
@Override
|
||||
public abstract void generateReport(String reportPath, ReportProgressPanel progressPanel);
|
||||
|
||||
@Override
|
||||
public JPanel getConfigurationPanel() {
|
||||
return null;
|
||||
}
|
||||
}
|
@ -36,6 +36,7 @@ import javax.swing.event.ListSelectionListener;
|
||||
import org.openide.util.Lookup;
|
||||
import org.openide.util.NbBundle;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import org.sleuthkit.autopsy.python.JythonModuleLoader;
|
||||
|
||||
final class ReportVisualPanel1 extends JPanel implements ListSelectionListener {
|
||||
private static final Logger logger = Logger.getLogger(ReportVisualPanel1.class.getName());
|
||||
@ -69,6 +70,11 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
modules.add(module);
|
||||
}
|
||||
|
||||
for (GeneralReportModule module : JythonModuleLoader.getGeneralReportModules()) {
|
||||
generalModules.add(module);
|
||||
modules.add(module);
|
||||
}
|
||||
|
||||
for (FileReportModule module : Lookup.getDefault().lookupAll(FileReportModule.class)) {
|
||||
fileModules.add(module);
|
||||
modules.add(module);
|
||||
|
Loading…
x
Reference in New Issue
Block a user