add: initial AI support
This commit is contained in:
171
scripts/old/indexate_databases.py
Normal file
171
scripts/old/indexate_databases.py
Normal file
@@ -0,0 +1,171 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# --------------------------------------------------------------------------- #
|
||||
# #
|
||||
# Create and indexate databases for iSida Jabber Bot #
|
||||
# Copyright (C) 2011 diSabler <dsy@dsy.name> #
|
||||
# #
|
||||
# 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, either version 3 of the License, or #
|
||||
# (at your option) any later version. #
|
||||
# #
|
||||
# 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. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License #
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
|
||||
# #
|
||||
# --------------------------------------------------------------------------- #
|
||||
|
||||
import os, sys, sqlite3
|
||||
|
||||
set_folder = u'settings/' # папка настроек
|
||||
|
||||
agestat = set_folder+u'agestat.db' # статистика возрастов
|
||||
jidbase = set_folder+u'jidbase.db' # статистика jid'ов
|
||||
talkers = set_folder+u'talkers.db' # статистика болтунов
|
||||
wtfbase = set_folder+u'wtfbase2.db' # определения
|
||||
answers = set_folder+u'answers.db' # ответы бота
|
||||
saytobase = set_folder+u'sayto.db' # база команды "передать"
|
||||
distbase = set_folder+u'dist_user.db' # пользоватальская база команды "dist"
|
||||
|
||||
print 'Databases creator and indexator for Isida Jabber Bot v2.00 and higher'
|
||||
print '(c) Disabler Production Lab.'
|
||||
|
||||
stb = os.path.isfile(agestat)
|
||||
agest = sqlite3.connect(agestat)
|
||||
cu_agest = agest.cursor()
|
||||
print agestat,
|
||||
if not stb:
|
||||
cu_agest.execute('''create table age (room text, nick text, jid text, time integer, age integer, status integer, type text, message text)''')
|
||||
agest.commit()
|
||||
print 'was created,',
|
||||
else: print 'used exist,',
|
||||
try: cu_agest.execute('''drop index rj''')
|
||||
except: pass
|
||||
try: cu_agest.execute('''drop index rnj''')
|
||||
except: pass
|
||||
cu_agest.execute('''create index rj on age (room,jid)''')
|
||||
cu_agest.execute('''create index rnj on age (room,nick,jid)''')
|
||||
agest.commit()
|
||||
print 'indexed'
|
||||
agest.close()
|
||||
|
||||
stb = os.path.isfile(jidbase)
|
||||
jidst = sqlite3.connect(jidbase)
|
||||
cu_jidst = jidst.cursor()
|
||||
print jidbase,
|
||||
if not stb:
|
||||
cu_jidst.execute('''create table jid (login text, server text, resourse text)''')
|
||||
jidst.commit()
|
||||
print 'was created,',
|
||||
else: print 'used exist,',
|
||||
try: cu_jidst.execute('''drop index log''')
|
||||
except: pass
|
||||
try: cu_jidst.execute('''drop index srv''')
|
||||
except: pass
|
||||
try: cu_jidst.execute('''drop index res''')
|
||||
except: pass
|
||||
cu_jidst.execute('''create index log on jid (login)''')
|
||||
cu_jidst.execute('''create index srv on jid (server)''')
|
||||
cu_jidst.execute('''create index res on jid (resourse)''')
|
||||
jidst.commit()
|
||||
print 'indexed'
|
||||
jidst.close()
|
||||
|
||||
stb = os.path.isfile(talkers)
|
||||
talkst = sqlite3.connect(talkers)
|
||||
cu_talkst = talkst.cursor()
|
||||
print talkers,
|
||||
if not stb:
|
||||
cu_talkst.execute('''create table talkers (room text, jid text, nick text, words integer, frases integer)''')
|
||||
talkst.commit()
|
||||
print 'was created,',
|
||||
else: print 'used exist,',
|
||||
try: cu_talkst.execute('''drop index rj''')
|
||||
except: pass
|
||||
try: cu_talkst.execute('''drop index rjn''')
|
||||
except: pass
|
||||
cu_talkst.execute('''create index rj on talkers (room,jid)''')
|
||||
cu_talkst.execute('''create index rjn on talkers (room,jid,nick)''')
|
||||
talkst.commit()
|
||||
print 'indexed'
|
||||
talkst.close()
|
||||
|
||||
stb = os.path.isfile(wtfbase)
|
||||
wtfst = sqlite3.connect(wtfbase)
|
||||
cu_wtfst = wtfst.cursor()
|
||||
print wtfbase,
|
||||
if not stb:
|
||||
cu_wtfst.execute('''create table wtf (ind integer, room text, jid text, nick text, wtfword text, wtftext text, time text, lim integer)''')
|
||||
wtfst.commit()
|
||||
print 'was created,',
|
||||
else: print 'used exist,',
|
||||
try: cu_wtfst.execute('''drop index r''')
|
||||
except: pass
|
||||
try: cu_wtfst.execute('''drop index rj''')
|
||||
except: pass
|
||||
try: cu_wtfst.execute('''drop index rw''')
|
||||
except: pass
|
||||
try: cu_wtfst.execute('''drop index rww''')
|
||||
except: pass
|
||||
cu_wtfst.execute('''create index r on wtf (room)''')
|
||||
cu_wtfst.execute('''create index rj on wtf (room,jid)''')
|
||||
cu_wtfst.execute('''create index rw on wtf (room,wtfword)''')
|
||||
cu_wtfst.execute('''create index rww on wtf (room,wtfword,wtftext)''')
|
||||
wtfst.commit()
|
||||
print 'indexed'
|
||||
wtfst.close()
|
||||
|
||||
stb = os.path.isfile(answers)
|
||||
answst = sqlite3.connect(answers)
|
||||
cu_answst = answst.cursor()
|
||||
print answers,
|
||||
if not stb:
|
||||
cu_answst.execute('''create table answer (ind integer, body text)''')
|
||||
cu_answst.execute('insert into answer values (?,?)', (1,u';-)'))
|
||||
cu_answst.execute('insert into answer values (?,?)', (2,u'Привет'))
|
||||
answst.commit()
|
||||
print 'was created,',
|
||||
else: print 'used exist,',
|
||||
try: cu_answst.execute('''drop index id''')
|
||||
except: pass
|
||||
cu_answst.execute('''create index id on answer (ind)''')
|
||||
answst.commit()
|
||||
print 'indexed'
|
||||
answst.close()
|
||||
|
||||
stb = os.path.isfile(saytobase)
|
||||
sdb = sqlite3.connect(saytobase)
|
||||
cu = sdb.cursor()
|
||||
print saytobase,
|
||||
if not stb:
|
||||
cu.execute('''create table st (who text, room text, jid text, message text)''')
|
||||
sdb.commit()
|
||||
print 'was created,',
|
||||
else: print 'used exist,',
|
||||
try: cu.execute('''drop index rj''')
|
||||
except: pass
|
||||
cu.execute('''create index rj on st (room,jid)''')
|
||||
sdb.commit()
|
||||
print 'indexed'
|
||||
sdb.close()
|
||||
|
||||
if os.path.isfile(distbase):
|
||||
distb = sqlite3.connect(distbase)
|
||||
cu = distb.cursor()
|
||||
print distbase + ' used exist,',
|
||||
try: cu.execute('''drop index di''')
|
||||
except: pass
|
||||
cu.execute('''create index di on dist (point)''')
|
||||
distb.commit()
|
||||
print 'indexed'
|
||||
distb.close()
|
||||
|
||||
########################################
|
||||
|
||||
print 'Finished!'
|
||||
Reference in New Issue
Block a user