TruxtonSubject

From truxwiki.com
Revision as of 18:53, 2 May 2023 by Sam (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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

addnote(investigation: object, 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 subject, False on failure. The note is stored in the [InvestigatorNote] table in the database.

birthday: datetime

When the subject was born. This value can be set with either a datetime value or an integer representing FILETIME ticks. This corresponds to the [DateOfBirth] column of the [Suspect] table.

custom: str

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: str

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

id: object

This is the GUID of the subject. 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: str

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

picture: str

A base64 encoded 300x300 PNG image of the subject.

save() -> boolean

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: str, reason: str, origin: int) -> boolean

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 subject 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 None

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