def identifier(): device_id = frappe.cache().hget('device_id', frappe.session.sid) expires = datetime.datetime.now() + datetime.timedelta(days=365) frappe.local.cookie_manager.set_cookie("device_id", device_id, expires=expires) return device_id
def flush_cookies(self, response): for key, opts in self.cookies.items(): response.set_cookie(key, quote((opts.get("value") or "").encode('utf-8')), expires=opts.get("expires")) # expires yesterday! expires = datetime.datetime.now() + datetime.timedelta(days=-1) for key in set(self.to_delete): response.set_cookie(key, "", expires=expires)
def init_cookies(self): if not frappe.local.session.get('sid'): return # sid expires in 3 days expires = datetime.datetime.now() + datetime.timedelta(days=3) if frappe.session.sid: self.set_cookie("sid", frappe.session.sid, expires=expires, httponly=True) if frappe.session.session_country: self.set_cookie("country", frappe.session.session_country)
def __init__(self, user_name: str, max_consecutive_login_attempts: int = 3, lock_interval: int = 5 * 60): """Initialize the tracker. :param user_name: Name of the loggedin user :param max_consecutive_login_attempts: Maximum allowed consecutive failed login attempts :param lock_interval: Locking interval incase of maximum failed attempts """ self.user_name = user_name self.lock_interval = datetime.timedelta(seconds=lock_interval) self.max_failed_logins = max_consecutive_login_attempts
def init_cookies(self): if not frappe.local.session.get('sid'): return # sid expires in 3 days expires = datetime.datetime.now() + datetime.timedelta(days=3) if frappe.session.sid: self.cookies["sid"] = { "value": frappe.session.sid, "expires": expires } if frappe.session.session_country: self.cookies["country"] = { "value": frappe.session.get("session_country") }
def flush_cookies(self, response): for key, opts in self.cookies.items(): response.set_cookie( key, quote((opts.get("value") or "").encode("utf-8")), expires=opts.get("expires"), secure=opts.get("secure"), httponly=opts.get("httponly"), samesite=opts.get("samesite"), ) # expires yesterday! expires = datetime.datetime.now() + datetime.timedelta(days=-1) for key in set(self.to_delete): response.set_cookie(key, "", expires=expires)
def set_identifier(device_id, string_components=None, detail_components=None): expires = datetime.datetime.now() + datetime.timedelta(days=365) frappe.cache().hset('device_id', frappe.session.sid, device_id) frappe.local.cookie_manager.set_cookie("device_id", device_id, expires=expires) if frappe.get_value("Device", device_id) is None: doc = frappe.new_doc("Device") doc.identifier = device_id doc.string_components = "" if string_components is None else string_components doc.company = frappe.defaults.get_user_default('company') if detail_components is not None: for row in detail_components: doc.host = row["host"] doc.workstation_name = row["host"] doc.primary_device = row["primary_device"] doc.mac = row["mac"] doc.save()
def _get_send_after(mins): if not mins: return None return get_datetime() + datetime.timedelta(minutes=mins)