mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-12 22:09:25 +08:00
* #18619: tools: removed unused ini2yaml.py
This commit is contained in:
@ -1,198 +0,0 @@
|
||||
import os
|
||||
import yaml
|
||||
from ConfigParser import ConfigParser as cp
|
||||
|
||||
path = os.environ['HOME'] + "/.config/sflphone/sflphonedrc"
|
||||
# path = "sflphonedrc"
|
||||
c = cp()
|
||||
c.read(path)
|
||||
accnodes = ['srtp', 'tls', 'zrtp']
|
||||
auxnodes = ['alsa', 'pulse', 'dtmf']
|
||||
dico = {}
|
||||
dico['accounts'] = []
|
||||
|
||||
# Dictionary used to convert string used in prior configuration file to new one.
|
||||
conversion = {
|
||||
|
||||
# addressbook
|
||||
'addressbook': 'addressbook',
|
||||
'contact_photo': 'photo',
|
||||
'enable': 'enabled',
|
||||
'max_results': 'maxResults',
|
||||
'phone_business': 'business',
|
||||
'phone_home': 'photo',
|
||||
'phone_mobile': 'mobile',
|
||||
|
||||
# audio
|
||||
'audio': 'audio',
|
||||
'cardid_in': 'cardIn',
|
||||
'cardid_out': 'cardOut',
|
||||
'cardid_ring': 'cardRing',
|
||||
'framesize': 'frameSize',
|
||||
'plugin': 'plugin',
|
||||
'samplerate': 'smplRate',
|
||||
'deviceplayback': 'devicePlayback',
|
||||
'devicerecord': 'deviceRecord',
|
||||
'deviceringtone': 'deviceRingtone',
|
||||
'path': 'recordPath',
|
||||
'ringchoice': 'ringtonePath',
|
||||
'micro': 'volumeMic',
|
||||
'speakers': 'volumeSpkr',
|
||||
|
||||
# hooks
|
||||
'hooks': 'hooks',
|
||||
'iax2_enabled': 'iax2Enabled',
|
||||
'phone_number_add_prefix': 'numberAddPrefix',
|
||||
'phone_number_enabled': 'numberEnabled',
|
||||
'sip_enabled': 'sipEnabled',
|
||||
'url_command': 'urlCommand',
|
||||
'url_sip_field': 'urlSipField',
|
||||
|
||||
# general preference
|
||||
'preferences': 'preferences',
|
||||
'order': 'order',
|
||||
'api': 'audioApi',
|
||||
'display': 'searchBarDisplay',
|
||||
'limit': 'historyLimit',
|
||||
'mails': 'notifyMails',
|
||||
'zonetonechoice': 'zoneToneChoice',
|
||||
'portnum': 'portNum',
|
||||
'md5hash': 'md5Hash',
|
||||
|
||||
# voip link
|
||||
'voiplink': 'voipPreferences',
|
||||
'playdtmf': 'playDtmf',
|
||||
'playtones': 'playTones',
|
||||
'pulselength': 'pulseLength',
|
||||
'senddtmfas': 'dtmfType',
|
||||
'symmetric': 'symmetric',
|
||||
'zidfile': 'zidFile',
|
||||
|
||||
# account
|
||||
'accounts': 'accounts',
|
||||
'ip2ip': 'IP2IP',
|
||||
'alias': 'alias',
|
||||
'displayname': 'displayName',
|
||||
'localinterface': 'interface',
|
||||
'localport': 'port',
|
||||
'publishedaddress': 'publishAddr',
|
||||
'publishedport': 'publishPort',
|
||||
'publishedsameaslocal': 'sameasLocal',
|
||||
'activecodecs': 'codecs',
|
||||
# srtp
|
||||
'enable': 'enable',
|
||||
'keyexchange': 'keyExchange',
|
||||
'rtpfallback': 'rtpFallback',
|
||||
# stun
|
||||
'enable': 'stunEnabled',
|
||||
'server': 'stunServer',
|
||||
# tls
|
||||
'certificatefile': 'certificate',
|
||||
'certificatelistfile': 'calist',
|
||||
'ciphers': 'ciphers',
|
||||
'enable': 'enable',
|
||||
'listenerport': 'tlsPort',
|
||||
'method': 'password',
|
||||
'negotiationtimemoutmsec': '',
|
||||
'negotiationtimeoutsec': 'timeout',
|
||||
'password': 'password',
|
||||
'privatekeyfile': 'privateKey',
|
||||
'requireclientcertificate': 'requireCertif',
|
||||
'servername': 'server',
|
||||
'verifyclient': 'verifyClien',
|
||||
'verifyserver': 'verifyServer',
|
||||
# zrtp
|
||||
'displaysas': 'displaySAS',
|
||||
'displaysasonce': 'displaySasOnce',
|
||||
'hellohashenable': 'helloHashEnable',
|
||||
'notsuppwarning': 'notSuppWarning',
|
||||
|
||||
# to be removed
|
||||
'listenerport': 'port',
|
||||
}
|
||||
|
||||
|
||||
# Dictionary to convert sections string
|
||||
section_conversion = {
|
||||
|
||||
'Accounts': 'accounts',
|
||||
'Addressbook': 'addressbook',
|
||||
'Audio': 'audio',
|
||||
'Hooks': 'hooks',
|
||||
'Preferences': 'preferences',
|
||||
'VoIPLink': 'voipPreferences',
|
||||
'Shortcuts': 'shortcuts'
|
||||
}
|
||||
|
||||
|
||||
|
||||
# run over every sections in original file
|
||||
for sec in c.sections():
|
||||
# accounts are now stored in an account list
|
||||
if 'Account' in sec or sec == 'IP2IP':
|
||||
dsec = 'accounts'
|
||||
# temporary account dictionary to be inserted in main dictionary
|
||||
daccount = {}
|
||||
daccount['id'] = sec
|
||||
# temporary account dictionary to be inserted in account nodes
|
||||
subdic = {}
|
||||
# preparing account dictionary
|
||||
for x in accnodes:
|
||||
subdic[x] = {}
|
||||
# run over every options
|
||||
for opt in c.options(sec):
|
||||
spl = opt.split('.')
|
||||
# if this is an account node
|
||||
if spl[0] in accnodes:
|
||||
# add into the account dictionary
|
||||
print spl[1]
|
||||
subdic[spl[0]][conversion[spl[1]]] = c.get(sec, opt)
|
||||
# else, the options is attached to the primary dictionary
|
||||
else:
|
||||
daccount[spl[len(spl) -1]] = c.get(sec, opt)
|
||||
# insert account nodes in account dictionary
|
||||
for x in accnodes:
|
||||
daccount[x] = subdic[x]
|
||||
# insert account dictionary in main dictionary
|
||||
dico[dsec].append(daccount)
|
||||
else:
|
||||
dsec = section_conversion[sec]
|
||||
dico[dsec] = {}
|
||||
subdic = {}
|
||||
# prepare dictionary for section's node
|
||||
for x in auxnodes:
|
||||
subdic[x] = {}
|
||||
# run over all fields
|
||||
for opt in c.options(sec):
|
||||
spl = opt.split('.')
|
||||
# if this is a node
|
||||
if spl[0] in auxnodes:
|
||||
# add into sections dictionary
|
||||
print spl[1]
|
||||
subdic[spl[0]][conversion[spl[1]]] = c.get(sec, opt)
|
||||
# else if this option is attached to an accout
|
||||
else:
|
||||
dico[section_conversion[sec]][spl[len(spl) -1 ]] = c.get(sec, opt)
|
||||
# inserting the node into the account
|
||||
for x in auxnodes:
|
||||
if subdic[x]:
|
||||
dico[section_conversion[sec]][x] = subdic[x]
|
||||
|
||||
|
||||
# Make sure all accunt are enabled (especially IP2IP)
|
||||
for acc in dico['accounts']:
|
||||
acc['enable'] = 'true'
|
||||
|
||||
# Save in new configuration file
|
||||
newPath = os.environ['HOME'] + "/.config/sflphone/sflphonedrc"
|
||||
# newPath = 'blah.yml'
|
||||
|
||||
# Save new configuration file
|
||||
f = open(newPath, 'wr')
|
||||
f.write(yaml.dump(dico, default_flow_style=False))
|
||||
f.close()
|
||||
|
||||
#Addressbook: ajouter 'list': None
|
||||
#Rings.ringChoice ringsringChoice
|
||||
# dictionnaires:
|
||||
# alsa, accounts,
|
Reference in New Issue
Block a user