def CopyFromStringTuple(self, time_elements_tuple):
if len(time_elements_tuple) < <NUM_LIT:7>:<EOL><INDENT>raise ValueError((<EOL>'<STR_LIT>'<EOL>'<STR_LIT>').format(len(time_elements_tuple)))<EOL><DEDENT>year, month, day_of_month, hours, minutes, seconds, microseconds = (<EOL>time_elements_tuple)<EOL>try:<EOL><INDENT>microseconds = int(microseconds, <NUM_LIT:10>)<EOL><DEDENT>except (TypeError, ValueError):<EOL><INDENT>raise ValueError('<STR_LIT>'.format(microseconds))<EOL><DEDENT>if microseconds < <NUM_LIT:0> or microseconds >= definitions.MICROSECONDS_PER_SECOND:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>fraction_of_second = (<EOL>decimal.Decimal(microseconds) / definitions.MICROSECONDS_PER_SECOND)<EOL>time_elements_tuple = (<EOL>year, month, day_of_month, hours, minutes, seconds,<EOL>str(fraction_of_second))<EOL>super(TimeElementsInMicroseconds, self).CopyFromStringTuple(<EOL>time_elements_tuple)<EOL>
Copies time elements from string-based time elements tuple.

        Args:
          time_elements_tuple (Optional[tuple[str, str, str, str, str, str, str]]):
              time elements, contains year, month, day of month, hours, minutes,
              seconds and microseconds.

        Raises:
          ValueError: if the time elements tuple is invalid.