torque59 / Nosql-Exploitation-Framework

A Python Framework For NoSQL Scanning and Exploitation
BSD 3-Clause "New" or "Revised" License
595 stars 157 forks source link

Code Quality, Unicode Safe Read #11

Open ajinabraham opened 8 years ago

ajinabraham commented 8 years ago

Lot of places have open file pointers like https://github.com/torque59/Nosql-Exploitation-Framework/blob/master/dbattacks/utils.py#L116 close all the file pointers after use. This will save memory.

Also replace open with io.open which is unicode safe. usingwith will handle file pointers efficiently and you don't have to close them explicitly.

example code

with io.open(file_path, mode='r', encoding="utf8", errors="ignore") as f:
     dat = f.read()
torque59 commented 8 years ago

io.open is the alias for open in python, so both are same i guess, as for closing the files , i am cleaning up the code, should see an update soon.

ajinabraham commented 8 years ago

both are same in python3, but not in python2. If you need to read data that contain Unicode, using open will throw errors. If you use io.open specifying the encoding and ignores error .it will work gracefully