code: def open(self):
          '''
          attempts to open the database.  if it gets a locked message, it will wait one second and try
          again.  if it is still locked, it will return an error
          :return: None, None if successful
                   None, error if error
          '''
          cycle = 2
          count = 0
  
          while(True):
              try:
                  DB.db = plyvel.DB(DB.dbpath, create_if_missing=True).prefixed_db(bytes(DB.project, 'utf-8'))
                  if DB.db:
                      break
  
              except Exception as e:
                  # wait for other program to unlock the db
                  count+=1
                  time.sleep(1)
                  if count >= cycle:
                      return None, "DB error: {}".format(e)
  
          return None, Nonf open(self):
          '''
          attempts to open the database.  if it gets a locked message, it will wait one second and try
          again.  if it is still locked, it will return an error
          :return: None, None if successful
                   None, error if error
          '''
          cycle = 2
          count = 0
  
          while(True):
              try:
                  DB.db = plyvel.DB(DB.dbpath, create_if_missing=True).prefixed_db(bytes(DB.project, 'utf-8'))
                  if DB.db:
                      break
  
              except Exception as e:
                  # wait for other program to unlock the db
                  count+=1
                  time.sleep(1)
                  if count >= cycle:
                      return None, "DB error: {}".format(e)
  
          return None, None
docs: attempts to open the database.  if it gets a locked message, it will wait one second and try
          again.  if it is still locked, it will return an error
          :return: None, None if successful
                   None, error if error