lsseq 4.2.0__tar.gz → 4.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lsseq
3
- Version: 4.2.0
3
+ Version: 4.3.1
4
4
  Summary: ls-like command for image-sequences
5
5
  Home-page: https://github.com/jrowellfx/lsseq
6
6
  Author: James Philip Rowell
@@ -94,8 +94,10 @@ however it can print sequences in a variety of formats useful for `nuke`,
94
94
  ```
95
95
  python3 -m pip install lsseq --upgrade
96
96
  ```
97
+ If installing locally, it's probably best to install in a virtual-environment
98
+ or [`venv`](https://docs.python.org/3/library/venv.html).
97
99
 
98
- There is additional installation-information below in an
100
+ There is additional installation-information in an
99
101
  [addendum](https://github.com/jrowellfx/lsseq#addendum---more-on-installing-command-line-tools)
100
102
  below with a helpful technique for installing `lsseq` system-wide.
101
103
 
@@ -267,7 +269,7 @@ extend `lsseq's` capability.
267
269
  bbb/bbx.[0097-0103].tif
268
270
  bbb/bby.[0197-0203].tif
269
271
 
270
- 5$ lsseq --prepend-path-abs --skip-missing --format rv *
272
+ 5$ lsseq --prepend-path-abs --format rv *
271
273
  /user/jrowellfx/test/ccc.0101.exr
272
274
  /user/jrowellfx/test/aaa/aaa.97-103@@@.tif
273
275
  /user/jrowellfx/test/bbb/bbx.97-103#.tif
@@ -318,12 +320,13 @@ the following EXIT codes will be combined bitwise to return
318
320
  possibly more than one different warning and/or error.
319
321
 
320
322
  ```
321
- EXIT_NO_ERROR = 0 # Clean exit.
322
- EXIT_LS_ERROR = 1 # A call to 'ls' returned an error code.
323
- EXIT_ARGPARSE_ERROR = 2 # A bad option was passed to lsseq. Exit lsseq.
324
- EXIT_LSSEQ_SOFTLINK_WARNING = 4 # warning - broken softlink found
325
- EXIT_LSSEQ_PADDING_WARNING = 8 # warning - two images with same name, same frame-num, but diff padding
326
- EXIT_CD_PERMISSION_WARNING = 16 # warning - recursive descent blocked - no execute permission on dir
323
+ EXIT_NO_ERROR = 0 # Clean exit.
324
+ EXIT_LS_WARNING = 1 # A call to 'ls' returned an error or another internal issue
325
+ EXIT_ARGPARSE_ERROR = 2 # The default code that argparse exits with if bad option.
326
+ EXIT_LSSEQ_SOFTLINK_WARNING = 4 # warning - broken softlink
327
+ EXIT_LSSEQ_PADDING_WARNING = 8 # warning - two images with same name, same frame-num, diff padding
328
+ EXIT_CD_PERMISSION_WARNING = 16 # warning - recursive descent blocked - no execute permission on dir
329
+ EXIT_LSSEQ_NOSUCHFILE_WARNING = 32 # A non-existent sequence-file was listed on the command line.
327
330
  ```
328
331
 
329
332
  ## `lsseq --help`
@@ -332,8 +335,8 @@ A full listing of all the command-line options follows, as displayed when runnin
332
335
  ```
333
336
  usage: lsseq [-h | --help] [OPTION]... [FILE]...
334
337
 
335
- List directory contents like /bin/ls except condense image
336
- sequences to one entry each. Filenames that are part of image
338
+ List directory contents like /bin/ls (see LS(1)) except condense
339
+ image sequences to one entry each. Filenames that are part of image
337
340
  sequences are assumed to be of the form:
338
341
 
339
342
  <descriptiveName>.<frameNum>.<imgExtension>
@@ -353,128 +356,187 @@ list of image sequences as such:
353
356
  positional arguments:
354
357
  FILE file names
355
358
 
356
- optional arguments:
357
- -h, --help show this help message and exit
359
+ miscellaneous options:
360
+ --help, -h show this help message and exit
358
361
  --version show program's version number and exit
359
- --format FORMAT, -f FORMAT
360
- list image sequences in various formats. The choices are
361
- 'native' (default), 'nuke', 'rv', 'shake', 'glob', 'mplay',
362
- and 'houdini'. Note that glob prints correct results only
363
- if the frame numbers are padded. Further note that
364
- reporting of missing/bad/etc frames (e.g. --show-missing)
365
- only happens with 'native' format.
362
+ --silent, --quiet suppress error and warning messages.
363
+ -- end of options, all subsequent arguments are
364
+ positional arguments.
365
+
366
+ sequence interpretation:
367
+ --split-sequence prints sequences with missing frames as separate
368
+ sequences as if there are multiple sequences with the
369
+ same name, but with different frame ranges. Note: this
370
+ option only affects the printing of a sequence, not in
371
+ how sequence times are calculated. In other words,
372
+ sorting by time might not produce the results you
373
+ would expect when splitting sequences with this
374
+ option.
375
+ --no-split-sequence consider frames with the same name as all being part
376
+ of the same sequence. [default]
377
+ --strict-num-separator, -s
378
+ strictly enforce the use of '.' (dot) as a separator
379
+ between the descriptiveName and frameNumber when
380
+ looking to interpret filenames as image sequences.
381
+ i.e., <descriptiveName>.<frameNum>.<imgExtension>
382
+ (also see --loose-num-separator) [default]
383
+ --loose-num-separator, -l
384
+ allow the use of '_' (underscore), in addition to '.'
385
+ (dot) as a separator between the descriptiveName and
386
+ frameNumber when looking to interpret filenames as
387
+ image sequences. i.e.,
388
+ <descriptiveName>_<frameNum>.<imgExtension> (also see
389
+ --strict-num-separator)
390
+
391
+ display of error frames:
366
392
  --show-missing, -m show list of missing frames as 'm:[<list>]' [default]
367
393
  --skip-missing, -M do not show list of missing frames.
368
- --show-zero, -z show list of zero length images as 'z:[<list>]' [default]
394
+ --show-zero, -z show list of zero length images as 'z:[<list>]'
395
+ [default]
369
396
  --skip-zero, -Z do not show list of zero length images.
370
397
  --show-bad-frames, -b
371
- lists potentially bad frames based on the minimum size of a
372
- good frame (see --good-frame-min-size). Reported as
373
- 'b:[<list>]'
398
+ lists potentially bad frames based on the minimum size
399
+ of a good frame (see --good-frame-min-size). Reported
400
+ as 'b:[<list>]'
374
401
  --skip-bad-frames, -B
375
402
  do not show list of potentially bad frames. [default]
376
403
  --good-frame-min-size BYTES
377
- any frame size less than BYTES is a bad frame. Short forms
378
- for byte sizes are accepted as in '1K' (i.e., 1024) or
379
- '1.5K' for example. [default: 512]
404
+ any frame size less than BYTES is a bad frame. Short
405
+ forms for byte sizes are accepted as in '1K' (i.e.,
406
+ 1024) or '1.5K' for example. [default: 512]
380
407
  --show-bad-padding report badly padded frame numbers which occurs when a
381
- number is padded but shouldn't be, or isn't padded but it
382
- should be. Reported as 'p:[<list>]' [default]
408
+ number is padded but shouldn't be, or isn't padded but
409
+ it should be. Reported as 'p:[<list>]' [default]
383
410
  --skip-bad-padding do not show list of badly padded frames.
384
- --combine-lists, -c combine the lists of zero, missing and bad frames into one
385
- list. Reported as 'e:[<list>]'
386
- --no-combine-lists Don't combine the error lists.
387
- --no-error-lists, -n Skip printing ALL error lists. Note: Setting
388
- --show-bad-padding (for example) AFTER this option on the
389
- command line has the effect of ONLY showing the bad-padding
390
- error list
391
- --split-sequence prints sequences with missing frames as separate sequences
392
- as if there are multiple sequences with the same name, but
393
- with different frame ranges. Note: this option only affects
394
- the printing of a sequence, not in how sequence times are
395
- calculated. In other words, sorting by time might not
396
- produce the results you would expect when splitting
397
- sequences with this option.
398
- --no-split-sequence consider frames with the same name as all being part of the
399
- same sequence. [default]
400
- --loose-num-separator, -l
401
- allow the use of '_' (underscore), in addition to '.' (dot)
402
- as a separator between the descriptiveName and frameNumber
403
- when looking to interpret filenames as image sequences.
404
- i.e., <descriptiveName>_<frameNum>.<imgExtension> (also see
405
- --strict-num-separator)
406
- --strict-num-separator, -s
407
- strictly enforce the use of '.' (dot) as a separator
408
- between the descriptiveName and frameNumber when looking to
409
- interpret filenames as image sequences. i.e.,
410
- <descriptiveName>.<frameNum>.<imgExtension> (also see
411
- --loose-num-separator) [default]
411
+ --combine-lists, -c combine the lists of zero, missing and bad frames into
412
+ one list. Reported as 'e:[<list>]'
413
+ --no-combine-lists don't combine the error lists [default].
414
+ --no-error-lists, -n Skip printing ALL error lists. Note: Setting --show-
415
+ bad-padding (for example) AFTER this option on the
416
+ command line has the effect of ONLY showing the bad-
417
+ padding error list
418
+
419
+ sequence-category filters:
420
+ --img-ext, -i print list of image, cache and movie file extensions
421
+ and exit.
422
+ --list-all-files list all sequences plus regular /bin/ls output.
423
+ [default]
412
424
  --only-sequences, -o omit any regular /bin/ls output, only list sequences.
413
- --list-all-files list all sequences plus regular /bin/ls output. [default]
414
425
  --only-images, -O strictly list only image sequences (i.e., no movies or
415
426
  caches).
416
- --not-images Omit image files from being considered as sequences. Image
417
- files will be listed with regular /bin/ls output unless
418
- --only-sequences has been specified on the command line.
427
+ --not-images omit image files from being considered as sequences.
428
+ Image files will be listed with regular /bin/ls output
429
+ unless --only-sequences has been specified on the
430
+ command line.
419
431
  --only-movies strictly list only movies (i.e., no images or caches).
420
- --not-movies Omit movies from being considered as sequences. movie files
421
- will be listed with regular /bin/ls output unless
422
- --only-sequences has been specified on the command line.
432
+ --not-movies omit movies from being considered as sequences. movie
433
+ files will be listed with regular /bin/ls output
434
+ unless --only-sequences has been specified on the
435
+ command line.
423
436
  --only-caches strictly list only cache sequences (i.e., no images or
424
437
  movies).
425
- --not-caches Omit caches from being considered as sequences. cache files
426
- will be listed with regular /bin/ls output unless
427
- --only-sequences has been specified on the command line.
428
- --img-ext, -i print list of image, cache and movie file extensions and
429
- exit.
438
+ --not-caches omit caches from being considered as sequences. cache
439
+ files will be listed with regular /bin/ls output
440
+ unless --only-sequences has been specified on the
441
+ command line.
442
+
443
+ sequence display-modifiers:
444
+ --format FORMAT, -f FORMAT
445
+ list image sequences in various formats. The choices
446
+ are 'native' (default), 'nuke', 'rv', 'shake', 'glob',
447
+ 'mplay', and 'houdini'. Note that glob prints correct
448
+ results only if the frame numbers are padded. Further
449
+ note that reporting of missing/zero/bad/etc. frames
450
+ (e.g. --show-missing) only happens with 'native'
451
+ format.
430
452
  --prepend-path-abs, -p
431
453
  prepend the absolute path name to the image name. This
432
454
  option implies the option --only-sequences and also
433
- suppresses printing directory name headers when listing
434
- directory contents.
455
+ suppresses printing directory name headers when
456
+ listing directory contents.
435
457
  --prepend-path-rel, -P
436
458
  prepend the relative path name to the image name. This
437
- option implies the option --only-sequences and will also
438
- suppress printing directory name headers when listing
439
- directory contents.
440
- --extremes, -e only list the first and last frame of an image or cache-
441
- sequence on a separate line each. This option implies
442
- --prepend-path-abs (unless --prepend-path-rel is explicitly
443
- specified) as well as --only-sequences and --not-movies.
444
- --single, -1 list one non-sequence entry per line (see ls(1))
445
- --all, -a do not ignore entries starting with '.' while omitting
446
- implied '.' and '..' directories (see ls(1) --almost-all)
447
- --by-columns, -C list non-sequence entries by columns (see ls(1))
448
- --by-rows, -x list non-sequence entries by lines instead of by columns
449
- (see ls(1))
450
- --directory, -d list directory entries instead of contents, and do not
451
- dereference symbolic links (see ls(1))
452
- --classify, -F append indicator (one of */=>@|) to entries (see ls(1))
453
- --reverse, -r reverse order while sorting.
459
+ option implies the option --only-sequences and will
460
+ also suppress printing directory name headers when
461
+ listing directory contents.
462
+ --extremes, -e only list the first and last frame of an image or
463
+ cache-sequence on a separate line each. This option
464
+ implies --prepend-path-abs (unless --prepend-path-rel
465
+ is explicitly specified) as well as --only-sequences
466
+ and --not-movies.
467
+
468
+ sequence sorting and display:
454
469
  --recursive, -R list subdirectories recursively.
455
- --sort-by-time, -t sort by modification time, the default comparison time is
456
- between the most recently modified (newest) frames in each
457
- sequence. (see --time) (see ls(1))
458
- --time FRAME_AGE which frame in the sequence to use to compare times between
459
- sequences when sorting by time. The possible values for
460
- 'FRAME_AGE' are 'oldest', 'median' and 'newest'. [default:
461
- 'newest']
470
+ --reverse, -r reverse order while sorting.
471
+ --sort-by-time, -t sort by modification time, the default comparison time
472
+ is between the most recently modified (newest) frames
473
+ in each sequence. (see --time) (see LS(1))
474
+ --time FRAME_AGE which frame in the sequence to use to compare times
475
+ between sequences when sorting by time. The possible
476
+ values for 'FRAME_AGE' are 'oldest', 'median' and
477
+ 'newest'. [default: 'newest']
478
+ --global-sort-by-time, -G
479
+ when using either --prepend-path-abs or --prepend-
480
+ path-rel then this option will sort ALL sequences by
481
+ time compared to each other, as opposed to only
482
+ sorting sequences by time within their common
483
+ directory. If the above conditions are NOT met, then
484
+ this option is simply ignored.
462
485
  --only-show TENSE [CC]YYMMDD[-hh[mm[ss]]]
463
486
  where TENSE is either 'before' or 'since'; only list
464
- sequences up to (and including) or after (and including)
465
- the time specified. The --time argument specifies which
466
- frame to use for the cutoff comparison. The optional CC
467
- (century) defaults to the current century. The optional
468
- '-hh' (hours), 'mm' (minutes) or 'ss' (seconds) default to
469
- zero if not specified.
470
- --global-sort-by-time, -G
471
- when using either --prepend-path-abs or --prepend-path-rel
472
- then this option will sort ALL sequences by time compared
473
- to each other, as opposed to only sorting sequences by time
474
- within their common directory. If the above conditions are
475
- NOT met, then this option is simply ignored.
476
- --silent, --quiet suppress error and warning messages.
477
-
487
+ sequences up to (and including) or after (and
488
+ including) the time specified. The --time argument
489
+ specifies which frame to use for the cutoff
490
+ comparison. The optional CC (century) defaults to the
491
+ current century. The optional '-hh' (hours), 'mm'
492
+ (minutes) or 'ss' (seconds) default to zero if not
493
+ specified.
494
+
495
+ symbolic-link handling:
496
+ Control for whether or not to follow symbolic links to
497
+ the final target of files and/or directories. Regardless,
498
+ lsseq shall always write the name of the link itself and
499
+ not the file referenced by the link.
500
+
501
+ --dereference-command-line, -H
502
+ only follow symbolic links of files and directories
503
+ listed on the command line. [default]
504
+ --dereference, -L follow all symbolic links to the final target of files
505
+ and directories.
506
+ --no-dereference do not follow any symbolic links.
507
+ --dereference-command-line-symlink-to-dir
508
+ only follow each command line symbolic link that
509
+ points to a directory, (i.e. do not follow links to
510
+ files).
511
+ --dereference-symlink-to-dir
512
+ only follow all symbolic links that point to
513
+ directories, (i.e. do not follow links to files).
514
+ --no-dereference-dir do not follow any symbolic links to directories.
515
+ --dereference-command-line-symlink-to-file
516
+ only follow each command line symbolic link that
517
+ points to a regular file, (i.e. do not follow links to
518
+ directories).
519
+ --dereference-symlink-to-file
520
+ only follow all symbolic links that point to regular
521
+ files, (i.e. do not follow links to directories).
522
+ --no-dereference-file
523
+ do not follow any symbolic links to regular files.
524
+
525
+ LS(1) control for non-sequences:
526
+ --single, -1 list one non-sequence entry per line (see LS(1))
527
+ --all, -a do not ignore entries starting with '.' while omitting
528
+ implied '.' and '..' directories (see LS(1) --almost-
529
+ all)
530
+ --by-columns, -C list non-sequence entries by columns (see LS(1))
531
+ --by-rows, -x list non-sequence entries by lines instead of by
532
+ columns (see LS(1))
533
+ --directory, -d list directory entries instead of contents, and do not
534
+ follow symbolic links (see LS(1))
535
+ --classify, -F append indicator (one of */=>@|) to entries, and do
536
+ not follow symbolic links to directories. (see LS(1)
537
+ for the meanings of the symbols.) Note: the '@' will
538
+ also be appended to any sequences made up of symbolic
539
+ links.
478
540
  ```
479
541
 
480
542
  ## Addendum - more on installing command-line tools
@@ -503,7 +565,7 @@ so that they are accessible to all users. This works on both MacOS and Linux.
503
565
  # ln -s /usr/local/venv/bin/fixseqpadding /usr/local/bin/fixseqpadding
504
566
  # exit
505
567
  $ lsseq --version
506
- 4.2.0
568
+ 4.3.1
507
569
  ```
508
570
 
509
571
  At this point any user should be able to run any of the commands linked in the example above.
@@ -575,7 +637,8 @@ the transition quite painless. Especially if you make use
575
637
  of [`runsed`](https://github.com/jrowellfx/vfxTdUtils) which if you haven't used it before,
576
638
  now is the time, it's extremely helpful.
577
639
 
578
- There are two files provided at the root-level of the repo, namely:
640
+ There are two files provided at the root-level of the repo in
641
+ the directory [`updateLongOpts`](https://github.com/jrowellfx/lsseq/tree/master/updateLongOpts), namely:
579
642
  `sed.script.jrowellfx.doubleDashToKebab` and `sed.script.lsseq.v3tov4`.
580
643
 
581
644
  The first one can be used to fix the long-option names for ALL the
@@ -590,14 +653,13 @@ on your system.
590
653
  ```
591
654
  $ cd ~/bin
592
655
  $ ls
593
- myScriptThatUsesLsseq
656
+ myScriptThatUsesLsseq sed.script.jrowellfx.doubleDashToKebab
594
657
  $ cat myScriptThatUsesLsseq
595
658
  #!/bin/bash
596
659
 
597
660
  lsseq --globalSortByTime --recursive --prependPathAbs /Volumes/myProjectFiles
598
661
 
599
- $ mv ~/Downloads/sed.script.jrowellfx.doubleDashToKebab sed.script
600
- $ runsed myScriptThatUsesLsseq
662
+ $ runsed -f sed.script.jrowellfx.doubleDashToKebab myScriptThatUsesLsseq
601
663
  $ ./.runsed.diff.runsed
602
664
  + /usr/bin/diff ./.myScriptThatUsesLsseq.runsed myScriptThatUsesLsseq
603
665
  3c3