mirror of
https://github.com/novoid/appendfilename.git
synced 2026-06-14 12:21:25 +00:00
Merge pull request #14 from nbehrnd/tester
extend tester's pattern to all five provided by date2name
This commit is contained in:
commit
c04aee6c5e
3 changed files with 160 additions and 102 deletions
18
Makefile
18
Makefile
|
|
@ -1,11 +1,11 @@
|
||||||
# GNU Make file for the automation of pytest for appendfilename.
|
# GNU Make file for the automation of pytest for appendfilename
|
||||||
#
|
#
|
||||||
# While the test script is written for Python 3.9.2, you might need to
|
# While the test script is written for Python 3.9.2, it depends on
|
||||||
# adjust the following instruction once in case your OS includes
|
# your installation of pytest (and in case of Linux, the authors of
|
||||||
# pytest for legacy Python 2 side by side to Python 3, or only hosts
|
# your distribution) if pytest for Python 3 is invoked either by
|
||||||
# pytest for Python 3. The tests in script test_appendfilename.py are
|
# pytest, or pytest-3. In some distributions, pytest actually may
|
||||||
# set up to work with pytest for Python 3; dependent on your
|
# invoke pyest for legacy Python 2; the tests in test_date2name.py
|
||||||
# installation, which may be named pytest-3, or (again) pytest.
|
# however are incompatible to this.
|
||||||
#
|
#
|
||||||
# Put this file like test_appendfilename.py in the root folder of
|
# Put this file like test_appendfilename.py in the root folder of
|
||||||
# appendfilename fetched from PyPi or GitHub. Then run
|
# appendfilename fetched from PyPi or GitHub. Then run
|
||||||
|
|
@ -17,5 +17,5 @@
|
||||||
# right after the first test failing, use the -x flag to the
|
# right after the first test failing, use the -x flag to the
|
||||||
# instructions on the CLI in addition to the verbosity flag to (-v).
|
# instructions on the CLI in addition to the verbosity flag to (-v).
|
||||||
|
|
||||||
# pytest -v test_appendfilename.py # only pytest for Python 3 is present
|
# pytest -v test_appendfilename.py # the pattern by pytest's manual
|
||||||
pytest-3 -v test_appendfilename.py # pytest if Python 2 and Python 3 coexist
|
pytest-3 -v test_appendfilename.py # the alternative pattern (e.g., Debian 12)
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
# author: nbehrnd@yahoo.com
|
# author: nbehrnd@yahoo.com
|
||||||
# license: GPL v3, 2022.
|
# license: GPL v3, 2022.
|
||||||
# date: 2022-01-05 (YYYY-MM-DD)
|
# date: 2022-01-05 (YYYY-MM-DD)
|
||||||
# edit: 2022-01-07 (YYYY-MM-DD)
|
# edit: 2022-01-09 (YYYY-MM-DD)
|
||||||
#
|
#
|
||||||
"""Test pad for functions by appendfilename with pytest.
|
"""Test pad for functions by appendfilename with pytest.
|
||||||
|
|
||||||
|
|
@ -34,7 +34,9 @@ PROGRAM = str("./appendfilename/__init__.py")
|
||||||
|
|
||||||
@pytest.mark.default
|
@pytest.mark.default
|
||||||
@pytest.mark.parametrize("arg1", ["test.txt", "2021-12-31_test.txt",
|
@pytest.mark.parametrize("arg1", ["test.txt", "2021-12-31_test.txt",
|
||||||
"2021-12-31T18.48.22_test.txt"])
|
"2021-12-31T18.48.22_test.txt",
|
||||||
|
"20211231_test.txt", "2012-12_test.txt",
|
||||||
|
"211231_test.txt"])
|
||||||
@pytest.mark.parametrize("arg2", ["-t book", "-t book_shelf",
|
@pytest.mark.parametrize("arg2", ["-t book", "-t book_shelf",
|
||||||
"--text book", "--text book_shelf"])
|
"--text book", "--text book_shelf"])
|
||||||
@pytest.mark.parametrize("arg3", [" ", "!", "@", "#", "$", "%", "*", "_", "+",
|
@pytest.mark.parametrize("arg3", [" ", "!", "@", "#", "$", "%", "*", "_", "+",
|
||||||
|
|
@ -63,7 +65,9 @@ def test_pattern_s1(arg1, arg2, arg3):
|
||||||
|
|
||||||
@pytest.mark.prepend
|
@pytest.mark.prepend
|
||||||
@pytest.mark.parametrize("arg1", ["test.txt", "2021-12-31_test.txt",
|
@pytest.mark.parametrize("arg1", ["test.txt", "2021-12-31_test.txt",
|
||||||
"2021-12-31T18.48.22_test.txt"])
|
"2021-12-31T18.48.22_test.txt",
|
||||||
|
"20211231_test.txt", "2012-12_test.txt",
|
||||||
|
"211231_test.txt"])
|
||||||
@pytest.mark.parametrize("arg2", ["-t book", "-t book_shelf",
|
@pytest.mark.parametrize("arg2", ["-t book", "-t book_shelf",
|
||||||
"--text book", "--text book_shelf"])
|
"--text book", "--text book_shelf"])
|
||||||
@pytest.mark.parametrize("arg3", [" ", "!", "@", "#", "$", "%", "*", "_", "+",
|
@pytest.mark.parametrize("arg3", [" ", "!", "@", "#", "$", "%", "*", "_", "+",
|
||||||
|
|
@ -94,7 +98,8 @@ def test_pattern_s2(arg1, arg2, arg3, arg4):
|
||||||
|
|
||||||
@pytest.mark.smart
|
@pytest.mark.smart
|
||||||
@pytest.mark.parametrize("arg1", ["test.txt", "2021-12-31_test.txt",
|
@pytest.mark.parametrize("arg1", ["test.txt", "2021-12-31_test.txt",
|
||||||
"2021-12-31T18.48.22_test.txt"])
|
"2021-12-31T18.48.22_test.txt", "20211231_test.txt",
|
||||||
|
"2021-12_test.txt", "211231_test.txt"])
|
||||||
@pytest.mark.parametrize("arg2", ["-t book", "-t book_shelf",
|
@pytest.mark.parametrize("arg2", ["-t book", "-t book_shelf",
|
||||||
"--text book", "--text book_shelf"])
|
"--text book", "--text book_shelf"])
|
||||||
@pytest.mark.parametrize("arg3", [" " , "#", "!", "@", "#", "$", "%", "*", "_", "+",
|
@pytest.mark.parametrize("arg3", [" " , "#", "!", "@", "#", "$", "%", "*", "_", "+",
|
||||||
|
|
@ -114,33 +119,57 @@ def test_pattern_s3_02(arg1, arg2, arg3):
|
||||||
newfile.write("This is a test file for test_appendfilename.")
|
newfile.write("This is a test file for test_appendfilename.")
|
||||||
|
|
||||||
test = getoutput(f"python3 {PROGRAM} {arg1} {arg2} --separator={arg3} --smart-prepend")
|
test = getoutput(f"python3 {PROGRAM} {arg1} {arg2} --separator={arg3} --smart-prepend")
|
||||||
|
|
||||||
# analysis section:
|
# analysis section:
|
||||||
old_filename = str(arg1)
|
old_filename = str(arg1)
|
||||||
|
|
||||||
if re.search("^\d{4}-\d{2}-\d{2}_", old_filename):
|
# test pattern issued by date2name vs. other pattern
|
||||||
# if (running date2name in default mode) then .true.
|
# default (YYYY-MM-DD)
|
||||||
time_stamp = old_filename[:10]
|
# --withtime (YYYY-MM-DDTHH.MM.SS)
|
||||||
time_stamp_separator = old_filename[10]
|
# --compact (YYYYMMDD)
|
||||||
file_extension = old_filename.split(".")[-1]
|
# --month (YYYY-MM)
|
||||||
|
# --short (YYMMDD)
|
||||||
|
if (re.search("^\d{4}-[012]\d-[0-3]\d_", old_filename) or
|
||||||
|
re.search('^\d{4}-[012]\d-[0-3]\dT[012]\d\.[0-5]\d\.[0-5]\d_', old_filename) or
|
||||||
|
re.search("^\d{4}[012]\d[0-3]\d_", old_filename) or
|
||||||
|
re.search("^\d{4}-[012]\d_", old_filename) or
|
||||||
|
re.search("^\d{2}[012]\d[0-3]\d_", old_filename)):
|
||||||
|
|
||||||
old_filename_no_timestamp = old_filename[11:]
|
if re.search("^\d{4}-\d{2}-\d{2}_", old_filename):
|
||||||
stem_elements = old_filename_no_timestamp.split(".")[:-1]
|
# if (running date2name in default mode) then .true.
|
||||||
stem = ".".join(stem_elements)
|
time_stamp = old_filename[:10]
|
||||||
|
time_stamp_separator = old_filename[10]
|
||||||
|
file_extension = old_filename.split(".")[-1]
|
||||||
|
old_filename_no_timestamp = old_filename[11:]
|
||||||
|
|
||||||
new_filename = "".join([time_stamp, arg3, text, arg3, stem, str("."), file_extension])
|
elif re.search('^\d{4}-\d{2}-\d{2}T\d{2}\.\d{2}\.\d{2}_', old_filename):
|
||||||
assert os.path.isfile(new_filename)
|
# if (running date2name --withtime) then .true.
|
||||||
|
time_stamp = old_filename[:19]
|
||||||
|
time_stamp_separator = old_filename[19]
|
||||||
|
file_extension = old_filename.split(".")[-1]
|
||||||
|
old_filename_no_timestamp = old_filename[20:]
|
||||||
|
|
||||||
os.remove(new_filename)
|
elif re.search("^\d{4}\d{2}\d{2}_", old_filename):
|
||||||
assert os.path.isfile(new_filename) is False
|
# if (running date2name --compact) then .true.
|
||||||
|
time_stamp = old_filename[:8]
|
||||||
|
time_stamp_separator = old_filename[8]
|
||||||
|
file_extension = old_filename.split(".")[-1]
|
||||||
|
old_filename_no_timestamp = old_filename[9:]
|
||||||
|
|
||||||
elif re.search('^\d{4}-\d{2}-\d{2}T\d{2}\.\d{2}\.\d{2}_', old_filename):
|
elif re.search("^\d{4}-\d{2}_", old_filename):
|
||||||
# if (running date2name --withtime) then .true.
|
# if (running date2name --month) then .true.
|
||||||
time_stamp = old_filename[:19]
|
time_stamp = old_filename[:7]
|
||||||
time_stamp_separator = old_filename[19]
|
time_stamp_separator = old_filename[7]
|
||||||
file_extension = old_filename.split(".")[-1]
|
file_extension = old_filename.split(".")[-1]
|
||||||
|
old_filename_no_timestamp = old_filename[8:]
|
||||||
|
|
||||||
|
elif re.search("^\d{4}\d{2}\d{2}_", old_filename):
|
||||||
|
# if (running date2name --short) then .true.
|
||||||
|
time_stamp = old_filename[:6]
|
||||||
|
time_stamp_separator = old_filename[6]
|
||||||
|
file_extension = old_filename.split(".")[-1]
|
||||||
|
old_filename_no_timestamp = old_filename[7:]
|
||||||
|
|
||||||
old_filename_no_timestamp = old_filename[20:]
|
|
||||||
stem_elements = old_filename_no_timestamp.split(".")[:-1]
|
stem_elements = old_filename_no_timestamp.split(".")[:-1]
|
||||||
stem = ".".join(stem_elements)
|
stem = ".".join(stem_elements)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# name: test_generator.org
|
# name: test_generator.org
|
||||||
# author: nbehrnd@yahoo.com
|
# author: nbehrnd@yahoo.com
|
||||||
# date: 2022-01-05 (YYYY-MM-DD)
|
# date: 2022-01-05 (YYYY-MM-DD)
|
||||||
# edit: 2022-01-06 (YYYY-MM-DD)
|
# edit: 2022-01-09 (YYYY-MM-DD)
|
||||||
# license: GPL3, 2022.
|
# license: GPL3, 2022.
|
||||||
# Export the tangled files with C-c C-v t
|
# Export the tangled files with C-c C-v t
|
||||||
|
|
||||||
|
|
@ -22,24 +22,24 @@
|
||||||
|
|
||||||
* Deployment
|
* Deployment
|
||||||
|
|
||||||
On a computer with Python 3 only, the recommended call on the CLI to
|
The programmatic tests are set up for pytest for Python 3. It
|
||||||
run the tests is either one of the following instructions (you might
|
however depends on your installation (and in case of Linux, the
|
||||||
need to add the executable bit):
|
authors of your Linux distribution ([[https://github.com/pytest-dev/pytest/discussions/9481][reference]])) if this utility may
|
||||||
|
be started by =pytest= (e.g., the pattern in pytest's manual), or by
|
||||||
|
=pytest-3= by either one of the pattern below:
|
||||||
|
|
||||||
#+begin_src bash :tangle no
|
#+begin_src bash :tangle no
|
||||||
python pytest -v test_appendfilename.py
|
pytest -v test_appendfilename.py
|
||||||
./Makefile
|
pytest-3 -v test_appendfilename.py
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
In case the computer you use equally includes an installation of
|
As of writing, the later pattern is the to be used e.g., in Linux
|
||||||
legacy Python 2 side-by-side to Python 3, you must explicitly call
|
Debian 12/bookworm (branch testing) to discern pytest (for
|
||||||
for the later branch of the two. Depending on your OS, this
|
contemporary Python 3) from pytest (for legacy Python 2).
|
||||||
requires an adjustment of the command issued. In Linux Debian
|
|
||||||
12/bookworm, branch testing, for example,
|
|
||||||
|
|
||||||
#+begin_src bash :tangle no
|
The =Makefile= this =org= file provides for convenience running
|
||||||
python3 pytest-3 -v test_appendfilename.py
|
these tests assumes the later syntax pattern. (It might be
|
||||||
#+end_src
|
necessary to provide the executable bit to activate the Makefile.)
|
||||||
|
|
||||||
* Setup of Emacs
|
* Setup of Emacs
|
||||||
|
|
||||||
|
|
@ -56,38 +56,38 @@
|
||||||
permission.
|
permission.
|
||||||
|
|
||||||
#+begin_src emacs-lisp :tangle no
|
#+begin_src emacs-lisp :tangle no
|
||||||
;; support these languages at all:
|
;; support these languages at all:
|
||||||
(org-babel-do-load-languages
|
(org-babel-do-load-languages
|
||||||
'org-babel-load-languages
|
'org-babel-load-languages
|
||||||
'((emacs-lisp . t)
|
'((emacs-lisp . t)
|
||||||
(org . t)
|
(org . t)
|
||||||
(shell . t)
|
(shell . t)
|
||||||
(python . t)))
|
(python . t)))
|
||||||
|
|
||||||
;; enable syntax highlighting:
|
;; enable syntax highlighting:
|
||||||
(setq org-src-fontify-natively t)
|
(setq org-src-fontify-natively t)
|
||||||
|
|
||||||
;; adjust indentations, set tabs as explicit 4 spaces:
|
;; adjust indentations, set tabs as explicit 4 spaces:
|
||||||
(setq-default indent-tabs-mode nil)
|
(setq-default indent-tabs-mode nil)
|
||||||
(setq default-tab-width 4)
|
(setq default-tab-width 4)
|
||||||
|
|
||||||
(setq custom-tab-width 4)
|
(setq custom-tab-width 4)
|
||||||
(setq-default python-indent-offset custom-tab-width)
|
(setq-default python-indent-offset custom-tab-width)
|
||||||
|
|
||||||
(setq org-edit-src-content-indentation 0)
|
(setq org-edit-src-content-indentation 0)
|
||||||
(setq org-src-tab-acts-natively t)
|
(setq org-src-tab-acts-natively t)
|
||||||
(setq org-src-preserve-indentation t)
|
(setq org-src-preserve-indentation t)
|
||||||
|
|
||||||
;; some comfort functions Suenkler mentions:
|
;; some comfort functions Suenkler mentions:
|
||||||
(delete-selection-mode 1)
|
(delete-selection-mode 1)
|
||||||
(defalias 'yes-or-no-p 'y-or-n-p)
|
(defalias 'yes-or-no-p 'y-or-n-p)
|
||||||
|
|
||||||
(show-paren-mode 1)
|
(show-paren-mode 1)
|
||||||
(setq show-paren-style 'parenthesis)
|
(setq show-paren-style 'parenthesis)
|
||||||
|
|
||||||
(column-number-mode nil)
|
(column-number-mode nil)
|
||||||
|
|
||||||
(setq org-src-fontify-natively t)
|
(setq org-src-fontify-natively t)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
|
|
@ -108,14 +108,14 @@
|
||||||
Makefile.
|
Makefile.
|
||||||
|
|
||||||
#+BEGIN_SRC makefile :tangle Makefile
|
#+BEGIN_SRC makefile :tangle Makefile
|
||||||
# GNU Make file for the automation of pytest for appendfilename.
|
# GNU Make file for the automation of pytest for appendfilename
|
||||||
#
|
#
|
||||||
# While the test script is written for Python 3.9.2, you might need to
|
# While the test script is written for Python 3.9.2, it depends on
|
||||||
# adjust the following instruction once in case your OS includes
|
# your installation of pytest (and in case of Linux, the authors of
|
||||||
# pytest for legacy Python 2 side by side to Python 3, or only hosts
|
# your distribution) if pytest for Python 3 is invoked either by
|
||||||
# pytest for Python 3. The tests in script test_appendfilename.py are
|
# pytest, or pytest-3. In some distributions, pytest actually may
|
||||||
# set up to work with pytest for Python 3; dependent on your
|
# invoke pyest for legacy Python 2; the tests in test_date2name.py
|
||||||
# installation, which may be named pytest-3, or (again) pytest.
|
# however are incompatible to this.
|
||||||
#
|
#
|
||||||
# Put this file like test_appendfilename.py in the root folder of
|
# Put this file like test_appendfilename.py in the root folder of
|
||||||
# appendfilename fetched from PyPi or GitHub. Then run
|
# appendfilename fetched from PyPi or GitHub. Then run
|
||||||
|
|
@ -127,8 +127,8 @@
|
||||||
# right after the first test failing, use the -x flag to the
|
# right after the first test failing, use the -x flag to the
|
||||||
# instructions on the CLI in addition to the verbosity flag to (-v).
|
# instructions on the CLI in addition to the verbosity flag to (-v).
|
||||||
|
|
||||||
# pytest -v test_appendfilename.py # only pytest for Python 3 is present
|
# pytest -v test_appendfilename.py # the pattern by pytest's manual
|
||||||
pytest-3 -v test_appendfilename.py # pytest if Python 2 and Python 3 coexist
|
pytest-3 -v test_appendfilename.py # the alternative pattern (e.g., Debian 12)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Building a pytest.ini
|
** Building a pytest.ini
|
||||||
|
|
@ -175,7 +175,7 @@ markers =
|
||||||
# author: nbehrnd@yahoo.com
|
# author: nbehrnd@yahoo.com
|
||||||
# license: GPL v3, 2022.
|
# license: GPL v3, 2022.
|
||||||
# date: 2022-01-05 (YYYY-MM-DD)
|
# date: 2022-01-05 (YYYY-MM-DD)
|
||||||
# edit: 2022-01-07 (YYYY-MM-DD)
|
# edit: 2022-01-09 (YYYY-MM-DD)
|
||||||
#
|
#
|
||||||
"""Test pad for functions by appendfilename with pytest.
|
"""Test pad for functions by appendfilename with pytest.
|
||||||
|
|
||||||
|
|
@ -213,7 +213,9 @@ PROGRAM = str("./appendfilename/__init__.py")
|
||||||
#+begin_src python :tangle test_appendfilename.py
|
#+begin_src python :tangle test_appendfilename.py
|
||||||
@pytest.mark.default
|
@pytest.mark.default
|
||||||
@pytest.mark.parametrize("arg1", ["test.txt", "2021-12-31_test.txt",
|
@pytest.mark.parametrize("arg1", ["test.txt", "2021-12-31_test.txt",
|
||||||
"2021-12-31T18.48.22_test.txt"])
|
"2021-12-31T18.48.22_test.txt",
|
||||||
|
"20211231_test.txt", "2012-12_test.txt",
|
||||||
|
"211231_test.txt"])
|
||||||
@pytest.mark.parametrize("arg2", ["-t book", "-t book_shelf",
|
@pytest.mark.parametrize("arg2", ["-t book", "-t book_shelf",
|
||||||
"--text book", "--text book_shelf"])
|
"--text book", "--text book_shelf"])
|
||||||
@pytest.mark.parametrize("arg3", [" ", "!", "@", "#", "$", "%", "*", "_", "+",
|
@pytest.mark.parametrize("arg3", [" ", "!", "@", "#", "$", "%", "*", "_", "+",
|
||||||
|
|
@ -251,7 +253,9 @@ def test_pattern_s1(arg1, arg2, arg3):
|
||||||
#+begin_src python :tangle test_appendfilename.py
|
#+begin_src python :tangle test_appendfilename.py
|
||||||
@pytest.mark.prepend
|
@pytest.mark.prepend
|
||||||
@pytest.mark.parametrize("arg1", ["test.txt", "2021-12-31_test.txt",
|
@pytest.mark.parametrize("arg1", ["test.txt", "2021-12-31_test.txt",
|
||||||
"2021-12-31T18.48.22_test.txt"])
|
"2021-12-31T18.48.22_test.txt",
|
||||||
|
"20211231_test.txt", "2012-12_test.txt",
|
||||||
|
"211231_test.txt"])
|
||||||
@pytest.mark.parametrize("arg2", ["-t book", "-t book_shelf",
|
@pytest.mark.parametrize("arg2", ["-t book", "-t book_shelf",
|
||||||
"--text book", "--text book_shelf"])
|
"--text book", "--text book_shelf"])
|
||||||
@pytest.mark.parametrize("arg3", [" ", "!", "@", "#", "$", "%", "*", "_", "+",
|
@pytest.mark.parametrize("arg3", [" ", "!", "@", "#", "$", "%", "*", "_", "+",
|
||||||
|
|
@ -291,7 +295,8 @@ def test_pattern_s2(arg1, arg2, arg3, arg4):
|
||||||
#+begin_src python :tangle test_appendfilename.py
|
#+begin_src python :tangle test_appendfilename.py
|
||||||
@pytest.mark.smart
|
@pytest.mark.smart
|
||||||
@pytest.mark.parametrize("arg1", ["test.txt", "2021-12-31_test.txt",
|
@pytest.mark.parametrize("arg1", ["test.txt", "2021-12-31_test.txt",
|
||||||
"2021-12-31T18.48.22_test.txt"])
|
"2021-12-31T18.48.22_test.txt", "20211231_test.txt",
|
||||||
|
"2021-12_test.txt", "211231_test.txt"])
|
||||||
@pytest.mark.parametrize("arg2", ["-t book", "-t book_shelf",
|
@pytest.mark.parametrize("arg2", ["-t book", "-t book_shelf",
|
||||||
"--text book", "--text book_shelf"])
|
"--text book", "--text book_shelf"])
|
||||||
@pytest.mark.parametrize("arg3", [" " , "#", "!", "@", "#", "$", "%", "*", "_", "+",
|
@pytest.mark.parametrize("arg3", [" " , "#", "!", "@", "#", "$", "%", "*", "_", "+",
|
||||||
|
|
@ -311,33 +316,57 @@ def test_pattern_s3_02(arg1, arg2, arg3):
|
||||||
newfile.write("This is a test file for test_appendfilename.")
|
newfile.write("This is a test file for test_appendfilename.")
|
||||||
|
|
||||||
test = getoutput(f"python3 {PROGRAM} {arg1} {arg2} --separator={arg3} --smart-prepend")
|
test = getoutput(f"python3 {PROGRAM} {arg1} {arg2} --separator={arg3} --smart-prepend")
|
||||||
|
|
||||||
# analysis section:
|
# analysis section:
|
||||||
old_filename = str(arg1)
|
old_filename = str(arg1)
|
||||||
|
|
||||||
if re.search("^\d{4}-\d{2}-\d{2}_", old_filename):
|
# test pattern issued by date2name vs. other pattern
|
||||||
# if (running date2name in default mode) then .true.
|
# default (YYYY-MM-DD)
|
||||||
time_stamp = old_filename[:10]
|
# --withtime (YYYY-MM-DDTHH.MM.SS)
|
||||||
time_stamp_separator = old_filename[10]
|
# --compact (YYYYMMDD)
|
||||||
file_extension = old_filename.split(".")[-1]
|
# --month (YYYY-MM)
|
||||||
|
# --short (YYMMDD)
|
||||||
|
if (re.search("^\d{4}-[012]\d-[0-3]\d_", old_filename) or
|
||||||
|
re.search('^\d{4}-[012]\d-[0-3]\dT[012]\d\.[0-5]\d\.[0-5]\d_', old_filename) or
|
||||||
|
re.search("^\d{4}[012]\d[0-3]\d_", old_filename) or
|
||||||
|
re.search("^\d{4}-[012]\d_", old_filename) or
|
||||||
|
re.search("^\d{2}[012]\d[0-3]\d_", old_filename)):
|
||||||
|
|
||||||
old_filename_no_timestamp = old_filename[11:]
|
if re.search("^\d{4}-\d{2}-\d{2}_", old_filename):
|
||||||
stem_elements = old_filename_no_timestamp.split(".")[:-1]
|
# if (running date2name in default mode) then .true.
|
||||||
stem = ".".join(stem_elements)
|
time_stamp = old_filename[:10]
|
||||||
|
time_stamp_separator = old_filename[10]
|
||||||
|
file_extension = old_filename.split(".")[-1]
|
||||||
|
old_filename_no_timestamp = old_filename[11:]
|
||||||
|
|
||||||
new_filename = "".join([time_stamp, arg3, text, arg3, stem, str("."), file_extension])
|
elif re.search('^\d{4}-\d{2}-\d{2}T\d{2}\.\d{2}\.\d{2}_', old_filename):
|
||||||
assert os.path.isfile(new_filename)
|
# if (running date2name --withtime) then .true.
|
||||||
|
time_stamp = old_filename[:19]
|
||||||
|
time_stamp_separator = old_filename[19]
|
||||||
|
file_extension = old_filename.split(".")[-1]
|
||||||
|
old_filename_no_timestamp = old_filename[20:]
|
||||||
|
|
||||||
os.remove(new_filename)
|
elif re.search("^\d{4}\d{2}\d{2}_", old_filename):
|
||||||
assert os.path.isfile(new_filename) is False
|
# if (running date2name --compact) then .true.
|
||||||
|
time_stamp = old_filename[:8]
|
||||||
|
time_stamp_separator = old_filename[8]
|
||||||
|
file_extension = old_filename.split(".")[-1]
|
||||||
|
old_filename_no_timestamp = old_filename[9:]
|
||||||
|
|
||||||
elif re.search('^\d{4}-\d{2}-\d{2}T\d{2}\.\d{2}\.\d{2}_', old_filename):
|
elif re.search("^\d{4}-\d{2}_", old_filename):
|
||||||
# if (running date2name --withtime) then .true.
|
# if (running date2name --month) then .true.
|
||||||
time_stamp = old_filename[:19]
|
time_stamp = old_filename[:7]
|
||||||
time_stamp_separator = old_filename[19]
|
time_stamp_separator = old_filename[7]
|
||||||
file_extension = old_filename.split(".")[-1]
|
file_extension = old_filename.split(".")[-1]
|
||||||
|
old_filename_no_timestamp = old_filename[8:]
|
||||||
|
|
||||||
|
elif re.search("^\d{4}\d{2}\d{2}_", old_filename):
|
||||||
|
# if (running date2name --short) then .true.
|
||||||
|
time_stamp = old_filename[:6]
|
||||||
|
time_stamp_separator = old_filename[6]
|
||||||
|
file_extension = old_filename.split(".")[-1]
|
||||||
|
old_filename_no_timestamp = old_filename[7:]
|
||||||
|
|
||||||
old_filename_no_timestamp = old_filename[20:]
|
|
||||||
stem_elements = old_filename_no_timestamp.split(".")[:-1]
|
stem_elements = old_filename_no_timestamp.split(".")[:-1]
|
||||||
stem = ".".join(stem_elements)
|
stem = ".".join(stem_elements)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue