Skip to content

Instantly share code, notes, and snippets.

@devforey
Created April 15, 2019 09:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save devforey/ed0792d33df970d898b4d41032c3ff37 to your computer and use it in GitHub Desktop.
Save devforey/ed0792d33df970d898b4d41032c3ff37 to your computer and use it in GitHub Desktop.
#region imports
import getopt
import os
import glob
import sys
#endregion
#region defaults
INDEX_MD_NAME = '_index'
DAFTAR_HARGA_MD_NAME = 'daftar-harga'
ignoreMdFiles = [INDEX_MD_NAME, DAFTAR_HARGA_MD_NAME]
#endregion
#region utils
def getFileName(filePath):
base = os.path.basename(filePath)
return os.path.splitext(base)[0]
def getDirectory(filePath):
return os.path.dirname(filePath)
def createFolder(directory):
try:
if not os.path.exists(directory):
os.makedirs(directory)
except OSError:
print ('Error: Creating directory. ' + directory)
#endregion
#region parse arguments
fullCmdArguments = sys.argv
argumentList = fullCmdArguments[1:]
unixOptions = "d:"
gnuOptions = ["directory="]
try:
arguments, values = getopt.getopt(argumentList, unixOptions, gnuOptions)
except getopt.error as err:
print (str(err))
sys.exit(2)
for currentArgument, currentValue in arguments:
if currentArgument in ("-d", "--directory"):
directory = currentValue
#endregion
#region get .md files to replace
mdFiles = glob.glob(directory + "**/*.md")
#endregion
#region create a folder named by name of .md file
for mdFile in mdFiles:
fileName = getFileName(mdFile)
directory = getDirectory(mdFile)
if fileName in ignoreMdFiles:
continue
createFolder(directory + '/' + fileName)
os.rename(mdFile, directory + '/' + fileName + '/' + '_index.md')
#endregion
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment