Skip to content
Snippets Groups Projects

Připsání mailu do chybové hlášky při importu.

Merged Jiří Kalvoda requested to merge jk/issue-190 into devel
2 unresolved threads
+ 14
8
@@ -69,7 +69,7 @@ class Import:
@@ -69,7 +69,7 @@ class Import:
gatekeeper: mo.rights.Gatekeeper
gatekeeper: mo.rights.Gatekeeper
new_user_ids: List[int]
new_user_ids: List[int]
line_number: int = 0
line_number: int = 0
row: Optional[mo.csv.Row] = None
row_name: Optional[str] = None
def __init__(self):
def __init__(self):
self.errors = []
self.errors = []
@@ -85,10 +85,9 @@ class Import:
@@ -85,10 +85,9 @@ class Import:
def error(self, msg: str) -> Any:
def error(self, msg: str) -> Any:
if self.line_number > 0:
if self.line_number > 0:
try:
if self.row_name:
msg = f"Řádek {self.line_number} ({self.row.email}): {msg}" # type: ignore
msg = f"Řádek {self.line_number} ({self.row_name}): {msg}"
# (snaha čtení prvku potomka)
else:
except:
msg = f"Řádek {self.line_number}: {msg}"
msg = f"Řádek {self.line_number}: {msg}"
self.errors.append(msg)
self.errors.append(msg)
logger.info('Import: >> %s', msg)
logger.info('Import: >> %s', msg)
@@ -381,6 +380,12 @@ class Import:
@@ -381,6 +380,12 @@ class Import:
except UnicodeDecodeError:
except UnicodeDecodeError:
return False
return False
 
def get_row_name(self, row: mo.csv.Row) -> Optional[str]:
 
if hasattr(row, 'email'):
 
return row.email # type: ignore
 
# čtení prvku potomka
 
return None
 
def generic_import(self, path: str) -> bool:
def generic_import(self, path: str) -> bool:
charset = self.fmt.get_charset()
charset = self.fmt.get_charset()
if charset != 'utf-8' and self.check_utf8(path):
if charset != 'utf-8' and self.check_utf8(path):
@@ -400,14 +405,15 @@ class Import:
@@ -400,14 +405,15 @@ class Import:
return self.error(f'Chybná struktura tabulky: {e}')
return self.error(f'Chybná struktura tabulky: {e}')
self.line_number = 2
self.line_number = 2
for self.row in rows:
for row in rows:
 
self.row_name = self.get_row_name(row)
self.cnt_rows += 1
self.cnt_rows += 1
self.import_row(self.row)
self.import_row(row)
if len(self.errors) >= 100:
if len(self.errors) >= 100:
self.errors.append('Import přerušen pro příliš mnoho chyb')
self.errors.append('Import přerušen pro příliš mnoho chyb')
break
break
self.line_number += 1
self.line_number += 1
self.row = None
self.row_name = None
return len(self.errors) == 0
return len(self.errors) == 0
Loading