Add mimetype based icons
This commit is contained in:
38
util/processIcons.py
Normal file
38
util/processIcons.py
Normal file
@@ -0,0 +1,38 @@
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
def runCommand(command):
|
||||
process = subprocess.Popen(command.split(), stdout=subprocess.PIPE)
|
||||
output, error = process.communicate()
|
||||
return output.decode('utf-8')
|
||||
|
||||
def probeMimetype(filepath):
|
||||
return runCommand("file -b --mime-type " + filepath).strip()
|
||||
|
||||
def getMimetypes(directory):
|
||||
return ((file, probeMimetype(os.path.join(directory, file))) for file in os.listdir(directory))
|
||||
|
||||
def getLinkReference(filepath):
|
||||
return runCommand("readlink " + filepath)
|
||||
|
||||
def convertFile(input, output):
|
||||
runCommand(f'convert -background none {input} {output}')
|
||||
|
||||
if __name__ == '__main__':
|
||||
inputdir = '../icons/Papirus/64x64/mimetypes'
|
||||
outputdir = './src/main/resources/graphics/filetreeicons'
|
||||
for (file, mimetype) in getMimetypes(inputdir):
|
||||
if mimetype == 'inode/symlink':
|
||||
convertFile(
|
||||
f'{inputdir}/{getLinkReference(inputdir + "/" + file)}',
|
||||
f'{outputdir}/{file[:-4]}.png'
|
||||
)
|
||||
elif mimetype == 'image/svg+xml':
|
||||
convertFile(
|
||||
f'{inputdir}/{file}',
|
||||
f'{outputdir}/{file[:-4]}.png'
|
||||
)
|
||||
else:
|
||||
print(f"[ERROR]: {file} - {mimetype}")
|
||||
|
||||
convertFile('../icons/Papirus/64x64/places/folder-blue.svg', './src/main/resources/graphics/folder2.png')
|
||||
Reference in New Issue
Block a user