Add support for multiple arguments #5

Merged
rissson merged 1 commits from master into master 2018-12-06 06:17:30 +01:00
2 changed files with 48 additions and 17 deletions
+30
View File
@@ -10,6 +10,8 @@
ad [path file or folder]
```
And it supports multiple arguments!
## Example
```bash
@@ -32,6 +34,34 @@ airport/
│ ├── captain.txt
```
---
```bash
ad airport/ train-station/train.txt
```
```
airport/
├── plane/
train-station/
├── train.txt
```
---
```bash
# If your shell supports arguments expansion
ad airport/plane/{captain,passenger}.txt
```
```
airport/
├── plane/
│ ├── captain.txt
│ ├── passenger.txt
```
---
## Install
+18 -17
View File
@@ -6,25 +6,26 @@ import os
import click
@click.command()
@click.argument('path')
@click.argument('paths', nargs=-1)
@click.option('-cd/--change', is_flag=True, default=False, help='After creating the directories, change to the new deeper directory.')
def advance_touch(path, cd):
""" Make folder and files """
# Make folders
new_dirs = '/'.join(path.split('/')[0:-1])
if not os.path.exists(new_dirs) and new_dirs != '':
os.makedirs(new_dirs)
# Change directory
if cd:
cd_path = os.path.join(os.getcwd(), new_dirs) + '/'
os.chdir(cd_path)
def advance_touch(paths, cd):
""" Make folders and files """
for path in paths:
# Make folders
new_dirs = '/'.join(path.split('/')[0:-1])
if not os.path.exists(new_dirs) and new_dirs != '':
os.makedirs(new_dirs)
# Change directory
if cd:
cd_path = os.path.join(os.getcwd(), new_dirs) + '/'
os.chdir(cd_path)
# Make file
if not path.endswith('/') and not os.path.isfile(path):
try:
open(path, 'w+').close()
except IsADirectoryError:
pass
# Make file
if not path.endswith('/') and not os.path.isfile(path):
try:
open(path, 'w+').close()
except IsADirectoryError:
pass
if __name__ == '__main__':
advance_touch()