renumSeq 2.0.0__py3-none-any.whl → 2.1.1__py3-none-any.whl

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.
renumseq/__main__.py CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # 3-Clause BSD License
4
4
  #
5
- # Copyright (c) 2008-2025, James Philip Rowell,
5
+ # Copyright (c) 2008-2026, James Philip Rowell,
6
6
  # Alpha Eleven Incorporated
7
7
  # www.alpha-eleven.com
8
8
  # All rights reserved.
@@ -54,13 +54,21 @@ import glob
54
54
  # MINOR version for added functionality in a backwards compatible manner
55
55
  # PATCH version for backwards compatible bug fixes
56
56
  #
57
- VERSION = "2.0.0"
57
+ VERSION = "2.1.1"
58
58
 
59
59
  PROG_NAME = "renumseq"
60
60
 
61
- EXIT_NO_ERROR = 0 # Clean exit.
62
- EXIT_ERROR = 1 # Internal error other than argparse - currently not used.
63
- EXIT_ARGPARSE_ERROR = 2 # The default code that argparse exits with if bad option.
61
+ EXIT_NO_ERROR = 0 # Clean exit.
62
+ EXIT_PREEXISTINGSEQ_ERROR = 1 # Attempting to rename seq to one that already exists.
63
+ EXIT_ARGPARSE_ERROR = 2 # Parsing an argument revealed an error.
64
+ EXIT_NULLACTION_WARNING = 4 # Exited with nothing to do.
65
+ EXIT_INVALIDRANGE_WARNING = 8 # Invalid frame-range specified for a sequence
66
+ EXIT_NOTASEQ_WARNING = 16 # Expecting a sequence, but doesn't appear to be one.
67
+ EXIT_NONEXISTENTSEQ_WARNING = 32 # Specified sequence does not exist.
68
+ EXIT_OVERWRITEFRAME_WARNING = 64 # Renumbering a sequence would
69
+ # # have over-written some frames outside the range specifed.
70
+ #
71
+ gExitStatus = EXIT_NO_ERROR
64
72
 
65
73
  # List of date formats accepted to set file times with --touch.
66
74
  # They are same as the formats used by 'lsseq --only-show'.
@@ -91,13 +99,17 @@ class Touch(Enum):
91
99
  SPECIFIC_TIME = 3
92
100
 
93
101
  def warnSeqSyntax(silent, basename, seq) :
102
+ global gExitStatus
94
103
  if not silent :
95
104
  print( PROG_NAME,
96
105
  ": warning: invalid range [", seq, "] for seq ", basename,
97
106
  file=sys.stderr, sep='')
107
+ gExitStatus = gExitStatus | EXIT_INVALIDRANGE_WARNING
98
108
 
99
109
  def main():
100
110
 
111
+ global gExitStatus
112
+
101
113
  NEVER_START_FRAME = -999999999999 # Seems safe enough.
102
114
  howToTouch = "" # Set below.
103
115
  specificTime = 0 # Set below.
@@ -132,7 +144,7 @@ def main():
132
144
  $ lsseq
133
145
  aaa.[011-015].tif
134
146
  '''),
135
- usage="%(prog)s [OPTION]... [SEQ]...")
147
+ usage="%(prog)s [-h | --help] [OPTION]... [SEQ]...")
136
148
 
137
149
  p.add_argument("--version", action="version", version=VERSION)
138
150
 
@@ -266,7 +278,7 @@ def main():
266
278
  print(PROG_NAME, ": error: --rename will rename the sequence in-place, so please omit the path ",
267
279
  '/'.join(args.newSeqName[0].split('/')[:-1]),
268
280
  file=sys.stderr, sep='')
269
- sys.exit(EXIT_ARGPARSE_ERROR)
281
+ sys.exit(gExitStatus | EXIT_ARGPARSE_ERROR)
270
282
 
271
283
  match = lsseqPattern.search(args.newSeqName[0])
272
284
 
@@ -276,7 +288,7 @@ def main():
276
288
  file=sys.stderr, sep='')
277
289
  print(" omitted from '--rename ", args.newSeqName[0], "'", " by mistake?",
278
290
  file=sys.stderr, sep='')
279
- sys.exit(EXIT_ARGPARSE_ERROR)
291
+ sys.exit(gExitStatus | EXIT_ARGPARSE_ERROR)
280
292
 
281
293
  elif len(args.files) >= 1 and match : # If len() > 1 then also invalid, but this catches both.
282
294
  if not args.silent :
@@ -286,13 +298,13 @@ def main():
286
298
  file=sys.stderr, sep='')
287
299
  print(" appears to be a full lsseq native-format description of a sequence.",
288
300
  file=sys.stderr, sep='')
289
- sys.exit(EXIT_ARGPARSE_ERROR)
301
+ sys.exit(gExitStatus | EXIT_ARGPARSE_ERROR)
290
302
 
291
303
  elif len(args.files) > 1 :
292
304
  if not args.silent :
293
305
  print(PROG_NAME, ": error: can NOT rename more than one SEQ at a time.",
294
306
  file=sys.stderr, sep='')
295
- sys.exit(EXIT_ARGPARSE_ERROR)
307
+ sys.exit(gExitStatus | EXIT_ARGPARSE_ERROR)
296
308
 
297
309
  # Now check to see if a sequence with NEW_SEQNAME exists already.
298
310
  # This code relies on lsseq >= v2.5.0 be installed.
@@ -320,10 +332,10 @@ def main():
320
332
  print(PROG_NAME, ": error: can NOT rename to an existing sequence ",
321
333
  lsseqResult.stdout,
322
334
  file=sys.stderr, sep='', end='')
323
- sys.exit(EXIT_ARGPARSE_ERROR)
335
+ sys.exit(gExitStatus | EXIT_PREEXISTINGSEQ_ERROR)
324
336
 
325
337
  if len(args.files) == 0 :
326
- sys.exit(EXIT_NO_ERROR)
338
+ sys.exit(gExitStatus)
327
339
 
328
340
  # The following logic means "do nothing" - so just exit cleanly (**b**)
329
341
  #
@@ -336,7 +348,7 @@ def main():
336
348
  print(PROG_NAME,
337
349
  ": warning: no offset, no rename, no padding change, etc., nothing to do",
338
350
  file=sys.stderr, sep='')
339
- sys.exit(EXIT_NO_ERROR)
351
+ sys.exit(gExitStatus | EXIT_NULLACTION_WARNING)
340
352
 
341
353
  # args.touch is either a string, presumably containing a date (so need to
342
354
  # check its validity), the string "0" (meaning --touch was called with NO argument),
@@ -386,7 +398,7 @@ def main():
386
398
  print(PROG_NAME,
387
399
  ": error: argument --touch: the time must be of the form [CC]YYMMDD[-hh[mm[ss]]]",
388
400
  file=sys.stderr, sep='')
389
- sys.exit(EXIT_ARGPARSE_ERROR)
401
+ sys.exit(gExitStatus | EXIT_ARGPARSE_ERROR)
390
402
 
391
403
  specificTime = int(time.mktime(timeData.timetuple())) # Epoch time
392
404
 
@@ -404,6 +416,7 @@ def main():
404
416
  print(PROG_NAME, ": warning: ", arg,
405
417
  " not a sequence or not in lsseq native format",
406
418
  file=sys.stderr, sep='')
419
+ gExitStatus = gExitStatus | EXIT_NOTASEQ_WARNING
407
420
  continue
408
421
 
409
422
  v = match.groups()
@@ -494,6 +507,7 @@ def main():
494
507
  print(PROG_NAME,
495
508
  ": warning: no offset, no padding/underscore change, skipping sequence: ",
496
509
  arg, file=sys.stderr, sep='')
510
+ # No change to exit codes since other seq's might have been changed.
497
511
  continue
498
512
 
499
513
  startPad = len(startStr)
@@ -582,6 +596,7 @@ def main():
582
596
  if not args.silent :
583
597
  print(PROG_NAME, ": warning: ", arg,
584
598
  " is nonexistent", file=sys.stderr, sep='')
599
+ gExitStatus = gExitStatus | EXIT_NONEXISTENTSEQ_WARNING
585
600
  continue
586
601
 
587
602
  if not args.clobber :
@@ -599,6 +614,7 @@ def main():
599
614
  ": renumbering would have overwritten a file outside the sequence being renumbered. e.g.: ",
600
615
  f, file=sys.stderr, sep='')
601
616
  continue
617
+ gExitStatus = gExitStatus | EXIT_OVERWRITEFRAME_WARNING
602
618
 
603
619
  i = 0
604
620
  numFiles = len(origName)
@@ -630,6 +646,7 @@ def main():
630
646
  print(PROG_NAME,
631
647
  ": warning: no changes were made to ", arg, ": skipping",
632
648
  file=sys.stderr, sep='')
649
+ # gExitStatus not changed as other sequences specified may have been changed.
633
650
 
634
651
  if __name__ == '__main__':
635
652
  main()
@@ -0,0 +1,238 @@
1
+ Metadata-Version: 2.4
2
+ Name: renumSeq
3
+ Version: 2.1.1
4
+ Summary: Tool to renumber image sequences.
5
+ Home-page: https://github.com/jrowellfx/renumSeq
6
+ Author: James Philip Rowell
7
+ Author-email: james@alpha-eleven.com
8
+ License: BSD-3-Clause
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Operating System :: POSIX
11
+ Classifier: Operating System :: Unix
12
+ Classifier: Operating System :: MacOS
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Requires-Python: >=3.7, <4
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: seqLister>=1.2.0
18
+ Requires-Dist: lsseq>=4.0.0
19
+ Dynamic: author
20
+ Dynamic: author-email
21
+ Dynamic: classifier
22
+ Dynamic: description
23
+ Dynamic: description-content-type
24
+ Dynamic: home-page
25
+ Dynamic: license
26
+ Dynamic: license-file
27
+ Dynamic: requires-dist
28
+ Dynamic: requires-python
29
+ Dynamic: summary
30
+
31
+ # About renumseq
32
+
33
+ `renumseq` is a Unix/Linux command-line-utility for renumbering image-sequences
34
+ which are most
35
+ typically used in VFX post-production or CG animation production.
36
+
37
+ `renumseq` allows you to renumber sequences with an offset or give them a new `start` frame.
38
+ It also allows you adjust the padding of the frame numbers.
39
+
40
+ `renumseq` uses the syntax of the native output of
41
+ [`lsseq`](https://github.com/jrowellfx/lsseq) to specify
42
+ the sequence to be renumbered. Therefore it is recommended to
43
+ use `lsseq` as it makes using `renumseq` easier.
44
+
45
+ For example, use `lsseq` to list a sequence, then
46
+ cut and paste its
47
+ output as the arguments to `renumseq` with the appropriate
48
+ arguments for setting the offset or new start-frame.
49
+
50
+ `renumseq` was written to be safe in that it won't
51
+ unintentionally overwrite any existing files
52
+ during renumbering.
53
+
54
+ If `renumseq` finds that by renumbering a sequence it will write over another frame
55
+ outside the range specified then it will skip renumbering that sequence
56
+ (printing a warning) and go onto the next sequence in the list. Naturally
57
+ there is an option to force `renumseq` to overwrite those files if desired.
58
+
59
+ `renumseq` doesn't need to make temporary copies of files during the renumbering
60
+ (it does a move of the file), so it's fast.
61
+
62
+ `renumseq` also has a useful option, called `--replace-underscore`
63
+ that changes any underscore-separators (separating the filename from the
64
+ frame-number) with dot-separators, like this:
65
+
66
+ `filename_[n-m].extension` -> `filename.[n-m].extension`
67
+
68
+ `Protip`: If all you want to do is switch the separator from an underscore to a dot, then
69
+ use a zero offset, plus the `--replace-underscore` argument.
70
+
71
+ ## Error and warning codes returned from `renumseq`
72
+
73
+ As copied from the source code,
74
+ the following EXIT codes will be combined bitwise to return
75
+ possibly more than one different warning and/or error.
76
+
77
+ ```
78
+ EXIT_NO_ERROR = 0 # Clean exit.
79
+ EXIT_PREEXISTINGSEQ_ERROR = 1 # Attempting to rename seq to one that already exists.
80
+ EXIT_ARGPARSE_ERROR = 2 # Parsing an argument revealed an error.
81
+ EXIT_NULLACTION_WARNING = 4 # Exited with nothing to do.
82
+ EXIT_INVALIDRANGE_WARNING = 8 # Invalid frame-range specified for a sequence
83
+ EXIT_NOTASEQ_WARNING = 16 # Expecting a sequence, but doesn't appear to be one.
84
+ EXIT_NONEXISTENTSEQ_WARNING = 32 # Specified sequence does not exist.
85
+ EXIT_OVERWRITEFRAME_WARNING = 64 # Renumbering a sequence would
86
+ # have over-written some frames outside the range specifed.
87
+ ```
88
+
89
+ ## Installing renumseq
90
+
91
+ ```
92
+ python3 -m pip install renumSeq --upgrade
93
+ ```
94
+
95
+ ## Testing renumseq
96
+
97
+ After installing try the following:
98
+
99
+ ```
100
+ $ cd ~
101
+ $ mkdir tmp
102
+ $ cd tmp
103
+ $ touch aaa.001.tif aaa.002.tif aaa.003.tif aaa.004.tif aaa.005.tif
104
+ $ lsseq -Z
105
+ aaa.[001-005].tif
106
+ $ renumseq --verbose --offset 10 'aaa.[001-005].tif'
107
+ aaa.005.tif -> aaa.015.tif
108
+ aaa.004.tif -> aaa.014.tif
109
+ aaa.003.tif -> aaa.013.tif
110
+ aaa.002.tif -> aaa.012.tif
111
+ aaa.001.tif -> aaa.011.tif
112
+ $ lsseq -Z
113
+ aaa.[011-015].tif
114
+ ```
115
+
116
+ Note that you may get an error from your
117
+ shell when you try to run the `renumseq` command above, without the
118
+ quotes around the sequence, that might look something like
119
+ this:
120
+
121
+ ```
122
+ % renumseq -o 10 aaa.[001-005].tif
123
+ renumseq: No match.
124
+ ```
125
+
126
+ In which case you need to "escape" the square brackets as they are special characters
127
+ as far as the shell is concerned. Escape them like this:
128
+
129
+ ```
130
+ % renumseq -v -o 10 aaa.\[001-005\].tif
131
+ aaa.005.tif -> aaa.015.tif
132
+ aaa.004.tif -> aaa.014.tif
133
+ aaa.003.tif -> aaa.013.tif
134
+ aaa.002.tif -> aaa.012.tif
135
+ aaa.001.tif -> aaa.011.tif
136
+ ```
137
+
138
+ Alternatively you can just enclose the argument in quotes
139
+ (`'aaa.[001-005].tif'`)
140
+ like we did in the example above.
141
+
142
+ Type this:
143
+
144
+ ```
145
+ $ renumseq --help
146
+ ```
147
+ ...for much more useful info.
148
+
149
+ # Important: latest MAJOR point release of `renumSeq`.
150
+
151
+ `renumseq` and all the utilities provided by jrowellfx github repos
152
+ use "[`Semantic Versioning 2.0.0`](https://semver.org/)" in numbering releases.
153
+ The latest release of `renumseq` upped the `MAJOR` release number
154
+ from `v1.x.x` to `v2.x.x`.
155
+
156
+ While the functionality and output of `renumseq` has not changed, all the so called
157
+ "long options" have been renamed to adhere to `POSIX` standard naming
158
+ conventions.
159
+
160
+ That is, prior to `v2.0.0` of `renumseq` all the long-option names used a "camel case"
161
+ naming convention but as of `v2.0.0` all long-option names have been
162
+ changed to so-called "kebab case".
163
+
164
+ For example:
165
+
166
+ ```
167
+ --replaceUnderscore
168
+ ```
169
+
170
+ has been changed to
171
+
172
+ ```
173
+ --replace-underscore
174
+ ```
175
+
176
+ In the event that you have written any scripts that make use of `renumseq` or
177
+ any other of `jrowellfx`'s utils provided [here](https://github.com/jrowellfx)
178
+ you will need to edit your scripts to be able to update to the lastest versions
179
+ of the utilities.
180
+
181
+ In this case, in order to assist in switching to the
182
+ current `MAJOR` point release some `sed` scripts have been provided that should make
183
+ the transition quite painless. Especially if you make use
184
+ of [`runsed`](https://github.com/jrowellfx/vfxTdUtils) which if you haven't used it before,
185
+ now is the time, it's extremely helpful.
186
+
187
+ There are two files provided at the root-level of the repo, namely:
188
+ `sed.script.jrowellfx.doubleDashToKebab` and `sed.script.renumseq.v1tov2`.
189
+
190
+ The first one can be used to fix the long-option names for ALL the
191
+ `MAJOR` point release updates to the long-options in any of `jrowellfx`'s utilities.
192
+ The second one contains only changes needed for the updates to `renumseq`.
193
+
194
+ ## Example `sed.script` usage.
195
+
196
+ Download one or both of the sed scripts named above. Make sure you have `runsed` installed
197
+ on your system. (Example applied to usage of `lsseq` but it's the same idea for `renumseq`.)
198
+
199
+ ```
200
+ $ cd ~/bin
201
+ $ ls
202
+ myScriptThatUsesLsseq
203
+ $ cat myScriptThatUsesLsseq
204
+ #!/bin/bash
205
+
206
+ lsseq --globalSortByTime --recursive --prependPathAbs /Volumes/myProjectFiles
207
+
208
+ $ mv ~/Downloads/sed.script.jrowellfx.doubleDashToKebab sed.script
209
+ $ runsed myScriptThatUsesLsseq
210
+ $ ./.runsed.diff.runsed
211
+ + /usr/bin/diff ./.myScriptThatUsesLsseq.runsed myScriptThatUsesLsseq
212
+ 3c3
213
+ < lsseq --globalSortByTime --recursive --prependPathAbs /Volumes/myProjectFiles
214
+ ---
215
+ > lsseq --global-sort-by-time --recursive --prepend-path-abs /Volumes/myProjectFiles
216
+ $ cat myScriptThatUsesLsseq
217
+ #!/bin/bash
218
+
219
+ lsseq --global-sort-by-time --recursive --prepend-path-abs /Volumes/myProjectFiles
220
+ ```
221
+
222
+ Note that if you are unhappy with the changes you can undo them easily with
223
+
224
+ ```
225
+ $ ./.runsed.undo.runsed
226
+ $ cat myScriptThatUsesLsseq
227
+ #!/bin/bash
228
+
229
+ lsseq --globalSortByTime --recursive --prependPathAbs /Volumes/myProjectFiles
230
+
231
+
232
+ ```
233
+
234
+ ## Contact
235
+
236
+ Please contact `j a m e s <at> a l p h a - e l e v e n . c o m` with any bug
237
+ reports, suggestions or praise as the case may be.
238
+
@@ -0,0 +1,8 @@
1
+ renumseq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ renumseq/__main__.py,sha256=Qjz__E4hejj8p3a2JMTOWBe30ie7RiDDlw2muqmheLk,26982
3
+ renumseq-2.1.1.dist-info/licenses/LICENSE,sha256=6nkMza9EsLm_5eVujz579iCb9pLToaliSRuycs41Z28,1620
4
+ renumseq-2.1.1.dist-info/METADATA,sha256=6bKv8_eYFOgnftML95BwcSqaACHOjwlarsDmx5x97zg,7616
5
+ renumseq-2.1.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
6
+ renumseq-2.1.1.dist-info/entry_points.txt,sha256=Vu6IBWCxwfVRG3XOZi4ENlMnpe4igvepbHfKy8NGuOY,52
7
+ renumseq-2.1.1.dist-info/top_level.txt,sha256=N4wzD8IZmW7curkqRcVgXNstK4X3cqZ4K1tVNYsukDI,9
8
+ renumseq-2.1.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,6 +1,6 @@
1
1
  3-Clause BSD License
2
2
 
3
- Copyright (c) 2008-2025, James Philip Rowell,
3
+ Copyright (c) 2008-2026, James Philip Rowell,
4
4
  Alpha Eleven Incorporated
5
5
  www.alpha-eleven.com
6
6
  All rights reserved.
@@ -1,127 +0,0 @@
1
- Metadata-Version: 2.2
2
- Name: renumSeq
3
- Version: 2.0.0
4
- Summary: Tool to renumber image sequences.
5
- Home-page: https://github.com/jrowellfx/renumSeq
6
- Author: James Philip Rowell
7
- Author-email: james@alpha-eleven.com
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: License :: OSI Approved :: BSD License
10
- Classifier: Operating System :: POSIX
11
- Classifier: Operating System :: Unix
12
- Classifier: Operating System :: MacOS
13
- Classifier: Development Status :: 5 - Production/Stable
14
- Requires-Python: >=3.7, <4
15
- Description-Content-Type: text/markdown
16
- License-File: LICENSE
17
- Requires-Dist: seqLister>=1.2.0
18
- Requires-Dist: lsseq>=4.0.0
19
- Dynamic: author
20
- Dynamic: author-email
21
- Dynamic: classifier
22
- Dynamic: description
23
- Dynamic: description-content-type
24
- Dynamic: home-page
25
- Dynamic: requires-dist
26
- Dynamic: requires-python
27
- Dynamic: summary
28
-
29
- # About renumseq
30
-
31
- `renumseq` is a Unix/Linux command-line-utility for renumbering image-sequences
32
- which are most
33
- typically used in CG post-production.
34
-
35
- `renumseq` allows you to renumber sequences with an offset or give them a new `start` frame.
36
- It also allows you adjust the padding of the frame numbers.
37
-
38
- `renumseq` uses the syntax of the native output of
39
- [`lsseq`](https://github.com/jrowellfx/lsseq) to specify
40
- the sequence to be renumbered. Therefore it is recommended to
41
- use `lsseq` as it makes using `renumseq` easier.
42
-
43
- For example, use `lsseq` to list a sequence, then
44
- cut and paste its
45
- output as the arguments to `renumseq` with the appropriate
46
- arguments for setting the offset or new start-frame.
47
-
48
- `renumseq` was written to be safe in that it won't
49
- unintentionally overwrite any existing files
50
- during renumbering.
51
-
52
- If `renumseq` finds that by renumbering a sequence it will write over another frame
53
- outside the range specified then it will skip renumbering that sequence
54
- (printing a warning) and go onto the next sequence in the list. Naturally
55
- there is an option to force `renumseq` to overwrite those files if desired.
56
-
57
- `renumseq` doesn't need to make temporary copies of files during the renumbering
58
- (it does a move of the file), so it's fast.
59
-
60
- `renumseq` also has a useful option, called `--replace-underscore`
61
- that changes any underscore-separators (separating the filename from the
62
- frame-number) with dot-separators, like this:
63
-
64
- `filename_[n-m].extension` -> `filename.[n-m].extension`
65
-
66
- `Protip`: If all you want to do is switch the separator from an underscore to a dot, then
67
- use a zero offset, plus the `--replace-underscore` argument.
68
-
69
- ## Installing renumseq
70
-
71
- ```
72
- python3 -m pip install renumSeq --upgrade
73
- ```
74
-
75
- ## Testing renumseq
76
-
77
- After installing try the following:
78
-
79
- ```
80
- $ cd ~
81
- $ mkdir tmp
82
- $ cd tmp
83
- $ touch aaa.001.tif aaa.002.tif aaa.003.tif aaa.004.tif aaa.005.tif
84
- $ lsseq -Z
85
- aaa.[001-005].tif
86
- $ renumseq --verbose --offset 10 'aaa.[001-005].tif'
87
- aaa.005.tif -> aaa.015.tif
88
- aaa.004.tif -> aaa.014.tif
89
- aaa.003.tif -> aaa.013.tif
90
- aaa.002.tif -> aaa.012.tif
91
- aaa.001.tif -> aaa.011.tif
92
- $ lsseq -Z
93
- aaa.[011-015].tif
94
- ```
95
-
96
- Note that you may get an error from your
97
- shell when you try to run the `renumseq` command above, without the
98
- quotes around the sequence, that might look something like
99
- this:
100
-
101
- ```
102
- % renumseq -o 10 aaa.[001-005].tif
103
- renumseq: No match.
104
- ```
105
-
106
- In which case you need to "escape" the square brackets as they are special characters
107
- as far as the shell is concerned. Escape them like this:
108
-
109
- ```
110
- % renumseq -v -o 10 aaa.\[001-005\].tif
111
- aaa.005.tif -> aaa.015.tif
112
- aaa.004.tif -> aaa.014.tif
113
- aaa.003.tif -> aaa.013.tif
114
- aaa.002.tif -> aaa.012.tif
115
- aaa.001.tif -> aaa.011.tif
116
- ```
117
-
118
- Alternatively you can just enclose the argument in quotes
119
- (`'aaa.[001-005].tif'`)
120
- like we did in the example above.
121
-
122
- Type this:
123
-
124
- ```
125
- $ renumseq --help
126
- ```
127
- ...for much more useful info.
@@ -1,8 +0,0 @@
1
- renumseq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- renumseq/__main__.py,sha256=Th2VHRQFAtORHtdksQAFZjhtKujhEJSbs9GqrMpO4AI,25867
3
- renumSeq-2.0.0.dist-info/LICENSE,sha256=7ssn-dBSkdFTvXKCXb6weBMit69-58B_3P7GA5VBvms,1620
4
- renumSeq-2.0.0.dist-info/METADATA,sha256=SanOxNCWBOpCAUVoTmNVt2M_CLlRvxZ-IU0nw5lKFvc,3718
5
- renumSeq-2.0.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
6
- renumSeq-2.0.0.dist-info/entry_points.txt,sha256=Vu6IBWCxwfVRG3XOZi4ENlMnpe4igvepbHfKy8NGuOY,52
7
- renumSeq-2.0.0.dist-info/top_level.txt,sha256=N4wzD8IZmW7curkqRcVgXNstK4X3cqZ4K1tVNYsukDI,9
8
- renumSeq-2.0.0.dist-info/RECORD,,