mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-07-13 01:20:24 +02:00
Add support for /S and update documentation
This commit is contained in:
@ -27,209 +27,213 @@ Compatibility:
|
||||
Examples:
|
||||
|
||||
$ dir | jc --dir -p -m
|
||||
[
|
||||
{
|
||||
"C:\Program Files\Internet Explorer": [
|
||||
{
|
||||
"date": "03/24/2021",
|
||||
"time": "03:15 PM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "."
|
||||
},
|
||||
{
|
||||
"date": "03/24/2021",
|
||||
"time": "03:15 PM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": ".."
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:49 AM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "en-US"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 54784,
|
||||
"filename": "ExtExport.exe"
|
||||
},
|
||||
{
|
||||
"date": "03/24/2021",
|
||||
"time": "03:15 PM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 0,
|
||||
"filename": "file name.txt"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 54784,
|
||||
"filename": "hmmapi.dll"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 515072,
|
||||
"filename": "iediagcmd.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 504832,
|
||||
"filename": "ieinstal.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 224768,
|
||||
"filename": "ielowutil.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 421888,
|
||||
"filename": "IEShims.dll"
|
||||
},
|
||||
{
|
||||
"date": "12/06/2019",
|
||||
"time": "02:47 PM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 819136,
|
||||
"filename": "iexplore.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:14 AM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "images"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:14 AM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "SIGNUP"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 48536,
|
||||
"filename": "sqmapi.dll"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
$ dir | jc --dir -p -m -r
|
||||
[
|
||||
{
|
||||
"C:\Program Files\Internet Explorer": [
|
||||
{
|
||||
"date": "03/24/2021",
|
||||
"time": "03:15 PM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "."
|
||||
},
|
||||
{
|
||||
"date": "03/24/2021",
|
||||
"time": "03:15 PM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": ".."
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:49 AM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "en-US"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "54,784",
|
||||
"filename": "ExtExport.exe"
|
||||
},
|
||||
{
|
||||
"date": "03/24/2021",
|
||||
"time": "03:15 PM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "0",
|
||||
"filename": "file name.txt"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "54,784",
|
||||
"filename": "hmmapi.dll"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "515,072",
|
||||
"filename": "iediagcmd.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "504,832",
|
||||
"filename": "ieinstal.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "224,768",
|
||||
"filename": "ielowutil.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "421,888",
|
||||
"filename": "IEShims.dll"
|
||||
},
|
||||
{
|
||||
"date": "12/06/2019",
|
||||
"time": "02:47 PM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "819,136",
|
||||
"filename": "iexplore.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:14 AM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "images"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:14 AM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "SIGNUP"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "48,536",
|
||||
"filename": "sqmapi.dll"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -4,6 +4,7 @@ Options supported:
|
||||
- `/T timefield`
|
||||
- `/O sortorder`
|
||||
- `/C, /-C`
|
||||
- `/S`
|
||||
|
||||
Usage (cli):
|
||||
|
||||
@ -25,209 +26,213 @@ Compatibility:
|
||||
Examples:
|
||||
|
||||
$ dir | jc --dir -p -m
|
||||
[
|
||||
{
|
||||
"C:\\Program Files\\Internet Explorer": [
|
||||
{
|
||||
"date": "03/24/2021",
|
||||
"time": "03:15 PM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "."
|
||||
},
|
||||
{
|
||||
"date": "03/24/2021",
|
||||
"time": "03:15 PM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": ".."
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:49 AM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "en-US"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 54784,
|
||||
"filename": "ExtExport.exe"
|
||||
},
|
||||
{
|
||||
"date": "03/24/2021",
|
||||
"time": "03:15 PM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 0,
|
||||
"filename": "file name.txt"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 54784,
|
||||
"filename": "hmmapi.dll"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 515072,
|
||||
"filename": "iediagcmd.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 504832,
|
||||
"filename": "ieinstal.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 224768,
|
||||
"filename": "ielowutil.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 421888,
|
||||
"filename": "IEShims.dll"
|
||||
},
|
||||
{
|
||||
"date": "12/06/2019",
|
||||
"time": "02:47 PM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 819136,
|
||||
"filename": "iexplore.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:14 AM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "images"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:14 AM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "SIGNUP"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": 48536,
|
||||
"filename": "sqmapi.dll"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
$ dir | jc --dir -p -m -r
|
||||
[
|
||||
{
|
||||
"C:\\Program Files\\Internet Explorer": [
|
||||
{
|
||||
"date": "03/24/2021",
|
||||
"time": "03:15 PM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "."
|
||||
},
|
||||
{
|
||||
"date": "03/24/2021",
|
||||
"time": "03:15 PM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": ".."
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:49 AM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "en-US"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "54,784",
|
||||
"filename": "ExtExport.exe"
|
||||
},
|
||||
{
|
||||
"date": "03/24/2021",
|
||||
"time": "03:15 PM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "0",
|
||||
"filename": "file name.txt"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "54,784",
|
||||
"filename": "hmmapi.dll"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "515,072",
|
||||
"filename": "iediagcmd.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "504,832",
|
||||
"filename": "ieinstal.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "224,768",
|
||||
"filename": "ielowutil.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "421,888",
|
||||
"filename": "IEShims.dll"
|
||||
},
|
||||
{
|
||||
"date": "12/06/2019",
|
||||
"time": "02:47 PM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "819,136",
|
||||
"filename": "iexplore.exe"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:14 AM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "images"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:14 AM",
|
||||
"dir": "<DIR>",
|
||||
"dir": true,
|
||||
"size": null,
|
||||
"filename": "SIGNUP"
|
||||
},
|
||||
{
|
||||
"date": "12/07/2019",
|
||||
"time": "02:09 AM",
|
||||
"dir": null,
|
||||
"dir": false,
|
||||
"size": "48,536",
|
||||
"filename": "sqmapi.dll"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
"""
|
||||
import re
|
||||
|
1
tests/fixtures/windows-10/dir-S.json
vendored
Normal file
1
tests/fixtures/windows-10/dir-S.json
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"C:\\Program Files\\Internet Explorer": [{"date": "03/24/2021", "time": "03:15 PM", "dir": true, "size": null, "filename": "."}, {"date": "03/24/2021", "time": "03:15 PM", "dir": true, "size": null, "filename": ".."}, {"date": "12/07/2019", "time": "02:49 AM", "dir": true, "size": null, "filename": "en-US"}, {"date": "12/07/2019", "time": "02:09 AM", "dir": false, "size": 54784, "filename": "ExtExport.exe"}, {"date": "03/24/2021", "time": "03:15 PM", "dir": false, "size": 0, "filename": "file name.txt"}, {"date": "12/07/2019", "time": "02:09 AM", "dir": false, "size": 54784, "filename": "hmmapi.dll"}, {"date": "12/07/2019", "time": "02:09 AM", "dir": false, "size": 515072, "filename": "iediagcmd.exe"}, {"date": "12/07/2019", "time": "02:09 AM", "dir": false, "size": 504832, "filename": "ieinstal.exe"}, {"date": "12/07/2019", "time": "02:09 AM", "dir": false, "size": 224768, "filename": "ielowutil.exe"}, {"date": "12/07/2019", "time": "02:09 AM", "dir": false, "size": 421888, "filename": "IEShims.dll"}, {"date": "12/06/2019", "time": "02:47 PM", "dir": false, "size": 819136, "filename": "iexplore.exe"}, {"date": "12/07/2019", "time": "02:14 AM", "dir": true, "size": null, "filename": "images"}, {"date": "12/07/2019", "time": "02:14 AM", "dir": true, "size": null, "filename": "SIGNUP"}, {"date": "12/07/2019", "time": "02:09 AM", "dir": false, "size": 48536, "filename": "sqmapi.dll"}], "C:\\Program Files\\Internet Explorer\\en-US": [{"date": "12/07/2019", "time": "02:49 AM", "dir": true, "size": null, "filename": "."}, {"date": "12/07/2019", "time": "02:49 AM", "dir": true, "size": null, "filename": ".."}, {"date": "12/07/2019", "time": "02:48 AM", "dir": false, "size": 2560, "filename": "hmmapi.dll.mui"}, {"date": "12/07/2019", "time": "02:48 AM", "dir": false, "size": 2560, "filename": "ieinstal.exe.mui"}, {"date": "12/07/2019", "time": "02:48 AM", "dir": false, "size": 5632, "filename": "iexplore.exe.mui"}], "C:\\Program Files\\Internet Explorer\\images": [{"date": "12/07/2019", "time": "02:14 AM", "dir": true, "size": null, "filename": "."}, {"date": "12/07/2019", "time": "02:14 AM", "dir": true, "size": null, "filename": ".."}, {"date": "12/07/2019", "time": "02:09 AM", "dir": false, "size": 5430, "filename": "bing.ico"}], "C:\\Program Files\\Internet Explorer\\SIGNUP": [{"date": "12/07/2019", "time": "02:14 AM", "dir": true, "size": null, "filename": "."}, {"date": "12/07/2019", "time": "02:14 AM", "dir": true, "size": null, "filename": ".."}, {"date": "12/07/2019", "time": "02:12 AM", "dir": false, "size": 452, "filename": "install.ins"}]}
|
47
tests/fixtures/windows-10/dir-S.out
vendored
Normal file
47
tests/fixtures/windows-10/dir-S.out
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
Volume in drive C has no label.
|
||||
Volume Serial Number is 246B-3B5A
|
||||
|
||||
Directory of C:\Program Files\Internet Explorer
|
||||
|
||||
03/24/2021 03:15 PM <DIR> .
|
||||
03/24/2021 03:15 PM <DIR> ..
|
||||
12/07/2019 02:49 AM <DIR> en-US
|
||||
12/07/2019 02:09 AM 54,784 ExtExport.exe
|
||||
03/24/2021 03:15 PM 0 file name.txt
|
||||
12/07/2019 02:09 AM 54,784 hmmapi.dll
|
||||
12/07/2019 02:09 AM 515,072 iediagcmd.exe
|
||||
12/07/2019 02:09 AM 504,832 ieinstal.exe
|
||||
12/07/2019 02:09 AM 224,768 ielowutil.exe
|
||||
12/07/2019 02:09 AM 421,888 IEShims.dll
|
||||
12/06/2019 02:47 PM 819,136 iexplore.exe
|
||||
12/07/2019 02:14 AM <DIR> images
|
||||
12/07/2019 02:14 AM <DIR> SIGNUP
|
||||
12/07/2019 02:09 AM 48,536 sqmapi.dll
|
||||
9 File(s) 2,643,800 bytes
|
||||
|
||||
Directory of C:\Program Files\Internet Explorer\en-US
|
||||
|
||||
12/07/2019 02:49 AM <DIR> .
|
||||
12/07/2019 02:49 AM <DIR> ..
|
||||
12/07/2019 02:48 AM 2,560 hmmapi.dll.mui
|
||||
12/07/2019 02:48 AM 2,560 ieinstal.exe.mui
|
||||
12/07/2019 02:48 AM 5,632 iexplore.exe.mui
|
||||
3 File(s) 10,752 bytes
|
||||
|
||||
Directory of C:\Program Files\Internet Explorer\images
|
||||
|
||||
12/07/2019 02:14 AM <DIR> .
|
||||
12/07/2019 02:14 AM <DIR> ..
|
||||
12/07/2019 02:09 AM 5,430 bing.ico
|
||||
1 File(s) 5,430 bytes
|
||||
|
||||
Directory of C:\Program Files\Internet Explorer\SIGNUP
|
||||
|
||||
12/07/2019 02:14 AM <DIR> .
|
||||
12/07/2019 02:14 AM <DIR> ..
|
||||
12/07/2019 02:12 AM 452 install.ins
|
||||
1 File(s) 452 bytes
|
||||
|
||||
Total Files Listed:
|
||||
14 File(s) 2,660,434 bytes
|
||||
11 Dir(s) 33,300,922,368 bytes free
|
@ -57,6 +57,14 @@ class MyTests(unittest.TestCase):
|
||||
'r', encoding='utf-8') as f:
|
||||
self.windows_10_dir_dirs_json = json.loads(f.read())
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/windows-10/dir-S.out'),
|
||||
'r', encoding='utf-8') as f:
|
||||
self.windows_10_dir_S= f.read()
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/windows-10/dir-S.json'),
|
||||
'r', encoding='utf-8') as f:
|
||||
self.windows_10_dir_S_json = json.loads(f.read())
|
||||
|
||||
def test_dir_error(self):
|
||||
self.assertEqual(jc.parsers.dir.parse("Access is denied.", quiet=True), {})
|
||||
|
||||
@ -91,6 +99,10 @@ class MyTests(unittest.TestCase):
|
||||
self.assertEqual(jc.parsers.dir.parse(self.windows_10_dir_dirs, quiet=True),
|
||||
self.windows_10_dir_dirs_json)
|
||||
|
||||
def test_dir_windows_10_S(self):
|
||||
self.assertEqual(jc.parsers.dir.parse(self.windows_10_dir_S, quiet=True),
|
||||
self.windows_10_dir_S_json)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
Reference in New Issue
Block a user