SReview::Talk(3pm)

๐Ÿ’– SReview::Talk ๐Ÿ’–

okay bestie so this is SReview::Talk, a User Contributed Perl Documentation page, and it's literally the database abstraction for talks in the SReview database. no cap. ๐ŸŽ€


โœจ NAME โœจ

SReview::Talk โ€” database abstraction for talks in the SReview database. it's giving "the talk object you've been waiting for." ๐Ÿ’…


๐ŸŒธ SYNOPSIS ๐ŸŒธ

okay so this is how you actually use it, look:

use SReview::Talk;

my $talk = SReview::Talk->new(talkid => 1);
print $talk->nonce;
my $nonce = $talk->nonce;
my $talk_alt = SReview::Talk->by_nonce($nonce);
print $talk_alt->talkid; # 1

$talk->add_correction(length_adj => 1);
$talk->done_correcting;

see how easy? iconic. ๐Ÿ‘‘


๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

so SReview::Talk hands you a Moose-based, object-oriented interface to all the data about a talk that lives in the SReview database. it's not used literally everywhere yet, but the intention โ€” the vision, the dream, the main character energy โ€” is for it to eventually replace all the direct PostgreSQL calls. periodt. ๐Ÿ’–


๐ŸŽ€ PROPERTIES ๐ŸŽ€

โญ talkid

the unique ID of the talk. it's a required attribute at construction time (but lowkey see the by_nonce method down below ๐Ÿ‘€). it's what gets used to look up the relevant data in the database.

โญ pathinfo

a helper property that looks up info from the database. ngl, don't use this directly bestie, it's an internal thing. ๐Ÿ™ˆ

โญ flags

the flags set on this talk. setter: set_flag; getter: get_flag. you can delete flags with delete_flag.

โญ apology

the apology note, if there is one. predicate: has_apology.

โญ comment

the comments the user typed into the "other brokenness" field. predicate: has_comment; clearer: clear_comment.

โญ first_comment

the most recent comment entered in the "other brokenness" field.

โญ corrected_times

the start- and endtime of the talk, with corrections (if any) applied. slay. โœจ

โญ nonce

the talk's unique hex string, used to look it up for review.

โญ date

the date on which the talk happened.

โญ readable_date

the date on which the talk happened, but in a (somewhat) more human-readable format than the date property. ๐Ÿซถ

โญ eventname

the name of the event that this talk is part of.

โญ event_output

the name of the event as it's used in output directories, if any.

โญ progress

the current progress value of the talk, as an SReview::Talk::Progress.

โญ state

the current state of the talk, as an SReview::Talk::State.

โญ title

the title of the talk.

โญ subtitle

the subtitle of the talk.

โญ workdir

the working directory where the files for this talk should be stored.

โญ relative_name

the relative path- and file name under the output directory for this talk.

โญ outname

the output name for this talk.

โญ finaldir

the directory in which things are stored.

โญ slug

a short, safe representation of the talk; used for filenames. cute and practical. ๐ŸŒ

โญ corrections

the corrections that are set on this talk.

it supports:

  • has_correction โ€” check whether a correction exists (by name)
  • set_correction โ€” overwrite a correction with a new value
  • clear_correction โ€” remove a correction from the set of corrections
  • correction_pairs โ€” get a key/value list of corrections

โญ video_fragments

gets you a list of hashes with data on the fragments of video files that are necessary to build the talk, given the schedule and the current corrections. ๐Ÿ’€ it's a lot but it's worth it.

each hash contains:

  • talkid โ€” the talk ID for fragments that are part of the main video; -1 for fragments that are part of the pre video; and -2 for fragments that are part of the post video.
  • rawid โ€” the unique ID of the raw file
  • raw_filename โ€” the filename of the raw file
  • fragment_start โ€” the offset into the raw file where the interesting content begins.
  • raw_length โ€” the length of the entire video (should be the same for each fragment)
  • raw_length_corrected โ€” the length of the interesting content in this raw file

โญ avs_video_fragments

the same values as the video_fragments attribute, but with every length extended as needed for A/V sync operations. ๐Ÿ”ฅ

โญ speakers

the names of the speakers as a single string, in the format 'Firstname Lastname, Firstname Lastname, ..., Firstname Lastname and Firstname Lastname'

โญ speakerlist

an array of speaker names.

โญ room

the room in which the talk happened / will happen.

โญ roomid

the unique ID of the room.

โญ eventurl

the URL for the talk on the event's website. it only contains data if $eventurl_format is set in the config file; if it isn't, it returns the empty string. ๐Ÿ˜ญ

โญ output_video_urls

an array of URLs for the output videos, as they will be published. used by final review.

โญ preview_exten

the file extension of the preview file (.webm or .mp4).

โญ scheduled_length

the length of the talk, as scheduled.

โญ description

the talk's description.

โญ track_name

the name of the track this talk is in, if any.

โญ extra_data

the contents of the "extra_data" field, as imported by sreview-import.


๐Ÿ’… METHODS ๐Ÿ’…

๐ŸŒˆ by_nonce

looks up (and returns) the talk by nonce, rather than by talk ID. so valid, so convenient.

๐ŸŒˆ by_slug

looks up (and returns) the talk by slug, rather than by talk ID.

๐ŸŒˆ add_correction

interpret a correction as a number, and add the passed parameter to it. the new value of the correction will be the sum of the parameter and the old correction. math girlies rise. ๐Ÿงฎ

๐ŸŒˆ done_correcting

commit the created corrections to the database. also commits other things, like the comment and the flags. the "wrap it up" button fr fr.

๐ŸŒˆ set_state

override the state of the talk to a new state, ignoring the state transitions.

โš ๏ธ note: this does not update the object, so this should be done just before destroying it. do not skip this part bestie, it matters. ๐Ÿ’€

๐ŸŒˆ state_done

set the progress to "done" in the given state. does nothing if the talk has since moved to another state.

๐ŸŒˆ reset_corrections

clear all corrections, except the serial one. used when a user requests that the talk be reset to default.

๐ŸŒˆ get_metadata

returns a hash that can be passed to "metadata" in Media::Convert::Asset. see the documentation on that property for more details. iykyk. ๐Ÿ“š


๐ŸŒŸ SEE ALSO ๐ŸŒŸ

nothing else listed here, bestie โ€” but honestly the methods above are the whole vibe. ๐Ÿฆ‹


and that's the whole page!! ๐Ÿ’– this beauty lives in User Contributed Perl Documentation as SReview::Talk(3pm), built for perl v5.40.1, dated 2026-02-15. go forth and talk about talks. slay, periodt, goodbye. ๐Ÿ‘‘โœจ๐ŸŒˆ

๐Ÿ“ฆ where this page comes from