def update_to_v24(self):
self.__update_common()<EOL>if self.__unknown_version == self._V23:<EOL><INDENT>converted = []<EOL>for frame in self.unknown_frames:<EOL><INDENT>try:<EOL><INDENT>name, size, flags = unpack('<STR_LIT>', frame[:<NUM_LIT:10>])<EOL>frame = BinaryFrame.fromData(self, flags, frame[<NUM_LIT:10>:])<EOL><DEDENT>except (struct.error, error):<EOL><INDENT>continue<EOL><DEDENT>name = name.decode('<STR_LIT:ascii>')<EOL>converted.append(self.__save_frame(frame, name=name))<EOL><DEDENT>self.unknown_frames[:] = converted<EOL>self.__unknown_version = self._V24<EOL><DEDENT>try:<EOL><INDENT>date = text_type(self.get("<STR_LIT>", "<STR_LIT>"))<EOL>if date.strip(u"<STR_LIT:\x00>"):<EOL><INDENT>self.pop("<STR_LIT>")<EOL>dat = text_type(self.get("<STR_LIT>", "<STR_LIT>"))<EOL>if dat.strip("<STR_LIT:\x00>"):<EOL><INDENT>self.pop("<STR_LIT>")<EOL>date = "<STR_LIT>" % (date, dat[<NUM_LIT:2>:], dat[:<NUM_LIT:2>])<EOL>time = text_type(self.get("<STR_LIT>", "<STR_LIT>"))<EOL>if time.strip("<STR_LIT:\x00>"):<EOL><INDENT>self.pop("<STR_LIT>")<EOL>date += "<STR_LIT>" % (time[:<NUM_LIT:2>], time[<NUM_LIT:2>:])<EOL><DEDENT><DEDENT>if "<STR_LIT>" not in self:<EOL><INDENT>self.add(TDRC(encoding=<NUM_LIT:0>, text=date))<EOL><DEDENT><DEDENT><DEDENT>except UnicodeDecodeError:<EOL><INDENT>pass<EOL><DEDENT>if "<STR_LIT>" in self:<EOL><INDENT>f = self.pop("<STR_LIT>")<EOL>if "<STR_LIT>" not in self:<EOL><INDENT>try:<EOL><INDENT>self.add(TDOR(encoding=<NUM_LIT:0>, text=str(f)))<EOL><DEDENT>except UnicodeDecodeError:<EOL><INDENT>pass<EOL><DEDENT><DEDENT><DEDENT>if "<STR_LIT>" in self:<EOL><INDENT>f = self.pop("<STR_LIT>")<EOL>if "<STR_LIT>" not in self:<EOL><INDENT>self.add(TIPL(encoding=f.encoding, people=f.people))<EOL><DEDENT><DEDENT>for key in ["<STR_LIT>", "<STR_LIT>", "<STR_LIT>", "<STR_LIT>", "<STR_LIT>", "<STR_LIT>", "<STR_LIT>"]:<EOL><INDENT>if key in self:<EOL><INDENT>del(self[key])<EOL><DEDENT><DEDENT>
Convert older tags into an ID3v2.4 tag.

        This updates old ID3v2 frames to ID3v2.4 ones (e.g. TYER to
        TDRC). If you intend to save tags, you must call this function
        at some point; it is called by default when loading the tag.