Skip to content
This repository has been archived by the owner on Nov 2, 2020. It is now read-only.

Added support for multiple suffixes. Added support for scandinavian a… #219

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion commands/jump_to_keyword.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ def run(self, edit):
db_dir = get_setting(SettingObject.table_dir)
index_db = get_setting(SettingObject.index_dir)
rf_cell = get_rf_table_separator(self.view)
rf_extension = get_setting(SettingObject.extension)
rf_extension = tuple(get_setting(SettingObject.extension))
index_file = get_index_file(open_tab)
jump_to_file = JumpToFile()
line, column = get_line(self.view)
Expand Down
8 changes: 5 additions & 3 deletions commands/scan.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@ def scan_popen_arg_parser(mode):
arg_list.append(mode)
arg_list.append('--db_path')
arg_list.append(get_setting(SettingObject.table_dir))
arg_list.append('--extension')
arg_list.append(get_setting(SettingObject.extension))
for ext in get_setting(SettingObject.extension):
arg_list.append('--extension')
arg_list.append(ext)
arg_list.append('--path_to_lib_in_xml')
arg_list.append(get_setting(SettingObject.lib_in_xml))
arg_list.append('--module_search_path')
Expand Down Expand Up @@ -48,6 +49,7 @@ def run_scan(self, log_file):
p_args = scan_popen_arg_parser('all')
p_args.append('--workspace')
p_args.append(get_setting(SettingObject.workspace))
print("This is the log file: %s" % log_file)
p = subprocess.Popen(
p_args,
stderr=subprocess.STDOUT,
Expand All @@ -58,6 +60,6 @@ def run_scan(self, log_file):
if rc != 0:
print('See log file from database directory for details')
raise ValueError('Error in scanning result code: {0}'.format(rc))
message = 'Scaning done with rc: {0}'.format(rc)
message = 'Scanning done with rc: {0}'.format(rc)
sublime.status_message(message)
print(message)
10 changes: 5 additions & 5 deletions commands/scan_open_tab.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ def run_single_scan(self, open_tab, log_file):
if not rc == 0:
print('See log file from database directory for details')
raise ValueError('Error in scanning result code: {0}'.format(rc))
message = 'Scaning done with rc: {0}'.format(rc)
message = 'Scanning done with rc: {0}'.format(rc)
sublime.status_message(message)
print(message)

Expand All @@ -60,7 +60,7 @@ def file_in_workspace(self, open_tab):
workspace = path.normcase(workspace)
open_tab = path.normcase(open_tab)
extension = get_setting(SettingObject.extension)
if open_tab.endswith(extension):
return open_tab.startswith(workspace)
else:
return False
for ext in extension:
if open_tab.endswith(ext):
return open_tab.startswith(workspace)
return False
17 changes: 16 additions & 1 deletion dataparser/data_parser/data_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@
from os import path
import xml.etree.ElementTree as ET
from tempfile import mkdtemp
import sys
import logging
import inspect
from parser_utils.util import normalise_path
from db_json_settings import DBJsonSetting


logging.basicConfig(
format='%(levelname)s:%(asctime)s: %(message)s',
level=logging.DEBUG)
Expand Down Expand Up @@ -110,14 +112,27 @@ def parse_library(self, library, args=None):
else:
raise ValueError('Unknown library')
else:
data[DBJsonSetting.library_module] = library
library, data = self._locate_file_from_path(library, data)
data[DBJsonSetting.keywords] = self._parse_python_lib(
library, data[DBJsonSetting.arguments])
if data[DBJsonSetting.keywords] is None:
raise ValueError('Library did not contain keywords')
else:
return data

@staticmethod
def _locate_file_from_path(library, data):
file_name = path.basename(library)
for path_ in sys.path:
file_path = path.join(path_, file_name)
if path.isfile(file_path):
data[DBJsonSetting.file_name] = path.basename(file_path)
data[DBJsonSetting.library_module] = path.splitext(
data[DBJsonSetting.file_name])[0]
return file_path, data
data[DBJsonSetting.library_module] = library
return library, data

def register_console_logger(self):
ROBOT_LOGGER.register_console_logger()

Expand Down
8 changes: 6 additions & 2 deletions dataparser/index/index.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ def create_index(self, db_path, t_name, table_name):
logging.warning('Error finding: %s', path.join(db_path, t_name))
logging.debug('When creating index for: %s', table_name)
elif read_status == 2:
logging.error('Unknow ValueError on %s', t_name)
logging.error('Unknown ValueError on %s', t_name)
if data:
logging.debug(data)
else:
Expand Down Expand Up @@ -195,6 +195,7 @@ def get_library_imports(self, data):
lib_import,
lib_args
)
logging.info("Library import successful. %s" % lib_import)
except ValueError:
message = ('Unable to parse library "{0}"'
', with args: "{1}"'.format(lib_import, lib_args))
Expand Down Expand Up @@ -232,7 +233,9 @@ def get_kw_arguments(self, kw_args):
"""Formats keyword arguments to suite completions"""
pattern = re.compile('(?:[\@\$\&]\{)(.+)(?:\})')
comletion_args = []

for arg in kw_args:

arg_name, arg_default = self.split_arg(arg)
match = pattern.search(arg_name)
if not match:
Expand All @@ -242,7 +245,8 @@ def get_kw_arguments(self, kw_args):
if arg.startswith('$') and arg_default:
comletion_args.append(
'{}={}'.format(
arg_text, arg_default
arg_text.encode("utf-8"),
arg_default.encode("utf-8")
)
)
elif arg.startswith('$') and not arg_default:
Expand Down
9 changes: 7 additions & 2 deletions dataparser/queue/scanner.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,13 @@ def scan(self, workspace, ext, db_path):
self.add_builtin()
if self.xml_libraries:
self.add_xml_libraries(self.xml_libraries)
for f in finder(workspace, ext):
self.queue.add(normalise_path(f), None, None)
if isinstance(type(ext), list):
for extension in ext:
for f in finder(workspace, extension):
self.queue.add(normalise_path(f), None, None)
else:
for f in finder(workspace, ext):
self.queue.add(normalise_path(f), None, None)
while True:
item = self.get_item()
if not item:
Expand Down