def Handle(self, args, token=None): iop_cls = instant_output_plugin.InstantOutputPlugin plugin_cls = iop_cls.GetPluginClassByPluginName(args.plugin_name) flow_urn = args.flow_id.ResolveClientFlowURN(args.client_id, token=token) output_collection = flow.GRRFlow.TypedResultCollectionForFID( flow_urn, token=token) plugin = plugin_cls(source_urn=flow_urn, token=token) content_generator = instant_output_plugin.ApplyPluginToMultiTypeCollection( plugin, output_collection, source_urn=args.client_id.ToClientURN()) return api_call_handler_base.ApiBinaryStream( plugin.output_file_name, content_generator=content_generator)
def Handle(self, args, token=None): iop_cls = instant_output_plugin.InstantOutputPlugin plugin_cls = iop_cls.GetPluginClassByPluginName(args.plugin_name) hunt_urn = args.hunt_id.ToURN() try: aff4.FACTORY.Open( hunt_urn, aff4_type=hunts.GRRHunt, mode="rw", token=token) except aff4.InstantiationError: raise HuntNotFoundError("Hunt with id %s could not be found" % args.hunt_id) output_collection = implementation.GRRHunt.TypedResultCollectionForHID( hunt_urn, token=token) plugin = plugin_cls(source_urn=hunt_urn, token=token) return api_call_handler_base.ApiBinaryStream( plugin.output_file_name, content_generator= instant_output_plugin.ApplyPluginToMultiTypeCollection( plugin, output_collection))
def ProcessPlugin(self): return list( instant_output_plugin.ApplyPluginToMultiTypeCollection( self.plugin, self.collection))
def ProcessPlugin(self, source_urn=None): return list( instant_output_plugin.ApplyPluginToMultiTypeCollection( self.plugin, self.collection, source_urn=source_urn))