def fetch(self, _id=False):
        if not os.path.isfile(self.settings.file):
            print("TypeTodo: 'file' db does not exist, should be created.")
            return False


        todoA= {}
        try:
            with codecs.open(self.settings.file, 'r', 'UTF-8') as f:
                ctxTodo= None
                for ln in f:
                    ln= ln.splitlines()[0]
                    matchParse= RE_TODO_STORED.match(ln)
                    if matchParse:
                        cId= int(matchParse.group('id'))

                        if _id and _id!=cId: #pick one
                            continue

                        #file holds local time, need to convert to GMT for runtime
                        rxEDate= matchParse.group('editdate')
                        rxETime= matchParse.group('edittime')
                        rxESecs= matchParse.group('editsecs') or ':00'
                        gmtTime= time.mktime (time.strptime('%s %s%s' % (rxEDate, rxETime, rxESecs), '%y/%m/%d %H:%M:%S'))

                        if cId not in todoA:
                            todoA[cId]= TodoTask(cId, self.parentDB.config.projectName, self.parentDB)
                        ctxTodo= matchParse

                        if cId > self.maxId: 
                            self.maxIdSaved= self.maxId= cId
                        continue

                    if ctxTodo:
                        __state= ctxTodo.group('prefix')
                        if ctxTodo.group(1)=='-': __state= ''
                        matchComment= RE_TODO_STORED_COMMENT.match(ln)
                        todoA[int(ctxTodo.group('id'))].set(__state, ctxTodo.group('tags').split(','), int(ctxTodo.group('priority')), ctxTodo.group('context'), matchComment.group('comment'), ctxTodo.group('editor'), gmtTime)
                        ctxTodo= None
                        continue


                    maxIdParse= RE_TODO_FILE_MAXID.match(ln)
                    if maxIdParse:
                        cId= int(maxIdParse.group('maxid'))
                        if self.maxId > cId:
                            self.maxIdSaved= self.maxId= cId
                        continue


        except Exception as e:
            print("TypeTodo: 'file' db experienced error while fetching")
            print(e)

            self.dbOk= False
            return False


        return todoA
dataset/ETHPy150Open NikolayRag/typeTodo/dbFile.py/TodoDbFile.fetch/swapped operands of `>`