Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/services/console/lib/purk/servers.py
blob: 19ce23c10263c053c86ae298f2ea29731e56fc3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import gtk

import windows
from conf import conf

if 'networks' not in conf:
    conf['networks'] = {}

def server_get_data(network_info):
    if 'port' in network_info:
        return "%s:%s" % (
            network_info.get('server', '') , network_info.get('port')
            )
    else:
        return network_info.get('server', '')
        
def server_set_data(text, network_info):
    if ':' in text:
        network_info['server'], port = text.rsplit(':',1)
        network_info['port'] = int(port)
    else:
        network_info['server'] = text
        network_info.pop('port', None)
            
def channels_get_data(network_info):
    return '\n'.join(network_info.get('join', ()))
            
def channels_set_data(text, network_info):
    network_info['join'] = []
    
    for line in text.split('\n'):
        for chan in line.split(','):
            if chan:
                network_info['join'].append(chan.strip())
    
def perform_get_data(network_info):
    return '\n'.join(network_info.get('perform', ()))
            
def perform_set_data(text, network_info):
    network_info['perform'] = [line for line in text.split('\n') if line]
    
def autoconnect_set_data(do_autoconnect, network): 
    if 'start_networks' not in conf:
        conf['start_networks'] = []

    # note (n in C) != w
    if (network in conf.get('start_networks')) != do_autoconnect:
        if do_autoconnect:
            conf.get('start_networks').append(network)
        else:
            conf.get('start_networks').remove(network)