WebBrowser/Network/LoadRequest.py

branch
QtWebEngine
changeset 4913
e16573640cb8
parent 4910
e97af1181efd
child 4914
d095b591e6fa
equal deleted inserted replaced
4910:e97af1181efd 4913:e16573640cb8
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2016 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a page load request object.
8 """
9
10 #
11 # This code was ported from QupZilla.
12 # Copyright (C) David Rosca <nowrep@gmail.com>
13 #
14
15 from __future__ import unicode_literals
16
17 try:
18 from enum import Enum
19 except ImportError:
20 from ThirdParty.enum import Enum
21
22 from PyQt5.QtCore import QByteArray, QUrl
23
24
25 class LoadRequestOperations(Enum):
26 """
27 Class implementing the load request operations.
28 """
29 GetOperation = 0
30 PostOperation = 1
31
32
33 class LoadRequest(object):
34 """
35 Class implementing a page load request object.
36 """
37 def __init__(self, urlOrRequest=None,
38 op=LoadRequestOperations.GetOperation, data=QByteArray()):
39 """
40 Constructor
41
42 @param urlOrRequest URL or request object
43 @type QUrl or LoadRequest
44 @param op request operation
45 @type LoadRequestOperations
46 @param data request data
47 @type QByteArray
48 """
49 self.__url = QUrl()
50 self.__operation = op
51 self.__data = QByteArray(data)
52
53 if isinstance(urlOrRequest, QUrl):
54 self.__url = QUrl(urlOrRequest)
55 elif isinstance(urlOrRequest, LoadRequest):
56 self.__url = urlOrRequest.url()
57 self.__operation = urlOrRequest.operation()
58 self.__data = urlOrRequest.data()
59
60 def isEmpty(self):
61 """
62 Public method to test for an empty request.
63
64 @return flag indicating an empty request
65 @rtype bool
66 """
67 return self.__url.isEmpty()
68
69 def url(self):
70 """
71 Public method to get the request URL.
72
73 @return request URL
74 @rtype QUrl
75 """
76 return QUrl(self.__url)
77
78 def setUrl(self, url):
79 """
80 Public method to set the request URL.
81
82 @param url request URL
83 @type QUrl
84 """
85 self.__url = QUrl(url)
86
87 def urlString(self):
88 """
89 Public method to get the request URL as a string.
90
91 @return request URL as a string
92 @rtype str
93 """
94 return QUrl.fromPercentEncoding(self.__url.toEncoded())
95
96 def operation(self):
97 """
98 Public method to get the request operation.
99
100 @return request operation
101 @rtype one of LoadRequest.GetOperation, LoadRequest.PostOperation
102 """
103 return self.__operation
104
105 def setOperation(self, op):
106 """
107 Public method to set the request operation.
108
109 @param op request operation
110 @type one of LoadRequest.GetOperation, LoadRequest.PostOperation
111 """
112 assert op in [LoadRequestOperations.GetOperation,
113 LoadRequestOperations.PostOperation]
114
115 self.__operation = op
116
117 def data(self):
118 """
119 Public method to get the request data.
120
121 @return request data
122 @rtype QByteArray
123 """
124 return QByteArray(self.__data)
125
126 def setData(self, data):
127 """
128 Public method to set the request data
129
130 @param data request data
131 @type QByteArray
132 """
133 self.__data = QByteArray(data)

eric ide

mercurial