本文整理汇总了Python中resource.Resource.get_media_name_list方法的典型用法代码示例。如果您正苦于以下问题:Python Resource.get_media_name_list方法的具体用法?Python Resource.get_media_name_list怎么用?Python Resource.get_media_name_list使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类resource.Resource
的用法示例。
在下文中一共展示了Resource.get_media_name_list方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from resource import Resource [as 别名]
# 或者: from resource.Resource import get_media_name_list [as 别名]
#.........这里部分代码省略.........
return False
observer.remove_observer(filterchain.execute)
filterchain.destroy()
del self.dct_exec[execution_name]
self._active_notify()
return True
def get_execution_list(self):
return self.dct_exec.keys()
def get_execution_info(self, execution_name):
exec_info = self.dct_exec.get(execution_name, None)
if not exec_info:
log.print_function(logger.error, "Cannot get execution info, it's empty.")
return None
class Exec_info: pass
o_exec_info = Exec_info()
setattr(o_exec_info, KEY_MEDIA, exec_info[KEY_MEDIA].get_name())
setattr(o_exec_info, KEY_FILTERCHAIN, exec_info[KEY_FILTERCHAIN].get_name())
return o_exec_info
def get_real_fps_execution(self, execution_name):
media = self._get_media(execution_name=execution_name)
if not media:
return -1
return media.get_real_fps()
##########################################################################
################################ MEDIA ###################################
##########################################################################
def get_media_list(self):
return {name: self.resource.get_media(name).get_type_media()
for name in self.resource.get_media_name_list()}
def cmd_to_media(self, media_name, cmd, value=None):
media = self._get_media(media_name=media_name)
if not media:
return False
if media.is_media_streaming():
log.print_function(logger.error, "Cannot send a command to a streaming media %s." % media_name)
return False
return media.do_cmd(cmd, value)
def get_info_media(self, media_name):
media = self._get_media(media_name=media_name)
if not media:
return {}
return media.get_info()
def start_record(self, media_name, path=None):
media = self._get_media(media_name=media_name)
if not media:
return False
if media.is_media_video():
log.print_function(logger.error, "Cannot start record to a media media %s." % media_name)
return False
return media.start_record(path=path)
def stop_record(self, media_name):
media = self._get_media(media_name=media_name)
if not media:
return False
if media.is_media_video():
log.print_function(logger.error, "Cannot stop record to a media media %s." % media_name)
return False
示例2: __init__
# 需要导入模块: from resource import Resource [as 别名]
# 或者: from resource.Resource import get_media_name_list [as 别名]
class CmdHandler:
def __init__(self):
"""
Structure of dct_execution
{"execution_name" : {KEY_FILTERCHAIN : ref, KEY_MEDIA : ref}}
"""
self.dct_exec = {}
self.config = Configuration()
self.resource = Resource()
# all record history, contains:
# {"time": ..., "media_name": ..., "path": ...}
self.lst_record_historic = []
self.count_keys = defaultdict(int)
self._is_keep_alive_media = self.config.get_is_keep_alive_media()
self.old_rec_dir_path = self.config.get_path_save_record()
# tcp server for output observer
self.nb_observer_client = 0
self.server_observer = Server()
self.server_observer.start("", 5030)
self.notify_event_client = {}
self.id_client_notify = 0
self.publisher = self.resource.get_publisher()
# launch command on start
thread.start_new_thread(self.config.get_dct_cmd_on_start(), (self,))
def get_publisher(self):
return self.publisher
def close(self):
logger.info("Close cmdHandler and close server.")
for media_name in self.resource.get_media_name_list():
media = self.resource.get_media(media_name)
media.close()
media.destroy()
self.server_observer.stop()
self.publisher.stop()
self.publisher.deregister(keys.get_key_execution_list())
self.publisher.deregister(keys.get_key_filter_param())
self.publisher.deregister(keys.get_key_media_param())
self.publisher.deregister(keys.get_key_lst_rec_historic())
self.publisher.deregister(keys.get_key_count())
@staticmethod
def _post_command_(arg):
funct_name = inspect.currentframe().f_back.f_code.co_name
del arg["self"]
# special case, observer is reference
if "observer" in arg:
arg["observer"] = "REF"
if arg:
logger.info("Request : %s - %s" % (funct_name, arg))
else:
logger.info("Request : %s" % funct_name)
#
# CLIENT ##################################
#
def is_connected(self):
self._post_command_(locals())
return True
#
# EXECUTION FILTER ################################
#
def start_filterchain_execution(
self, execution_name, media_name, filterchain_name, file_name,
is_client_manager):
self._post_command_(locals())
execution = self.dct_exec.get(execution_name, None)
if execution:
log.print_function(
logger.error, "The execution %s is already created." %
execution_name)
return False
filterchain = self.resource.get_filterchain(
filterchain_name,
force_new_filterchain=True)
if not filterchain:
log.print_function(
logger.error, "Filterchain %s not exist or contain error." %
filterchain_name)
return False
# Exception, if not media_name, we take the default media_name from the
# filterchain
if not media_name:
media_name = filterchain.get_default_media_name()
if not media_name:
media_name = self.config.get_default_media_name()
media = self.resource.get_media(media_name)
if not media:
log.print_function(
#.........这里部分代码省略.........