@@ -381,12 +381,14 @@ def visit_Import(self, node):
381381 writer .write ( 'if __NODEJS__==True and typeof(Worker)=="undefined": Worker = require("workerjs")' )
382382
383383 elif alias .asname :
384- writer .write ( '''inline("var %s = requirejs('%s')")''' % (alias .asname , alias .name ) )
384+ #writer.write( '''inline("var %s = requirejs('%s')")''' %(alias.asname, alias.name) )
385+ writer .write ( '''inline("var %s = require('%s')")''' % (alias .asname , alias .name .replace ('__DASH__' , '-' )) )
385386
386387 elif '.' in alias .name :
387388 raise NotImplementedError ('import with dot not yet supported: line %s' % node .lineno )
388389 else :
389- writer .write ( '''inline("var %s = requirejs('%s')")''' % (alias .name , alias .name ) )
390+ #writer.write( '''inline("var %s = requirejs('%s')")''' %(alias.name, alias.name) )
391+ writer .write ( '''inline("var %s = require('%s')")''' % (alias .name , alias .name ) )
390392
391393 def visit_ImportFrom (self , node ):
392394 if self ._with_dart :
@@ -1145,6 +1147,8 @@ def visit_TryExcept(self, node):
11451147 map (self .visit , node .body )
11461148 writer .pull ()
11471149 map (self .visit , node .handlers )
1150+ if len (node .handlers )== 0 :
1151+ raise SyntaxError (self .format_error ('no except handlers' ))
11481152
11491153 def visit_Raise (self , node ):
11501154 #if self._with_js or self._with_dart:
@@ -2693,19 +2697,6 @@ def visit_FunctionDef(self, node):
26932697 writer .write ('self.onmessage = onmessage' )
26942698
26952699
2696- if return_type or return_type_keywords :
2697- if return_type_keywords and return_type :
2698- kw = ['%s=%s' % (k ,v ) for k ,v in return_type_keywords .items ()]
2699- writer .write ('@returns(%s, %s)' % (return_type ,',' .join (kw )) )
2700- elif return_type_keywords :
2701- writer .write ('@returns(%s)' % ',' .join ( ['%s=%s' % (k ,v ) for k ,v in return_type_keywords .items ()] ))
2702- else :
2703- writer .write ('@returns(%s)' % return_type )
2704-
2705- if gpu_vectorize :
2706- writer .write ('@gpu.vectorize' )
2707- if gpu_method :
2708- writer .write ('@gpu.method' )
27092700
27102701 ## force python variable scope, and pass user type information to second stage of translation.
27112702 ## the dart backend can use this extra type information.
@@ -2718,6 +2709,7 @@ def visit_FunctionDef(self, node):
27182709 raise SyntaxError ( self .format_error (err ) )
27192710
27202711 local_vars = local_vars - global_vars
2712+ inlined_long = False
27212713 if local_vars :
27222714 args_typedefs = []
27232715 args = [ a .id for a in node .args .args ]
@@ -2730,7 +2722,8 @@ def visit_FunctionDef(self, node):
27302722 t = t [0 ].upper () + t [1 :]
27312723 v = '%s=%s' % (n ,t ) ## reverse
27322724 local_typedef_names .add ( n )
2733- if t == 'long' :
2725+ if t == 'long' and inlined_long == False :
2726+ inlined_long = True
27342727 writer .write ('''inline("if (__NODEJS__==true) var long = require('long')")''' ) ## this is ugly
27352728
27362729 if n in args :
@@ -2744,6 +2737,24 @@ def visit_FunctionDef(self, node):
27442737 writer .write ('@__typedef__(%s)' % ',' .join (args_typedefs ))
27452738
27462739
2740+ if not self ._with_dart and not self ._with_lua and not self ._with_js and not javascript and not self ._with_glsl :
2741+ writer .write ('@__pyfunction__' )
2742+
2743+ if return_type or return_type_keywords :
2744+ if return_type_keywords and return_type :
2745+ kw = ['%s=%s' % (k ,v ) for k ,v in return_type_keywords .items ()]
2746+ writer .write ('@returns(%s, %s)' % (return_type ,',' .join (kw )) )
2747+ elif return_type_keywords :
2748+ writer .write ('@returns(%s)' % ',' .join ( ['%s=%s' % (k ,v ) for k ,v in return_type_keywords .items ()] ))
2749+ else :
2750+ writer .write ('@returns(%s)' % return_type )
2751+
2752+ if gpu_vectorize :
2753+ writer .write ('@gpu.vectorize' )
2754+ if gpu_method :
2755+ writer .write ('@gpu.method' )
2756+
2757+
27472758 if self ._with_dart :
27482759 ## dart supports optional positional params [x=1, y=2], or optional named {x:1, y:2}
27492760 ## but not both at the same time.
@@ -3087,8 +3098,8 @@ def visit_FunctionDef(self, node):
30873098
30883099 writer .pull () ## end function body
30893100
3090- if not self ._with_dart and not self ._with_lua and not self ._with_js and not javascript and not self ._with_glsl :
3091- writer .write ('%s.pythonscript_function=True' % node .name )
3101+ # if not self._with_dart and not self._with_lua and not self._with_js and not javascript and not self._with_glsl:
3102+ # writer.write('%s.pythonscript_function=True'%node.name)
30923103
30933104
30943105 if gpu :
0 commit comments