parameters: (self, snapshot, asset_code, namespace)
return_statement: return node_name
docstring: if possible get the node name from snapshot which is more accurate
docstring_summary: if possible get the node name from snapshot which is more accurate
docstring_tokens: if possible get the node name from snapshot which is more accurate
function: def get_node_name(self, snapshot, asset_code, namespace):
          ''' if possible get the node name from snapshot which is more accurate'''
          node_name = snapshot.get_node_name()
  
          if not node_name:
              naming = MayaNodeNaming()
              app_name = WebContainer.get_web().get_selected_app() 
              if app_name == "Maya":
                  naming = MayaNodeNaming()
              elif app_name == "XSI":
                  naming = XSINodeNaming()
              elif app_name == "Houdini":
                  naming = HoudiniNodeNaming()
              naming.set_asset_code(asset_code)
              naming.set_namespace(namespace)
  
              node_name = naming.build_node_name()
          return node_name
function_tokens: def get_node_name ( self , snapshot , asset_code , namespace ) : node_name = snapshot . get_node_name ( ) if not node_name : naming = MayaNodeNaming ( ) app_name = WebContainer . get_web ( ) . get_selected_app ( ) if app_name == "Maya" : naming = MayaNodeNaming ( ) elif app_name == "XSI" : naming = XSINodeNaming ( ) elif app_name == "Houdini" : naming = HoudiniNodeNaming ( ) naming . set_asset_code ( asset_code ) naming . set_namespace ( namespace ) node_name = naming . build_node_name ( ) return node_name