def __init__(self): if __project__.name is None: DB_NAME = 'default.db' db_path = path.join(__project__.get_path(), DB_NAME) else: DB_NAME = __project__.name + '.db' db_path = path.join(__project__.get_path(), DB_NAME) # Connect to Postgres DB self.engine = create_engine( 'postgresql+psycopg2://{0}:{1}!@localhost/cirtkit'.format( DB_USER, DB_PASSWD)) self.engine.echo = False self.engine.pool_timeout = 60 try: Base.metadata.create_all(self.engine) except OperationalError: # Connect to local SQLite DB if cannot connect to Postgres self.engine = create_engine('sqlite:///{0}'.format(db_path), poolclass=NullPool) Base.metadata.create_all(self.engine) self.Session = sessionmaker(bind=self.engine)
def store_sample(file_object): if __project__.name: pass else: print_error('Open an investigation to store files') return None sha256 = file_object.sha256 if not sha256: print_error("No hash") return None folder = os.path.join(__project__.get_path(), 'binaries', sha256[0], sha256[1], sha256[2], sha256[3]) if not os.path.exists(folder): os.makedirs(folder, 0o750) file_path = os.path.join(folder, sha256) if not os.path.exists(file_path): with open(file_path, 'wb') as stored: for chunk in file_object.get_chunks(): stored.write(chunk) else: print_warning("File exists already") return None return file_path
def store_sample(file_object): if __project__.name: pass else: print_error("Open an investigation to store files") return None sha256 = file_object.sha256 if not sha256: print_error("No hash") return None folder = os.path.join(__project__.get_path(), "binaries", sha256[0], sha256[1], sha256[2], sha256[3]) if not os.path.exists(folder): os.makedirs(folder, 0o750) file_path = os.path.join(folder, sha256) if not os.path.exists(file_path): with open(file_path, "wb") as stored: for chunk in file_object.get_chunks(): stored.write(chunk) else: print_warning("File exists already") return None return file_path
def __init__(self): if __project__.name is None: DB_NAME = 'default.db' db_path = path.join(__project__.get_path(), DB_NAME) else: DB_NAME = __project__.name + '.db' db_path = path.join(__project__.get_path(), DB_NAME) # Connect to Postgres DB self.engine = create_engine('postgresql+psycopg2://{0}:{1}!@localhost/cirtkit'.format(DB_USER, DB_PASSWD)) self.engine.echo = False self.engine.pool_timeout = 60 try: Base.metadata.create_all(self.engine) except OperationalError: # Connect to local SQLite DB if cannot connect to Postgres self.engine = create_engine('sqlite:///{0}'.format(db_path), poolclass=NullPool) Base.metadata.create_all(self.engine) self.Session = sessionmaker(bind=self.engine)
def get_sample_path(sha256): path = os.path.join(__project__.get_path(), 'binaries', sha256[0], sha256[1], sha256[2], sha256[3], sha256) if not os.path.exists(path): return None return path
def get_sample_path(sha256): path = os.path.join(__project__.get_path(), "binaries", sha256[0], sha256[1], sha256[2], sha256[3], sha256) if not os.path.exists(path): return None return path