44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
|
|
||
|
import sys
|
||
|
import os.path
|
||
|
|
||
|
if (len(sys.argv) != 4):
|
||
|
print "rails2grunt type rails_file grunt.json"
|
||
|
sys.exit()
|
||
|
|
||
|
file_type = sys.argv[1]
|
||
|
rails_file = sys.argv[2];
|
||
|
rails_path = os.path.abspath(rails_file)
|
||
|
name = os.path.basename(rails_file).split('.')[0]
|
||
|
|
||
|
def normalize(f):
|
||
|
return f \
|
||
|
.replace('../../../lib/assets/javascripts/', 'javascripts/') \
|
||
|
.replace('../../../vendor/assets/javascripts/', 'javascripts/vendor/')
|
||
|
|
||
|
lines = []
|
||
|
for x in open(rails_file):
|
||
|
tk = x.strip().split(' ')
|
||
|
if tk[0] == '//=' or tk[0] == '*=':
|
||
|
f = tk[2].replace("//=", "").replace("*=", "")
|
||
|
if tk[1] == 'require':
|
||
|
if '/' not in f:
|
||
|
if file_type == 'scss':
|
||
|
lines.append("'vendor/assets/stylesheets/" + f + ".css',")
|
||
|
else:
|
||
|
lines.append("'vendor/assets/javascripts/" + f + ".js',")
|
||
|
else:
|
||
|
if file_type == 'scss':
|
||
|
lines.append("'%s'," % (normalize(f) + ".scss"))
|
||
|
else:
|
||
|
lines.append("'%s'," % (normalize(f) + ".js"))
|
||
|
elif tk[1] == 'require_tree':
|
||
|
if file_type == 'scss':
|
||
|
lines.append("'%s'," % (normalize(f) + "/**/*.scss"))
|
||
|
else:
|
||
|
lines.append("'%s'," % (normalize(f) + "/**/*.js"))
|
||
|
|
||
|
print "%s: [\n%s\n]" % (name, '\n'.join(lines)[:-1])
|
||
|
|
||
|
|