Added js Dependency Builder
This commit is contained in:
parent
6163bb00a5
commit
5b1792ae98
1 changed files with 23 additions and 0 deletions
23
cgi-bin/webnotes/utils/jsdependency.py
Normal file
23
cgi-bin/webnotes/utils/jsdependency.py
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
class jsDependencyBuilder:
|
||||
def read_code(self,js_path):
|
||||
try:
|
||||
f = open(js_path)
|
||||
try:
|
||||
code = f.read()
|
||||
finally:
|
||||
f.close
|
||||
except Exception, e:
|
||||
raise e
|
||||
return code
|
||||
def read_imports(self,code):
|
||||
import re
|
||||
p = re.compile('\$import\(\' (?P<name> [^)]*)\' \)', re.VERBOSE)
|
||||
return p.findall(code)
|
||||
def build_dependency(self,js_path,depends= set()):
|
||||
code = self.read_code(js_path)
|
||||
curdepend = self.read_imports(code)
|
||||
for i in curdepend:
|
||||
if i not in depends:
|
||||
depends.add(i)
|
||||
depends = depends.union( self.build_dependency(i,depends))
|
||||
return depends
|
||||
Loading…
Add table
Reference in a new issue