Пример #1
0
def thomson_install(firmware):
    try:
        fw_src_path = FW_PATHS[firmware.model][firmware.version]
    except KeyError:
        fetchfw.die("unsupported model/version (%s/%s)" % (firmware.model, firmware.version))

    assert len(firmware.remote_files) == 1
    zip_path = fetchfw.zip_extract_all(firmware.name, firmware.remote_files[0].path)
    fw_zip_path = os.path.join(zip_path, fw_src_path)
    fw_dst_dir = os.path.join(fetchfw.TFTP_PATH, "Thomson", "binary")

    fetchfw.makedirs(fw_dst_dir)

    if firmware.model == 'TB30':
        pre_dsp_file = "%sS_V" % firmware.model
        pre_fw_file = "%sS." % firmware.model
    else:
        modelnum = firmware.model[2:]
        pre_dsp_file = "v%s_dsp_" % modelnum
        pre_fw_file = "v%sSG." % modelnum

    for fw_file in os.listdir(fw_zip_path):
        if fw_file.startswith(pre_dsp_file) or fw_file.startswith(pre_fw_file):
            shutil.copy2(os.path.join(fw_zip_path, fw_file),
                         os.path.join(fw_dst_dir, fw_file))
Пример #2
0
def snom_m3_install(firmware):
    fw_dst_dir = os.path.join(fetchfw.TFTP_PATH, "Snom", "firmware")
    
    fetchfw.makedirs(fw_dst_dir)
    
    for xfile in firmware.remote_files:
        fw_dst_path = os.path.join(fw_dst_dir, xfile.filename)
        shutil.copy2(xfile.path, fw_dst_path)
Пример #3
0
def siemens_install(firmware):
    assert len(firmware.remote_files) == 1
    xfile = firmware.remote_files[0]
    fw_dst_dir = os.path.join(fetchfw.TFTP_PATH, 'Siemens', 'firmware', firmware.model.lower())

    fetchfw.makedirs(fw_dst_dir)

    shutil.copy2(xfile.path, fw_dst_dir)
Пример #4
0
def yealink_install(firmware):
    zip_path = fetchfw.zip_extract_all(firmware.name, firmware.remote_files[0].path)
    fw_src_name, fw_dst_name = FW_PATHS[firmware.model][firmware.version]
    fw_src_path = os.path.join(zip_path, fw_src_name)
    fw_dst_path = os.path.join(fetchfw.TFTP_PATH, 'Yealink', fw_dst_name)
    
    fetchfw.makedirs(os.path.dirname(fw_dst_path))
    shutil.copy2(fw_src_path, fw_dst_path)
Пример #5
0
def linksys_dblzip_install_fw(firmware, zip_name, fw_name):
    zipfile1_path = firmware.remote_files[0].path
    unzip_dir = fetchfw.zip_extract_all(firmware.name, zipfile1_path)
    zipfile2_path = os.path.join(unzip_dir, zip_name)
    
    fw_dst_path = os.path.join(fetchfw.TFTP_PATH, 'Linksys', 'firmware')
    fetchfw.makedirs(fw_dst_path)
    fetchfw.zip_extract_files(zipfile2_path, (fw_name,), fw_dst_path)
Пример #6
0
def polycom_install_bootrom(xfile):
    zip_path = fetchfw.zip_extract_all("polycom_bootrom", xfile.path)
    fw_dst_dir = os.path.join(fetchfw.TFTP_PATH, "Polycom")
    
    fetchfw.makedirs(fw_dst_dir)
    
    for fw_file in os.listdir(zip_path):
        fw_src_path = os.path.join(zip_path, fw_file)
        fw_dst_path = os.path.join(fw_dst_dir, fw_file)
        shutil.copy2(fw_src_path, fw_dst_path)
Пример #7
0
def aastra_install_langs(firmware, xfile, i18n_dir):
    zip_path = fetchfw.zip_extract_all('aastra-langs', xfile.path)
    fw_dst_dir = os.path.join(fetchfw.TFTP_PATH, "Aastra", i18n_dir)
    
    fetchfw.makedirs(fw_dst_dir)
    
    for fw_file in os.listdir(zip_path):
        fw_src_path = os.path.join(zip_path, fw_file)
        fw_dst_path = os.path.join(fw_dst_dir, fw_file)
        shutil.copy2(fw_src_path, fw_dst_path)
Пример #8
0
def sangoma_echocan_install(firmware):
    xfile = firmware.remote_files[0]
    tgz_path = fetchfw.tgz_extract_all("sangoma_echocan", xfile.path)
    
    fetchfw.makedirs(SANGOMA_ECHOCAN_PATH)
    
    for root, dirs, files, in os.walk(tgz_path):
        for fw_file in files:
            if fw_file[-4:] == ".ima":
                fw_src_path = os.path.join(tgz_path, root, fw_file)
                shutil.copy2(fw_src_path, SANGOMA_ECHOCAN_PATH)
Пример #9
0
def aastra_install_fw(firmware, xfile):
    zip_path = fetchfw.zip_extract_all(firmware.name, xfile.path)
    fw_src_path = os.path.join(zip_path, "%s.st" % firmware.model)
    fw_dst_dir = os.path.join(fetchfw.TFTP_PATH, "Aastra")

    if not (os.access(fw_src_path, os.R_OK) and os.path.isfile(fw_src_path)) \
       and AASTRA_MODEL_STANDARDIZE.has_key(firmware.model):
        fw_src_path = os.path.join(zip_path, "%s.st" % AASTRA_MODEL_STANDARDIZE.get(firmware.model))

    fetchfw.makedirs(fw_dst_dir)
    
    shutil.copy2(fw_src_path, fw_dst_dir)
Пример #10
0
def polycom_install_app(xfile):
    zip_path = fetchfw.zip_extract_all("polycom_app", xfile.path)
    fw_dst_dir = os.path.join(fetchfw.TFTP_PATH, "Polycom")
    
    fetchfw.makedirs(fw_dst_dir)
    
    for fw_file in APP_FILES:
        fw_src_path = os.path.join(zip_path, fw_file)
        fw_dst_path = os.path.join(fw_dst_dir, fw_file)
        shutil.copy2(fw_src_path, fw_dst_path)
    
    fw_src_path = os.path.join(zip_path, "SoundPointIPLocalization")
    fw_dst_path = os.path.join(fw_dst_dir, "SoundPointIPLocalization")
    shutil.rmtree(fw_dst_path, True)
    shutil.copytree(fw_src_path, fw_dst_path)
Пример #11
0
def ciscospa5xx_install_fw(firmware, fw_name):
    zipfile_path = firmware.remote_files[0].path
    fetchfw.makedirs(smb_fw_dst_path)
    fetchfw.zip_extract_files(zipfile_path, (fw_name,), smb_fw_dst_path)
Пример #12
0
def linksys_zip_install_fw(firmware, fw_name):
    zipfile_path = firmware.remote_files[0].path
    fw_dst_path = os.path.join(fetchfw.TFTP_PATH, 'Linksys', 'firmware')
    fetchfw.makedirs(fw_dst_path)
    fetchfw.zip_extract_files(zipfile_path, (fw_name,), fw_dst_path)
Пример #13
0
def linksys_install_locale(xfile, src_file, dst_file):
    unzip_dir = fetchfw.zip_extract_all('linksys_langs', xfile.path)
    lang_dst_path = os.path.join(fetchfw.TFTP_PATH, 'Linksys/i18n')
    fetchfw.makedirs(lang_dst_path)
    shutil.copy(os.path.join(unzip_dir, src_file), os.path.join(lang_dst_path, dst_file))
Пример #14
0
def ciscospa5xx_install_locale(xfile, locale_src_file, locale_dst_file):
    zipfile_path = xfile.path
    unzip_dir = fetchfw.zip_extract_all('spa5xx_lang', zipfile_path)
    fetchfw.makedirs(smb_dict_dst_path)
    shutil.copy(os.path.join(unzip_dir, locale_src_file),
                os.path.join(smb_dict_dst_path, locale_dst_file))
Пример #15
0
def snom_install_fw(xfile):
    fw_dst_dir = os.path.join(fetchfw.TFTP_PATH, "Snom", "firmware")
    fw_dst_path = os.path.join(fw_dst_dir, xfile.filename)
    
    fetchfw.makedirs(fw_dst_dir)
    shutil.copy2(xfile.path, fw_dst_path)
Пример #16
0
def nortel_install_fw(xfile):
    fw_dst_dir = os.path.join(fetchfw.TFTP_PATH, 'Nortel', 'firmware')
    fw_dst_path = os.path.join(fw_dst_dir, xfile.filename)
    fetchfw.makedirs(fw_dst_dir)
    shutil.copy2(xfile.path, fw_dst_path)
Пример #17
0
def zenitel_install(firmware):
    fw_dst_dir = os.path.join(fetchfw.TFTP_PATH)
    fetchfw.makedirs(fw_dst_dir)
    fetchfw.zip_extract_files(firmware.remote_files[0].path, ('A100G80200.01_11_3_2.bin',), fw_dst_dir)
Пример #18
0
def sangoma_install(firmware):
    xfile = firmware.remote_files[0]
    
    fetchfw.makedirs(SANGOMA_FW_PATH)
    
    shutil.copy2(xfile.path, SANGOMA_FW_PATH)