def f(): from SvnSettings import get_global_ignore ignore = [x[1:] for x in get_global_ignore().split()] import pysvn client = pysvn.Client() r = client.status(self.path) files = {} for node in r: files[node['path']] = node['is_versioned'] if os.path.isfile(self.path) and not files.get(self.path, False): wx.CallAfter(self.list.addline, [os.path.basename(self.path)], flag=True) self.path = os.path.dirname(self.path) else: if not files.get(self.path, False): wx.CallAfter(self.list.addline, ['.'], flag=True) _len = len(self.path) for curpath, dirs, fs in os.walk(self.path): if '.svn' in curpath: continue for fname in fs: ext = os.path.splitext(fname)[1] if ext in ignore: continue filename = os.path.join(curpath, fname) if not files.get(filename, False): wx.CallAfter(self.list.addline, [filename[_len+1:]], flag=True)
def f(): from SvnSettings import get_global_ignore ignore = [x[1:] for x in get_global_ignore().split()] import pysvn client = pysvn.Client() r = client.status(self.path) files = {} for node in r: files[node['path']] = node['is_versioned'] if os.path.isfile(self.path) and not files.get(self.path, False): wx.CallAfter(self.list.addline, [os.path.basename(self.path)], flag=True) self.path = os.path.dirname(self.path) else: if not files.get(self.path, False): wx.CallAfter(self.list.addline, ['.'], flag=True) _len = len(self.path) def get_path(base, path): p = os.path.join(base, path) for f in os.listdir(p): if '.svn' == f: continue filename = os.path.join(p, f) if os.path.isdir(filename): yield filename+'/' for x in get_path(base, os.path.join(path, f)): yield x else: ext = os.path.splitext(filename)[1] if ext in ignore: continue yield os.path.join(path, f).replace('\\', '/') for f in get_path(self.path, ''): filename = os.path.join(self.path, f) if not files.get(filename, False): wx.CallAfter(self.list.addline, [filename[_len+1:]], flag=True)