8 namespace Fossology\Scancode\Ui;
11 use Symfony\Component\HttpFoundation\Request;
15 const SCAN_FLAG =
'-';
17 public function __construct()
19 $this->Name =
"agent_scancode";
20 $this->Title = _(
"Scancode Toolkit");
21 $this->AgentName =
"scancode";
23 parent::__construct();
33 $renderer = $GLOBALS[
'container']->get(
'twig.environment');
34 return $renderer->load(
'scancode.html.twig')->render($vars);
47 public function getScriptIncludes(&$vars)
69 $dependencies = array();
70 $flags = $request->get(
'scancodeFlags') ?: array();
71 $unpackArgs = intval($request->get(
'scm', 0)) == 1 ?
'I' :
'';
76 if (!empty($unpackArgs)) {
77 $dependencies[] =
'agent_mimetype';
79 return parent::AgentAdd($jobId, $uploadId, $errorMsg, array_unique($dependencies) , $args);
91 foreach ($flags as $flag) {
108 if (empty($scanMode)) {
111 if (!empty($unpackArgs)) {
112 $scanMode .= $unpackArgs;
114 return self::SCAN_FLAG . $scanMode;
123 return CheckARS($uploadId, $this->AgentName,
"scancode agent",
"scancode_ars");
134 foreach ($dependencies as $dependency) {
135 if ($dependency == $agentName) {
138 if (is_array($dependency) && $agentName == $dependency[
'name']) {
151 menu_insert(
"ParmAgents::" . $this->Title, 0, $this->Name);
162 return file_exists(
"/home/" .
163 $SysConf[
'DIRECTORIES'][
'PROJECTUSER'] .
"/pythondeps/bin/scancode");
167 $scanCode =
new ScancodesAgentPlugin();
168 if ($scanCode->isScanCodeInstalled()) {
169 register_plugin($scanCode);
getScanCodeArgs($flags, $unpackArgs)
scheduleAgent($jobId, $uploadId, &$errorMsg, $request)
Schedule scancode agent.
renderContent(&$vars)
Render HTML from template.
renderFoot(&$vars)
Render footer HTML.
AgentHasResults($uploadId=0)
isAgentIncluded($dependencies, $agentName)
CheckARS($upload_pk, $AgentName, $AgentDesc, $AgentARSTableName)
Check the ARS table to see if an agent has successfully scanned an upload.