Ejemplo n.º 1
0
 def _timezone_name_to_value(cls, timezone):
     inform = tzinform.get_timezone_info(timezone)
     utcoffset_m = inform['utcoffset'].as_minutes
     if utcoffset_m not in cls.CISCO_TZ_MAP:
         # No UTC offset matching. Let's try finding one relatively close...
         for supp_offset in (30, -30, 60, -60):
             if utcoffset_m + supp_offset in cls.CISCO_TZ_MAP:
                 utcoffset_m += supp_offset
                 break
         else:
             return "Central Europe Standard/Daylight Time"
         
     dst_map = cls.CISCO_TZ_MAP[utcoffset_m]
     if inform['dst']:
         dst_key = inform['dst']['as_string']
     else:
         dst_key = None
     if dst_key not in dst_map:
         # No DST rules matching. Fallback on all-standard time or random
         # DST rule in last resort...
         if None in dst_map:
             dst_key = None
         else:
             dst_key = dst_map.keys[0]
     return dst_map[dst_key]
Ejemplo n.º 2
0
def _gen_tz_map():
    result = {}
    for tz_name, param_value in _ZONE_MAP.iteritems():
        inform = tzinform.get_timezone_info(tz_name)
        inner_dict = result.setdefault(inform['utcoffset'].as_minutes, {})
        if not inform['dst']:
            inner_dict[None] = param_value
        else:
            inner_dict[inform['dst']['as_string']] = param_value
    return result
Ejemplo n.º 3
0
def _gen_tz_map():
    result = {}
    for i, tz_name in enumerate(_ZONE_LIST):
        inform = tzinform.get_timezone_info(tz_name)
        inner_dict = result.setdefault(inform['utcoffset'].as_minutes, {})
        if not inform['dst']:
            inner_dict[None] = i
        else:
            inner_dict[inform['dst']['as_string']] = i
    return result
Ejemplo n.º 4
0
        if bool(int(provinfo.get('subscribemwi', 0))):
            provinfo['vmailaddr'] = "%s@%s" % (provinfo['number'], self.ASTERISK_IPV4)
        else:
            provinfo['vmailaddr'] = ""
            
        fkeys_config_lines = self.__format_function_keys(provinfo['funckey'], model)
        
        if 'language' in provinfo and provinfo['language'] in self.POLYCOM_LOCALES:
            locale = provinfo['language']
        else:
            locale = self.DEFAULT_LOCALE
        language = self.POLYCOM_LOCALES[locale]
        
        if 'timezone' in provinfo:
            timezone = self.__format_tz_inform(tzinform.get_timezone_info(provinfo['timezone']))
        else:
            timezone = ''
        
        if self.PROXY_BACKUP:
            lines = []
            lines.append('reg.1.server.2.address="%s"' % self.PROXY_BACKUP)
            lines.append('reg.1.server.2.port="5060"')
            lines.append('reg.1.server.2.transport="UDPOnly"')
            lines.append('reg.1.server.2.expires="3600"')
            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)