Package tagger :: Module id3v2frame :: Class ID3v2BaseFrame
[show private | hide private]
[frames | no frames]

Class ID3v2BaseFrame

Known Subclasses:
ID3v2_2_Frame, ID3v2_3_Frame

Base ID3v2 Frame for 2.2, 2.3 and 2.4

Abstract class that defines basic functions that are common for 2.2, 2.3 and 2.4.

o_* functions means output_*, they output a bytestring encoding the given data

x_* functions means extract_*, they extract data into accessible structures when given a suitable length bytestream
Method Summary
  __init__(self, frame, fid)
creates an ID3v2BaseFrame structure.
  new_frame_header(self)
creates a new frame header
  o_apic(self)
  o_bin(self)
  o_comm(self)
  o_geob(self)
  o_pcnt(self)
  o_string(self, s, toenc, fromenc)
Converts a String or Unicode String to a byte string of specified encoding.
  o_text(self)
Output text bytestring
  o_url(self)
  o_wxxx(self)
  output(self)
Create a bytestring representing the frame contents and the field
  output_field(self)
  parse_field(self)
  parse_frame_header(self, frame)
Parse the frame header from a bytestring
  x_apic(self)
Extract APIC
  x_bin(self)
  x_comm(self)
extract comment field
  x_geob(self)
Extract GEOB
  x_pcnt(self)
Extract Play Count
  x_text(self)
Extract Text Fields
  x_url(self)
  x_wxxx(self)
Extract URL

Instance Variable Summary
  counter: for playcount (PCNT)
  desc: for geob and URL
  encoding: optional - for text fields we have the encoding name
  fid: frame id code
  filename: filename for GEOB
  flags: dictionary of flags for this frame
  language: set if this frame is a comment (2 character code)
  length: length of the frame in bytes
  longcomment: set if this frame is a comment (optional)
  mimetype: mimetype for GEOB, APIC
  obj: data for GEOB
  rawdata: rawdata of the rest of the frame minus the header
  shortcomment: set if this frame is a comment
  strings: a list of strings for text fields
  url: for URL

Class Variable Summary
dict format_flags: format flags required
int header_length: header portion length
dict status_flags: status flags required
dict supported: supported frame ids

Method Details

__init__(self, frame=None, fid=None)
(Constructor)

creates an ID3v2BaseFrame structure. If you specify frame, then it will go into parse mode. If you specify the fid, then it will create a new frame.
Parameters:
frame - frame bytestring
fid - frame id for creating a new frame

new_frame_header(self)

creates a new frame header

o_string(self, s, toenc, fromenc='latin_1')

Converts a String or Unicode String to a byte string of specified encoding.
Parameters:
toenc - Encoding which we wish to convert to. This can be either ID3V2_FIELD_ENC_* or the actual python encoding type
fromenc - converting from encoding specified

o_text(self)

Output text bytestring

output(self)

Create a bytestring representing the frame contents and the field

To Do:

  • no syncsafing
  • no status format flags used

parse_frame_header(self, frame)

Parse the frame header from a bytestring
Parameters:
frame - bytestring of the frame
           (type=string)

To Do: apple's id3 tags doesn't seem to follow the unsync safe format

x_apic(self)

Extract APIC

set: encoding, mimetype, desc, pict, picttype

x_comm(self)

extract comment field

sets: encoding, lang, shortcomment, longcomment

x_geob(self)

Extract GEOB

set: encoding, mimetype, filename, desc, obj

x_pcnt(self)

Extract Play Count

sets: counter

x_text(self)

Extract Text Fields

To Do:

handle multiple strings seperated by

sets: encoding, strings

x_wxxx(self)

Extract URL

set: encoding, desc, url

Instance Variable Details

counter

for playcount (PCNT)

desc

for geob and URL

encoding

optional - for text fields we have the encoding name

fid

frame id code

filename

filename for GEOB

flags

dictionary of flags for this frame

language

set if this frame is a comment (2 character code)

length

length of the frame in bytes

longcomment

set if this frame is a comment (optional)

mimetype

mimetype for GEOB, APIC

obj

data for GEOB

rawdata

rawdata of the rest of the frame minus the header

shortcomment

set if this frame is a comment

strings

a list of strings for text fields

url

for URL

Class Variable Details

format_flags

format flags required
Type:
dict
Value:
{}                                                                     

header_length

header portion length
Type:
int
Value:
0                                                                     

status_flags

status flags required
Type:
dict
Value:
{}                                                                     

supported

supported frame ids
Type:
dict
Value:
{}                                                                     

Generated by Epydoc 2.0 on Sun Apr 10 14:44:00 2005 http://epydoc.sf.net