Compare commits
2 Commits
7b7f6438d4
...
4094b73f6f
Author | SHA1 | Date | |
---|---|---|---|
4094b73f6f | |||
f31b1b2705 |
23
.vscode/launch.json
vendored
Normal file
23
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Python: Module",
|
||||||
|
"type": "python",
|
||||||
|
"request": "launch",
|
||||||
|
"module": "renamebycsv.cli",
|
||||||
|
"args": [
|
||||||
|
"${workspaceFolder}/tests/resources/files",
|
||||||
|
"group\\d+-\\w-(\\d+)\\.txt",
|
||||||
|
"${workspaceFolder}/tests/resources/groups.csv",
|
||||||
|
"target",
|
||||||
|
"replaced",
|
||||||
|
"-d"
|
||||||
|
],
|
||||||
|
"justMyCode": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -50,10 +50,17 @@ def rename(
|
|||||||
raise Exception("Duplicate current key.")
|
raise Exception("Duplicate current key.")
|
||||||
replacement_dict[row[current_col_ind]] = row[become_col_ind]
|
replacement_dict[row[current_col_ind]] = row[become_col_ind]
|
||||||
for subitem_path, subitem, match in candidates:
|
for subitem_path, subitem, match in candidates:
|
||||||
|
if match.group(1) not in replacement_dict:
|
||||||
|
logging.warning(
|
||||||
|
'Group "%s" was not matched to any row in the provided CSV. '
|
||||||
|
"Skipping...",
|
||||||
|
match.group(1)
|
||||||
|
)
|
||||||
|
continue
|
||||||
original = subitem_path
|
original = subitem_path
|
||||||
objective = os.path.join(
|
objective = os.path.join(
|
||||||
os.path.dirname(subitem_path),
|
os.path.dirname(subitem_path),
|
||||||
re.sub(match.re, replacement_dict[match.group(1)], subitem),
|
re.sub(match.re, replacement_dict[match.group(1)], subitem.strip()),
|
||||||
)
|
)
|
||||||
if keep_extension:
|
if keep_extension:
|
||||||
objective += os.path.splitext(subitem_path)[1]
|
objective += os.path.splitext(subitem_path)[1]
|
||||||
|
1
tests/resources/files/foo.txt
Normal file
1
tests/resources/files/foo.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Text
|
2
tests/resources/files/group1-a-12.txt
Normal file
2
tests/resources/files/group1-a-12.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
Text
|
1
tests/resources/files/group1-a-13.txt
Normal file
1
tests/resources/files/group1-a-13.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Text
|
1
tests/resources/files/group1-b-10.txt
Normal file
1
tests/resources/files/group1-b-10.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Text
|
1
tests/resources/files/group1-b-11.txt
Normal file
1
tests/resources/files/group1-b-11.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Text
|
1
tests/resources/files/group1-b-14.txt
Normal file
1
tests/resources/files/group1-b-14.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Text
|
1
tests/resources/files/group1-b-9.txt
Normal file
1
tests/resources/files/group1-b-9.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Text
|
6
tests/resources/groups.csv
Normal file
6
tests/resources/groups.csv
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
target,replaced
|
||||||
|
9,a
|
||||||
|
10,b
|
||||||
|
11,c
|
||||||
|
12,d
|
||||||
|
13,e
|
|
Loading…
x
Reference in New Issue
Block a user