def __init__(self, Universe): self.Universe = Universe #createResultObject = CreateResultObject() #self.ResultObject = createResultObject.getObject() #self.modules_path = os.environ["HOME"]+"/.sword/modules/texts/ztext" #self.mods_d_path = os.environ["HOME"]+"/.sword/mods.d" self.history = History("sword_history", Universe.ConfigFiles) self.Reader = Reader(self.Universe)
class Sword(object): def __init__(self, Universe): self.Universe = Universe #createResultObject = CreateResultObject() #self.ResultObject = createResultObject.getObject() #self.modules_path = os.environ["HOME"]+"/.sword/modules/texts/ztext" #self.mods_d_path = os.environ["HOME"]+"/.sword/mods.d" self.history = History("sword_history", Universe.ConfigFiles) self.Reader = Reader(self.Universe) def getCommands(self): return { "sword" : self.readBible, "sword.bible" : self.setBible, "sword.language" : self.setLanguage, "sword.setmodule" : self.setModule, "sword.modules" : self.listBooks, "sword.languages" : self.listLanguages, "sword.history" : self.retHistory, "sword.books" : self.books, "books" : self.books, "sword.index" : self.createSearchIndex, "sword.search" : self.search, "sword.next" : self.nextPrevSelf, "sword.prev" : self.nextPrevSelf, "sword.self" : self.nextPrevSelf, } def interpreter(self, command, args): print "args: " print args commands = self.getCommands() return commands.get(command, self.commandNotFound)(command, args) def commandNotFound(self, c, a): raise CommandNotInThisModule("command not found in module sword") def setBible(self, c, a): #self.sword_module_name = a[0] self.Reader.sword_module_name = a[0] self.ResultObject.Payload.String = "Bibel " +a[0]+ " aktiviert" self.ResultObject.Description.MetaData.Language = "default" return self.ResultObject def setLanguage(self, c, a): self.Reader.language = a[0] self.ResultObject.Payload.String = "Sprache geaendert: "+a[0] self.ResultObject.Description.MetaData.Language = "default" return self.ResultObject def setModule(self, c, a): try: bible = a[0] except IndexError: self.ResultObject.Error.Message = "Bitte Modulnamen angeben" return self.ResultObject lang = self.Reader.ModsD.getModuleLanguage(bible) if lang == None: self.ResultObject.Error.Message = "Modul "+bible+" konnte nicht gefunden werden." return self.ResultObject self.Reader.language = lang self.Reader.sword_module_name = bible.lower() self.ResultObject.Payload.String = "Modul "+a[0]+" aktiviert" self.ResultObject.Description.MetaData.Language = "default" return self.ResultObject def readBible(self, c, a): return self.Reader.readBible(c, a) def listBooks(self, c, a): try: language = a[0] except IndexError: result = self.Reader.ModsD.getAllBooks(None) else: result = self.Reader.ModsD.getAllBooks(language) try: result_first_element = result[0] except IndexError: self.ResultObject.Error.Message = "Kein Modul gefunden" return self.ResultObject name = "sword: verfügbare module" head = "sprache", "abkürzung", "beschreibung" self.ResultObject.Payload.Table = result self.ResultObject.Payload.TableHeader = head return self.ResultObject # table = SpeakingTableWidget(len(result), len(result_first_element), self.Universe, name) # # table.setHorizontalHeaderLabels(head) # #return table, "bla" # # row = -1 # for line in result: # row += 1 # # column = -1 # for item in line: # column += 1 # # table.setItem(row, column, QtGui.QTableWidgetItem(unicode(item)) ) # metaData = MetaData() # metaData.Language = line[0]#metaLanguage[column] # metaData.ExecuteCommand = "sword.setmodule "+line[1].lower()+" "+line[0] # table.setDescription(row, column, metaData) # # #print item, metaData.Language # # table.resizeColumnsToContents() # # self.ResultObject.Payload.SpeakingTableWidget = table # return self.ResultObject def listLanguages(self, c, a): result = self.ModsD.getLanguages() self.ResultObject.Payload.List = result return self.ResultObject def retHistory(self, c, a): getHistory = GetHistory() result_list = getHistory.retHistory(c, a, self.history) self.ResultObject.Payload.List = result_list return self.ResultObject def nextPrevSelf(self, c, a): return self.Reader.nextPrevSelf(c, a) def createSearchIndex(self, c, a): """ bilds a search-index for a given book """ try: module_name = a[0] except IndexError: pass index = Indexer(self.Reader.sword_module_name, self.Reader) index.buildIndex() self.ResultObject.Payload.String = "Index gebaut" return self.ResultObject def search(self, c, a): """ search for the pattern in the index of the current book """ search = Search(self.Reader.sword_module_name, self.Reader) result = search.queryParser(a) self.ResultObject.Payload.List = result return self.ResultObject def books(self, c, a): bituza = Bituza(self.Universe) books = bituza.getBookList() numbers = [50, 40, 27, 36, 34, 24, 21, 4, 31, 24, 22, 25, 29, 36, 10, 13, 10, 42, 150, 31, 12, 8, 66, 52, 5, 48, 12, 14, 3, 9, 1, 4, 7, 3, 3, 3, 2, 14, 4, 28, 16, 24, 21, 28, 16, 16, 13, 6, 6, 4, 4, 5, 3, 6, 4, 3, 1, 13, 5, 5, 3, 5, 1, 1, 1, 22] output = [] metaData_list = [] for i in range (0, len(books)): output.append( unicode( books[i] ) + " " + unicode( numbers[i] ) ) #mime_list.append("command/bible") metaData = MetaData() metaData.Language = "default" metaData.ExecuteCommand = "%CONTENT%" metaData_list.append(metaData) #books = self.getBookList() self.ResultObject.Payload.List = output self.ResultObject.Description.List = metaData_list return self.ResultObject