Skip to content

Instantly share code, notes, and snippets.

@thinkAmi
Created October 30, 2012 21:31
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 thinkAmi/3983205 to your computer and use it in GitHub Desktop.
Save thinkAmi/3983205 to your computer and use it in GitHub Desktop.
GAEのソースコードをGitHubで公開するときに、applicatoinを削除するコード
# -*- coding: utf-8 -*-
import sys
import yaml
from collections import OrderedDict
# OrderedDictを出力するための関数
def represent_odict(dumper, instance):
return dumper.represent_mapping(u'tag:yaml.org,2002:map', instance.items())
# OrderedDictを読み込むための関数
def construct_odict(loader, node):
return OrderedDict(loader.construct_pairs(node))
def main(path, convertedPath):
# 記述順で読み込めるようにadd_constructorで設定
yaml.add_constructor(u'tag:yaml.org,2002:map', construct_odict)
data = yaml.load(open(path).read().decode('utf-8'))
data['application'] = u'<your application id>'
# OrderedDictを出力できるように、add_representerにて設定
yaml.add_representer(OrderedDict, represent_odict)
yaml.dump(
data,
file(convertedPath, 'w'),
default_flow_style=False,
encoding='utf-8',
allow_unicode=True
)
if __name__ == '__main__':
if len(sys.argv) < 2:
print 'Usage: %s [filename]' % sys.argv[0]
sys.exit(1)
path = sys.argv[1]
convertedPath = path.replace('.yaml', '_forGitHub.yaml', path.rindex('.'))
main(path, convertedPath)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment