def execute(db_resource): # This works if there is a project set up already with the appropriate # db_resource. search_type = "table/foofoo?project=db2_test" search_type_obj = SearchType.get(search_type) search = Search(search_type) sobjects = search.get_sobjects() print "length: ", len(sobjects) # or (note that there is no project here). The two arguments # are sufficient to determine a search. Here we want to just "casually" # connect to a separate database resource. table = 'foofoo' search = db_resource.get_search(table) sobjects = search.get_sobjects() print "length: ", len(sobjects) for sobject in sobjects: print sobject.get_code(), sobject.get_value("description") table = 'widget_config' search = db_resource.get_search(table) sobjects = search.get_sobjects() print "length: ", len(sobjects) for sobject in sobjects: print sobject.get_code(), sobject.get_value("config") db_resource = DbResource(vendor="MySQL", database="fifi", user="******") introspect = DbIntrospect() introspect.register("fifi", db_resource) table = 'cards' search = db_resource.get_search(table) sobjects = search.get_sobjects() print "length: ", len(sobjects) for sobject in sobjects: print sobject.get_code(), sobject.get_value("description") print "sqlite: transaction_log" db_resource = DbResource.get_by_code('sqlite', 'sthpw') introspect = DbIntrospect() introspect.register("sqlite", db_resource) search = db_resource.get_search("transaction_log") sobjects = search.get_sobjects() print "length: ", len(sobjects) print "mysql: fifi" db_resource = DbResource.get_by_code('mysql', 'fifi') introspect = DbIntrospect() introspect.register("fifi", db_resource) search = db_resource.get_search("cards") sobjects = search.get_sobjects() print "length: ", len(sobjects) print "mysql: fifi" search_type = "table/node0?project=db3_test" search = Search(search_type) sobjects = search.get_sobjects() print "length: ", len(sobjects)
def get_db_resource_by_search_type(cls, search_type): if search_type.startswith('sthpw/'): # get the local db_resource from pyasm.security import Site site = Site.get_site() db_resource = None if site: db_resource = Site.get_db_resource(site, "sthpw") if not db_resource: db_resource = DbResource.get_default("sthpw") return db_resource project_code = cls.get_database_by_search_type(search_type) project = Project.get_by_code(project_code) if not project: raise Exception("Error: Project [%s] does not exist" % project_code) if search_type.startswith("salesforce/"): db_resource_code = "Salesforce" db_resource = DbResource.get_by_code(db_resource_code, project_code) return db_resource db_resource = project.get_project_db_resource() return db_resource
def execute(db_resource): # This works if there is a project set up already with the appropriate # db_resource. search_type = "table/foofoo?project=db2_test" search_type_obj = SearchType.get(search_type) search = Search(search_type) sobjects = search.get_sobjects() print "length: ", len(sobjects) # or (note that there is no project here). The two arguments # are sufficient to determine a search. Here we want to just "casually" # connect to a separate database resource. table = 'foofoo' search = db_resource.get_search(table) sobjects = search.get_sobjects() print "length: ", len(sobjects) for sobject in sobjects: print sobject.get_code(), sobject.get_value("description") table = 'widget_config' search = db_resource.get_search(table) sobjects = search.get_sobjects() print "length: ", len(sobjects) for sobject in sobjects: print sobject.get_code(), sobject.get_value("config") db_resource = DbResource(vendor="MySQL", database="fifi", user="******") introspect = DbIntrospect() introspect.register("fifi", db_resource) table = 'cards' search = db_resource.get_search(table) sobjects = search.get_sobjects() print "length: ", len(sobjects) for sobject in sobjects: print sobject.get_code(), sobject.get_value("description") print "sqlite: transaction_log" db_resource = DbResource.get_by_code('sqlite','sthpw') introspect = DbIntrospect() introspect.register("sqlite", db_resource) search = db_resource.get_search("transaction_log") sobjects = search.get_sobjects() print "length: ", len(sobjects) print "mysql: fifi" db_resource = DbResource.get_by_code('mysql','fifi') introspect = DbIntrospect() introspect.register("fifi", db_resource) search = db_resource.get_search("cards") sobjects = search.get_sobjects() print "length: ", len(sobjects) print "mysql: fifi" search_type = "table/node0?project=db3_test" search = Search(search_type) sobjects = search.get_sobjects() print "length: ", len(sobjects)