Ejemplo n.º 1
0
    def __init__(self, timeout_retries = 5):
        """
Constructor __init__(Abstract)

:param timeout_retries: Retries before timing out

:since: v0.2.00
        """

        SupportsMixin.__init__(self)

        self.io_chunk_size = 65536
        """
IO chunk size
        """
        self._lock = ThreadLock()
        """
Thread safety lock
        """
        self.log_handler = NamedLoader.get_singleton("dNG.data.logging.LogHandler", False)
        """
Retries before timing out
        """
        self.stream_size = -1
        """
Requested stream size
        """
        self.timeout_retries = (5 if (timeout_retries is None) else timeout_retries)
        """
Ejemplo n.º 2
0
    def __init__(self):
        """
Constructor __init__(AbstractStreamResponse)

:since: v0.2.00
        """

        SupportsMixin.__init__(self)

        self.active = True
        """
True if ready for output.
        """
        self.data = None
        """
Data buffer
        """
        self.stream_mode = 0
        """
Stream response instead of holding it in a buffer
        """
        self.stream_mode_supported = isinstance(self, Iterator)
        """
Supported streaming mode
        """
        self.streamer = None
        """
Ejemplo n.º 3
0
    def __init__(self):
        """
Constructor __init__(Data)

:since: v1.0.0
        """

        ChunkedReaderMixin.__init__(self)
        SupportsMixin.__init__(self)

        self._chunk_encoded = False
        """
True if the input is "chunked" encoded (and the size is unknown).
        """
        self.decompressors = OrderedDict()
        """
List of decompressors
        """
        self._headers = None
        """
Dictionary with request headers
        """
        self._input_ptr = None
        """
Input pointer
        """
        self._size = -1
        """
Input size in bytes if known
        """
        self._received_data = None
        """
Received file-like data object
        """
        self._received_size = 0
        """
Size of the file-like data object
        """
        self.received_size_max = 0
        """
Allowed size in bytes of the request body
        """
        self.socket_data_timeout = int(Settings.get("pas_http_site_request_body_socket_data_timeout", 0))
        """
Timeout for each network read
        """
        self._timeout = int(Settings.get("pas_http_site_request_body_timeout", 7200))
        """
Absolute timeout to receive the request body
        """

        if (self.__class__.TYPE_ID is not None):
            self.received_size_max = int(Settings.get("pas_http_site_request_body_{0}_size_max".format(self.__class__.TYPE_ID), 0))
        #

        if (self.received_size_max < 1): self.received_size_max = int(Settings.get("pas_http_site_request_body_size_max", 2097152))

        if (self.socket_data_timeout < 1): self.socket_data_timeout = int(Settings.get("pas_global_client_socket_data_timeout", 0))
        if (self.socket_data_timeout < 1): self.socket_data_timeout = int(Settings.get("pas_global_socket_data_timeout", 30))
Ejemplo n.º 4
0
    def __init__(self):
        """
Constructor __init__(AbstractProfile)

:since: v0.2.00
        """

        SupportsMixin.__init__(self)

        self.permission_cache = None
        """
Ejemplo n.º 5
0
    def __init__(self):
        """
Constructor __init__(Resources)

:since: v0.2.00
        """

        ClientSettingsMixin.__init__(self)
        SupportsMixin.__init__(self)

        self.criteria_definition = None
        """
UPnP search criteria definition instance
        """
        self.executed = False
        """
True if search has been executed and results are ready
        """
        self.limit = 50
        """
UPnP resource search results limit
        """
        self.limit_max = int(Settings.get("pas_upnp_resource_search_limit_max", 50))
        """
UPnP resource search results limit
        """
        self.log_handler = NamedLoader.get_singleton("dNG.data.logging.LogHandler", False)
        """
The LogHandler is called whenever debug messages should be logged or errors
happened.
        """
        self.offset = 0
        """
UPnP resource search results offset
        """
        self.resources = [ ]
        """
UPnP resources matching the criteria definition
        """
        self.total = 0
        """
UPnP resource search results count from all segments
        """
        self.root_resource = None
        """
UPnP root resource for searching matches
        """
        self.sort_tuples = [ ]
        """
Sort list to be applied
        """

        self.supported_features['sortable'] = self._supports_sortable
Ejemplo n.º 6
0
    def __init__(self):
        """
Constructor __init__(AbstractRequest)

:since: v0.2.00
        """

        AbstractMixin.__init__(self)
        SupportsMixin.__init__(self)

        AbstractRequest._local.weakref_instance = ref(self)

        self.supported_features['listener_data'] = self._supports_listener_data
Ejemplo n.º 7
0
    def __init__(self):
        """
Constructor __init__(AbstractInnerRequest)

:since: v0.2.00
        """

        AbstractMixin.__init__(self)
        SupportsMixin.__init__(self)

        self.parameters_chained = { }
        """
Chained request parameters
        """

        self.supported_features['listener_data'] = self._supports_listener_data
        self.supported_features['parameters_chained'] = True
Ejemplo n.º 8
0
    def __init__(self):
        """
Constructor __init__(Abstract)

:since: v0.2.00
        """

        SupportsMixin.__init__(self)

        self.column_definitions = { }
        """
Column definitions
        """
        self.columns = [ ]
        """
List of columns
        """
        self.default_sort_definition = None
        """
Default sort definition to be used
        """
        self.hide_column_titles = False
        """
True to hide column titles
        """
        self.limit = -1
        """
Limit of rows requested
        """
        self.offset = 0
        """
Row offset requested
        """
        self.percent_remaining = 100
        """
Percent remaining for additional columns
        """
        self.sort_context = None
        """
Sort context to be used
        """
        self.sort_list = [ ]
        """
Ejemplo n.º 9
0
    def __init__(self, _id = None):
        """
Constructor __init__(AbstractHandler)

:param _id: Subscription ID

:since: v1.0.0
        """

        SupportsMixin.__init__(self)

        self._id = None
        """
Subscription ID
        """
        self._user_id = None
        """
User ID to work with
        """

        if (_id is not None): self.id = _id
Ejemplo n.º 10
0
    def __init__(self):
        """
Constructor __init__(AbstractResponse)

:since: v0.2.00
        """

        SupportsMixin.__init__(self)

        self.log_handler = None
        """
The LogHandler is called whenever debug messages should be logged or errors
happened.
        """
        self.store = { }
        """
Response specific data store
        """

        AbstractResponse._local.weakref_instance = ref(self)

        self.store['dNG.data.Settings'] = StackedDict()
        self.store['dNG.data.Settings'].add_dict(Settings.get_dict())
Ejemplo n.º 11
0
    def __init__(self):
        """
Constructor __init__(Resource)

:since: v0.2.00
        """

        ClientSettingsMixin.__init__(self)
        SupportsMixin.__init__(self)

        self.content = None
        """
UPnP resource content cache
        """
        self.content_limit = None
        """
UPnP resource content limit
        """
        self.content_offset = 0
        """
UPnP resource content offset
        """
        self.deleted = False
        """
True if underlying resource has been deleted
        """
        self.didl_fields = None
        """
UPnP resource DIDL fields to be returned
        """
        self.didl_res_protocol = None
        """
UPnP resource DIDL protocolInfo value
        """
        self._lock = ThreadLock()
        """
Thread safety lock
        """
        self.log_handler = NamedLoader.get_singleton("dNG.data.logging.LogHandler", False)
        """
The LogHandler is called whenever debug messages should be logged or errors
happened.
        """
        self.mimeclass = None
        """
UPnP resource mime class
        """
        self.mimetype = None
        """
UPnP resource mime type
        """
        self.name = None
        """
UPnP resource name
        """
        self.parent_resource_id = None
        """
UPnP resource parent ID
        """
        self.resource_id = None
        """
UPnP resource ID
        """
        self.searchable = False
        """
True if the UPnP resource provides the search method
        """
        self.size = None
        """
UPnP resource size in bytes
        """
        self.sort_criteria = [ ]
        """
UPnP resource sort criteria requested
        """
        self.source = None
        """
UPnP resource source or creator
        """
        self.symlink_target_id = None
        """
UPnP resource symlinked ID
        """
        self.timestamp = -1
        """
UPnP resource's timestamp
        """
        self.type = None
        """
UPnP resource type
        """
        self.type_name = None
        """
UPnP resource type name
        """
        self.updatable = False
        """
True if the resource is writable
        """

        self.supported_features['vfs_url'] = self._supports_vfs_url