mirror of
https://github.com/nmap/nmap.git
synced 2025-12-29 19:09:01 +00:00
Let zenmapCore.ScriptMetadata retrieve script authors in list syntax.
This commit is contained in:
@@ -339,7 +339,7 @@ class ScriptMetadata (object):
|
|||||||
self.categories = []
|
self.categories = []
|
||||||
self.arguments = [] # Arguments including library arguments.
|
self.arguments = [] # Arguments including library arguments.
|
||||||
self.license = ""
|
self.license = ""
|
||||||
self.author = ""
|
self.author = []
|
||||||
self.description = ""
|
self.description = ""
|
||||||
self.output = ""
|
self.output = ""
|
||||||
self.usage = ""
|
self.usage = ""
|
||||||
@@ -359,7 +359,8 @@ class ScriptMetadata (object):
|
|||||||
entry.description = self.get_string_variable(filename, "description")
|
entry.description = self.get_string_variable(filename, "description")
|
||||||
entry.arguments = self.get_arguments(entry.filename)
|
entry.arguments = self.get_arguments(entry.filename)
|
||||||
entry.license = self.get_string_variable(filename, "license")
|
entry.license = self.get_string_variable(filename, "license")
|
||||||
entry.author = self.get_string_variable(filename, "author")
|
entry.author = self.get_list_variable(filename, "author") or [
|
||||||
|
self.get_string_variable(filename, "author")]
|
||||||
|
|
||||||
filepath = os.path.join(self.scripts_dir, filename)
|
filepath = os.path.join(self.scripts_dir, filename)
|
||||||
f = open(filepath, "r")
|
f = open(filepath, "r")
|
||||||
@@ -398,6 +399,19 @@ class ScriptMetadata (object):
|
|||||||
return m.group(2)
|
return m.group(2)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
def get_list_variable(self, filename, varname):
|
||||||
|
contents = ScriptMetadata.get_file_contents(
|
||||||
|
os.path.join(self.scripts_dir, filename))
|
||||||
|
m = re.search(
|
||||||
|
re.escape(varname) + r'\s*=\s*\{(.*?)}', contents)
|
||||||
|
if not m:
|
||||||
|
return None
|
||||||
|
strings = m.group(1)
|
||||||
|
out = []
|
||||||
|
for m in re.finditer(r'(["\'])(.*?[^\\])\1\s*,?', strings, re.S):
|
||||||
|
out.append(m.group(2))
|
||||||
|
return out
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_requires(filename):
|
def get_requires(filename):
|
||||||
f = open(filename, "r")
|
f = open(filename, "r")
|
||||||
|
|||||||
Reference in New Issue
Block a user