efdir 0.0.24

Creator: bradpython12

Last updated:

Add to Cart

Description:

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

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files:

Customer Reviews

There are no reviews.