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>super(TimeElementsWithFractionOfSecond, self).CopyFromStringTuple(<EOL>time_elements_tuple)<EOL>try:<EOL><INDENT>fraction_of_second = decimal.Decimal(time_elements_tuple[<NUM_LIT:6>])<EOL><DEDENT>except (TypeError, ValueError):<EOL><INDENT>raise ValueError('<STR_LIT>'.format(<EOL>time_elements_tuple[<NUM_LIT:6>]))<EOL><DEDENT>if fraction_of_second < <NUM_LIT:0.0> or fraction_of_second >= <NUM_LIT:1.0>:<EOL><INDENT>raise ValueError('<STR_LIT>'.format(<EOL>fraction_of_second))<EOL><DEDENT>self.fraction_of_second = fraction_of_second<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 fraction of seconds.

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