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,6 +18,7 @@ from ..csv_utils import NetworkCSV
18 from ..session import NmapSession, SnmpSession 18 from ..session import NmapSession, SnmpSession
19 from multiprocessing import Process, Queue 19 from multiprocessing import Process, Queue
20 from ..xml_utils import NmapXML 20 from ..xml_utils import NmapXML
  21 +from sqlalchemy.exc import IntegrityError
21 22
22 log = logging.getLogger() 23 log = logging.getLogger()
23 24
@@ -197,7 +198,10 @@ class ScanCommands(command.Command): @@ -197,7 +198,10 @@ class ScanCommands(command.Command):
197 results = session.query(Printer).filter(Printer.network_ip == hostname).first() 198 results = session.query(Printer).filter(Printer.network_ip == hostname).first()
198 if results is None: 199 if results is None:
199 log.info("Inserindo impressora com o IP %s", hostname) 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 else: 205 else:
202 log.info("Impressora com o IP %s já cadastrada", hostname) 206 log.info("Impressora com o IP %s já cadastrada", hostname)
203 elif isinstance(host, Computer): 207 elif isinstance(host, Computer):
@@ -205,7 +209,10 @@ class ScanCommands(command.Command): @@ -205,7 +209,10 @@ class ScanCommands(command.Command):
205 results = session.query(Computer).filter(Computer.network_ip == hostname).first() 209 results = session.query(Computer).filter(Computer.network_ip == hostname).first()
206 if results is None: 210 if results is None:
207 log.info("Inserindo computador com o IP %s", hostname) 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 else: 216 else:
210 log.info("Computador com o IP %s já cadastrado", hostname) 217 log.info("Computador com o IP %s já cadastrado", hostname)
211 else: 218 else:
@@ -213,7 +220,10 @@ class ScanCommands(command.Command): @@ -213,7 +220,10 @@ class ScanCommands(command.Command):
213 results = session.query(Host).filter(Host.network_ip == hostname).first() 220 results = session.query(Host).filter(Host.network_ip == hostname).first()
214 if results is None: 221 if results is None:
215 log.info("Inserindo host genérico com o IP %s", hostname) 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 else: 227 else:
218 log.info("Host genérico com o IP %s já cadastrado", hostname) 228 log.info("Host genérico com o IP %s já cadastrado", hostname)
219 229