TruxtonInvestigation
This class lets you add an investigation to Truxton.
Contents
Attributes and Methods
addmedia(id: object) -> None
Adds the given media to this investigation.
The id parameter is the GUID of the media to add.
This is valid only after a call to save()
addnote(text: str) -> boolean
This adds an investigator's note.
The text parameter is the contents of the note.
It will return
True if the tag was associated with the investigation, False on failure.
The note is stored in the [InvestigatorNote] table in the database.
case: str
A case number for this investigation.
This corresponds to the [CaseNumber] column of the [Investigation] table.
createevent() -> TruxtonInvestigationEvent
This will create a new event associated with this investigation.
description: str
A description of the investigation.
This corresponds to the [Description] column of the [Investigation] table.
id: str
A GUID for the investigation.
This corresponds to the [ID] column of the [Investigation] table.
jurisdiction: str
The jurisdiction for whom this investigation is being conducted.
This corresponds to the [Name] column of the [Jurisdiction] table.
name: str
The name of this investigation.
This corresponds to the [Name] column of the [Investigation] table.
removemedia(id: object) -> None
Removes the given media from this investigation.
The id parameter is the GUID of the media to remove.
This is valid only after a call to save() and does not delete the media.
save() -> boolean
This will commit the information to the [Investigation] table.
It will return True if the record was saved to the database, False if there was an error.
status: int
The name of this investigation.
This corresponds to the [InvestigationStatusID] column of the [Investigation] table.
It should contain a value from the [ID] column of the [InvestigationStatus] table.
type: int
The type of the investigation.
This corresponds to the [InvestigationTypeID] column of the [Investigation] table or it can be a predefined constant.
It should contain a value from the [ID] column of the [InvestigationType] table.
Sample
import sys
sys.path.append('C:/Program Files/Truxton/SDK')
import truxton
import shutil
from datetime import datetime
from calendar import timegm
from pathlib import Path
EVENT_TYPE_FBI = 20001
def add_file(parent_truxton_file, filename):
source_file = open(filename, "rb")
child = parent_truxton_file.newchild()
child.name = Path(filename).name
shutil.copyfileobj(source_file, child)
source_file.close()
child.save()
return child
def add_media(t):
media = t.newmedia()
media.name = "Public Documents"
media.description = "Publicly available documents"
media.case = "DC-SNAFU-2016.2020"
media.evidencebag = "EV-0937459386623-a"
media.originator = "Jeffrey Jensen"
media.latitude = 38.897661
media.longitude = -77.036458
media.type = truxton.MEDIA_TYPE_LOGICAL_FILES
media.save()
return media
def add_cs(parent_file ):
child_file = add_file(parent_file, "cs.jpg")
gps = child_file.newlocation()
gps.type = truxton.LOCATION_TYPE_MEETING
gps.latitude = 51.487329
gps.longitude = -0.124057
gps.label = "HQ"
gps.when= datetime.fromisoformat("2016-04-01T12:00:00-05:00")
gps.save()
def create_investigation(t):
investigation = t.newinvestigation()
investigation.name = "Collusion"
investigation.description = "United States vs. John Smith"
investigation.case = "DC-SNAFU-2016.2020"
investigation.status = truxton.INVESTIGATION_STATUS_OPEN
investigation.type = truxton.INVESTIGATION_TYPE_FRAUD
investigation.save()
return investigation
def main():
t = truxton.create()
new_type = t.neweventtype()
new_type.id = EVENT_TYPE_FBI
new_type.name = "FBI Actions"
new_type.save()
investigation = create_investigation(t)
media = add_media(t)
root_file = media.addroot()
root_file.save()
investigation.addmedia(media.id)
add_cs(root_file)
if __name__ == "__main__":
sys.exit(main())