gajim-plural/src/common/gajim.py

76 lines
2.4 KiB
Python
Raw Normal View History

2005-04-15 19:02:23 +02:00
## common/gajim.py
##
## Gajim Team:
2005-06-06 01:42:30 +02:00
## - Yann Le Boulanger <asterix@lagaule.org>
## - Vincent Hanquez <tab@snarc.org>
## - Nikos Kouremenos <kourem@gmail.com>
2005-04-15 19:02:23 +02:00
##
## Copyright (C) 2003-2005 Gajim Team
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published
## by the Free Software Foundation; version 2 only.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
import os
2005-04-15 19:02:23 +02:00
import logging
import common.config
2005-04-16 00:02:13 +02:00
import common.logger
2005-04-15 19:02:23 +02:00
2005-06-19 15:17:32 +02:00
version = '0.8'
2005-04-15 19:02:23 +02:00
config = common.config.Config()
connections = {}
verbose = False
2005-05-17 22:31:43 +02:00
h = logging.StreamHandler()
f = logging.Formatter('%(asctime)s %(name)s: %(message)s', '%d %b %Y %H:%M:%S')
h.setFormatter(f)
2005-04-15 19:02:23 +02:00
log = logging.getLogger('Gajim')
2005-05-17 22:31:43 +02:00
log.addHandler(h)
2005-04-16 00:02:13 +02:00
logger = common.logger.Logger()
2005-05-17 19:37:50 +02:00
DATA_DIR = '../data'
2005-06-25 11:35:31 +02:00
LANG = os.getenv('LANG') # en_US, fr_FR, el_GR etc..
2005-06-25 09:37:14 +02:00
if LANG:
2005-06-25 11:35:31 +02:00
LANG = LANG[:2] # en, fr, el etc..
2005-06-25 09:37:14 +02:00
else:
LANG = 'en'
last_message_time = {} # list of time of the latest incomming message
# {acct1: {jid1: time1, jid2: time2}, }
encrypted_chats = {} # list of encrypted chats {acct1: [jid1, jid2], ..}
contacts = {} # list of contacts {acct: {jid1: [C1, C2]}, } one Contact per resource
groups = {} # list of groups
newly_added = {} # list of contacts that has just signed in
to_be_removed = {} # list of contacts that has just signed out
awaiting_messages = {} # list of messages reveived but not printed
nicks = {} # list of our nick names in each account
allow_notifications = {} # do we allow notifications for each account ?
con_types = {} # type of each connection (ssl, tls, tcp, ...)
sleeper_state = {} # whether we pass auto away / xa or not
#'off': don't use sleeper for this account
#'online': online and use sleeper
#'autoaway': autoaway and use sleeper
#'autoxa': autoxa and use sleeper
def get_contact_instances_from_jid(account, jid):
''' we may have two or more resources on that jid '''
2005-07-22 02:34:08 +02:00
return contacts[account][jid]
def get_first_contact_instance_from_jid(account, jid):
2005-07-22 02:34:08 +02:00
return contacts[account][jid][0]
def get_contact_name_from_jid(account, jid):
2005-07-22 02:34:08 +02:00
return contacts[account][jid][0].name
def get_jid_without_resource(jid):
return jid.split('/')[0]