efdir 0.0.24
Installation
$ pip3 install efdir
License
MIT
Quickstart
pip3 install efdir
edit a cfg.rst file using bullet-list as below:
run cmd efdir cfg.rst wkdir
Usage
fobj
from efdir import fobj
# creat a dir
fo = fobj.F('tstdir')
fo
#>>> fo
#/opt/PY3/EFDIR/TEST/tstdir
# creat subdir
fo.subdir0
fo.subdir1
fo.sub#<TAB>
#>>> fo.subdir0
#/opt/PY3/EFDIR/TEST/tstdir/subdir0
#>>> fo.subdir1
#/opt/PY3/EFDIR/TEST/tstdir/subdir1
#>>>
#>>> fo.subdir
#fo.subdir0 fo.subdir1
#>>> fo.subdir
fo.subdir0.dir10
fo.subdir0.dir11
fo.subdir0.dir12
#>>> fo.subdir0.dir10
#/opt/PY3/EFDIR/TEST/tstdir/subdir0/dir10
#>>> fo.subdir0.dir11
#/opt/PY3/EFDIR/TEST/tstdir/subdir0/dir11
#>>> fo.subdir0.dir12
#/opt/PY3/EFDIR/TEST/tstdir/subdir0/dir12
#>>>
#check
import os
os.system('tree tstdir')
#>>> import os
#>>> os.system('tree tstdir')
#tstdir
#├── subdir0
#│ ├── dir10
#│ ├── dir11
#│ └── dir12
#└── subdir1>>> import os
#
#rename
fo.subdir0 = "subdir00"
fo.subdir#<TAB>
#>>> fo.subdir0 = "subdir00"
#>>> fo.subdir
#fo.subdir00 fo.subdir1
#>>> fo.subdir
#rmdir
del fo.subdir1
os.system('tree tstdir')
#>>> del fo.subdir1
#/opt/PY3/EFDIR/TEST/tstdir/subdir1
#>>>
#>>> os.system('tree tstdir')
#tstdir
#└── subdir00
# ├── dir10
# ├── dir11
# └── dir12
# parent
fo.subdir00.dir12.__parent
fo.subdir00.dir12.__parent.__parent
fo.subdir00.dir12.__parent.__parent.__parent
# >>> fo.subdir00.dir12.__parent
# /tstdir/subdir00
# >>> fo.subdir00.dir12.__parent.__parent
# /tstdir
# >>> fo.subdir00.dir12.__parent.__parent.__parent
# null
# >>>
using .rst
import efdir.mktree as emk
# if the name end with a "$", it means this is a file, such as "xx$", will touch a empty file named xx
# else, it means this is a dir ,will make a dir
rst_cfg = """
- a
- b
- xx$
- yy
- zz
- c
- d
- e
- f
"""
emk.mktree(rst_cfg,"./wkdir")
#or directly from a cfg.rst file(filename must end with .rst)
emk.fmktree("./cfg.rst","./wkdir")
######################
TEST# tree wkdir
wkdir
├── a
│ ├── b
│ │ ├── xx
│ │ ├── yy
│ │ └── zz
│ ├── c
│ └── d
├── e
└── f
8 directories, 1 file
######################
using .json
import efdir.mktree as emk
# if the name end with a "$", it means this is a file, such as "init.sh$", will touch a empty file named init.sh
# else, it means this is a dir ,will make a dir
json_cfg = {
"REPO":{
"BACKUP" : {},
"DRAFT" : {},
"INIT" : {
"init.sh$":{}
},
"EDICT" : {
"IMGS":{
"img0.desc$":{},
"img1.desc$":{}
},
"DETAILS":{
"1.info$":{},
"2.info$":{}
},
"edict.py$":{}
},
"setup.py$":{},
"README.md$":{},
"LICENSE$":{},
"install.sh$":{},
"uninstall.sh$":{},
"update.sh$":{},
"pypiupload.sh$":{}
}
}
emk.mktree(json_cfg,"./wkdir")
#or directly from a cfg.json file(filename must end with .rst)
emk.fmktree("./cfg.json","./wkdir")
from cmdline
root@# efdir cfg.rst "rstwkdir"
root@# tree rstwkdir
root@# efdir cfg.json "jsonwkdir"
root@# tree jsonwkdir
Features
mktree from .rst bullet-list config
mktree from .json config
References
docutils
shutil
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.