This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
try: | |
from PyQt5.QtWidgets import qApp, QTextEdit, QLineEdit, QComboBox, QPushButton | |
except ImportError: | |
from PySide.QtGui import qApp, QTextEdit, QLineEdit, QComboBox, QPushButton | |
def handle_tags(text): | |
# text handling is actually done here. | |
# we could improve this by doing something more clever than just a replace | |
# say, extend when ` are present without the full 8 bytes following, or |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def upsert(session, model, rows): | |
table = model.__table__ | |
stmt = postgresql.insert(table) | |
primary_keys = [key.name for key in inspect(table).primary_key] | |
update_dict = {c.name: c for c in stmt.excluded if not c.primary_key} | |
if not update_dict: | |
raise ValueError("insert_or_update resulted in an empty update_dict") | |
stmt = stmt.on_conflict_do_update(index_elements=primary_keys, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import idc, idaapi, idautils, ida_xref | |
def find_stack_members(func_ea): | |
members = {} | |
base = None | |
frame = idc.GetFrame(func_ea) | |
for frame_member in idautils.StructMembers(frame): | |
member_offset, member_name, _ = frame_member | |
members[member_offset] = member_name | |
if member_name == ' r': |