Commit a39e8c806fa8b07d58b7487bc606d7e265fab95f

Authored by Eduardo Santos
Committed by Eduardo Santos
2 parents ad934131 3324e705
Exists in master

Conserta erro de impressora com o IP repetido

Showing 1 changed file with 13 additions and 3 deletions   Show diff stats
cocar/commands/scan_commands.py
... ... @@ -18,6 +18,7 @@ from ..csv_utils import NetworkCSV
18 18 from ..session import NmapSession, SnmpSession
19 19 from multiprocessing import Process, Queue
20 20 from ..xml_utils import NmapXML
  21 +from sqlalchemy.exc import IntegrityError
21 22  
22 23 log = logging.getLogger()
23 24  
... ... @@ -197,7 +198,10 @@ class ScanCommands(command.Command):
197 198 results = session.query(Printer).filter(Printer.network_ip == hostname).first()
198 199 if results is None:
199 200 log.info("Inserindo impressora com o IP %s", hostname)
200   - session.add(host)
  201 + try:
  202 + session.add(host)
  203 + except IntegrityError, e:
  204 + log.error("Erro adicionando impressora com o IP %s. IP Repetido\n%s", hostname, e.message)
201 205 else:
202 206 log.info("Impressora com o IP %s já cadastrada", hostname)
203 207 elif isinstance(host, Computer):
... ... @@ -205,7 +209,10 @@ class ScanCommands(command.Command):
205 209 results = session.query(Computer).filter(Computer.network_ip == hostname).first()
206 210 if results is None:
207 211 log.info("Inserindo computador com o IP %s", hostname)
208   - session.add(host)
  212 + try:
  213 + session.add(host)
  214 + except IntegrityError, e:
  215 + log.error("Erro adicionando computador com o IP %s. IP Repetido\n%s", hostname, e.message)
209 216 else:
210 217 log.info("Computador com o IP %s já cadastrado", hostname)
211 218 else:
... ... @@ -213,7 +220,10 @@ class ScanCommands(command.Command):
213 220 results = session.query(Host).filter(Host.network_ip == hostname).first()
214 221 if results is None:
215 222 log.info("Inserindo host genérico com o IP %s", hostname)
216   - session.add(host)
  223 + try:
  224 + session.add(host)
  225 + except IntegrityError, e:
  226 + log.error("Erro adicionando host genérico com o IP %s. IP Repetido\n%s", hostname, e.message)
217 227 else:
218 228 log.info("Host genérico com o IP %s já cadastrado", hostname)
219 229  
... ...