def __init__(self, cookie: QNetworkCookie = None, parent: QWidget = None) -> None: super().__init__(parent) self.setupUi(self) if cookie: self.m_nameLineEdit.setText(cookie.name().data().decode()) self.m_domainLineEdit.setText(cookie.domain()) self.m_valueLineEdit.setText(cookie.value().data().decode()) self.m_pathLineEdit.setText(cookie.path()) self.m_dateEdit.setDate(cookie.expirationDate().date()) self.m_isSecureComboBox.addItem( self.tr("yes") if cookie.isSecure() else self.tr("no")) self.m_isHttpOnlyComboBox.addItem( self.tr("yes") if cookie.isHttpOnly() else self.tr("no")) self.m_addButton.setVisible(False) self.m_cancelButton.setText(self.tr("Close")) else: self.m_nameLineEdit.setReadOnly(False) self.m_domainLineEdit.setReadOnly(False) self.m_valueLineEdit.setReadOnly(False) self.m_pathLineEdit.setReadOnly(False) self.m_dateEdit.setReadOnly(False) self.m_dateEdit.setDate( QDateTime.currentDateTime().addYears(1).date()) self.m_isSecureComboBox.addItem(self.tr("no")) self.m_isSecureComboBox.addItem(self.tr("yes")) self.m_isHttpOnlyComboBox.addItem(self.tr("no")) self.m_isHttpOnlyComboBox.addItem(self.tr("yes"))
def json_to_cookie(self, json_cookie_list): cookies_list_info = [] for json_cookie in json_cookie_list: c = QNetworkCookie() print(json_cookie, '** json_cookie') for k, v in json_cookie.items(): if k == 'path': c.setPath(v) elif k == 'domain': c.setPath(v) elif k == 'expirationDate': print(v, type(v)) qdate = QDateTime(2019, 12, 20, 11, 59, 59) print(qdate) c.setExpirationDate(qdate) elif k == 'httponly': c.setHttpOnly(v) elif k == 'secure': c.setSecure(v) elif k == 'value': c.setValue(v.encode()) elif k == 'name': c.setName(v.encode()) print('c', c.expirationDate()) cookies_list_info.append(c) return cookies_list_info
def __cookie_to_json(self): cookies_list_info = [] for c in self.__cookies: c = QNetworkCookie(c) data = { "name": bytearray(c.name()).decode(), "domain": c.domain(), "value": bytearray(c.value()).decode(), "path": c.path(), "expirationDate": c.expirationDate().toString(Qt.ISODate), "secure": c.isSecure(), "httponly": c.isHttpOnly() } cookies_list_info.append(data) return cookies_list_info
def toPyCookie(qt_cookie: QNetworkCookie) -> Cookie: port = None port_specified = False secure = qt_cookie.isSecure() name = qt_cookie.name().data().decode() value = qt_cookie.value().data().decode() v = qt_cookie.path() path_specified = bool(v != "") path = v if path_specified else None v = qt_cookie.domain() domain_specified = bool(v != "") domain = v if domain_specified: domain_initial_dot = v.startswith(".") else: domain_initial_dot = None v = int(qt_cookie.expirationDate().toTime_t()) expires = 2147483647 if v > 2147483647 else v rest = {"HttpOnly": qt_cookie.isHttpOnly()} discard = False return Cookie( 0, name, value, port, port_specified, domain, domain_specified, domain_initial_dot, path, path_specified, secure, expires, discard, None, None, rest, )