本文整理汇总了Python中pyasm.common.Environment.get_asset_dirs方法的典型用法代码示例。如果您正苦于以下问题:Python Environment.get_asset_dirs方法的具体用法?Python Environment.get_asset_dirs怎么用?Python Environment.get_asset_dirs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyasm.common.Environment
的用法示例。
在下文中一共展示了Environment.get_asset_dirs方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _test_base_dir_alias
# 需要导入模块: from pyasm.common import Environment [as 别名]
# 或者: from pyasm.common.Environment import get_asset_dirs [as 别名]
def _test_base_dir_alias(my):
Config.set_value("checkin", "asset_base_dir", {
'default': '/tmp/tactic/default',
'alias': '/tmp/tactic/alias',
'alias2': '/tmp/tactic/alias2',
});
asset_dict = Environment.get_asset_dirs()
default_dir = asset_dict.get("default")
my.assertEquals( "/tmp/tactic/default", default_dir)
aliases = asset_dict.keys()
# "plugins" is assumed in some branch
if 'plugins' in aliases:
my.assertEquals( 4, len(aliases))
else:
my.assertEquals( 3, len(aliases))
my.assertNotEquals( None, "alias" in aliases )
# create a naming
naming = SearchType.create("config/naming")
naming.set_value("search_type", "unittest/person")
naming.set_value("context", "alias")
naming.set_value("dir_naming", "alias")
naming.set_value("file_naming", "text.txt")
naming.set_value("base_dir_alias", "alias")
naming.commit()
# create 2nd naming where
naming = SearchType.create("config/naming")
naming.set_value("search_type", "unittest/person")
naming.set_value("context", "alias2")
naming.set_value("dir_naming", "alias2")
naming.set_value("base_dir_alias", "alias2")
naming.set_value("file_naming", "text.txt")
naming.set_value("checkin_type", "auto")
naming.commit()
my.clear_naming()
# create a new test.txt file
for context in ['alias', 'alias2']:
file_path = "./test.txt"
file = open(file_path, 'w')
file.write("whatever")
file.close()
checkin = FileCheckin(my.person, file_path, context=context)
checkin.execute()
snapshot = checkin.get_snapshot()
lib_dir = snapshot.get_lib_dir()
expected = "/tmp/tactic/%s/%s" % (context, context)
my.assertEquals(expected, lib_dir)
path = "%s/text.txt" % (lib_dir)
exists = os.path.exists(path)
my.assertEquals(True, exists)
示例2: get_base_dir
# 需要导入模块: from pyasm.common import Environment [as 别名]
# 或者: from pyasm.common.Environment import get_asset_dirs [as 别名]
def get_base_dir(my, protocol=None, alias="default"):
'''get the default base directory for this sobject'''
dirs = []
base_dir = ''
client_os = Environment.get_env_object().get_client_os()
if client_os == 'nt':
prefix = "win32"
else:
prefix = "linux"
if not alias:
alias = "default"
if not protocol:
protocol = my.protocol
if protocol == "http":
repo_handler = my.sobject.get_repo_handler(my.snapshot)
if repo_handler.is_tactic_repo():
base_dir = Environment.get_web_dir(alias=alias)
else:
alias_dict = Config.get_dict_value("perforce", "web_base_dir")
base_dir = alias_dict.get(alias)
if not base_dir:
asset_alias_dict = Environment.get_asset_dirs()
base_dir = asset_alias_dict.get(alias)
base_dir = "/%s" % os.path.basename(base_dir)
if not base_dir:
base_dir = alias_dict.get("default")
if not base_dir:
base_dir = "/assets"
elif protocol == "remote":
# NOTE: currently needs web to get the full http base url
base_dir = Environment.get_env_object().get_base_url().to_string()
sub_dir = my.get_base_dir(protocol='http', alias=alias)
base_dir = "%s%s" % (base_dir, sub_dir[0])
elif protocol == "file":
base_dir = Environment.get_asset_dir(alias=alias)
elif protocol == "env":
base_dir = "$TACTIC_ASSET_DIR"
# This is the central repository as seen from the client
elif protocol in ["client_lib", "client_repo"]:
base_dir = my.get_custom_setting('%s_client_repo_dir' % prefix)
if not base_dir:
alias_dict = Config.get_dict_value("checkin", "%s_client_repo_dir" % prefix)
base_dir = alias_dict.get(alias)
if not base_dir:
base_dir = Environment.get_asset_dir()
# DEPRECATED: The local repo. This one has logic to add "repo" dir
# at the end. Use local_repo which does not have this logic.
# keeping this around for backward compatibility
elif protocol == "local":
remote_repo = my.get_remote_repo()
if remote_repo:
#base_dir = remote_repo.get_value("repo_base_dir")
base_dir = Environment.get_asset_dir()
else:
if Environment.get_env_object().get_client_os() =='nt':
base_dir = Config.get_value("checkin","win32_local_base_dir")
else:
base_dir = Config.get_value("checkin","linux_local_base_dir")
base_dir += "/repo"
# The local repo
elif protocol == "local_repo":
remote_repo = my.get_remote_repo()
if remote_repo:
base_dir = remote_repo.get_value("repo_base_dir")
else:
if Environment.get_env_object().get_client_os() =='nt':
base_dir = Config.get_value("checkin","win32_local_repo_dir")
else:
base_dir = Config.get_value("checkin","linux_local_repo_dir")
if not base_dir:
base_dir = Environment.get_asset_dir()
elif protocol == "sandbox":
remote_repo = my.get_remote_repo()
if remote_repo:
base_dir = remote_repo.get_value("sandbox_base_dir")
#.........这里部分代码省略.........