class Tracksperanto::Import::Base

The base class for all the import modules. By default, when you inherit from this class the inherited class will be included in the list of supported Tracksperanto importers. The API that an importer should present is very basic, and consists only of a few methods. The main method is `each`.

Attributes

height[RW]

The original width and height of the tracked image. If you need to know the width for your specific format and cannot autodetect it, Trakcksperanto will assign the passed width and height to the importer object before running the import. If not, you can replace the assigned values with your own. At the end of the import procedure, Tracksperanto will read the values from you again and will use the read values for determining the original comp size. width and height MUST return unsigned integer values after the import completes

io[RW]

Handle to the IO with data being parsed

progress_block[RW]

Tracksperanto will assign a proc that reports the status of the import to the caller. This block is automatically used by report_progress IF the proc is assigned. Should the proc be nil, the report_progress method will just pass (so you don't need to check for nil yourself)

width[RW]

The original width and height of the tracked image. If you need to know the width for your specific format and cannot autodetect it, Trakcksperanto will assign the passed width and height to the importer object before running the import. If not, you can replace the assigned values with your own. At the end of the import procedure, Tracksperanto will read the values from you again and will use the read values for determining the original comp size. width and height MUST return unsigned integer values after the import completes

Public Class Methods

autodetects_size?() click to toggle source

Return true from this method if your importer can deduce the comp size from the passed file

# File lib/import/base.rb, line 55
def self.autodetects_size?
  false
end
distinct_file_ext() click to toggle source

Return an extension WITH DOT if this format has a typical extension that you can detect (like “.nk” for Nuke)

# File lib/import/base.rb, line 41
def self.distinct_file_ext
end
human_name() click to toggle source

Should return a human-readable (read: properly capitalized and with spaces) name of the import format

# File lib/import/base.rb, line 46
def self.human_name
  "Abstract import format"
end
inherited(by) click to toggle source

Used to register your importer in the list of supported formats. Normally you would not need to override this

Calls superclass method
# File lib/import/base.rb, line 34
def self.inherited(by)
  Tracksperanto.importers << by
  super
end
known_snags() click to toggle source

Returns a textual description of things to check when the user wants to import from this specific format

# File lib/import/base.rb, line 51
def self.known_snags
end

Public Instance Methods

each() click to toggle source

The main method of the parser. Should yield each Tracker that has been fully parsed. After calling this method the caller can ask for width and height as well.

# File lib/import/base.rb, line 68
def each
end
report_progress(message) click to toggle source

Call this method from the inside of your importer to tell what you are doing. This gets propagated to the caller automatically, or gets ignored if the caller did not request any progress reports

# File lib/import/base.rb, line 61
def report_progress(message)
  @progress_block.call(message) if @progress_block
end