mirror of
https://github.com/mumble-voip/mumble.git
synced 2025-10-26 11:19:16 +00:00
Add generate-qrc.py script as a rcc -project replacement
One can use rcc -project to emit .qrc files for the contents of a directory. However this functionality seems to be woefully incomplete to the point of being broken. This small python script offers the same functionality with more options to customize and configure behaviour. This includes custom prefixes, better handling of qrc file path vs. alias and exclusions.
This commit is contained in:
parent
83b6071597
commit
65c1affbdc
46
scripts/generate-qrc.py
Executable file
46
scripts/generate-qrc.py
Executable file
@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
#
|
||||
# Improved version of rcc --project
|
||||
#
|
||||
import sys
|
||||
import os
|
||||
import re
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(description='Improved version of rcc --project')
|
||||
parser.add_argument('theme')
|
||||
parser.add_argument('--cwd', default='.')
|
||||
parser.add_argument('--prefix', default='')
|
||||
parser.add_argument('--output', '-o')
|
||||
parser.add_argument('--include', '-i', default='.*', help='Default inclusion regex')
|
||||
parser.add_argument('--exclude', '-e', default='a^', help='Default exclusion regex')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
out = sys.stdout
|
||||
if args.output:
|
||||
out = open(args.output, 'w')
|
||||
|
||||
print>>out, '<!DOCTYPE RCC>'
|
||||
print>>out, '<RCC version=\"1.0\">'
|
||||
print>>out, '<qresource prefix="%s">' % args.prefix
|
||||
|
||||
include = re.compile(args.include)
|
||||
exclude = re.compile(args.exclude)
|
||||
|
||||
os.chdir(args.cwd)
|
||||
for (dirpath, dirnames, filenames) in os.walk(args.theme):
|
||||
for f in filenames:
|
||||
path = os.path.join(dirpath, f)
|
||||
relpath = os.path.relpath(path, args.theme)
|
||||
|
||||
if not include.search(relpath):
|
||||
continue
|
||||
|
||||
if exclude.search(relpath):
|
||||
continue
|
||||
|
||||
print>>out, ' <file alias="%s">%s</file>' % (relpath, path)
|
||||
print>>out, '</qresource>'
|
||||
print>>out, '</RCC>'
|
||||
Loading…
Reference in New Issue
Block a user