Skip to content

Commit bd60f1f

Browse files
committed
fixed bug with sqlite on py3
1 parent 4de764e commit bd60f1f

5 files changed

Lines changed: 12 additions & 12 deletions

File tree

libnmap/plugins/backendpluginFactory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@ def create(cls, plugin_name="mongodb", **kwargs):
2828
try:
2929
backendplugin = classobj(**kwargs)
3030
except Exception as error:
31-
print("Cannot create Backend: {0}".format(error))
31+
raise Exception("Cannot create Backend: {0}".format(error))
3232
return backendplugin

libnmap/plugins/mongodb.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ def insert(self, report):
3636
try:
3737
oid = self.collection.insert(json.loads(j))
3838
except:
39-
print("MONGODB cannot insert")
40-
raise
39+
raise Exception("Failed to insert nmap object in MongoDB")
4140
return str(oid)
4241

4342
def get(self, str_report_id=None):

libnmap/plugins/s3.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,7 @@ def insert(self, report):
8888
strjsonnmapreport = json.dumps(report, cls=ReportEncoder)
8989
mykey.set_contents_from_string(strjsonnmapreport)
9090
except:
91-
print("Bucket cannot insert")
92-
raise
91+
raise Exception("Failed to add nmap object in s3 bucket")
9392
return str(oid)
9493

9594
def get(self, str_report_id=None):
@@ -108,7 +107,7 @@ def get(self, str_report_id=None):
108107
nmapreportjson = json.loads(mykey.get_contents_as_string())
109108
nmapreport = NmapParser.parse_fromdict(nmapreportjson)
110109
except S3ResponseError:
111-
print("Not Found")
110+
pass
112111
return nmapreport
113112

114113
def getall(self, dict_filter=None):

libnmap/plugins/sql.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python
22
from sqlalchemy import create_engine
33
from sqlalchemy.schema import Column
4-
from sqlalchemy.types import Integer, DateTime, Text
4+
from sqlalchemy.types import Integer, DateTime, LargeBinary
55
from sqlalchemy.ext.declarative import declarative_base
66
from sqlalchemy.orm import sessionmaker
77

@@ -53,15 +53,17 @@ class Reports(Base):
5353

5454
id = Column('report_id', Integer, primary_key=True)
5555
inserted = Column('inserted', DateTime(), default='now')
56-
report_json = Column('report_json', Text(convert_unicode=True))
56+
report_json = Column('report_json', LargeBinary())
5757

5858
def __init__(self, obj_NmapReport):
5959
self.inserted = datetime.fromtimestamp(obj_NmapReport.endtime)
60-
self.report_json = json.dumps(obj_NmapReport,
61-
cls=ReportEncoder)
60+
dumped_json = json.dumps(obj_NmapReport,
61+
cls=ReportEncoder)
62+
self.report_json = bytes(dumped_json.encode('UTF-8'))
6263

6364
def decode(self):
64-
nmap_report_obj = json.loads(self.report_json,
65+
json_decoded = self.report_json.decode('utf-8')
66+
nmap_report_obj = json.loads(json_decoded,
6567
cls=ReportDecoder)
6668
return nmap_report_obj
6769

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = py27,py34
2+
envlist = py27,py32
33
[testenv]
44
deps=nose
55
pymongo

0 commit comments

Comments
 (0)