Commit a39e8c806fa8b07d58b7487bc606d7e265fab95f
Committed by
Eduardo Santos
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 |