code: def find_repo_by_path(i):
      
  
      p=i['path']
      if p!='': p=os.path.normpath(p)
  
      found=False
      if p==work['dir_default_repo']:
         uoa=cfg['repo_name_default']
         uid=cfg['repo_uid_default']
         alias=uoa
         found=True
      elif p==work['dir_local_repo']:
         uoa=cfg['repo_name_local']
         uid=cfg['repo_uid_local']
         alias=uoa
         found=True
      else:
         r=reload_repo_cache({}) # Ignore errors
         if r['return']>0: return r
  
         for q in cache_repo_info:
             qq=cache_repo_info[q]
             if p==qq['dict'].get('path',''):
                uoa=qq['data_uoa']
                uid=qq['data_uid']
                alias=uid
                if not is_uid(uoa): alias=uoa
                found=True
                break
  
      if not found:
         return {'return':16, 'error': 'repository not found in this path'}
  
      return {'return':0, 'repo_uoa': uoa, 'repo_uid': uid, 'repo_alias':alias}
docs: Input:  {
                path - path to repo
              }
  
      Output: {
                return       - return code =  0, if successful
                                             16, if repo not found (may be warning)
                                           >  0, if error
                (error)      - error text if return > 0
  
                repo_uoa     - repo UOA
                repo_uid     - repo UID
                repo_alias   - repo alias
              }