def __init__(self, sysname=None, orgname=None, config=None): self.orgname = orgname or get_safe(config, 'system.root_org', 'ION') sysname = sysname or get_default_sysname() self.datastore_name = "resources" self.datastore = DatastoreFactory.get_datastore(datastore_name=self.datastore_name, config=config, scope=sysname, profile=DataStore.DS_PROFILE.RESOURCES, variant=DatastoreFactory.DS_BASE)
def __init__(self, sysname=None, orgname=None, config=None): self.orgname = orgname or get_safe(config, 'system.root_org', 'ION') sysname = sysname or get_default_sysname() self.datastore_name = "resources" self.datastore = DatastoreFactory.get_datastore(datastore_name=self.datastore_name, config=config, scope=sysname, profile=DataStore.DS_PROFILE.DIRECTORY, variant=DatastoreFactory.DS_BASE)
def __init__(self, sysname=None, orgname=None, config=None): self.orgname = orgname or get_safe(config, 'system.root_org', 'ION') sysname = sysname or get_default_sysname() self.datastore_name = "resources" self.datastore = CouchDataStore(self.datastore_name, config=config, scope=sysname) try: self.datastore.read_doc("_design/directory") except NotFound: self.datastore.define_profile_views("RESOURCES")
def setUp(self): self.opts = Object() self.opts.system_name = get_default_sysname() self.opts.force = True self.opts.objectdoc = True self.opts.read_from_yaml_file = True self.opts.dryrun = True self.mog = MessageObjectGenerator(system_name=self.opts.system_name, read_from_yaml_file=self.opts.read_from_yaml_file)
def setUp(self): self.opts = Object() self.opts.system_name = get_default_sysname() self.opts.force = True self.opts.objectdoc = True self.opts.read_from_yaml_file = True self.opts.dryrun = True self.mog = MessageObjectGenerator( system_name=self.opts.system_name, read_from_yaml_file=self.opts.read_from_yaml_file)
def __init__(self, sysname=None, orgname=None, config=None): self.orgname = orgname or get_safe(config, "system.root_org", "ION") sysname = sysname or get_default_sysname() self.datastore_name = "resources" self.datastore = DatastoreFactory.get_datastore( datastore_name=self.datastore_name, config=config, scope=sysname, profile=DataStore.DS_PROFILE.DIRECTORY, variant=DatastoreFactory.DS_BASE, )
def get_sys_name(): if sys_name: return sys_name if is_testing(): testing_sys_name = "ion_test_%s" % str(uuid.uuid4())[0:6] set_sys_name(testing_sys_name) return testing_sys_name else: from pyon.util.containers import get_default_sysname default_sys_name = get_default_sysname() set_sys_name(default_sys_name) return default_sys_name
def __init__(self, broker, username, password, vhost='/', sysname=None, timeout=None, port=5672, ssl=False): try: from pyon.net.messaging import make_node from pyon.net.endpoint import RPCClient from pyon.util.containers import get_default_sysname import pyon.core.exception as pyonexception except ImportError: raise CeiClientError("Pyon isn't available in your environment") self.pyonexception = pyonexception self.RPCClient = RPCClient self.connection_params = { 'host': broker, 'username': username, 'password': password, 'vhost': vhost, 'port': port } self.timeout = timeout self.sysname = sysname or get_default_sysname() node, ioloop = make_node(connection_params=self.connection_params, timeout=self.timeout) interceptor_config = { 'interceptors': { 'encode': { 'class': 'pyon.core.interceptor.encode.EncodeInterceptor' } }, 'stack': { 'message_incoming': ['encode'], 'message_outgoing': ['encode'] } } node.setup_interceptors(interceptor_config) self.pyon_node = node self.pyon_ioloop = ioloop
def get_sys_name(): if sys_name: return sys_name if CFG.get_safe("system.name"): # If CFG is already loaded and system.name is set use it cfg_sys_name = CFG.get_safe("system.name") set_sys_name(cfg_sys_name) return cfg_sys_name elif is_testing(): # if is_testing(): # If no sysname is specified and we are testing, create a unique one testing_sys_name = "ion_test_%s" % str(uuid.uuid4())[0:6] set_sys_name(testing_sys_name) return testing_sys_name else: # If no sysname is specified and we are standalone, use a hostname derived sysname from pyon.util.containers import get_default_sysname default_sys_name = get_default_sysname() set_sys_name(default_sys_name) return default_sys_name
def main(): parser = argparse.ArgumentParser() parser.add_argument( '-f', '--force', action='store_true', help='Do not do MD5 comparisons, always generate new files') parser.add_argument('-d', '--dryrun', action='store_true', help='Do not generate new files, just print status and' ' exit with 1 if changes need to be made') parser.add_argument('-sd', '--servicedoc', action='store_true', help='Generate HTML service doc inclusion files') parser.add_argument('-od', '--objectdoc', action='store_true', help='Generate HTML object doc files') parser.add_argument('-s', '--sysname', action='store', help='System name') parser.add_argument( '-ry', '--read_from_yaml_file', action='store_true', help='Read configuration from YAML files instead of datastore - Default' ) parser.add_argument('-rd', '--read_from_datastore', action='store_true', help='Read configuration from datastore.') parser.add_argument('-c', '--no_check', action='store_true', help='Do not check import all source modules') opts = parser.parse_args() print "generate_interfaces: SciON interface generator with options:", str( opts) print "generate_interfaces: Create directories and cleaning up..." opts.system_name = opts.sysname or get_default_sysname() from pyon.core import bootstrap bootstrap.testing = False opts.force = True if not opts.read_from_datastore and not opts.read_from_yaml_file: opts.read_from_yaml_file = True elif opts.read_from_datastore: opts.read_from_yaml_file = False #print "Forcing --force, we keep changing generate_interfaces!" model_object = ObjectModelGenerator( system_name=opts.system_name, read_from_yaml_file=opts.read_from_yaml_file) message_object = MessageObjectGenerator( system_name=opts.system_name, read_from_yaml_file=opts.read_from_yaml_file) service_object = ServiceObjectGenerator( system_name=opts.system_name, read_from_yaml_file=opts.read_from_yaml_file) if os.getcwd().endswith('scripts'): sys.exit('This script needs to be run from the pyon root.') # Create dir service_dir, interface_dir = 'obj/services', 'interface' if not os.path.exists(interface_dir): os.makedirs(interface_dir) # Clear old generated files files = os.listdir(interface_dir) for file in fnmatch.filter(files, '*.pyc'): os.unlink(os.path.join(interface_dir, file)) for file in fnmatch.filter(files, '*.html'): os.unlink(os.path.join(interface_dir, file)) open(os.path.join(interface_dir, '__init__.py'), 'w').close() # Generate objects print "generate_interfaces: Generating object interfaces from object definitions..." model_object.generate(opts) print "generate_interfaces: Generating message interfaces from service definitions..." message_object.generate(opts) print "generate_interfaces: Generating service interfaces from service definitions..." exitcode = service_object.generate(opts) #print "generate_interfaces: Completed with exit code:", exitcode sys.exit(exitcode)
def __init__(self, sysname=None, orgname=None, config=None): self.orgname = orgname or config['system']['root_org'] if config else 'ION' or 'ION' sysname = sysname or get_default_sysname() self.database_name = sysname + "_directory" self.datastore = CouchdbStandalone(database_name=self.database_name, config=config)
def main(): parser = argparse.ArgumentParser() parser.add_argument('-f', '--force', action='store_true', help='Do not do MD5 comparisons, always generate new files') parser.add_argument('-d', '--dryrun', action='store_true', help='Do not generate new files, just print status and' ' exit with 1 if changes need to be made') parser.add_argument('-sd', '--servicedoc', action='store_true', help='Generate HTML service doc inclusion files') parser.add_argument('-od', '--objectdoc', action='store_true', help='Generate HTML object doc files') parser.add_argument('-s', '--sysname', action='store', help='System name') parser.add_argument('-ry', '--read_from_yaml_file', action='store_true', help='Read configuration from YAML files instead of datastore - Default') parser.add_argument('-rd', '--read_from_datastore', action='store_true', help='Read configuration from datastore.') parser.add_argument('-c', '--no_check', action='store_true', help='Do not check import all source modules') opts = parser.parse_args() print "generate_interfaces: SciON interface generator with options:" , str(opts) print "generate_interfaces: Create directories and cleaning up..." opts.system_name = opts.sysname or get_default_sysname() from pyon.core import bootstrap bootstrap.testing = False opts.force = True if not opts.read_from_datastore and not opts.read_from_yaml_file: opts.read_from_yaml_file = True elif opts.read_from_datastore: opts.read_from_yaml_file = False #print "Forcing --force, we keep changing generate_interfaces!" model_object = ObjectModelGenerator(system_name=opts.system_name, read_from_yaml_file=opts.read_from_yaml_file) message_object = MessageObjectGenerator(system_name=opts.system_name, read_from_yaml_file=opts.read_from_yaml_file) service_object = ServiceObjectGenerator(system_name=opts.system_name, read_from_yaml_file=opts.read_from_yaml_file) if os.getcwd().endswith('scripts'): sys.exit('This script needs to be run from the pyon root.') # Create dir service_dir, interface_dir = 'obj/services', 'interface' if not os.path.exists(interface_dir): os.makedirs(interface_dir) # Clear old generated files files = os.listdir(interface_dir) for file in fnmatch.filter(files, '*.pyc'): os.unlink(os.path.join(interface_dir, file)) for file in fnmatch.filter(files, '*.html'): os.unlink(os.path.join(interface_dir, file)) open(os.path.join(interface_dir, '__init__.py'), 'w').close() # Generate objects print "generate_interfaces: Generating object interfaces from object definitions..." model_object.generate(opts) print "generate_interfaces: Generating message interfaces from service definitions..." message_object.generate(opts) print "generate_interfaces: Generating service interfaces from service definitions..." exitcode = service_object.generate(opts) #print "generate_interfaces: Completed with exit code:", exitcode sys.exit(exitcode)