本文整理汇总了Python中pyasm.search.SearchType.get方法的典型用法代码示例。如果您正苦于以下问题:Python SearchType.get方法的具体用法?Python SearchType.get怎么用?Python SearchType.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyasm.search.SearchType
的用法示例。
在下文中一共展示了SearchType.get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def __init__(my, search_type, config_base, input_prefix='', config=None):
if type(search_type) in types.StringTypes:
my.search_type_obj = SearchType.get(search_type)
my.search_type = search_type
elif isinstance(search_type, SearchType):
my.search_type_obj = search_type
my.search_type = my.search_type_obj.get_base_key()
elif inspect.isclass(search_type) and issubclass(search_type, SObject):
my.search_type_obj = SearchType.get(search_type.SEARCH_TYPE)
my.search_type = my.search_type_obj.get_base_key()
else:
raise LayoutException('search_type must be a string or an sobject')
my.config = config
my.config_base = config_base
my.input_prefix = input_prefix
my.element_names = []
my.element_titles = []
from pyasm.web import DivWdg
my.top = DivWdg()
# Layout widgets compartmentalize their widgets in sections for drawing
my.sections = {}
super(BaseConfigWdg,my).__init__()
示例2: get_logins_by_id
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def get_logins_by_id(note_id):
login_in_group = SearchType.get(LoginInGroup.SEARCH_TYPE)
group_note = SearchType.get(GroupNotification.SEARCH_TYPE)
search = Search(Login.SEARCH_TYPE)
query_str = ''
if isinstance(note_id, list):
query_str = "in (%s)" %",".join([str(id) for id in note_id])
else:
query_str = "= %d" %note_id
search.add_where('''"login" in (select "login" from "%s" where "login_group" in (select "login_group" from "%s" where "notification_id" %s)) ''' % (login_in_group.get_table(), group_note.get_table(), query_str))
return search.get_sobjects()
示例3: get_display
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def get_display(my):
widget = Widget()
div = DivWdg(css="filter_box")
show_span = SpanWdg(css="med")
show_span.add("Show All Types: ")
checkbox = FilterCheckboxWdg("show_all_types")
checkbox.set_persistence()
show_span.add(checkbox)
show_all_types = checkbox.get_value()
div.add(show_span)
span = SpanWdg(css="med")
span.add("Search Type: ")
select = SelectWdg("filter|search_type")
select.add_empty_option("-- Select --")
project = Project.get()
project_type = project.get_base_type()
search = Search("sthpw/search_object")
if show_all_types:
search.add_where(
"""
namespace = '%s' or namespace = '%s' or search_type in ('sthpw/task')
"""
% (project_type, project.get_code())
)
else:
# show only the custom ones
search.add_filter("namespace", project.get_code())
search.add_order_by("title")
sobjects = search.get_sobjects()
select.set_sobjects_for_options(sobjects, "search_type", "title")
# select.set_option("query", "sthpw/search_object|search_type|title")
select.set_persistence()
select.add_event("onchange", "document.form.submit()")
search_type = select.get_value()
span.add(select)
div.add(span)
# make sure the current selection exists
try:
SearchType.get(search_type)
except SearchException, e:
return div
示例4: copy_sobject
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def copy_sobject(my, sobject, dst_search_type, context=None, checkin_mode='inplace'):
new_sobject = SearchType.create(dst_search_type)
search_type = SearchType.get(dst_search_type)
columns = SearchType.get_columns(dst_search_type)
data = sobject.get_data()
for name, value in data.items():
if name in ['id','pipeline_code']:
continue
if name not in columns:
continue
if not value:
continue
if name == "code":
value = Common.get_next_sobject_code(sobject, 'code')
if not value:
continue
new_sobject.set_value(name, value)
if SearchType.column_exists(dst_search_type, "project_code"):
project_code = Project.get_project_code()
new_sobject.set_value("project_code", project_code)
new_sobject.commit()
# get all of the current snapshots and file paths associated
if not context:
snapshots = Snapshot.get_all_current_by_sobject(sobject)
else:
snapshots = [Snapshot.get_current_by_sobject(sobject, context)]
if not snapshots:
return
msgs = []
for snapshot in snapshots:
#file_paths = snapshot.get_all_lib_paths()
file_paths_dict = snapshot.get_all_paths_dict()
file_types = file_paths_dict.keys()
if not file_types:
continue
# make sure the paths match the file_types
file_paths = [file_paths_dict.get(x)[0] for x in file_types]
mode = checkin_mode
# checkin the files (inplace)
try:
context = snapshot.get_value('context')
checkin = FileCheckin(new_sobject, context=context, file_paths=file_paths, file_types=file_types, mode=mode)
checkin.execute()
#print "done: ", context, new_sobject.get_related_sobjects("sthpw/snapshot")
except CheckinException, e:
msgs.append('Post-process Check-in Error for %s: %s ' %(context, e.__str__()))
示例5: has_table
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def has_table(my, search_type):
if isinstance(search_type, basestring):
search_type = SearchType.get(search_type)
# in search type database == project
project_code = search_type.get_project_code()
# get the db_resource for this project
db_resource = my.get_project_db_resource()
# get the table
table = search_type.get_table()
if not table:
return False
try:
# looking up a database's tables other than the current one
sql = DbContainer.get(db_resource)
tables = sql.get_tables()
has_table = table in tables
except Exception, e:
print "WARNING: in Project.has_table(): table [%s] not found" % table
print "Message: ", e
has_table = False
示例6: get_columns
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def get_columns(my, required_only=False):
if my.search_type == 'sthpw/virtual':
return []
search_type_obj = SearchType.get(my.search_type)
table = search_type_obj.get_table()
from pyasm.biz import Project
db_resource = Project.get_db_resource_by_search_type(my.search_type)
database_name = db_resource.get_database()
db = DbContainer.get(db_resource)
# table may not exist
try:
all_columns = db.get_columns(table)
columns = []
if required_only:
nullables = db.get_column_nullables(table)
for column in all_columns:
null_ok = nullables.get(column)
if not null_ok:
columns.append(column)
# if there are no required columns
if not columns:
columns = all_columns
else:
columns = all_columns
except SqlException:
Environment.add_warning('missing table', 'Table [%s] does not exist in database [%s]' %(table, database_name))
return []
return columns
示例7: get_by_search_type
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def get_by_search_type(cls, search_type, project_code=''):
# make sure this is a be search type
assert search_type
search_type_obj = SearchType.get(search_type)
if not search_type_obj:
return []
search_type = search_type_obj.get_base_key()
cache_key = "%s|%s" % (search_type, project_code)
# commenting out until we have a full implementation of
# project pipelines
"""
search = Search("config/pipeline")
if search_type:
search.add_filter("search_type", search_type)
search.add_project_filter(project_code)
pipelines = cls.get_by_search(search, cache_key, is_multi=True)
"""
search = Search("sthpw/pipeline")
if search_type:
search.add_filter("search_type", search_type)
search.add_project_filter(project_code)
pipelines = cls.get_by_search(search, cache_key, is_multi=True)
if not pipelines:
return []
for pipe in pipelines:
code = pipe.get_code()
cls.cache_sobject('sthpw/pipeline|%s' %code, pipe)
return pipelines
示例8: get_display
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def get_display(self):
#project = Project.get()
schema = Schema.get()
# no hierarchy to prevent all sthpw and parent sTypes
search_type_names = schema.get_search_types(hierarchy=False)
search = Search('sthpw/search_object')
search.add_filters('search_type', search_type_names)
search_types = search.get_sobjects()
task_search_type = SearchType.get("sthpw/task")
search_types.append(task_search_type)
values = [ x.get_value("search_type") for x in search_types]
labels = []
for x in search_types:
label = "%s (%s)" % (x.get_value("title"), x.get_value("search_type"))
labels.append(label)
sobject = self.get_current_sobject()
if not sobject:
value = ""
else:
value = sobject.get_value(self.get_name() )
self.set_option("values", values)
self.set_option("labels", labels)
self.add_empty_option("-- Select --")
if value:
self.set_value(value)
return super(SearchTypeInputWdg, self).get_display()
示例9: delete
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def delete(my,log=False):
column = my.get_value("name")
search_type = my.get_value("search_type")
search_type_obj = SearchType.get(search_type)
table = search_type_obj.get_table()
database = search_type_obj.get_database()
# remove it from the table
if log:
AlterTableUndo.log_drop(database, table, column)
sql = DbContainer.get(database)
try:
from pyasm.search.sql import Sql
if Sql.get_database_type() == 'SQLServer':
statement = 'ALTER TABLE [%s] DROP "%s" %s' % \
(table, column)
else:
statement = 'ALTER TABLE "%s" DROP COLUMN "%s"' % (table, column)
sql.do_update(statement)
except SqlException, e:
print("WARNING: %s" % e )
示例10: get_display
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def get_display(my):
widget = Widget()
if not my.select:
return widget
if not my.schema:
Environment.add_warning("No schema defined")
widget.add("No schema defined")
return widget
if not my.search_type:
Environment.add_warning("HierarchicalFilterWdg: Cannot find current search_type")
widget.add("Cannot find current search_type")
return widget
span = SpanWdg(css="med")
parent_type = my.get_parent_type()
if parent_type:
parent_type_obj = SearchType.get(parent_type)
span.add("%s: " % parent_type_obj.get_value("title"))
# assume that there is a code in the parent
my.select.add_empty_option("-- Select --")
my.select.set_option("query", "%s|code|code" % my.parent_type)
span.add(my.select)
widget.add(span)
return widget
示例11: get_groups_by_code
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def get_groups_by_code(note_code):
group_note = SearchType.get(GroupNotification.SEARCH_TYPE)
search = Search(LoginGroup.SEARCH_TYPE)
search.add_where('''"login_group" in (select "login_group" from "%s" where "notification_code" = '%s')''' %(group_note.get_table(), note_code))
return search.get_sobjects()
示例12: prod_render
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def prod_render(my, dirs):
dirs = my.get_default(dirs)
search_type = SearchType.get( my.sobject.get_value("search_type") )
table = search_type.get_table()
dirs.append( table )
base_search_type = search_type.get_base_search_type()
parent = my.sobject.get_parent()
if base_search_type =='prod/layer':
shot_code = parent.get_value('shot_code')
name = parent.get_value('name')
dirs.append(shot_code)
dirs.append(name)
else:
code = parent.get_code()
dirs.append( code )
if my.snapshot:
version = my.snapshot.get_value("version")
if not version:
version = 1
dirs.append("v%0.3d" % int(version))
return dirs
示例13: get_display
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def get_display(my):
project = Project.get()
search_types = project.get_search_types()
task_search_type = SearchType.get("sthpw/task")
search_types.append(task_search_type)
values = [ x.get_value("search_type") for x in search_types]
labels = []
for x in search_types:
label = "%s (%s)" % (x.get_value("title"), x.get_value("search_type"))
labels.append(label)
sobject = my.get_current_sobject()
if not sobject:
value = ""
else:
value = sobject.get_value(my.get_name() )
my.set_option("values", values)
my.set_option("labels", labels)
my.add_empty_option("-- Select --")
if value:
my.set_value(value)
return super(SearchTypeInputWdg, my).get_display()
示例14: get_sobjects_by_node
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def get_sobjects_by_node(my, node):
# get the sobjects
search_type = my.xml.get_attribute(node, "search_type")
expr = my.xml.get_attribute(node, "expression")
code = my.xml.get_attribute(node, "code")
try:
search_type = SearchType.get(search_type)
except SearchException, e:
return []
示例15: get_data_type
# 需要导入模块: from pyasm.search import SearchType [as 别名]
# 或者: from pyasm.search.SearchType import get [as 别名]
def get_data_type(cls, search_type, attr_type):
search_type_obj = SearchType.get(search_type)
db_resource = Project.get_db_resource_by_search_type(search_type)
sql = DbContainer.get(db_resource)
impl = sql.get_database_impl()
# SearchType Manager and Add Widget Column use mixed upper and
# lowercases for the following attr_type, so fix it at some point
if not attr_type:
attr_type = "varchar"
if attr_type == "integer":
data_type = impl.get_int()
elif attr_type == "float":
data_type = "float"
elif attr_type == "boolean":
data_type = impl.get_boolean()
elif attr_type == "link":
data_type = "text"
elif attr_type.startswith('varchar'):
data_type = attr_type
elif attr_type == 'time':
data_type = impl.get_timestamp()
elif attr_type in ["Date", "date"]:
data_type = impl.get_timestamp()
elif attr_type == "Category":
data_type = "varchar(256)"
elif attr_type in ["text", "Text"]:
data_type = impl.get_text()
elif attr_type in ["Date Range", 'timestamp']:
data_type = impl.get_timestamp()
elif attr_type == "Checkbox":
data_type = "varchar(256)"
elif attr_type in ["Foreign Key", "foreign_key"]:
data_type = "varchar(256)"
elif attr_type in ["List", "list"]:
data_type = "varchar(512)"
elif attr_type == "Name/Code":
data_type = "varchar(256)"
elif attr_type == "Number":
data_type = impl.get_int()
elif attr_type in ["currency", "scientific", "percent"]:
data_type = "float"
elif attr_type == "timecode":
data_type = impl.get_int()
else:
#data_type = "varchar(256)"
data_type = impl.get_varchar()
return data_type