forked from Imagelibrary/littlefs
scripts: dbgflags.py: Tweaked internals for readability
Mainly just using 'P_NAME' instead of 'P', 'NAME' in the FLAGS table, every bit of horizontal spacing helps with these definitions.
This commit is contained in:
@@ -22,190 +22,171 @@ FILTERS = [
|
||||
|
||||
FLAGS = [
|
||||
# File open flags
|
||||
('O', 'MODE', 3, "The file's access mode" ),
|
||||
('^', 'RDONLY', 0, "Open a file as read only" ),
|
||||
('^', 'WRONLY', 1, "Open a file as write only" ),
|
||||
('^', 'RDWR', 2, "Open a file as read and write" ),
|
||||
('O', 'CREAT', 0x00000004, "Create a file if it does not exist" ),
|
||||
('O', 'EXCL', 0x00000008, "Fail if a file already exists" ),
|
||||
('O', 'TRUNC', 0x00000010, "Truncate the existing file to zero size" ),
|
||||
('O', 'APPEND', 0x00000020, "Move to end of file on every write" ),
|
||||
('O', 'FLUSH', 0x00000040, "Flush data on every write" ),
|
||||
('O', 'SYNC', 0x00000080, "Sync metadata on every write" ),
|
||||
('O', 'DESYNC', 0x04000000, "Do not sync or recieve file updates" ),
|
||||
('O', 'CKMETA', 0x00001000, "Check metadata checksums" ),
|
||||
('O', 'CKDATA', 0x00002000, "Check metadata + data checksums" ),
|
||||
('O_MODE', 3, "The file's access mode" ),
|
||||
('^_RDONLY', 0, "Open a file as read only" ),
|
||||
('^_WRONLY', 1, "Open a file as write only" ),
|
||||
('^_RDWR', 2, "Open a file as read and write" ),
|
||||
('O_CREAT', 0x00000004, "Create a file if it does not exist" ),
|
||||
('O_EXCL', 0x00000008, "Fail if a file already exists" ),
|
||||
('O_TRUNC', 0x00000010, "Truncate the existing file to zero size" ),
|
||||
('O_APPEND', 0x00000020, "Move to end of file on every write" ),
|
||||
('O_FLUSH', 0x00000040, "Flush data on every write" ),
|
||||
('O_SYNC', 0x00000080, "Sync metadata on every write" ),
|
||||
('O_DESYNC', 0x04000000, "Do not sync or recieve file updates" ),
|
||||
('O_CKMETA', 0x00001000, "Check metadata checksums" ),
|
||||
('O_CKDATA', 0x00002000, "Check metadata + data checksums" ),
|
||||
|
||||
('o', 'WRSET', 3, "Open a file as an atomic write" ),
|
||||
('o', 'TYPE', 0xf0000000, "The file's type" ),
|
||||
('^', 'REG', 0x10000000, "Type = regular-file" ),
|
||||
('^', 'DIR', 0x20000000, "Type = directory" ),
|
||||
('^', 'STICKYNOTE',0x30000000, "Type = stickynote" ),
|
||||
('^', 'BOOKMARK', 0x40000000, "Type = bookmark" ),
|
||||
('^', 'ORPHAN', 0x50000000, "Type = orphan" ),
|
||||
('^', 'TRAVERSAL', 0x60000000, "Type = traversal" ),
|
||||
('^', 'UNKNOWN', 0x70000000, "Type = unknown" ),
|
||||
('o', 'ZOMBIE', 0x08000000, "File has been removed" ),
|
||||
('o', 'UNCREAT', 0x02000000, "File does not exist yet" ),
|
||||
('o', 'UNSYNC', 0x01000000, "File's metadata does not match disk" ),
|
||||
('o', 'UNCRYST', 0x00800000, "File's leaf not fully crystallized" ),
|
||||
('o', 'UNFLUSH', 0x00400000, "File's cache does not match disk" ),
|
||||
('o_WRSET', 3, "Open a file as an atomic write" ),
|
||||
('o_TYPE', 0xf0000000, "The file's type" ),
|
||||
('^_REG', 0x10000000, "Type = regular-file" ),
|
||||
('^_DIR', 0x20000000, "Type = directory" ),
|
||||
('^_STICKYNOTE', 0x30000000, "Type = stickynote" ),
|
||||
('^_BOOKMARK', 0x40000000, "Type = bookmark" ),
|
||||
('^_ORPHAN', 0x50000000, "Type = orphan" ),
|
||||
('^_TRAVERSAL', 0x60000000, "Type = traversal" ),
|
||||
('^_UNKNOWN', 0x70000000, "Type = unknown" ),
|
||||
('o_ZOMBIE', 0x08000000, "File has been removed" ),
|
||||
('o_UNCREAT', 0x02000000, "File does not exist yet" ),
|
||||
('o_UNSYNC', 0x01000000, "File's metadata does not match disk" ),
|
||||
('o_UNCRYST', 0x00800000, "File's leaf not fully crystallized" ),
|
||||
('o_UNFLUSH', 0x00400000, "File's cache does not match disk" ),
|
||||
|
||||
# Custom attribute flags
|
||||
('A', 'MODE', 3, "The attr's access mode" ),
|
||||
('^', 'RDONLY', 0, "Open an attr as read only" ),
|
||||
('^', 'WRONLY', 1, "Open an attr as write only" ),
|
||||
('^', 'RDWR', 2, "Open an attr as read and write" ),
|
||||
('A', 'LAZY', 0x04, "Only write attr if file changed" ),
|
||||
('A_MODE', 3, "The attr's access mode" ),
|
||||
('^_RDONLY', 0, "Open an attr as read only" ),
|
||||
('^_WRONLY', 1, "Open an attr as write only" ),
|
||||
('^_RDWR', 2, "Open an attr as read and write" ),
|
||||
('A_LAZY', 0x04, "Only write attr if file changed" ),
|
||||
|
||||
# Filesystem format flags
|
||||
('F', 'MODE', 1, "Format's access mode" ),
|
||||
('^', 'RDWR', 0, "Format the filesystem as read and write" ),
|
||||
('F', 'REVDBG', 0x00000010, "Add debug info to revision counts" ),
|
||||
('F', 'REVNOISE', 0x00000020, "Add noise to revision counts" ),
|
||||
('F', 'CKPROGS', 0x00080000, "Check progs by reading back progged data" ),
|
||||
('F', 'CKFETCHES', 0x00100000, "Check block checksums before first use" ),
|
||||
('F', 'CKMETAPARITY',
|
||||
0x00200000, "Check metadata tag parity bits" ),
|
||||
('F', 'CKDATACKSUMREADS',
|
||||
('F_MODE', 1, "Format's access mode" ),
|
||||
('^_RDWR', 0, "Format the filesystem as read and write" ),
|
||||
('F_REVDBG', 0x00000010, "Add debug info to revision counts" ),
|
||||
('F_REVNOISE', 0x00000020, "Add noise to revision counts" ),
|
||||
('F_CKPROGS', 0x00080000, "Check progs by reading back progged data" ),
|
||||
('F_CKFETCHES', 0x00100000, "Check block checksums before first use" ),
|
||||
('F_CKMETAPARITY', 0x00200000, "Check metadata tag parity bits" ),
|
||||
('F_CKDATACKSUMREADS',
|
||||
0x00800000, "Check data checksums on reads" ),
|
||||
|
||||
('F', 'CKMETA', 0x00001000, "Check metadata checksums" ),
|
||||
('F', 'CKDATA', 0x00002000, "Check metadata + data checksums" ),
|
||||
('F_CKMETA', 0x00001000, "Check metadata checksums" ),
|
||||
('F_CKDATA', 0x00002000, "Check metadata + data checksums" ),
|
||||
|
||||
# Filesystem mount flags
|
||||
('M', 'MODE', 1, "Mount's access mode" ),
|
||||
('^', 'RDWR', 0, "Mount the filesystem as read and write" ),
|
||||
('^', 'RDONLY', 1, "Mount the filesystem as read only" ),
|
||||
('M', 'FLUSH', 0x00000040, "Open all files with LFS3_O_FLUSH" ),
|
||||
('M', 'SYNC', 0x00000080, "Open all files with LFS3_O_SYNC" ),
|
||||
('M', 'REVDBG', 0x00000010, "Add debug info to revision counts" ),
|
||||
('M', 'REVNOISE', 0x00000020, "Add noise to revision counts" ),
|
||||
('M', 'CKPROGS', 0x00080000, "Check progs by reading back progged data" ),
|
||||
('M', 'CKFETCHES', 0x00100000, "Check block checksums before first use" ),
|
||||
('M', 'CKMETAPARITY',
|
||||
0x00200000, "Check metadata tag parity bits" ),
|
||||
('M', 'CKDATACKSUMREADS',
|
||||
('M_MODE', 1, "Mount's access mode" ),
|
||||
('^_RDWR', 0, "Mount the filesystem as read and write" ),
|
||||
('^_RDONLY', 1, "Mount the filesystem as read only" ),
|
||||
('M_FLUSH', 0x00000040, "Open all files with LFS3_O_FLUSH" ),
|
||||
('M_SYNC', 0x00000080, "Open all files with LFS3_O_SYNC" ),
|
||||
('M_REVDBG', 0x00000010, "Add debug info to revision counts" ),
|
||||
('M_REVNOISE', 0x00000020, "Add noise to revision counts" ),
|
||||
('M_CKPROGS', 0x00080000, "Check progs by reading back progged data" ),
|
||||
('M_CKFETCHES', 0x00100000, "Check block checksums before first use" ),
|
||||
('M_CKMETAPARITY', 0x00200000, "Check metadata tag parity bits" ),
|
||||
('M_CKDATACKSUMREADS',
|
||||
0x00800000, "Check data checksums on reads" ),
|
||||
|
||||
('M', 'MKCONSISTENT',
|
||||
0x00000100, "Make the filesystem consistent" ),
|
||||
('M', 'LOOKAHEAD', 0x00000200, "Populate lookahead buffer" ),
|
||||
('M', 'COMPACT', 0x00000800, "Compact metadata logs" ),
|
||||
('M', 'CKMETA', 0x00001000, "Check metadata checksums" ),
|
||||
('M', 'CKDATA', 0x00002000, "Check metadata + data checksums" ),
|
||||
('M_MKCONSISTENT', 0x00000100, "Make the filesystem consistent" ),
|
||||
('M_LOOKAHEAD', 0x00000200, "Populate lookahead buffer" ),
|
||||
('M_COMPACT', 0x00000800, "Compact metadata logs" ),
|
||||
('M_CKMETA', 0x00001000, "Check metadata checksums" ),
|
||||
('M_CKDATA', 0x00002000, "Check metadata + data checksums" ),
|
||||
|
||||
# GC flags
|
||||
('GC', 'MKCONSISTENT',
|
||||
0x00000100, "Make the filesystem consistent" ),
|
||||
('GC', 'LOOKAHEAD',0x00000200, "Populate lookahead buffer" ),
|
||||
('GC', 'COMPACT', 0x00000800, "Compact metadata logs" ),
|
||||
('GC', 'CKMETA', 0x00001000, "Check metadata checksums" ),
|
||||
('GC', 'CKDATA', 0x00002000, "Check metadata + data checksums" ),
|
||||
('GC_MKCONSISTENT',0x00000100, "Make the filesystem consistent" ),
|
||||
('GC_LOOKAHEAD', 0x00000200, "Populate lookahead buffer" ),
|
||||
('GC_COMPACT', 0x00000800, "Compact metadata logs" ),
|
||||
('GC_CKMETA', 0x00001000, "Check metadata checksums" ),
|
||||
('GC_CKDATA', 0x00002000, "Check metadata + data checksums" ),
|
||||
|
||||
# Filesystem info flags
|
||||
('I', 'RDONLY', 0x00000001, "Mounted read only" ),
|
||||
('I', 'FLUSH', 0x00000040, "Mounted with LFS3_M_FLUSH" ),
|
||||
('I', 'SYNC', 0x00000080, "Mounted with LFS3_M_SYNC" ),
|
||||
('I', 'REVDBG', 0x00000010, "Mounted with LFS3_M_REVDBG" ),
|
||||
('I', 'REVNOISE', 0x00000020, "Mounted with LFS3_M_REVNOISE" ),
|
||||
('I', 'CKPROGS', 0x00080000, "Mounted with LFS3_M_CKPROGS" ),
|
||||
('I', 'CKFETCHES', 0x00100000, "Mounted with LFS3_M_CKFETCHES" ),
|
||||
('I', 'CKMETAPARITY',
|
||||
0x00200000, "Mounted with LFS3_M_CKMETAPARITY" ),
|
||||
('I', 'CKDATACKSUMREADS',
|
||||
('I_RDONLY', 0x00000001, "Mounted read only" ),
|
||||
('I_FLUSH', 0x00000040, "Mounted with LFS3_M_FLUSH" ),
|
||||
('I_SYNC', 0x00000080, "Mounted with LFS3_M_SYNC" ),
|
||||
('I_REVDBG', 0x00000010, "Mounted with LFS3_M_REVDBG" ),
|
||||
('I_REVNOISE', 0x00000020, "Mounted with LFS3_M_REVNOISE" ),
|
||||
('I_CKPROGS', 0x00080000, "Mounted with LFS3_M_CKPROGS" ),
|
||||
('I_CKFETCHES', 0x00100000, "Mounted with LFS3_M_CKFETCHES" ),
|
||||
('I_CKMETAPARITY', 0x00200000, "Mounted with LFS3_M_CKMETAPARITY" ),
|
||||
('I_CKDATACKSUMREADS',
|
||||
0x00800000, "Mounted with LFS3_M_CKDATACKSUMREADS" ),
|
||||
|
||||
('I', 'MKCONSISTENT',
|
||||
0x00000100, "Filesystem needs mkconsistent to write" ),
|
||||
('I', 'LOOKAHEAD', 0x00000200, "Lookahead buffer is not full" ),
|
||||
('I', 'COMPACT', 0x00000800, "Filesystem may have uncompacted metadata" ),
|
||||
('I', 'CKMETA', 0x00001000, "Metadata checksums not checked recently" ),
|
||||
('I', 'CKDATA', 0x00002000, "Data checksums not checked recently" ),
|
||||
|
||||
('i', 'INMTREE', 0x08000000, "Committing to mtree" ),
|
||||
('I_MKCONSISTENT', 0x00000100, "Filesystem needs mkconsistent to write" ),
|
||||
('I_LOOKAHEAD', 0x00000200, "Lookahead buffer is not full" ),
|
||||
('I_COMPACT', 0x00000800, "Filesystem may have uncompacted metadata" ),
|
||||
('I_CKMETA', 0x00001000, "Metadata checksums not checked recently" ),
|
||||
('I_CKDATA', 0x00002000, "Data checksums not checked recently" ),
|
||||
|
||||
('i_INMTREE', 0x08000000, "Committing to mtree" ),
|
||||
|
||||
# Traversal flags
|
||||
('T', 'MODE', 1, "The traversal's access mode" ),
|
||||
('^', 'RDWR', 0, "Open traversal as read and write" ),
|
||||
('^', 'RDONLY', 1, "Open traversal as read only" ),
|
||||
('T', 'MTREEONLY', 0x00000002, "Only traverse the mtree" ),
|
||||
('T', 'MKCONSISTENT',
|
||||
('T_MODE', 1, "The traversal's access mode" ),
|
||||
('^_RDWR', 0, "Open traversal as read and write" ),
|
||||
('^_RDONLY', 1, "Open traversal as read only" ),
|
||||
('T_MTREEONLY', 0x00000002, "Only traverse the mtree" ),
|
||||
('T_MKCONSISTENT',
|
||||
0x00000100, "Make the filesystem consistent" ),
|
||||
('T', 'LOOKAHEAD', 0x00000200, "Populate lookahead buffer" ),
|
||||
('T', 'COMPACT', 0x00000800, "Compact metadata logs" ),
|
||||
('T', 'CKMETA', 0x00001000, "Check metadata checksums" ),
|
||||
('T', 'CKDATA', 0x00002000, "Check metadata + data checksums" ),
|
||||
('T_LOOKAHEAD', 0x00000200, "Populate lookahead buffer" ),
|
||||
('T_COMPACT', 0x00000800, "Compact metadata logs" ),
|
||||
('T_CKMETA', 0x00001000, "Check metadata checksums" ),
|
||||
('T_CKDATA', 0x00002000, "Check metadata + data checksums" ),
|
||||
|
||||
('t', 'TYPE', 0xf0000000, "The traversal's type" ),
|
||||
('^', 'REG', 0x10000000, "Type = regular-file" ),
|
||||
('^', 'DIR', 0x20000000, "Type = directory" ),
|
||||
('^', 'STICKYNOTE',0x30000000, "Type = stickynote" ),
|
||||
('^', 'BOOKMARK', 0x40000000, "Type = bookmark" ),
|
||||
('^', 'ORPHAN', 0x50000000, "Type = orphan" ),
|
||||
('^', 'TRAVERSAL', 0x60000000, "Type = traversal" ),
|
||||
('^', 'UNKNOWN', 0x70000000, "Type = unknown" ),
|
||||
('t', 'TSTATE', 0x000f0000, "The current traversal state" ),
|
||||
('^', 'MROOTANCHOR',
|
||||
('t_TYPE', 0xf0000000, "The traversal's type" ),
|
||||
('^_REG', 0x10000000, "Type = regular-file" ),
|
||||
('^_DIR', 0x20000000, "Type = directory" ),
|
||||
('^_STICKYNOTE', 0x30000000, "Type = stickynote" ),
|
||||
('^_BOOKMARK', 0x40000000, "Type = bookmark" ),
|
||||
('^_ORPHAN', 0x50000000, "Type = orphan" ),
|
||||
('^_TRAVERSAL', 0x60000000, "Type = traversal" ),
|
||||
('^_UNKNOWN', 0x70000000, "Type = unknown" ),
|
||||
('t_TSTATE', 0x000f0000, "The current traversal state" ),
|
||||
('^_MROOTANCHOR',
|
||||
0x00000000, "Tstate = mroot-anchor" ),
|
||||
('^', 'MROOTCHAIN',0x00010000, "Tstate = mroot-chain" ),
|
||||
('^', 'MTREE', 0x00020000, "Tstate = mtree" ),
|
||||
('^', 'MDIRS', 0x00030000, "Tstate = mtree-mdirs" ),
|
||||
('^', 'MDIR', 0x00040000, "Tstate = mdir" ),
|
||||
('^', 'BTREE', 0x00050000, "Tstate = btree" ),
|
||||
('^', 'OMDIRS', 0x00060000, "Tstate = open-mdirs" ),
|
||||
('^', 'OBTREE', 0x00070000, "Tstate = open-btree" ),
|
||||
('^', 'DONE', 0x00080000, "Tstate = done" ),
|
||||
('t', 'BTYPE', 0x00f00000, "The current block type" ),
|
||||
('^', 'MDIR', 0x00100000, "Btype = mdir" ),
|
||||
('^', 'BTREE', 0x00200000, "Btype = btree" ),
|
||||
('^', 'DATA', 0x00300000, "Btype = data" ),
|
||||
('t', 'ZOMBIE', 0x08000000, "File has been removed" ),
|
||||
('t', 'DIRTY', 0x02000000, "Filesystem modified during traversal" ),
|
||||
('t', 'MUTATED', 0x01000000, "Filesystem modified by traversal" ),
|
||||
('^_MROOTCHAIN', 0x00010000, "Tstate = mroot-chain" ),
|
||||
('^_MTREE', 0x00020000, "Tstate = mtree" ),
|
||||
('^_MDIRS', 0x00030000, "Tstate = mtree-mdirs" ),
|
||||
('^_MDIR', 0x00040000, "Tstate = mdir" ),
|
||||
('^_BTREE', 0x00050000, "Tstate = btree" ),
|
||||
('^_OMDIRS', 0x00060000, "Tstate = open-mdirs" ),
|
||||
('^_OBTREE', 0x00070000, "Tstate = open-btree" ),
|
||||
('^_DONE', 0x00080000, "Tstate = done" ),
|
||||
('t_BTYPE', 0x00f00000, "The current block type" ),
|
||||
('^_MDIR', 0x00100000, "Btype = mdir" ),
|
||||
('^_BTREE', 0x00200000, "Btype = btree" ),
|
||||
('^_DATA', 0x00300000, "Btype = data" ),
|
||||
('t_ZOMBIE', 0x08000000, "File has been removed" ),
|
||||
('t_DIRTY', 0x02000000, "Filesystem modified during traversal" ),
|
||||
('t_MUTATED', 0x01000000, "Filesystem modified by traversal" ),
|
||||
|
||||
# Read-compat flags
|
||||
('RCOMPAT', 'NONSTANDARD',
|
||||
('RCOMPAT_NONSTANDARD',
|
||||
0x00000001, "Non-standard filesystem format" ),
|
||||
('RCOMPAT', 'WRONLY',
|
||||
0x00000002, "Reading is disallowed" ),
|
||||
('RCOMPAT', 'BMOSS',
|
||||
0x00000010, "Files may use inlined data" ),
|
||||
('RCOMPAT', 'BSPROUT',
|
||||
0x00000020, "Files may use block pointers" ),
|
||||
('RCOMPAT', 'BSHRUB',
|
||||
0x00000040, "Files may use inlined btrees" ),
|
||||
('RCOMPAT', 'BTREE',
|
||||
0x00000080, "Files may use btrees" ),
|
||||
('RCOMPAT', 'MMOSS',
|
||||
0x00000100, "May use an inlined mdir" ),
|
||||
('RCOMPAT', 'MSPROUT',
|
||||
0x00000200, "May use an mdir pointer" ),
|
||||
('RCOMPAT', 'MSHRUB',
|
||||
0x00000400, "May use an inlined mtree" ),
|
||||
('RCOMPAT', 'MTREE',
|
||||
0x00000800, "May use an mdir btree" ),
|
||||
('RCOMPAT', 'GRM',
|
||||
0x00001000, "Global-remove in use" ),
|
||||
('rcompat', 'OVERFLOW',
|
||||
('RCOMPAT_WRONLY', 0x00000002, "Reading is disallowed" ),
|
||||
('RCOMPAT_BMOSS', 0x00000010, "Files may use inlined data" ),
|
||||
('RCOMPAT_BSPROUT',0x00000020, "Files may use block pointers" ),
|
||||
('RCOMPAT_BSHRUB', 0x00000040, "Files may use inlined btrees" ),
|
||||
('RCOMPAT_BTREE', 0x00000080, "Files may use btrees" ),
|
||||
('RCOMPAT_MMOSS', 0x00000100, "May use an inlined mdir" ),
|
||||
('RCOMPAT_MSPROUT',0x00000200, "May use an mdir pointer" ),
|
||||
('RCOMPAT_MSHRUB', 0x00000400, "May use an inlined mtree" ),
|
||||
('RCOMPAT_MTREE', 0x00000800, "May use an mdir btree" ),
|
||||
('RCOMPAT_GRM', 0x00001000, "Global-remove in use" ),
|
||||
('rcompat_OVERFLOW',
|
||||
0x80000000, "Can't represent all flags" ),
|
||||
|
||||
# Write-compat flags
|
||||
('WCOMPAT', 'NONSTANDARD',
|
||||
('WCOMPAT_NONSTANDARD',
|
||||
0x00000001, "Non-standard filesystem format" ),
|
||||
('WCOMPAT', 'RDONLY',
|
||||
0x00000002, "Writing is disallowed" ),
|
||||
('WCOMPAT', 'DIR',
|
||||
0x00000010, "Directory file types in use" ),
|
||||
('WCOMPAT', 'GCKSUM',
|
||||
0x00001000, "Global-checksum in use" ),
|
||||
('wcompat', 'OVERFLOW',
|
||||
('WCOMPAT_RDONLY', 0x00000002, "Writing is disallowed" ),
|
||||
('WCOMPAT_DIR', 0x00000010, "Directory file types in use" ),
|
||||
('WCOMPAT_GCKSUM', 0x00001000, "Global-checksum in use" ),
|
||||
('wcompat_OVERFLOW',
|
||||
0x80000000, "Can't represent all flags" ),
|
||||
|
||||
# Optional-compat flags
|
||||
('OCOMPAT', 'NONSTANDARD',
|
||||
('OCOMPAT_NONSTANDARD',
|
||||
0x00000001, "Non-standard filesystem format" ),
|
||||
('ocompat', 'OVERFLOW',
|
||||
('ocompat_OVERFLOW',
|
||||
0x80000000, "Can't represent all flags" ),
|
||||
]
|
||||
|
||||
@@ -223,7 +204,8 @@ def main(flags, *,
|
||||
filter__ = set(filter_)
|
||||
flags__ = []
|
||||
types__ = co.defaultdict(lambda: set())
|
||||
for p, n, f, h in FLAGS:
|
||||
for n, f, h in FLAGS:
|
||||
p, n = n.split('_', 1)
|
||||
if p == '^':
|
||||
p = last_p
|
||||
t = last_t
|
||||
@@ -232,6 +214,7 @@ def main(flags, *,
|
||||
t = None
|
||||
last_p = p
|
||||
last_t = f
|
||||
|
||||
if not filter__ or p.upper() in filter__:
|
||||
flags__.append((p, t, n, f, h))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user