class_docstr: Helper class which performs validation of all submissions.
docstr: Copies submission to target directory.
  
  Args:
    src_filename: source filename of the submission
    dst_subdir: subdirectory of the target directory where submission should
      be copied to
    submission_id: ID of the submission, will be used as a new
      submission filename (before extension)
docstr_tok: ["Copies","submission","to","target","directory",".","Args",":","src_filename",":","source","filename","of","the","submission","dst_subdir",":","subdirectory","of","the","target","directory","where","submission","should","be","copied","to","submission_id",":","ID","of","the","submission",",","will","be","used","as","a","new","submission","filename","(","before","extension",")"]
code: def copy_submission_to_destination(
      self, src_filename, dst_subdir, submission_id
  ):
      """Copies submission to target directory.
  
      Args:
        src_filename: source filename of the submission
        dst_subdir: subdirectory of the target directory where submission should
          be copied to
        submission_id: ID of the submission, will be used as a new
          submission filename (before extension)
      """
  
      extension = [
          e for e in ALLOWED_EXTENSIONS if src_filename.endswith(e)
      ]
      if len(extension) != 1:
          logging.error(
              "Invalid submission extension: %s", src_filename
          )
          return
      dst_filename = os.path.join(
          self.target_dir, dst_subdir, submission_id + extension[0]
      )
      cmd = ["gsutil", "cp", src_filename, dst_filename]
      if subprocess.call(cmd) != 0:
          logging.error("Can't copy submission to destination")
      else:
          logging.info("Submission copied to: %s", dst_filename)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import argparse
  import csv
  import logging
  import os
  import random
  import shutil
  import subprocess
  import tempfile
  from six import iteritems
  import validate_submission_lib
label_desc: Use image node_id 3 for calling the SubmissionValidator obj's underlying member method code with example usage: obj.copy_submission_to_destination(src_filename, dst_subdir, submission_id) without return types