Skip to content

Instantly share code, notes, and snippets.

@carlozamagni
Last active October 22, 2015 15:58
Show Gist options
  • Save carlozamagni/e410c3e14b8e6c836749 to your computer and use it in GitHub Desktop.
Save carlozamagni/e410c3e14b8e6c836749 to your computer and use it in GitHub Desktop.
Merges auto generated code from multiple files into a single swift class
import os
__author__ = 'carlozamagni'
BASE_PATH = os.getcwd()
def merge_files(path, package_name):
files = [f for f in os.listdir(path) if os.path.isfile(os.path.join(path,f))]
package_code = ''
header = 'public struct {0}'.format(package_name) + '{\n\r'
for f in files:
with open(os.path.join(path,f)) as current:
content = ''.join(line for line in current)
package_code += content
package_code = '{}{}{}'.format(header, package_code, '}')
print(package_code)
with open(os.path.join(BASE_PATH, '{}.swift'.format(package_name)), 'wb') as outfile:
outfile.write(package_code)
if __name__ == '__main__':
for package in os.listdir(BASE_PATH):
if '.idea' in package:
continue
path = os.path.join(BASE_PATH, package)
if os.path.isdir(path) is True:
merge_files(path, package)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment