Пример #1
0
    def get_interface_filecontent(self, conf):
        backupfilepath = None
        
        if not os.path.isdir(self.CONFIG['interfaces_backup_path']):
            os.makedirs(self.CONFIG['interfaces_backup_path'])

        if os.access(self.CONFIG['interfaces_file'], os.R_OK):
            backupfilepath = "%s.%d" % (self.CONFIG['interfaces_backup_file'], time())
            copy2(self.CONFIG['interfaces_file'], backupfilepath)
            old_lines = file(self.CONFIG['interfaces_file'])
        else:
            old_lines = ()

        if os.access(self.CONFIG['interfaces_custom_tpl_file'], (os.F_OK | os.R_OK)):
            filename = self.CONFIG['interfaces_custom_tpl_file']
        else:
            filename = self.CONFIG['interfaces_tpl_file']

        template_file = open(filename)
        template_lines = template_file.readlines()
        template_file.close()

        filecontent = xivo_config.txtsubst(template_lines,
                                           {'_XIVO_NETWORK_INTERFACES':
                                                ''.join(xivo_config.generate_interfaces(old_lines, conf))},
                                           self.CONFIG['interfaces_file'],
                                           'utf8')

        if old_lines:
            old_lines.close()

        return (filecontent, backupfilepath)
Пример #2
0
def _write_config_file(optname, xvars):
    backupfilename = None

    if not os.path.isdir(Rcc["%s_backup_path" % optname]):
        os.makedirs(Rcc["%s_backup_path" % optname])

    if os.access(Rcc["%s_file" % optname], os.R_OK):
        backupfilename = "%s.%d" % (Rcc["%s_backup_file" % optname], time())
        copy2(Rcc["%s_file" % optname], backupfilename)

    if os.access(Rcc["%s_custom_tpl_file" % optname], (os.F_OK | os.R_OK)):
        filename = Rcc["%s_custom_tpl_file" % optname]
    else:
        filename = Rcc["%s_tpl_file" % optname]

    template_file = open(filename)
    template_lines = template_file.readlines()
    template_file.close()

    txt = txtsubst(
        template_lines,
        xvars,
        Rcc["%s_file" % optname],
        'utf8',
    )

    system.file_writelines_flush_sync(Rcc["%s_file" % optname], txt)

    return backupfilename
Пример #3
0
def _write_config_file(optname, xvars):
    backupfilename = None

    if not os.path.isdir(Rcc["%s_backup_path" % optname]):
        os.makedirs(Rcc["%s_backup_path" % optname])

    if os.access(Rcc["%s_file" % optname], os.R_OK):
        backupfilename = "%s.%d" % (Rcc["%s_backup_file" % optname], time())
        copy2(Rcc["%s_file" % optname], backupfilename)

    if os.access(Rcc["%s_custom_tpl_file" % optname], (os.F_OK | os.R_OK)):
        filename = Rcc["%s_custom_tpl_file" % optname]
    else:
        filename = Rcc["%s_tpl_file" % optname]

    template_file = open(filename)
    template_lines = template_file.readlines()
    template_file.close()

    txt = txtsubst(template_lines,
                   xvars,
                   Rcc["%s_file" % optname],
                   'utf8')

    system.file_writelines_flush_sync(Rcc["%s_file" % optname], txt)

    return backupfilename
Пример #4
0
            if self.REGISTRAR_BACKUP and self.REGISTRAR_BACKUP == self.PROXY_BACKUP:
                register = 1
            else:
                register = 0
            lines.append('reg.1.server.2.register="%s"' % register)
            backup_pbx = '\n'.join(lines)
        else:
            backup_pbx = ''

        txt = xivo_config.txtsubst(
                template_lines,
                PhoneVendorMixin.set_provisioning_variables(
                    provinfo,
                    { 'user_vmail_addr':        self.xml_escape(provinfo['vmailaddr']),
                      'function_keys':          fkeys_config_lines,
                      'language':               language,
                      'timezone':               timezone,
                      'backup_pbx':             backup_pbx,
                    },
                    self.xml_escape,
                    clean_extension),
                cfg_filename,
                'utf8')

        if dry_run:
            return ''.join(txt)
        else:
            self._write_cfg(tmp_filename, cfg_filename, txt)
            
    @classmethod
    def __format_function_keys(cls, funckey, model):
        max_fkey_no_map = {
Пример #5
0
                      errno,
                      errstr,
                      template_common_path)
            template_file = open(template_common_path)

        template_lines = template_file.readlines()
        tmp_filename = os.path.join(self.SIEMENS_COMMON_DIR, "%s.tmp" % phone_file)
        cfg_filename = tmp_filename[:-4]

        provinfo['subscribemwi'] = str(int(bool(int(provinfo.get('subscribemwi', 0)))))

        txt = xivo_config.txtsubst(
                template_lines,
                PhoneVendorMixin.set_provisioning_variables(
                    provinfo,
                    { 'config_sha1sum': provinfo['sha1sum'],
                    },
                    format_extension=clean_extension),
                cfg_filename,
                'utf8')

        self._write_cfg(tmp_filename, cfg_filename, txt)

    def __get_config_sha1sum(self):
        "Get sha1sum value from configuration."
        rcp = Siemens.get_config(self.SIEMENS_COMMON_DIR, self.phone['model'], self.phone['macaddr'])

        if rcp.has_option('miscellaneous', 'config_sha1sum'):
            sha1sum = rcp.get('miscellaneous', 'config_sha1sum')
        else:
            sha1sum = '1'