PyFunceble.dataset.whois package¶
Submodules¶
PyFunceble.dataset.whois.base module¶
The tool to check the availability or syntax of domain, IP or URL.
██████╗ ██╗ ██╗███████╗██╗ ██╗███╗ ██╗ ██████╗███████╗██████╗ ██╗ ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝██╔══██╗██║ ██╔════╝
██████╔╝ ╚████╔╝ █████╗ ██║ ██║██╔██╗ ██║██║ █████╗ ██████╔╝██║ █████╗
██╔═══╝ ╚██╔╝ ██╔══╝ ██║ ██║██║╚██╗██║██║ ██╔══╝ ██╔══██╗██║ ██╔══╝
██║ ██║ ██║ ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝
Provides the base of all WHOIS related dataset.
- Author:
- Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- https://pyfunceble.github.io/#/special-thanks
- Contributors:
- https://pyfunceble.github.io/#/contributors
- Project link:
- https://github.com/funilrys/PyFunceble
- Project documentation:
- https://pyfunceble.readthedocs.io/en/latest/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020, 2022, 2023 Nissar Chababy
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
class
PyFunceble.dataset.whois.base.
WhoisDatasetBase
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None)[source]¶ Bases:
PyFunceble.dataset.db_base.DBDatasetBase
Provides the base of all Whois related interface.
-
COMPARISON_FIELDS
= ['subject', 'idna_subject']¶
-
FIELDS
= ['subject', 'idna_subject', 'expiration_date', 'epoch', 'registrar']¶
-
PyFunceble.dataset.whois.csv module¶
The tool to check the availability or syntax of domain, IP or URL.
██████╗ ██╗ ██╗███████╗██╗ ██╗███╗ ██╗ ██████╗███████╗██████╗ ██╗ ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝██╔══██╗██║ ██╔════╝
██████╔╝ ╚████╔╝ █████╗ ██║ ██║██╔██╗ ██║██║ █████╗ ██████╔╝██║ █████╗
██╔═══╝ ╚██╔╝ ██╔══╝ ██║ ██║██║╚██╗██║██║ ██╔══╝ ██╔══██╗██║ ██╔══╝
██║ ██║ ██║ ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝
Provides the interface for the WHOIS DB CSV management.
- Author:
- Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- https://pyfunceble.github.io/#/special-thanks
- Contributors:
- https://pyfunceble.github.io/#/contributors
- Project link:
- https://github.com/funilrys/PyFunceble
- Project documentation:
- https://pyfunceble.readthedocs.io/en/latest/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020, 2022, 2023 Nissar Chababy
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
class
PyFunceble.dataset.whois.csv.
CSVWhoisDataset
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None)[source]¶ Bases:
PyFunceble.dataset.csv_base.CSVDatasetBase
,PyFunceble.dataset.whois.base.WhoisDatasetBase
Provides the interface for the management of the WHOIS (db) CSV file.
-
cleanup
() → PyFunceble.dataset.whois.csv.CSVWhoisDataset[source]¶ Cleanups the dataset. Meaning that we delete every entries which are in the past.
-
get_content
() → Generator[Optional[dict], None, None][source]¶ Provides a generator which provides the next line to read.
-
remove
(row: dict) → PyFunceble.dataset.csv_base.CSVDatasetBase[source]¶ Removes the given dataset from the CSV file.
Parameters: row – The row or dataset to add. Raises: TypeError – When the given row
is not a :py:class`dict`.
-
update
(row: dict, *, ignore_if_exist: bool = False) → PyFunceble.dataset.whois.csv.CSVWhoisDataset[source]¶ Adds the given dataset into the database if it does not exists. Update otherwise.
- ..note::
- This should be the prefered method for introduction of new dataset.
- ..warning::
- This method do nothing if the row is expired.
Parameters: - row – The row or dataset to manipulate.
- ignore_if_exist – Ignores the insertion/update if the row already exists.
Raises: TypeError – When the given
row
is not a :py:class`dict`.
-
PyFunceble.dataset.whois.sql module¶
The tool to check the availability or syntax of domain, IP or URL.
██████╗ ██╗ ██╗███████╗██╗ ██╗███╗ ██╗ ██████╗███████╗██████╗ ██╗ ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝██╔══██╗██║ ██╔════╝
██████╔╝ ╚████╔╝ █████╗ ██║ ██║██╔██╗ ██║██║ █████╗ ██████╔╝██║ █████╗
██╔═══╝ ╚██╔╝ ██╔══╝ ██║ ██║██║╚██╗██║██║ ██╔══╝ ██╔══██╗██║ ██╔══╝
██║ ██║ ██║ ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝
Provides the interface for the WHOIS DB (sql) management.
- Author:
- Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- https://pyfunceble.github.io/#/special-thanks
- Contributors:
- https://pyfunceble.github.io/#/contributors
- Project link:
- https://github.com/funilrys/PyFunceble
- Project documentation:
- https://pyfunceble.readthedocs.io/en/latest/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020, 2022, 2023 Nissar Chababy
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
class
PyFunceble.dataset.whois.sql.
SQLDBWhoisDataset
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None, db_session: Optional[sqlalchemy.orm.session.Session] = None)[source]¶ Bases:
PyFunceble.dataset.sql_base.SQLDBDatasetBase
,PyFunceble.dataset.whois.base.WhoisDatasetBase
Provides the interface for the management of the WHOIS database under (mariadb).
-
ORM_OBJ
¶ alias of
PyFunceble.database.schemas.whois_record.WhoisRecord
-
cleanup
() → PyFunceble.dataset.whois.sql.SQLDBWhoisDataset[source]¶ Cleanups the dataset. Meaning that we delete every entries which are in the past.
-
get_content
() → Generator[dict, None, None][source]¶ Provides a generator which provides the next dataset to read.
-
update
(row: Union[dict, PyFunceble.database.schemas.whois_record.WhoisRecord], *, ignore_if_exist: bool = False) → PyFunceble.dataset.whois.sql.SQLDBWhoisDataset[source]¶ Adds the given dataset into the database if it does not exists. Update otherwise.
- ..note::
- This should be the prefered method for introduction of new dataset.
- ..warning::
- This method do nothing if the row is expired.
Parameters: row – The row or dataset to manipulate. Raises: TypeError – When the given row
is not a :py:class`dict`.
-
Module contents¶
The tool to check the availability or syntax of domain, IP or URL.
██████╗ ██╗ ██╗███████╗██╗ ██╗███╗ ██╗ ██████╗███████╗██████╗ ██╗ ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝██╔══██╗██║ ██╔════╝
██████╔╝ ╚████╔╝ █████╗ ██║ ██║██╔██╗ ██║██║ █████╗ ██████╔╝██║ █████╗
██╔═══╝ ╚██╔╝ ██╔══╝ ██║ ██║██║╚██╗██║██║ ██╔══╝ ██╔══██╗██║ ██╔══╝
██║ ██║ ██║ ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝
Provides everything related to the whois database logic(s).
- Author:
- Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- https://pyfunceble.github.io/#/special-thanks
- Contributors:
- https://pyfunceble.github.io/#/contributors
- Project link:
- https://github.com/funilrys/PyFunceble
- Project documentation:
- https://pyfunceble.readthedocs.io/en/latest/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020, 2022, 2023 Nissar Chababy
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.