try to create unread_messages table only once when we update config file.
This commit is contained in:
parent
ce0484cc15
commit
ad04559cbf
2 changed files with 31 additions and 36 deletions
|
@ -35,37 +35,6 @@ Q_ = i18n.Q_
|
||||||
|
|
||||||
from pysqlite2 import dbapi2 as sqlite # DO NOT MOVE ABOVE OF import gajim
|
from pysqlite2 import dbapi2 as sqlite # DO NOT MOVE ABOVE OF import gajim
|
||||||
|
|
||||||
def assert_unread_msgs_table_exists():
|
|
||||||
'''create table unread_messages if there is no such table'''
|
|
||||||
con = sqlite.connect(logger.LOG_DB_PATH)
|
|
||||||
cur = con.cursor()
|
|
||||||
needs_init_vars = False
|
|
||||||
try:
|
|
||||||
cur.executescript(
|
|
||||||
'''
|
|
||||||
CREATE TABLE unread_messages (
|
|
||||||
message_id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
|
|
||||||
jid_id INTEGER
|
|
||||||
);
|
|
||||||
'''
|
|
||||||
)
|
|
||||||
con.commit()
|
|
||||||
needs_init_vars = True
|
|
||||||
except sqlite.OperationalError, e:
|
|
||||||
pass
|
|
||||||
# add column jid_id. if there is such column do nothing
|
|
||||||
try:
|
|
||||||
#FIXME: remove before release 0.10, it's temporary
|
|
||||||
cur.executescript('ALTER TABLE unread_messages ADD jid_id INTEGER;')
|
|
||||||
con.commit()
|
|
||||||
needs_init_vars = True
|
|
||||||
except sqlite.OperationalError, e:
|
|
||||||
pass
|
|
||||||
|
|
||||||
if needs_init_vars:
|
|
||||||
gajim.logger.init_vars()
|
|
||||||
con.close()
|
|
||||||
|
|
||||||
def create_log_db():
|
def create_log_db():
|
||||||
print _('creating logs database')
|
print _('creating logs database')
|
||||||
con = sqlite.connect(logger.LOG_DB_PATH)
|
con = sqlite.connect(logger.LOG_DB_PATH)
|
||||||
|
@ -126,23 +95,21 @@ def check_and_possibly_create_paths():
|
||||||
print _('%s is file but it should be a directory') % VCARD_PATH
|
print _('%s is file but it should be a directory') % VCARD_PATH
|
||||||
print _('Gajim will now exit')
|
print _('Gajim will now exit')
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
if not os.path.exists(AVATAR_PATH):
|
if not os.path.exists(AVATAR_PATH):
|
||||||
create_path(AVATAR_PATH)
|
create_path(AVATAR_PATH)
|
||||||
elif os.path.isfile(AVATAR_PATH):
|
elif os.path.isfile(AVATAR_PATH):
|
||||||
print _('%s is file but it should be a directory') % AVATAR_PATH
|
print _('%s is file but it should be a directory') % AVATAR_PATH
|
||||||
print _('Gajim will now exit')
|
print _('Gajim will now exit')
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
if not os.path.exists(LOG_DB_PATH):
|
if not os.path.exists(LOG_DB_PATH):
|
||||||
create_log_db()
|
create_log_db()
|
||||||
elif os.path.isdir(LOG_DB_PATH):
|
elif os.path.isdir(LOG_DB_PATH):
|
||||||
print _('%s is directory but should be file') % LOG_DB_PATH
|
print _('%s is directory but should be file') % LOG_DB_PATH
|
||||||
print _('Gajim will now exit')
|
print _('Gajim will now exit')
|
||||||
sys.exit()
|
sys.exit()
|
||||||
else:
|
|
||||||
assert_unread_msgs_table_exists()
|
|
||||||
|
|
||||||
else: # dot_gajim doesn't exist
|
else: # dot_gajim doesn't exist
|
||||||
if dot_gajim: # is '' on win9x so avoid that
|
if dot_gajim: # is '' on win9x so avoid that
|
||||||
create_path(dot_gajim)
|
create_path(dot_gajim)
|
||||||
|
|
|
@ -193,6 +193,32 @@ class OptionsParser:
|
||||||
|
|
||||||
gajim.config.set('version', '0.9')
|
gajim.config.set('version', '0.9')
|
||||||
|
|
||||||
|
def assert_unread_msgs_table_exists(self):
|
||||||
|
'''create table unread_messages if there is no such table'''
|
||||||
|
import exceptions
|
||||||
|
try:
|
||||||
|
from pysqlite2 import dbapi2 as sqlite
|
||||||
|
except ImportError:
|
||||||
|
raise exceptions.PysqliteNotAvailable
|
||||||
|
import logger
|
||||||
|
|
||||||
|
con = sqlite.connect(logger.LOG_DB_PATH)
|
||||||
|
cur = con.cursor()
|
||||||
|
try:
|
||||||
|
cur.executescript(
|
||||||
|
'''
|
||||||
|
CREATE TABLE unread_messages (
|
||||||
|
message_id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
|
||||||
|
jid_id INTEGER
|
||||||
|
);
|
||||||
|
'''
|
||||||
|
)
|
||||||
|
con.commit()
|
||||||
|
logger.init_vars()
|
||||||
|
except sqlite.OperationalError, e:
|
||||||
|
pass
|
||||||
|
con.close()
|
||||||
|
|
||||||
def update_config_09_to_010(self):
|
def update_config_09_to_010(self):
|
||||||
if self.old_values.has_key('usetabbedchat') and not \
|
if self.old_values.has_key('usetabbedchat') and not \
|
||||||
self.old_values['usetabbedchat']:
|
self.old_values['usetabbedchat']:
|
||||||
|
@ -225,5 +251,7 @@ class OptionsParser:
|
||||||
proxies_str = ', '.join(proxies)
|
proxies_str = ', '.join(proxies)
|
||||||
gajim.config.set_per('accounts', account, 'file_transfer_proxies',
|
gajim.config.set_per('accounts', account, 'file_transfer_proxies',
|
||||||
proxies_str)
|
proxies_str)
|
||||||
|
# create unread_messages table if needed
|
||||||
|
self.assert_unread_msgs_table_exists()
|
||||||
|
|
||||||
gajim.config.set('version', '0.10')
|
gajim.config.set('version', '0.10')
|
||||||
|
|
Loading…
Add table
Reference in a new issue