TruxtonSubject

From truxwiki.com
Revision as of 10:52, 5 March 2021 by Sam (talk | contribs) (→‎save())
Jump to navigation Jump to search

This class lets you add information about the subject of an investigation. This will populate the [Suspect] table in the database.

Attributes and Methods

birthday

When the subject was born in FILETIME ticks. This corresponds to the [DateOfBirth] column of the [Suspect] table.

custom

Free form notes about the subject. These appear as "Remarks" in the desktop user interface. This corresponds to the [Custom] column of the [Suspect] table.

description

A description of the subject, their title, etc. This corresponds to the [Description] column of the [Suspect] table.

id

This is the GUID of the event. Unlike most of the other identifiers in Truxton, this one can be optionally set. If you have generated a well known GUID you can store it in id before calling save() If id is all zeroes, a random value will be generated in the call to save().

name

The name of the subject. This corresponds to the [Name] column of the [Suspect] table.

picture

A base64 encoded 300x300 PNG image of the subject.

save()

This will commit the information to the [Suspect] table. It will return True if the record was saved to the database, False if there was an error.

tag(tag, reason, origin)

This creates a tag associated with this event in Truxton. The tag parameter is a short, one or two word, bit of text that will be displayed in the UI. The reason a sentence explaining why this event was tagged. The origin is either TAG_ORIGIN_AUTOMATIC (1) or TAG_ORIGIN_HUMAN (2). It will return True if the tag was associated with the file, False on failure.

Sample

def add_subject():
  t = truxton.create()
  s = t.newsubject()
  s.id = "00138955-133D-D2C1-A9E9-ADFF27FA80F4"
  s.name = "Alexander Downer"
  s.description = "Australian High Commissioner to the United Kingdom."
  s.birthday = ticks("1951-09-09T00:00:00-00:00")
  s.picture = b64(SUPPORT_DOCUMENTS_FOLDER + "Images/Alexander Downer.png")
  s.save()
  s.tag("AUS", "Australia - Friendly Foreign Government", truxton.TAG_ORIGIN_HUMAN)
  return

def b64(filename):
  with open( filename, "rb" ) as input_file:
    data = input_file.read()
    return str(base64.b64encode(data))[2:-1]