Back to index

eyed3  0.6.18
Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions
frames.PlayCountFrame Class Reference
Inheritance diagram for frames.PlayCountFrame:
Inheritance graph
[legend]
Collaboration diagram for frames.PlayCountFrame:
Collaboration graph
[legend]

List of all members.

Public Member Functions

def __init__
def render
def __str__
def unsync
def deunsync
def decompress
def compress
def decrypt
def encrypt
def disassembleFrame
def assembleFrame
def getFrameDesc
def getTextDelim

Public Attributes

 header
 decompressedSize
 groupId
 encryptionMethod
 dataLen
 encoding
 unsync_default

Static Public Attributes

 count = None

Private Member Functions

def _set

Detailed Description

Definition at line 1645 of file frames.py.


Constructor & Destructor Documentation

def frames.PlayCountFrame.__init__ (   self,
  frameHeader,
  data = None,
  count = None,
  unsync_default = False 
)

Definition at line 1649 of file frames.py.

01649 
01650                  unsync_default=False):
01651         Frame.__init__(self, frameHeader, unsync_default)
01652         if data != None:
01653             self._set(data, frameHeader)
01654         else:
01655             assert(count != None and count >= 0)
01656             self.count = count

Here is the call graph for this function:


Member Function Documentation

def frames.Frame.__str__ (   self) [inherited]

Reimplemented in frames.URLFrame.

Definition at line 586 of file frames.py.

00586 
00587    def __str__(self):
00588       desc = self.getFrameDesc();
00589       return '<%s Frame (%s)>' % (desc, self.header.id);

Here is the call graph for this function:

def frames.PlayCountFrame._set (   self,
  data,
  frameHeader 
) [private]

Definition at line 1657 of file frames.py.

01657 
01658     def _set(self, data, frameHeader):
01659         assert(frameHeader)
01660         # data of less then 4 bytes is handled with with 'sz' arg
01661         self.count = long(bytes2dec(data, sz=(len(data) * 2)))

Here is the call graph for this function:

Here is the caller graph for this function:

def frames.Frame.assembleFrame (   self,
  data 
) [inherited]

Definition at line 659 of file frames.py.

00659 
00660    def assembleFrame (self, data):
00661       formatFlagData = "";
00662       if self.header.minorVersion == 3:
00663          if self.header.compressed:
00664             formatFlagData += bin2bytes(dec2bin(len(data), 32));
00665          if self.header.encrypted:
00666             formatFlagData += bin2bytes(dec2bin(self.encryptionMethod, 8));
00667          if self.header.grouped:
00668             formatFlagData += bin2bytes(dec2bin(self.groupId, 8));
00669       else:
00670          if self.header.grouped:
00671             formatFlagData += bin2bytes(dec2bin(self.groupId, 8));
00672          if self.header.encrypted:
00673             formatFlagData += bin2bytes(dec2bin(self.encryptionMethod, 8));
00674          if self.header.compressed or self.header.dataLenIndicator:
00675             # Just in case, not sure about this?
00676             self.header.dataLenIndicator = 1;
00677             formatFlagData += bin2bytes(dec2bin(len(data), 32));
00678 
00679       if self.header.compressed:
00680           data = self.compress(data);
00681       if self.header.encrypted:
00682           data = self.encrypt(data);
00683       if self.header.unsync or self.unsync_default:
00684           data = self.unsync(data)
00685 
00686       data = formatFlagData + data;
00687       return self.header.render(len(data)) + data;

Here is the call graph for this function:

Here is the caller graph for this function:

def frames.Frame.compress (   self,
  data 
) [inherited]

Definition at line 604 of file frames.py.

00604 
00605    def compress(self, data):
00606       TRACE_MSG("before compression: %d bytes" % len(data));
00607       data = zlib.compress(data);
00608       TRACE_MSG("after compression: %d bytes" % len(data));
00609       return data;

Here is the call graph for this function:

Here is the caller graph for this function:

def frames.Frame.decompress (   self,
  data 
) [inherited]

Definition at line 598 of file frames.py.

00598 
00599    def decompress(self, data):
00600       TRACE_MSG("before decompression: %d bytes" % len(data));
00601       data = zlib.decompress(data, 15, self.decompressedSize);
00602       TRACE_MSG("after decompression: %d bytes" % len(data));
00603       return data;

Here is the call graph for this function:

Here is the caller graph for this function:

def frames.Frame.decrypt (   self,
  data 
) [inherited]

Definition at line 610 of file frames.py.

00610 
00611    def decrypt(self, data):
00612       raise FrameException("Encryption not supported");

Here is the caller graph for this function:

def frames.Frame.deunsync (   self,
  data 
) [inherited]

Definition at line 594 of file frames.py.

00594 
00595    def deunsync(self, data):
00596        data = deunsyncData(data)
00597        return data

Here is the call graph for this function:

Here is the caller graph for this function:

def frames.Frame.disassembleFrame (   self,
  data 
) [inherited]

Definition at line 616 of file frames.py.

00616 
00617    def disassembleFrame(self, data):
00618       # Format flags in the frame header may add extra data to the
00619       # beginning of this data.
00620       if self.header.minorVersion <= 3:
00621          # 2.3:  compression(4), encryption(1), group(1) 
00622          if self.header.compressed:
00623             self.decompressedSize = bin2dec(bytes2bin(data[:4]));
00624             data = data[4:];
00625             TRACE_MSG("Decompressed Size: %d" % self.decompressedSize);
00626          if self.header.encrypted:
00627             self.encryptionMethod = bin2dec(bytes2bin(data[0]));
00628             data = data[1:];
00629             TRACE_MSG("Encryption Method: %d" % self.encryptionMethod);
00630          if self.header.grouped:
00631             self.groupId = bin2dec(bytes2bin(data[0]));
00632             data = data[1:];
00633             TRACE_MSG("Group ID: %d" % self.groupId);
00634       else:
00635          # 2.4:  group(1), encrypted(1), dataLenIndicator(4,7)
00636          if self.header.grouped:
00637             self.groupId = bin2dec(bytes2bin(data[0]));
00638             data = data[1:];
00639          if self.header.encrypted:
00640             self.encryptionMethod = bin2dec(bytes2bin(data[0]));
00641             data = data[1:];
00642             TRACE_MSG("Encryption Method: %d" % self.encryptionMethod);
00643             TRACE_MSG("Group ID: %d" % self.groupId);
00644          if self.header.dataLenIndicator:
00645             self.dataLen = bin2dec(bytes2bin(data[:4], 7));
00646             data = data[4:];
00647             TRACE_MSG("Data Length: %d" % self.dataLen);
00648             if self.header.compressed:
00649                self.decompressedSize = self.dataLen;
00650                TRACE_MSG("Decompressed Size: %d" % self.decompressedSize);
00651 
00652       if self.header.unsync or self.unsync_default:
00653          data = self.deunsync(data)
00654       if self.header.encrypted:
00655          data = self.decrypt(data);
00656       if self.header.compressed:
00657          data = self.decompress(data);
00658       return data;

Here is the call graph for this function:

Here is the caller graph for this function:

def frames.Frame.encrypt (   self,
  data 
) [inherited]

Definition at line 613 of file frames.py.

00613 
00614    def encrypt(self, data):
00615       raise FrameException("Encryption not supported");

Here is the caller graph for this function:

def frames.Frame.getFrameDesc (   self) [inherited]

Definition at line 688 of file frames.py.

00688 
00689    def getFrameDesc(self):
00690       try:
00691          return frameDesc[self.header.id];
00692       except KeyError:
00693          try:
00694             return obsoleteFrames[self.header.id];
00695          except KeyError:
00696             return "UNKOWN FRAME";

Here is the caller graph for this function:

def frames.Frame.getTextDelim (   self) [inherited]

Definition at line 697 of file frames.py.

00697 
00698    def getTextDelim(self):
00699        if self.encoding == UTF_16_ENCODING or \
00700           self.encoding == UTF_16BE_ENCODING:
00701            return "\x00\x00";
00702        else:
00703            return "\x00";

Here is the caller graph for this function:

Definition at line 1662 of file frames.py.

01662 
01663     def render(self):
01664         data = dec2bytes(self.count, 32)
01665         return self.assembleFrame(data)

Here is the call graph for this function:

def frames.Frame.unsync (   self,
  data 
) [inherited]

Definition at line 590 of file frames.py.

00590 
00591    def unsync(self, data):
00592        data = unsyncData(data)
00593        return data

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

frames.PlayCountFrame.count = None [static]

Definition at line 1646 of file frames.py.

frames.Frame.dataLen [inherited]

Definition at line 581 of file frames.py.

Definition at line 578 of file frames.py.

frames.Frame.encoding [inherited]

Definition at line 580 of file frames.py.

frames.Frame.groupId [inherited]

Definition at line 579 of file frames.py.

frames.Frame.header [inherited]

Definition at line 577 of file frames.py.

Definition at line 584 of file frames.py.


The documentation for this class was generated from the following file: