code: def create_module_tar(self):
      if not os.path.exists(self.dest):
          os.makedirs(self.dest)
      tar_file = os.path.join(
          self.dest, "{}.tar.gz".format(self.module)
      )
      tfp = XarFile(tar_file, "w", "tar.gz")
      tfp.add(self.dest, self.module, False)
      for root, dir, files in os.walk(self.src):
          for file in files:
              fullpath = os.path.join(root, file)
              arcname = os.path.join(self.module, "assets", file)
              tfp.add(fullpath, arcname=arcname)
  
      tfp.add(
          name=self.model_file,
          arcname=os.path.join(self.module, MODULE_FILE),
      )
      tfp.add(
          name=self.serving_file,
          arcname=os.path.join(self.module, SERVING_FILE),
      )
      tfp.add(
          name=self.init_file,
          arcname=os.path.join(self.module, INIT_FILE),
      )
  
file_path: PaddleHub/paddlehub/commands/convert.py
imports: import argparse
  import os
  import time
  import tarfile
  import shutil
  from string import Template
  from paddlehub.env import TMP_HOME
  from paddlehub.commands import register
  from paddlehub.utils.xarfile import XarFile
  from paddlehub.server.server import CacheUpdater
label_desc: Use image node_id 2 for calling the ConvertCommand obj's underlying member method code with example usage: obj.create_module_tar() without return types