def getFilesFromPath(self, files_list, path): dir_list = [] for file in os.listdir(path): # if file == '.speech-dispatcher': continue if (len(files_list) > self.limit - 1): return files_list if path == '/': file_path = path + file else: file_path = path + '/' + file if os.path.isdir(file_path): dir_list.append(file) else: files_list.append(file) if len(dir_list) > 0: for directory in dir_list: if path == '/': dir_path = path + directory else: dir_path = path + '/' + directory log.addToLog(f"Searching dir {dir_path}") files_list = self.getFilesFromPath(files_list, dir_path) return files_list
def sendTimeTable(context, update): data = getTimeTable(context) dataString = "" dataList = [] for i, j in enumerate(data): if i == 0: heading = f"<b><u>{j['University']} {j['Course']} - Time Table </u></b>\n\n🎓 University - <b>{j['University']}</b>\n📚 Course - <b>{j['Course']}</b>\n📖 Semester - <b>{j['Sem']}</b>\n\n" dataString += heading singleData = f"📝 Subject Name - <b>{j['SubjectName']}</b>\n🗓️ Exam Date - <b>{j['Date']}</b>\n⏰ Exam Time - <b>{j['Time']}</b>\n❓ QP Code - <b>{j['QPCode']}</b>\n\n\n" dataString += singleData if i != 0 and i % 10 == 0: dataList.append(dataString) dataString = "" if (dataString): dataList.append(dataString) if len(dataList) == 0: update.callback_query.edit_message_text(dataString, parse_mode="HTML") update.callback_query.message.reply_html(ht.footer, disable_web_page_preview=True) lg.addToLog(context, update) else: update.callback_query.message.delete() for i in dataList: update.callback_query.message.reply_html(i) update.callback_query.message.reply_html(ht.footer, disable_web_page_preview=True) lg.addToLog(context, update)
def makeFilesList(self, path): valid = helper.validPath(path) if(valid == True): log.addToLog(f'Searching for files in {path}') files_list = self.getFilesFromPath([], path) self.printFiles(files_list) if (len(files_list) > self.limit): log.addToLog('Limit reached. You can change the limit in the settings.') log.addToLog(f"Total files discovered {len(files_list)}") log.addToLog(f"Search completed on {datetime.now().strftime('%d/%m/%Y %H:%M:%S')}") else: log.addToLog(str(valid))
def printFiles(self, files): for i, file in enumerate(files): log.addToLog(f"{i + 1}. {file}")
def addToLog(self, content): self.logText.insert(tk.END, content + '\n') log.addToLog(content)