Message324996
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
print('');
import sys, os, subprocess, re, ctypes, tempfile, shutil, tarfile, urllib.request;
argsCount=len(sys.argv);
scriptDir = os.path.dirname(os.path.abspath(sys.argv[0]));
def FindFullPaths(strPattern, *orderedSearchDirs, \
findFile=True, findDir=False, \
ignoreCase=False, returnFirst=True):
print('# FindFullPaths__In');
result = [];
def resultAppendUnique(item):
if item not in result:
result.append(item);
pattern = re.compile(strPattern, \
re.IGNORECASE | re.DOTALL if ignoreCase else re.DOTALL);
isFound = False;
for searchDir in orderedSearchDirs:
print('#searchDir', searchDir, orderedSearchDirs, '\n');
for leafName in os.listdir(searchDir):
leafPath = os.path.join(searchDir, leafName);
isDir = os.path.isdir(leafPath);
isFound = (findDir and isDir or \
findFile and os.path.isfile(leafPath)) \
and pattern.search(leafName) is not None;
print('#leafPath:', leafPath, '\n'); #ERROR = output Last AND last time - no in output!
print('#isFound:', isFound); #ERROR = output First AND first time - no in output!
if isFound:
resultAppendUnique(leafPath);
if isDir and not (returnFirst and isFound):
for partLeafPath in FindFullPaths(strPattern, leafPath, \
findFile=findFile, findDir=findDir, \
ignoreCase=ignoreCase, returnFirst=returnFirst):
resultAppendUnique(partLeafPath);
isFound = True;
if returnFirst and isFound:
break;
if returnFirst and isFound:
break;
print('# FindFullPaths__Return');
return result;
FindFullPaths('^bat$', '/home/user/Рабочий стол/ttt');
print(sys.version);
#### OUTPUT: ####
'/home/user/Рабочий стол/test2.py'
# FindFullPaths__In
#searchDir /home/user/Рабочий стол/ttt ('/home/user/Рабочий стол/ttt',)
#leafPath: /home/user/Рабочий стол/ttt/BackupRestore.py
#isFound: False
#leafPath: /home/user/Рабочий стол/ttt/temp.py
#isFound: False
#leafPath: /home/user/Рабочий стол/ttt/Create ISO.py
#isFound: False
# FindFullPaths__Return
3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0]
###### Environment ######
Russian Ubuntu 18.04.1 and Kali 2018.3
PS: Ru:'/home/user/Рабочий стол' == Eng'/home/user/Desktop' |
|
Date |
User |
Action |
Args |
2018-09-11 08:26:50 | badrussians | set | recipients:
+ badrussians |
2018-09-11 08:26:50 | badrussians | set | messageid: <1536654410.3.0.0269046726804.issue34627@psf.upfronthosting.co.za> |
2018-09-11 08:26:50 | badrussians | link | issue34627 messages |
2018-09-11 08:26:50 | badrussians | create | |
|