
The tool to check the availability or syntax of domain, IP or URL.ΒΆ






PyFunceble is the little sister of Funceble which was archived on 13th March 2018.
Its main objective is to provide the availability of domains, IPs and since recently URL by generating an accurate result based on results from WHOIS, NSLOOKUP and HTTP status codes.
PyFunceble provides some useful features for continuous testing.
As an example, its auto-continue system coupled with its auto-save system allows it to run nice and smoothly under Travis CI without even reaching Travis CI time restriction. In the other side, its internal inactive database system let INACTIVE
and INVALID
caught domains, IPs or URLs being automatically retested over time on next run.
What can PyFunceble do?ΒΆ
- Test the availability of a domain.
- Test the availability of an IPv4.
- Test the availability of an IPv6.
- Test the availability of a URL.
- Test the availability of a domain/DNS name in a private or local network.
- Test the availability of an IPv4 in a private or local network.
- Test the availability of an IPv6 in a private or local network.
- Test the availability of a URL in a private or local network.
- Test the syntax of a domain.
- Test the syntax of an IPv4.
- Test the syntax of an IPv6.
- Test the syntax of a URL.
- Test the AlienVaultβs reputation of an IPv4.
- Test of domain or IP which are present into an Adblock formatted file.
- Test from a given raw link.
- Test using multiprocessing (from CLI only).
- Save test result(s) in file(s) (hosts file, plain text and/or JSON format).
- Save test result in a SQL database.
- Show test result(s) on screen.
- Show percentage of each status (
ACTIVE
,INACTIVE
,INVALID
) - Sort outputs hierarchically.
- βMiningβ of domain or IP which are related to the tested element.
- Auto-continuation of tests in case of system crash or script stop.
- Filtering of a file content.
- This feature will let us for example test all blogspot domain of the given file no matter the content of the file.
- Set the user-agent to use for the tests.
- Give some analytic depending of the HTTP status code (
ACTIVE
,POTENTIALLY_ACTIVE
,POTENTIALLY_INACTIVE
,SUSPICIOUS
). - Retest overtime of
INACTIVE
andINVALID
domains. - Print the execution time on screen and file.
- Customisation of the different option via command-line arguments or configuration file.
- Continuous tests under Travis CI or GitLab CI/CI
- β¦ with the help of an auto saving and database system.
- Set the branch to push the result to. For the autosaving system.
- Set the minimal time before we autosave in order to avoid CI/CD limitation.
- Set a command to execute at the end of the test.
- Set the commit message for the autosaving system.
- β¦ and a lot more!
ContributorsΒΆ
Thanks to those awesome peoples for their awesome and crazy idea(s), contribution(s) and or issue report which made or make PyFunceble a better tool.
_______ _ _ _ _
|__ __| | | | | | | |
| | | |__ __ _ _ __ | | _____ | |_ ___ _ _ ___ _ _ | |
| | | '_ \ / _` | '_ \| |/ / __| | __/ _ \ | | | |/ _ \| | | | | |
| | | | | | (_| | | | | <\__ \ | || (_) | | |_| | (_) | |_| | |_|
|_| |_| |_|\__,_|_| |_|_|\_\___/ \__\___/ \__, |\___/ \__,_| (_)
__/ |
|___/
- Daniel - @dnmTX
- hawkeye116477 - @hawkeye116477
- Imre Kristoffer Eilertsen - @DandelionSprout
- jawz101 - @jawz101
- kowith337 - @kowith337
- Mitchell Krog - @mitchellkrogza
- NeolithEra - @NeolithEra
- Odyseus - @Odyseus
- opav - @opav
- Reza Rizqullah - @ybreza
- ScriptTiger - @ScriptTiger
- sjhgvr - @sjhgvr
- speedmann - @speedmann
- spirillen - @spirillen
- The Unknown - @AnonymousPoster
- WaLLy3K - @WaLLy3K
- xxcriticxx - @xxcriticxx
- ZeroDot1 - @ZeroDot1
Special ThanksΒΆ
Thanks to those awesome organization(s), tool(s) and or people(s) for
- Their awesome documentation
- Their awesome repository
- Their awesome tool/software/source code
- Their breaking reports
- Their contributions
- Their current work/purpose
- Their promotion of Py-Funceble
- Their support
- Their testings reports
which helped and/or still help me build, test and or make PyFunceble a better tool.
_______ _ _ _ _
|__ __| | | | | | | |
| | | |__ __ _ _ __ | | _____ | |_ ___ _ _ ___ _ _ | |
| | | '_ \ / _` | '_ \| |/ / __| | __/ _ \ | | | |/ _ \| | | | | |
| | | | | | (_| | | | | <\__ \ | || (_) | | |_| | (_) | |_| | |_|
|_| |_| |_|\__,_|_| |_|_|\_\___/ \__\___/ \__, |\___/ \__,_| (_)
__/ |
|___/
- Adam Warner - @PromoFaux
- Adblock Plus - @adblockplus
- asciinema - @asciinema
- Bob Halley - @rthalley (DNSPython)
- Chris Griffith - @cdgriffith (Box)
- Daniel - @dnmTX
- Jonathan Hartley - @tartley (colorama)
- IANA - ICANN (Root Zone Database)
- Kenneth Reitz - @kennethreitz (requests)
- Mitchell Krog - @mitchellkrogza
- Mohammad Fares - @faressoft (Terminalizer)
- Pi-Hole - @pi-hole
- Public Suffix List - @publicsuffix
- Reza Rizqullah - @ybreza
- Saurabh Kumar - @theskumar (python-dotenv)
- ScriptTiger - @ScriptTiger
- SMed79 - @SMed79
- spirillen - @spirillen
- The YAML Project - @yaml (pyyaml)
- yWorks - (yEd Graph Editor)
Supporting the projectΒΆ
PyFunceble, Dead-Hosts, and all other analogue projects are powered by my free time and a lot of coffee!
If you like this project and/or it have helped you. Please consider buying me more coffee.
GitHub SponsorΒΆ
@funilrys is part of the GitHub Sponsor program!
GitHub will match all donation for the coming months!

LicenseΒΆ
Copyright 2017, 2018, 2019, 2020 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
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.
Code of ConductΒΆ
Our PledgeΒΆ
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of e xperience, nationality, personal appearance, race, religion, or sexual identity and orientation.
Our StandardsΒΆ
Examples of behavior that contributes to creating a positive environment i nclude:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing othersβ private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
Our ResponsibilitiesΒΆ
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
ScopeΒΆ
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
EnforcementΒΆ
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at contact@funilrys.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the projectβs leadership.
AttributionΒΆ
This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4.
They use-d PyFunceble!ΒΆ
Just a list of tool/repository/code/infrastructure which uses or used PyFunceble!
- .pl-host-file
- add.2o7Net
- add.Dead
- add.Risk
- add.Spam
- adfilt
- Asads-Hosts
- Badd-Boyz-Hosts
- Badger Sett
- blacklist
- CoinBlockerLists
- cookies_filters
- DNS test
- Facebook Zero Hosts Block
- finnish-easylist-addition
- Frellwits-filter-lists
- Google AdService and ID.Google tracking hosts
- KADhosts
- MobileAdTrackers
- My Privacy DNS
- Phishing-URL-Testing-Database-of-Link-Statuses
- Phishing.Database
- polish-adblock-filters
- polish-pihole-filters
- pornhosts
- Stop.Google.Analytics.Ghost.Spam.HOWTO
- The-Big-List-of-Hacked-Malware-Web-Sites
- Top-Attacking-IP-Addresses-Against-Wordpress-Sites
- Ultimate.Hosts.Blacklist // Ultimate-Hosts-Blacklist
- UncheckyAds
Frequently Asked QuestionsΒΆ
How to speed up the test process?ΒΆ
Warning
Beware, when talking about speed a lot a thing have to be taken in consideration. Indeed here is a non exaustive list of things which fluctuate testing speed.
- Bandwidth.
- DNS Server response time.
- CPU.
- ISP blocking a big amount of connection to the outside world.
- Our databases management (do not apply for MySQL and MariaDB format).
- Amount of data to test.
- β¦
I have a dedicated server or machine just for PyFuncebleΒΆ
Simply increase the number of maximal workers PyFunceble is allowed to use
throught the --max-workers
argument.
By default the number of workers is equal to:
CPU CORES * 5
meaning that if you have 8 CPU cores, the value will be automatically set to
40
.
Warning
Keep in mind that the --max-workers
mostly - if not only - affects
the tester threads. Because we want to safely write the files, we still
need a single thread which read the submitted results and generate the
outputs.
The reason we did that with 4.0.0
is because, we donβt want to
have a wrongly formatted output file.
Known issuesΒΆ
This is the list of issues which are not or will not be fixed (yetβ¦).
- Under Travis CI the coloration may not be shown.
- Under GitLab CI/CD the coloration may not be shown.
Ubuntu 20.04.1 LTS FocalΒΆ
In Ubunto release 20.04 they have removed a package name
libffi.so.6
and upgraded it with version libffi.so.7
This means PyFunceble will trow an error like:
ImportError: libffi.so.6: cannot open shared object file: No such file or directory
The fix for this issue is then rather simple, add a softlink between the
versions with ln -s
The complete line in my case was:
sudo ln -s /usr/lib/x86_64-linux-gnu/libffi.so.7 /usr/lib/x86_64-linux-gnu/libffi.so.6
However, the right way to do this is by first locate where yourβs
libffi.so.7
is by
find /usr/lib/ -type f -iname 'libffi.so.*'
and then apply the
softlink to libffi.so.7
Discovered an issue?ΒΆ
Want to talk with @funilrys about it? Contact @funilrys on Keybase.
Want to make it public? Fill out a new issue.
Donβt want to fill out an issue on GitHub? Letβs discuss it through a new discussion on GitHub.
Need help?ΒΆ
Do you need help with the usage of PyFunceble? We can help!
Submit a new discussion (NOT ISSUE) on GitHub or contact one of our contributors directly.
Need information?ΒΆ
You can get information and discuss about PyFunceble on our issue board (GitHub) or ask your question through a new discussion on GitHub. @Funilrys (me) will do his best to keep it up-to-date with some information about the development and other news about PyFunceble.
Dead-HostsΒΆ
Why Dead-Hosts?ΒΆ
We are conscient that PyFunceble may run for days. We would therefore offer you, to have your list. Request for Dead-Hosts testing.
How do Dead-Hosts work?ΒΆ
Dead-Hosts is like a wrapper of PyFunceble. Indeed, we use Travis CI containers in order to test lists with PyFunceble.
Once a list is set up inside our infrastructure, PyFunceble will
test the list regularly and the Dead-Hosts infrastructure will produce a
clean.list
file which represents the list of domains/IP/URL
which remains or became ACTIVE
.
In addition, if needed, we can set up a list of GitHub username to @ping once a new test is finished.
Do you want your list to be tested at Dead-Hosts ? You can request it !
History of Dead-HostsΒΆ
The project started on 3rd March 2017 at funilrys/dead-hosts.
The original idea was to test Funceble against hosts file in order to find bugs inside Funceble but also letting me (@funilrys) have a shorter hosts file.
On 23rd January 2018, I (@funilrys) decided to shut funilrys/dead-hosts down, as it became impossible to test all members of the project without having to wait for weeks. I then decided it was time to move on to another level.
That was the beginning of Dead-Hosts.
Today Dead-Hostsβs is objective to provide project and lists to maintainers or individuals, with the help of PyFunceble, to provide more information about their favourite project/list or domains, IP or URL.
InstallationΒΆ
RequirementsΒΆ
Here is the list of requirements:
- Python 3.6.11+
alembic
colorama
cryptography
dnspython
domain2idna
inflection
- :code:`PyMySQL`like - for example - Travis CI
python-box
python-dotenv
PyYAML
requests
setuptools
sqlalchemy
Python 3.6.11+ΒΆ
The specification 3.6.11+
is because we test PyFunceble (daily)
in all (3.x
) versions from 3.6.11
.
Otherwise, more semantically, PyFunceble is written for all Python 3.6+ version.
alembic
ΒΆ
As we want to automate database (MySQL/MariaDB) schema migration, we
chose alembic
for the job.
colorama
ΒΆ
As we use some coloration, colorama
is required.
cryptography
ΒΆ
As we use some cryptography algorithm for message hashing as example,
cryptography
is required.
dnspython
ΒΆ
As we use it to do the DNS lookups, dnspython
is required.
domain2idna
ΒΆ
As we propose the conversion of domains to IDNA, domain2idna
is required.
Note
domain2idna
is maintained and developed by
Nissar Chababy (@funilrys), the developer of PyFunceble.
Its source code can be found on GitHub.
inflection
ΒΆ
We donβt necessarily want to reinvent the wheel while generating the (database) tables name from our schama descriptions. This tool is a relief!
PyMySQL
ΒΆ
As we propose the MariaDB
or MySQL
database types,
PyMySQL
is required.
python-box
ΒΆ
As we use python-box
for a better code access to the configuration, it is required.
python-dotenv
ΒΆ
As we are able to load dotenv files, python-dotenv
is required.
PyYAML
ΒΆ
As our configuration file is written in .yaml
, PyYAML
is required.
requests
ΒΆ
As we use requests
multiple times to communicate with webservices, requests
is required.
setuptools
ΒΆ
As we use install_requires=xx
inside our setup.py
, setuptools
is required.
sqlalchemy
ΒΆ
As we donβt want to maintain several RAW SQL files, we use sqlalchemy
for the database communication and manipulation.
Stable versionΒΆ
Using pip
ΒΆ
From PyPiΒΆ
$ pip3 install --user PyFunceble
Note
We recommend the --user
flag which installs the required dependencies
at the user level. More information about it can be found on
pip documentation.
Warning
We do not recommend the --user
flag when using PyFunceble
into containers or CI engines.
From GitHubΒΆ
$ pip3 install --user git+https://github.com/funilrys/PyFunceble.git@master#egg=PyFunceble
Note
We recommend the --user
flag which installs the required dependencies
at the user level. More information about it can be found on pip documentation.
Warning
We do not recommend the --user
flag when using PyFunceble
into containers like - for example - Travis CI.
Using the AUR (for Arch Linux users)ΒΆ
The package can be found at https://aur.archlinux.org/packages/pyfunceble/.
With makepkgΒΆ
$ wget https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=pyfunceble
$ makepkg
$ sudo pacman -U pyfunceble*.tar.xz
With your favorite AUR helperΒΆ
Warning
We do not recommend any AUR helper but keep in mind that some AUR helpers are βbetterβ than other. For more information about your current (or any other) AUR helper please report to the ArchWiki page.
$ yourFavoriteAurHelper -S pyfunceble
Using docker (hub)ΒΆ
The image description can be found at https://hub.docker.com/r/pyfunceble/pyfunceble
$ docker pull pyfunceble/pyfunceble
Using conda
ΒΆ
Our repository is located at https://anaconda.org/pyfunceble/pyfunceble
conda install -c conda-forge -c pyfunceble pyfunceble=3
Pure Python methodΒΆ
Execute the following and enjoy PyFunceble!
$ git clone https://github.com/funilrys/PyFunceble.git
$ cd PyFunceble
$ python3 setup.py test
$ python3 setup.py install # Avoid this if you want to uninstall or update one day.
$ pip3 install --user -e . # Prefer this method.
Note
We recommend the --user
flag which installs the required dependencies
at the user level. More information about it can be found on
pip documentation.
Warning
We do not recommend the --user
flag when using PyFunceble
into containers or CI engines.
Development versionΒΆ
The development version of PyFunceble represents the dev
branch.
Itβs intended for the development of next features
but is always at a usable state.
Indeed, We should not push to the dev
branch until
we are sure that the new commit does not break or introduce
critical issue under PyFunceble.
For developmentΒΆ
Execute the following and letβs hack PyFunceble!
Note
We highly recommend you to develop PyFunceble under a virtualenv
.
$ git clone https://github.com/funilrys/PyFunceble.git
$ cd PyFunceble
$ git checkout dev
$ virtualenv -p python3 venv
$ source venv/bin/activate
$ pip3 install -e .
Note
After installing with:
$ source venv/bin/activate
$ pip3 install -e .
- you only need to update the repository.
- you donβt have to rerun the
pip
command.
For usageΒΆ
Using pip
ΒΆ
Execute one of the following and enjoy PyFunceble!
From PyPiΒΆ
$ pip3 install --user PyFunceble-dev
Note
We recommend the --user
flag which installs the required dependencies at the user level. More information about it can be found on pip documentation.
Warning
We do not recommend the --user
flag when using PyFunceble
into containers like - for example - Travis CI.
From GitHubΒΆ
$ pip3 install --user git+https://github.com/funilrys/PyFunceble.git@dev#egg=PyFunceble
Note
We recommend the --user
flag which installs the required dependencies at the user level. More information about it can be found on pip documentation.
Warning
We do not recommend the --user
flag when using PyFunceble
into containers like - for example - Travis CI.
Using the AUR (for Arch Linux users)ΒΆ
The package can be found at https://aur.archlinux.org/packages/pyfunceble-dev/.
With makepkgΒΆ
$ wget https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=pyfunceble-dev
$ makepkg
$ sudo pacman -U pyfunceble-dev*.tar.xz
With your favorite AUR helperΒΆ
Warning
We do not recommend any AUR helper but keep in mind that some AUR helpers are βbetterβ than other. For more information about your current (or any other) AUR helper please report to the ArchWiki page.
$ yourFavoriteAurHelper -S pyfunceble-dev
Using docker (hub)ΒΆ
The image description can be found at https://hub.docker.com/r/pyfunceble/pyfunceble-dev
$ docker pull pyfunceble/pyfunceble-dev
Using conda
ΒΆ
Our repository is located at https://anaconda.org/pyfunceble/pyfunceble-dev
conda install -c conda-forge -c pyfunceble pyfunceble-dev=3
Pure Python methodΒΆ
Execute the following and enjoy PyFunceble!
$ git clone https://github.com/funilrys/PyFunceble.git
$ cd PyFunceble && git checkout dev
$ tox # Run tests
$ python3 setup.py install # Avoid this if you want to uninstall or update one day.
$ pip3 install --user -e . # Prefer this method.
Note
We recommend the --user
flag which installs the required dependencies
at the user level. More information about it can be found on
pip documentation.
Warning
We do not recommend the --user
flag when using PyFunceble
into containers like - for example - Travis CI.
UpdateΒΆ
Stable versionΒΆ
Important information for dev >= 3.2.11
ΒΆ
When you update from dev@<=3.2.10 or master@<=3.2.2 to newer release, there will be made a SQL conversion of the databases table layout. This can take up a sagnificent amount of time based on the size of the database.
The table layout converion is being made to:
- Minimize the total size
- Optimize the sql flow and minimizing the read/write to save disk I/O.
- Minimize the number of SQL queries being made
It have been seen taking days to convert these tables on very large installations.
Important information for dev >= 4.0.0
ΒΆ
When you update to PyFunceble 4.0.0
, there will be
a SQL conversion if you use the
mysql
or mariadb database type.a JSON to CSV conversion if one of those files is found in your filesystem:
inactive_db.json
whois_db.json
a breaking and compatibility issue if you try to directly (automatically ?) read the data in the output directory. Indeed if you were looking for
output/domains/ACTIVE/list
in PyFunceble3.x
, in4.0
, it is now underoutput/{{ input_file_name }}/domains/ACTIVE list
.
Using pip
ΒΆ
From PyPiΒΆ
$ pip3 install --user --upgrade PyFunceble
Note
We recommend the --user
flag which installs the required dependencies
at the user level. More information about it can be found on
pip documentation.
Warning
We do not recommend the --user
flag when using PyFunceble
into containers or CI engines.
From GitHubΒΆ
$ pip3 install --user --upgrade git+https://github.com/funilrys/PyFunceble.git@master#egg=PyFunceble
Note
We recommend the --user
flag which installs the required dependencies
at the user level. More information about it can be found on
pip documentation.
Warning
We do not recommend the --user
flag when using PyFunceble
into containers or CI engines.
Using the AUR (for Arch Linux users)ΒΆ
With makepkgΒΆ
$ wget https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=python-pyfunceble
$ makepkg
$ sudo pacman -U python-pyfunceble*.tar.xz
With your favorite AUR helperΒΆ
Warning
We do not recommend any AUR helper but keep in mind that some AUR helpers are βbetterβ than other. For more information about your current (or any other) AUR helper please report to the ArchWiki page.
$ yourFavoriteAurHelper -Syu python-pyfunceble
Using docker (hub)ΒΆ
The image description can be found at https://hub.docker.com/r/pyfunceble/pyfunceble
$ docker pull pyfunceble/pyfunceble
Using conda
ΒΆ
Our repository is located at https://anaconda.org/pyfunceble/pyfunceble
conda update -c conda-forge -c pyfunceble pyfunceble
Pure Python methodΒΆ
Execute the following and enjoy PyFunceble!
$ cd PyFunceble
$ git checkout master && git fetch origin && git merge origin/master
$ python3 setup.py test
$ python3 setup.py install # Avoid this if you want to uninstall one day.
$ pip3 install --user --upgrade -e . # Prefer this method.
Note
We recommend the --user
flag which installs the required dependencies
at the user level. More information about it can be found on
pip documentation.
Warning
We do not recommend the --user
flag when using PyFunceble
into containers like - for example - Travis CI.
Development versionΒΆ
Important information for dev >= 3.2.11
ΒΆ
When you update from dev@<=3.2.10 or master@<=3.2.2 to newer release, there will be made a SQL conversion of the databases table layout. This can take up a sagnificent amount of time based on the size of the database.
The table layout converion is being made to:
- Minimize the total size
- Optimize the sql flow and minimizing the read/write to save disk I/O.
- Minimize the number of SQL queries being made
It have been seen taking days to convert these tables on very large installations.
Important information for dev >= 4.0.0
ΒΆ
When you update to PyFunceble 4.0.0
, there will be
a SQL conversion if you use the
mysql
or mariadb database type.a JSON to CSV conversion if one of those files is found in your filesystem:
inactive_db.json
whois_db.json
a breaking and compatibility issue if you try to directly (automatically ?) read the data in the output directory. Indeed if you were looking for
output/domains/ACTIVE/list
in PyFunceble3.x
, in4.0
, it is now underoutput/{{ input_file_name }}/domains/ACTIVE list
.
For developmentΒΆ
$ cd PyFunceble && git checkout dev
$ git fetch origin && git merge origin/dev
Note
As you previously installed with
$ . venv/bin/activate && pip3 install -e .
Only code/repository update is required.
For usageΒΆ
Using pip
ΒΆ
From PyPiΒΆ
$ pip3 install --user --upgrade PyFunceble-dev
Note
We recommend the --user
flag which installs the required dependencies
at the user level. More information about it can be found on
pip documentation.
Warning
We do not recommend the --user
flag when using PyFunceble
into containers like - for example - Travis CI.
From GitHubΒΆ
$ pip3 install --user --upgrade git+https://github.com/funilrys/PyFunceble.git@dev#egg=PyFunceble
Note
We recommend the --user
flag which installs the required dependencies
at the user level. More information about it can be found on
pip documentation.
Warning
We do not recommend the --user
flag when using PyFunceble
into containers like - for example - Travis CI.
Using the AUR (for Arch Linux users)ΒΆ
With makepkgΒΆ
$ wget https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=python-pyfunceble-dev
$ makepkg
$ sudo pacman -U python-pyfunceble-dev*.tar.xz
With your favorite AUR helperΒΆ
Warning
We do not recommend any AUR helper but keep in mind that some AUR helpers are βbetterβ than other. For more information about your current (or any other) AUR helper please report to the ArchWiki page.
$ yourFavoriteAurHelper -Syu python-pyfunceble-dev
Using docker (hub)ΒΆ
The image description can be found at https://hub.docker.com/r/pyfunceble/pyfunceble-dev
$ docker pull pyfunceble/pyfunceble-dev
Using conda
ΒΆ
Our repository is located at https://anaconda.org/pyfunceble/pyfunceble-dev
conda update -c conda-forge -c pyfunceble pyfunceble-dev
Pure Python methodΒΆ
Execute the following and enjoy PyFunceble!
$ cd PyFunceble && git checkout dev
$ git fetch origin && git merge origin/dev
$ python3 setup.py test
$ python3 setup.py install # Avoid this if you want to uninstall one day.
$ pip3 install --user --upgrade -e . # Prefer this method.
Note
We recommend the --user
flag which installs the required dependencies
at the user level. More information about it can be found on pip documentation.
Warning
We do not recommend the --user
flag when using PyFunceble
into containers or CI engines.
ConfigurationΒΆ
LocationΒΆ
ProblematicsΒΆ
- How can we create a more efficient way to work with configuration?
- How can we make the configuration file(s) available globally so that PyFunceble can be run everywhere in the user workspace?
To answer those problematics, we moved the configuration location elsewhere in the place where most users expect to have their configuration file(s).
Repository cloneΒΆ
If you cloned the repository and youβre trying to test from a cloned directory
(the one with for example CONTRIBUTING.md
) we consider the configuration
directory as the current one.
Note
This behavior allows us to not modify the way we develop PyFunceble.
Travis CIΒΆ
Under Travis CI, we search or initiate the configuration at the directory we are currently located.
Warning
We donβt care about the distribution, as long as the TRAVIS_BUILD_DIR
environment variable is set, we search or initiate the configuration in the
current directory.
Note
If you want to force the directory where we should work, you can initiate
the PYFUNCEBLE_CONFIG_DIR
environment variable with the path where
we should work.
GitLab CI/CDΒΆ
Under GitLab CI/CD, we search or initiate the configuration at the directory we are currently located.
Warning
We donβt care about the distribution, as long as the PROJECT_CI
and
GITLAB_CI
environment variables are set,
we search or initiate the configuration in the current directory.
Note
If you want to force the directory where we should work, you can initiate
the PYFUNCEBLE_CONFIG_DIR
environment variable with the path where
we should work.
Linux and MacOS (Darwin Kernel)ΒΆ
Under Linux and MacOS, we look for the following directories in their order. If any configuration directory is found, the system proposes you to install them automatically on the first configuration file.
~/.config/PyFunceble
~/.PyFunceble
${PWD}
Note
If the parent directory does not exist, we move to the next possible location in the given order.
This means that under most Linux distributions and MacOS versions,
we consider ~/.config/PyFunceble
as the configuration location.
But if the ~/.config
directory does not exist, we fallback
to ~/.PyFunceble
as the configuration location.
WindowsΒΆ
As mentioned by Pat Altimoreβs Blog, we used the
Per user configuration files synchronized across domain joined machines via Active Directory Roaming
section to understand what we should do to find our configuration directory.
Under Windows, we look for the following directories in their order. If any configuration directory is found, the system proposes you to install them automatically on the first configuration file.
%APPDATA%\PyFunceble
(environnement variable)%CD%
Note
%CD%
is explained by the set command (set /?
):
%CD% - expands to the current directory string.
Note
If the parent directory does not exist, we move to the next possible location in the given order.
This means that under most Windows versions, we consider
%APPDATA%\PyFunceble
- also know as
C:\Users\userName\AppData\Roaming\PyFunceble
- as the configuration
location.
But if the %APPDATA%
directory does not exist, we fall back to the
current directory as the configuration location.
Custom locationΒΆ
Sometimes, you may find yourself in a position where you absolutely do not want PyFunceble to use its default configuration location.
For that reason, if you set your desired configuration location along with the
PYFUNCEBLE_CONFIG_DIR
environment variable, we take that location as
the (default) configuration location.
AutoconfigurationΒΆ
Sometimes, you may find yourself in a position that you do not or you canβt answer the question which asks you if you would like to merge an upstream configuration file into your local one.
For that reason, if you can set the PYFUNCEBLE_AUTO_CONFIGURATION
as an environment variable. Setting that environment variable will make
PyFunceble merge the upstream configuration when a new key is available but
not found into your configuration file.
Warning
As of 4.0.0
the configuration file is automatically copied into
your configuration directory - if it is not found.
IndexesΒΆ
This page will try to detail each configuration available into .PyFunceble.yaml
along with the location of where we are looking for the configuration file.
verify_ssl_certificate
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the verification of the SSL/TLS certificate when testing for URL.
Warning
If you set this index to True
, you may get false positive
result.
Indeed if the certificate is not registered to the CA or is simply
invalid and the domain is still alive, you will always get
INACTIVE
as output.
debug
ΒΆ
Type:
dict
Description: Configures the debug / logging.
debug[active]
ΒΆ
Type:
boolean
Default value:
False
Description: Activate or deactivates the debug / logging.
debug[level]
ΒΆ
Type:
string
Default value:
info
Available values:
INFO
,DEBUG
,WARNING
,ERROR
,CRITICAL
.Description: Activate or deactivates the debug / logging.
cli_decoding
ΒΆ
Type:
dict
Description: Configures everything related to the decoding of the given input sources.
cli_decoding[adblock]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the adblock decoding.
Note
If this index is set to True
, every time we read a given file, we
try to extract the elements that are present.
We basically only decode the adblock format.
Note
If this index is set to False
, every time we read a given file, we
will consider one line as an element to test.
cli_decoding[adblock_aggressive]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables disable some aggressive settings related to the adblock decoding.
Warning
This option is available but please keep in mind that the underlying source code is still experimental.
cli_decoding[rpz]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the decoding of RPZ policies from each given input files.
cli_decoding[wildcard]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the decoding of wildcards for each given input files.
cli_testing
ΒΆ
Type:
dict
Description: Configures everything related to the CLI testing.
cli_testing[hosts_ip]
ΒΆ
Type:
string
Default value:
"0.0.0.0"
Description: Sets the IP to prefix each lines of the hosts file.
cli_testing[max_workers]
ΒΆ
Type:
integer
Default value:
null
Description: Sets the number of maximal threads workers that we are allowed to allocate for the testing.
Warning
If set to null
, we use the default value calculated from your
machine ressources. Meaning:
CPU cores * 5
cli_testing[autocontinue]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the automatic continuation subsystem.
cli_testing[inactive_db]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the usage of a βdatabaseβ to store all
INVALID
andINACTIVE
subject for continuous retest.
cli_testing[whois_db]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the uage of a βdatabaseβ to store the expiration date of all domains with a valid expiration date.
Warning
We do not recomend you to disable this. In fact, this is your safety against the rate limite imposed by most WHOIS servers.
cli_testing[complements]
ΒΆ
Type:
boolean
Default value:
False
Description: Activate or disables the generation and test of the complements of a given subject.
Note
A complement is for example example.org
if
www.example.org
is given and vice-versa.
cli_testing[cooldown_time]
ΒΆ
Type::
float
Default value:
0.0
Description: Sets the cooldown time to apply between each test.
cli_testing[db_type]
ΒΆ
Type:
string
Default value:
csv
Available values:
csv
,mariadb
,mysql
.Description: Sets the database type (or engine) to use everytime we create a database or a storage of a potentially huge dataset.
cli_testing[file_filter]
ΒΆ
Type:
string
Default value:
null
Description: A regular expression which we use to filter the subjects to (actually) test.
cli_testing[mining]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the mining subsystem.
cli_testing[local_network]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the consideration of the test(s) in or for a local or private network context.
cli_testing[ci]
ΒΆ
Type:
dict
Description: Configures everything related to the Continuous Integration.
cli_testing[ci][active]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the Continuous Integration mechanism.
cli_testing[ci][commit_message]
ΒΆ
Type:
string
Default value:
"PyFunceble - AutoSave"
Description: Sets the commit message to apply everytime we have to apply a commit except for the really last one.
cli_testing[ci][end_commit_message]
ΒΆ
Type:
string
Default value:
"PyFunceble - Results"
Description: Sets the commit message to apply at the really end.
cli_testing[ci][max_exec_minutes]
ΒΆ
Type:
integer
Default value:
15
Description: Sets the number of minutes to wait before starting to stop a CI session.
Note
As many services are setting a rate limit per IP, itβs a good idea to set
this value between 1
and 15
minute(s).
cli_testing[ci][branch]
ΒΆ
Type:
string
Default value:
master
Description: Sets our git working branch. This is the branch from where we are supposed to store the tests (excepts the final results).
cli_testing[ci][distribution_branch]
ΒΆ
Type:
string
Default value:
master
Description: Sets our git distributions branch. This is the branch from where we are supposed to store and push the final results.
cli_testing[ci][command]
ΒΆ
Type:
string
Default value:
null
Description: Sets the command to execute before each commit (except the final one).
cli_testing[ci][end_command]
ΒΆ
Type:
string
Default value:
null
Description: Sets the command to execute before the final commit.
cli_testing[display_mode]
ΒΆ
Type:
dict
Description: Configures everything related to what is displayed.
cli_testing[display_mode][dots]
ΒΆ
Type:
boolean
Default value:
False
Description: Activate or disables the printing of dots or other characters when we skip the test of a subjec.
cli_testing[display_mode][dots]
ΒΆ
Type:
boolean
Default value:
False
Description: Activate or disables the display of dots or other characters when we skip the test of a subjec.
cli_testing[display_mode][execution_time]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the display of the execution time.
cli_testing[display_mode][percentage]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the display and generation of the percentage - file - of each status.
cli_testing[display_mode][quiet]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the display of output to the terminal.
Warning
If the the dots mode is activate, this option will still allow them to work.
cli_testing[display_mode][less]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the display of the minimal information in the table we print to stdout.
cli_testing[display_mode][all]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the disply of the all information in the table we print to stdout.
cli_testing[display_mode][simple]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the simple output mode.
Note
When this mode is active, the system will only return the result in the
following format: example.org ACTIVE
.
cli_testing[display_mode][status]
ΒΆ
Type:
string
|list
Default value:
all
Available values:
all
,ACTIVE
,INACTIVE
,INVALID
,VALID
,SANE
,MALICIOUS
Description: Sets the status that we are allowed to print to STDOUT.
Note
A list of status can be given if you want to filter multiple status at once.
cli_testing[display_mode][colour]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the coloration to STDOUT.
cli_testing[testing_mode]
ΒΆ
Type:
dict
Description: Configures the testing mode to apply.
Warning
Only one of those is take in consideration.
Here is the priority / checking order:
syntax
reputation
availability
cli_testing[testing_mode][availability]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the availability checker.
Note
This is the default mode.
cli_testing[testing_mode][syntax]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the syntax checker.
cli_testing[testing_mode][reputation]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the reputation checker.
cli_testing[days_between]
ΒΆ
Type:
dict
Description: Configures some days related events.
cli_testing[days_between][db_clean]
ΒΆ
Type:
integer
Default value:
28
Description: Sets the numbers of days since the introduction of a subject into the inactive dataset before it gets deleted.
Warning
As of PyFunceble 4.0.0
this is not actively implemented.
cli_testing[days_between][db_retest]
ΒΆ
Type:
integer
Default value:
28
Description: Sets the numbers of days since the introduction of a subject into the inactive dataset before it gets retested.
cli_testing[sorting_mode]
ΒΆ
Type:
dict
Description: Configures the sorting mode to apply.
Warning
Only one of those is take in consideration.
Here is the priority / checking order:
hierarchical
standard
cli_testing[sorting_mode][hierarchical]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the sorting of the files content (output) in a hierarchical order.
cli_testing[sorting_mode][standard]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the sorting of the files content (output) in our standard order.
cli_testing[file_generation]
ΒΆ
Type:
dict
Description: Configures everything related to the file generation.
cli_testing[file_generation][no_file]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the generation of any non-logs file(s).
cli_testing[file_generation][no_file]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the generation of any non-logs file(s).
cli_testing[file_generation][hosts]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the generation of the hosts file(s).
cli_testing[file_generation][plain]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the generation of the RAW file(s). What is meant is a list with only a list of subject (one per line).
cli_testing[file_generation][analytic]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the generation of the analytic file(s).
cli_testing[file_generation][unified_results]
ΒΆ
Type:
boolean
Default value:
False
Description: Activates or disables the generation of the unified results file instead of the splitted one.
lookup
ΒΆ
Type:
dict
Description: Configures everything related to the lookup tools to use while testing a given subject.
lookup[dns]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the usage of the DNS lookup whether possible.
lookup[http_status_code]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the usage of the HTTP status code whether possible.
lookup[netinfo]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the usage of the network information (or network socket) whether possible.
lookup[special]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the usage of our SPECIAL and extra rules whether possible.
lookup[whois]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the usage of the WHOIS record (or better said the expiration date in it) whether possible.
lookup[reputation]
ΒΆ
Type:
boolean
Default value:
True
Description: Activates or disables the usage of the reputation dataset whether possible.
lookup[timeout]
ΒΆ
Type:
integer
Default value:
5
Description: Sets the default timeout to apply to each lookup utilities everytime it is possible to define a timeout.
dns
ΒΆ
Type:
dict
Description: Configures everything related to the DNS lookup.
dns[server]
ΒΆ
Type:
list
Default value:
null
Description: Sets the DNS server(s) to work with.
Note
When a list is given the following format is expected.
dns_server:
- dns1.example.org
- dns2.example.org
Note
You can specify a port number to use to the DNS server if needed.
As example:
- 127.0.1.53:5353
Warning
Please be careful when you overwrite this option. If one is not correct,
you can almost sure that all results are going to be flagged as
INACTIVE
.
dns[protocol]
ΒΆ
Type:
string
Default value:
UDP
Available values:
UDP
,TCP
,HTTPS
,TLS
.Description: Sets the protocol to use for all DNS queries.
user_agent
ΒΆ
Type:
dict
Description: Configures the user agent.
user_agent[browser]
ΒΆ
Type:
string
Default value:
chrome
Available values:
chrome
,edge
,firefox
,ie
,opera
,safari
.Description: Sets the browser to get the get the latest user agent from.
Warning
This option is not taken in consideration if user_agent[custom]
is
not set to null
.
user_agent[platform]
ΒΆ
Type:
string
Default value:
linux
Available values:
linux
,macosx
,win10
Description: Sets the platform to get the get the latest user agent for.
Warning
This option is not taken in consideration if user_agent[custom]
is
not set to null
.
user_agent[custom]
ΒΆ
Type:
string
Default value:
null
Description: Sets the user agent to use.
Warning
Setting this index will overwrite the choices made into
user_agent[platform]
and user_agent[browser]
.
http_codes
ΒΆ
Type:
dict
Description: Configures everything related to the HTTP status code and the way PyFunceble handles them.
http_codes[self_managed]
ΒΆ
Type:
bool
Default value:
False
Description: Informs PyFunceble that the status code list should not be managed automatically.
http_codes[list]
ΒΆ
Type:
dict
Description: Categorizes the HTTP status codes.
http_codes[list][up]
ΒΆ
Type:
list
Default value:
- 100 - 101 - 102 - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226Description: List the HTTP status codes which are considered as
ACTIVE
.
http_codes[list][potentially_down]
ΒΆ
Type:
list
Default value:
- 400 - 402 - 404 - 409 - 410 - 412 - 414 - 415 - 416 - 451Description: List the HTTP status code which are considered as
INACTIVE
orPOTENTIALLY_INACTIVE
.
http_codes[list][potentially_up]
ΒΆ
Type:
list
- Default value:
- 000 - 300 - 301 - 302 - 303 - 304 - 305 - 307 - 308 - 403 - 405 - 406 - 407 - 408 - 411 - 413 - 417 - 418 - 421 - 422 - 423 - 424 - 426 - 428 - 429 - 431 - 500 - 501 - 502 - 503 - 504 - 505 - 506 - 507 - 508 - 510 - 511Description: List the HTTP status code which are considered as
ACTIVE
orPOTENTIALLY_ACTIVE
.
links
ΒΆ
Type:
dict
Description: Sets the list of links which can be used/called by the system when needed.
links[api_date_format]
ΒΆ
Type:
string
Default value:
https://pyfunceble.funilrys.com/api/date-format
Description: Sets the link to use when we share logs.
links[api_no_referer]
ΒΆ
Type:
string
Default value:
https://pyfunceble.funilrys.com/api/no-referer
Description: Sets the link to use when we share logs.
UsageΒΆ
From a terminalΒΆ
--help
ΒΆ
Show the help message and exit.
-v
| --version
ΒΆ
Show the version of PyFunceble and exit.
SourceΒΆ
-d "something"
| --domain "something"
ΒΆ
Test one or more domains, separated by spaces.
Note
This argument takes one or more values.
As example:
$ PyFunceble -d example.org example.net
Note
When this option is used, no output files are generated.
-url "something"
| --url "something"
ΒΆ
Test one or more full URL, separated by spaces.
Note
When we test the availability of a URL, we (only) check the HTTP status code of the given URL.
Note
This argument takes one or more values.
As example:
$ PyFunceble -u https://example.org https://example.com
-f "something"
| --file "something"
ΒΆ
Read a local or remote (RAW link) file and test all domains inside it. If remote (RAW link) file is given, PyFunceble will download it, and test the content of the given RAW link as if it was a locally stored file.
Multiple space separated files can be given.
Note
This argument takes one or more values.
As example:
$ PyFunceble -f test_this test_that
-uf "something"
| --url-file "something"
ΒΆ
Read a local or remote (RAW link) file and test all (full) URLs inside it. If remote (RAW link) file is given, PyFunceble will download it, and test the content of the given RAW link as if it was a locally stored file.
Note
This argument takes one or more values.
As example:
$ PyFunceble -uf test_this test_tha
Note
We consider one line as one URL to test.
Note
This argument test if a URL which is inside the given file is available. It ONLY tests full URLs.
As example:
$ PyFunceble -uf `https://raw.githubusercontent.com/funilrys/PyFunceble/dev/.travis/lists/url`
will download the given URL and test for its content assuming that each line represents a URL to test.
Warning
A test with this argument consists of the comparison of the status code. No WHOIS record will be requested nor DNS Lookup will be done.
Source filtering, decoding, conversion and expansionΒΆ
--adblock
ΒΆ
Activates or disables the decoding of the adblock format.
Default value:
False
Note
If this argument is activated the system will extract all domains or IP from the given adblock file.
--complements
ΒΆ
Activates or disables the generation and test of the complements. A complement is for example
example.org
ifwww.example.org
is given and vice-versa.Default value:
False
--filter "something"
ΒΆ
Regex to match in order to test a given line.
Default value:
None
Want to test all blogspot
from your list? This argument allows you to
do that!
Note
This argument should be a regex expression.
--mining
ΒΆ
Activates or disables the mining subsystem usage.
Default value:
False
Want to find domain or URL linked to a domain in your list? This argument will exactly do that.
--rpz
ΒΆ
Activates or disables the decoding of RPZ policies from each given input files.
Default value:
False
--wildcard
ΒΆ
Activates or disables the decoding of wildcards for each given input files.
Default value:
False
Test controlΒΆ
-c
| --auto-continue
| --continue
ΒΆ
Activates or disables the autocontinue subsystem.
Default value:
True
This argument activates or deactivates the auto-continue subsystem. Indeed, as we can automatically continue if the script has been stopped, this switch allows us to disable or enable the usage of that specific subsystem.
--cooldown-time
ΒΆ
Sets the cooldown time (in second) to apply between each test.
Default value:
0.0
This argument applies a number of seconds to sleep before/between each test.
--local
ΒΆ
Activates or disables the consideration of the test(s) in or for a local or private network context.
Default value:
False
Want to run a test over a local or private network? This argument will disable the limitation which does not apply to private networks.
--dns-lookup
ΒΆ
Activates or disables the usage of the DNS lookup whether possible.
Default value:
True
Donβt want to perform some DNS lookup ? This argument is for you.
--http-status-code-lookup
| --http
ΒΆ
Activates or disables the usage of the HTTP status code whether possible.
Default value:
True
Donβt want to take the result of the HTTP code execution into consideration? This argument allows you to disable that!
--netinfo-lookup
ΒΆ
Activates or disables the usage of the network information (or network socket) whether possible.
Default value:
True
Donβt want to perform some netinfo lookup ? This argument is for you.
--special-lookup
ΒΆ
Activates or disables the usage of our SPECIAL and extra rules whether possible.
Default value:
True
Donβt want to use/apply the SPECIAL rules - which are explained in the source column section? This argument disables them all.
--whois-lookup
ΒΆ
Activates or disables the usage of the WHOIS record (or better said the expiration date in it) whether possible.
Default value:True
Donβt want to use or take into consideration the results from whois
?
This argument allows you to disable it!
--reputation-lookup
ΒΆ
Activates or disables the usage of the reputation dataset whether possible.
Default value:False
Want to take the reputation data into consideration? This argument is for you.
--reputation
ΒΆ
Activates or disables the reputation checker.
Default value:
False
--syntax
ΒΆ
Activates or disables the syntax checker.
Default value:
False
-t "something"
| --timeout "something"
ΒΆ
Sets the default timeout to apply to each lookup utilities everytime it is possible to define a timeout.
Default value:
5
-ua "something"
| --user-agent "something"
ΒΆ
Sets the user agent to use.
Warning
If not given, we try to get the latest (automatically) for you
-vsc
| --verify-ssl-certificate
ΒΆ
Activates or disables the verification of the SSL/TLS certificate when testing for URL.
Default value:
False
Warning
If you activate the verification of the SSL/TLS certificate, you may get false-positive results.
Indeed if the certificate is not registered to the CA or is simply invalid and the domain is still alive, you will always get
INACTIVE
as output.
DNS controlΒΆ
--dns
ΒΆ
Sets one or more DNS server(s) to use during testing. Separated by spaces.
Default value:
Follow OS DNS
==>None
Warning
We expect a DNS server(s). If no DNS server(s) is given. Youβll almost for
certain get all results as INACTIVE
This could happen in case you use --dns -f
Note
You can specify a port number to use to the DNS server if needed.
As example:
- 127.0.1.53:5353
--dns-protocol
ΒΆ
Sets the protocol to use for the DNS queries.
Default value:
False
Available values:
UDP
,TCP
,HTTPS
,TLS
.
DatabasesΒΆ
--inactive-database
ΒΆ
Switch the value of the usage of a database to store inactive domains of the currently tested list.
Default value:
True
This argument will disable or enable the usage of a database which saves all
INACTIVE
and INVALID
domain of the given file over time.
--database-type
ΒΆ
Sets the database engine to use.
Default value:
csv
Available values:
csv
,mariadb
,mysql
.
-dbr "something"
| --days-between-db-retest "something"
ΒΆ
Sets the numbers of days since the introduction of a subject into the inactive dataset before it gets retested.
Default value:
1
Note
This argument is only used if -db
or
inactive_database : true
(under .PyFunceble.yaml
) are
activated.
-wdb
| --whois-database
ΒΆ
Activates or disables the uage of a βdatabaseβ to store the expiration date of all domains with a valid expiration date.
Default value:
True
Output controlΒΆ
-a
| --all
ΒΆ
Activates or disables the disply of the all information in the table we print to stdout.
Default value:
False
When activated:
Domain Status Expiration Date Source HTTP Code Checker ----------------------------- ----------- ----------------- ---------- ---------- ------------- pyfunceble.readthedocs.io ACTIVE Unknown NSLOOKUP 302 AVAILABILITYWhen deactivated:
Domain Status Source ----------------------------- ----------- ---------- pyfunceble.readthedocs.io ACTIVE SYNTAX
-ex
| --execution
ΒΆ
Activates or disables the display of the execution time.
Default value:
False
Want to know the execution time of your test? Well, this argument will let you know!
--color
| --colour
ΒΆ
Activates or disables the coloration to STDOUT.
Default value:
True
Donβt want any colour ? This argument is for you!
--display-status
ΒΆ
Sets the status that we are allowed to print to STDOUT. Multiple space separated statuses can be given.
Default value:
all
Available values:
all
,ACTIVE
,INACTIVE
,INVALID
,VALID
,SANE
,MALICIOUS
--hierarchical
ΒΆ
Activates or disables the sorting of the files content (output) in a hierarchical order.
Default value:
True
This argument will output the result listed in a hierarchical order.
-h
| --host
ΒΆ
Activates or disables the generation of the hosts file(s).
Default value:
True
This argument will let the system know if it has to generate the hosts file version of each status.
-ip "something"
| βhosts-ip βsomethingβΒΆ
Sets the IP to prefix each lines of the hosts file.
Default value:
0.0.0.0
--no-files
ΒΆ
Activates or disables the generation of any non-logs file(s).
Default value:
False
Want to disable the production of the outputted files? This argument is for you!
--output-location
ΒΆ
Sets the location where we are supposed to generation the output directory from.
Default value: Please look at your machine
Donβt want to use the PYFUNCEBLE_OUTPUT_DIR
environment variable? This
argument is for you!
--unified-results
ΒΆ
Activates or disables the generation of the unified results file instead of the splitted one.
Default value:
True
This argument disables the generation of the result.txt
file.
--percentage
ΒΆ
Activates or disables the display and generation of the percentage - file - of each status.
Default value:
True
This argument will disable or enable the generation of the percentage of each status.
--plain
ΒΆ
Activates or disables the generation of the RAW file(s). What is meant is a list with only a list of subject (one per line).
Default value:
False:
Want to get a list with all domains for each status? The activation of this argument does the work while testing!
--dots
ΒΆ
Activate or disables the display of dots or other characters when we skip the test of a subjec.
Default value:
False
-q
| --quiet
ΒΆ
Activates or disables the display of output to the terminal.
Default value:
False
You prefer to run a program silently? This argument is for you!
-s
| --simple
ΒΆ
Activates or disables the simple output mode.
Default value:
False
Want as less as possible data on screen? This argument returns as less as possible on screen!
MultithreadingΒΆ
-w
| --max-workers
ΒΆ
Sets the number of maximal worker to use.
Default value:
False
Note
If omitted, the number of available CPU cores multiplied by 5 will be used instead.
CI / CDΒΆ
--ci-max-minutes
ΒΆ
Sets the number of minutes to wait before starting to stop a CI session.
Default value:
15
--ci
ΒΆ
Activates or disables the Continuous Integration mechanism.
Default value:
False
Note
If you combine this argument with the --quiet
argument, the test
will output a dotted line, where each dot (.
) represent one test
result or input which was skipped because it was previously tested.
Want to use PyFunceble under a supported CI infrastructure/network? This argument is suited for your needs!
--ci-branch
ΒΆ
Sets our git working branch. This is the branch from where we are supposed to store the tests (excepts the final results).
Default value:
master
Note
Currently the branch need to exist, but there are being worked on a path
to have PyFunceble to create the sub-branch and finally merge it into the
--ci-distribution-branch
--ci-distribution-branch
ΒΆ
Sets our git distributions branch. This is the branch from where we are supposed to store and push the final results.
Default value:
master
Note
The difference between this and --ci-branch
is the fact
that this branch will get the (final) result only when the test is finished
under the given --ci-branch
.
As an example, this allows us to have 2 branches:
proceessing
(CI branch), for the tests with PyFunceble.master
(CI distribution branch), for the distribution of the results of PyFunceble.
--ci-command "something"
| --cmd "something"
ΒΆ
Sets the command to execute before each commit (except the final one).
Default value:
''
Note
In this example, something
should be a script or a program which
have to be executed when we reached the end of the given file.
Note
This argument is only used if --ci
or ci: true
(under
.PyFunceble.yaml
) are activated.
--ci-end-command "something"
| --cmd-before-end "something"
ΒΆ
Sets the command to execute before the final commit.
Default value:
''
Note
In this example, something
should be a script or a program which
have to be executed when we reached the end of the given file.
Note
This argument is only used if --ci
or ci: true
(under
.PyFunceble.yaml
) are activated.
--ci-commit-message "something"
| --commit-autosave-message "something"
ΒΆ
Sets the commit message to apply everytime we have to apply a commit except for the really last one.
Default value:
PyFunceble - AutoSave
This argument allows us to set a custom commit message which is going to be used as a commit message when saving.
Note
This argument is only used if --ci
or ci: true
(under
.PyFunceble.yaml
) are used.
Note
This argument is only used if we have to split the work into multiple processes because a list is too long or the timeout is reached.
Warning
Please avoid the usage of [ci skip]
here.
--ci-end-commit-message "something"
| --commit-results-message "something"
ΒΆ
Sets the commit message to apply at the really end.
Default value:
PyFunceble - Results
Note
This argument is only used if --ci
or ci: true
(under
.PyFunceble.yaml
) are used.
Note
This argument is only used if we reached the end of the list we are or have to test.
Global overviewΒΆ
usage: pyfunceble [-d DOMAINS [DOMAINS ...]] [-u URLS [URLS ...]]
[-f FILES [FILES ...]] [-uf URL_FILES [URL_FILES ...]]
[--adblock] [--complements]
[--filter CLI_TESTING__FILE_FILTER] [--mining] [--rpz]
[--wildcard] [-c]
[--cooldown-time CLI_TESTING__COOLDOWN_TIME] [--local]
[--dns-lookup] [--http] [--netinfo-lookup]
[--special-lookup] [--whois-lookup] [--reputation-lookup]
[--reputation] [--syntax] [-t LOOKUP__TIMEOUT]
[-ua USER_AGENT__CUSTOM] [-vsc]
[--dns DNS__SERVER [DNS__SERVER ...]]
[--dns-protocol {UDP,TCP,HTTPS,TLS}] [--inactive-db]
[--database-type {csv,mariadb,mysql}]
[-dbr CLI_TESTING__DAYS_BETWEEN__DB_RETEST]
[-wdb CLI_TESTING__WHOIS_DB] [-a] [-ex] [--colour]
[--display-status {all,ACTIVE,INACTIVE,VALID,INVALID,MALICIOUS,SANE} [{all,ACTIVE,INACTIVE,VALID,INVALID,MALICIOUS,SANE} ...]]
[--hierarchical] [-h] [-ip CLI_TESTING__HOSTS_IP]
[--no-files] [--output-location OUTPUT_LOCATION]
[--unified-results] [--percentage] [--plain] [--dots] [-q]
[-s] [-w CLI_TESTING__MAX_WORKERS]
[--ci-max-minutes CLI_TESTING__CI__MAX_EXEC_MINUTES] [--ci]
[--ci-branch CLI_TESTING__CI__BRANCH]
[--ci-distribution-branch CLI_TESTING__CI__DISTRIBUTION_BRANCH]
[--cmd CLI_TESTING__CI__COMMAND]
[--cmd-before-end CLI_TESTING__CI__END_COMMAND]
[--ci-commit-message CLI_TESTING__CI__COMMIT_MESSAGE]
[--ci-end-commit-message CLI_TESTING__CI__END_COMMIT_MESSAGE]
[--help] [-v]
PyFunceble - The tool to check the availability or syntax of domain, IP or URL.
optional arguments:
--help Show this help message and exit.
-v, --version Show the version of PyFunceble and exit.
Source:
-d DOMAINS [DOMAINS ...], --domain DOMAINS [DOMAINS ...]
Test one or more domains, separated by spaces.
When this option is used, no output files are generated.
-u URLS [URLS ...], --url URLS [URLS ...]
Test one or more full URL, separated by spaces.
-f FILES [FILES ...], --file FILES [FILES ...]
Read a local or remote (RAW link) file and test all domains inside it.
If remote (RAW link) file is given, PyFunceble will download it,
and test the content of the given RAW link as if it was a locally stored file.
-uf URL_FILES [URL_FILES ...], --url-file URL_FILES [URL_FILES ...]
Read a local or remote (RAW link) file and test all (full) URLs inside it.
If remote (RAW link) file is given, PyFunceble will download it,
and test the content of the given RAW link as if it was a locally stored file.
This argument test if an URL is available. It ONLY test full URLs.
Source filtering, decoding, conversion and expansion:
--adblock Activates or deactivates the decoding of the adblock format.
Configured value: False
--complements Activates or disables the generation and test of the
complements.
A complement is for example `example.org` if 'www.example.org'
is given and vice-versa.
Configured value: False
--filter CLI_TESTING__FILE_FILTER
Regex to match in order to test a given line.
Configured value: None
--mining Activates or disables the mining subsystem.
Configured value: False
--rpz Activates or disables the decoding of RPZ policies
from each given input files.
Configured value: False
--wildcard Activates or disables the decoding of wildcards for
each given input files.
Configured value: False
Test control:
-c, --auto-continue, --continue
Activates or disables the autocontinue subsystem.
Configured value: True
--cooldown-time CLI_TESTING__COOLDOWN_TIME
Sets the cooldown time (in second) to apply between
each test.
Configured value: 0.0
--local Activates or disables the consideration of the test(s)
in or for a local or private network context.
Configured value: False
--dns-lookup Activates or disables the usage of the DNS lookup
whether possible.
Configured value: True
--http, --http-status-code-lookup
Switch the value of the usage of HTTP code.
Configured value: True
--netinfo-lookup Activates or disables the usage of the network
information (or network socket) whether possible.
Configured value: True
--special-lookup Activates or disables the usage of our SPECIAL and
extra rules whether possible.
Configured value: True
--whois-lookup Activates or disables the usage of the WHOIS record
(or better said the expiration date in it) whether possible.
Configured value: True
--reputation-lookup Activates or disables the usage of the reputation
dataset whether possible.
Configured value: False
--reputation Activates or disables the reputation checker.
Configured value: False
--syntax Activates or disables the syntax checker.
Configured value: False
-t LOOKUP__TIMEOUT, --timeout LOOKUP__TIMEOUT
Sets the default timeout to apply to each lookup
utilities everytime it is possible to define a timeout.
Configured value: 5
-ua USER_AGENT__CUSTOM, --user-agent USER_AGENT__CUSTOM
Sets the user agent to use.
If not given, we try to get the lastest (automatically) for you.
-vsc, --verify-ssl-certificate
Activates or disables the verification of the SSL/TLS
certificate when testing for URL.
Configured value: False
DNS control:
--dns DNS__SERVER [DNS__SERVER ...]
Sets one or more (space separated) DNS server(s) to use during testing.
To specify a port number for the DNS server you append
it as :port [ip:port].
If no port is specified, the default DNS port (53) is used.
Configured value: None
--dns-protocol {UDP,TCP,HTTPS,TLS}
Sets the protocol to use for the DNS queries.
Configured value: 'UDP'
Databases:
--inactive-db Activates or disables the usage of a 'database' to
store all 'INACTIVE' and 'INVALID' subject for continuous retest.
Configured value: True
--database-type {csv,mariadb,mysql}
Sets the database engine to use.
You can choose between the following: `csv | mariadb | mysql`
Configured value: 'csv'
-dbr CLI_TESTING__DAYS_BETWEEN__DB_RETEST, --days-between-db-retest CLI_TESTING__DAYS_BETWEEN__DB_RETEST
Sets the numbers of days since the introduction of
subject into the inactive dataset before it gets retested.
Configured value: 1
-wdb CLI_TESTING__WHOIS_DB, --whois-database CLI_TESTING__WHOIS_DB
Activates or disables the usage of a 'database' to
store the expiration date of all domains with a valid
expiration date.
Configured value: True
Output control:
-a, --all Activates or disables the display of the all
information in the table we print to stdout.
Configured value: False
-ex, --execution Activates or disables the display of the execution time.
Configured value: False
--colour, --color Activates or disables the coloration to STDOUT.
Configured value: True
--display-status {all,ACTIVE,INACTIVE,VALID,INVALID,MALICIOUS,SANE} [{all,ACTIVE,INACTIVE,VALID,INVALID,MALICIOUS,SANE} ...]
Sets the status that we are allowed to print to STDOUT.
Multiple space separated statuses can be given.
Configured value: 'all'
--hierarchical Activates or disables the sorting of the files
content (output) in a hierarchical order.
Configured value: False
-h, --host Activates or disables the generation of the
hosts file(s).
Configured value: True
-ip CLI_TESTING__HOSTS_IP, --hosts-ip CLI_TESTING__HOSTS_IP
Sets the IP to prefix each lines of the hosts file.
Configured value: '0.0.0.0'
--no-files Activates or disables the generation of any non-logs
file(s).
Configured value: False
--output-location OUTPUT_LOCATION
Sets the location where we are supposed to generation
the output directory from.
Configured value: '/XXXX/XXXX/XXXXX'
--unified-results Activates or disables the generation of the unified
results file instead of the splitted one.
Configured value: False
--percentage Activates or disables the display and generation
of the percentage - file - of each status.
Configured value: True
--plain Activates or disables the generation of the
RAW file(s). What is meant is a list with only a list of
subject (one per line).
Configured value: True
--dots Activate or disables the display of dots or other
characters when we skip the test of a subject.
Configured value: False
-q, --quiet Activates or disables the display of output to the
terminal.
Configured value: False
-s, --simple Activates or disables the simple output mode.
Configured value: False
Multithreading:
-w CLI_TESTING__MAX_WORKERS, --max-workers CLI_TESTING__MAX_WORKERS
Sets the number of maximal workers to use.
If not given, 40 (based on the current machine) will be applied.
Configured value: None
CI / CD:
--ci-max-minutes CLI_TESTING__CI__MAX_EXEC_MINUTES, --autosave-minutes CLI_TESTING__CI__MAX_EXEC_MINUTES
Sets the number of minutes to wait before starting
to stop a CI session.
Configured value: 15
--ci Activates or disables the Continuous Integration
mechanism.
Configured value: False
--ci-branch CLI_TESTING__CI__BRANCH
Sets our git working branch. This is the branch
from where we are supposed to store the tests
(excepts the final results).
Configured value: 'master'
--ci-distribution-branch CLI_TESTING__CI__DISTRIBUTION_BRANCH
Sets our git distributions branch. This is the
branch from where we are supposed to store and push
the final results.
Configured value: 'master'
--cmd CLI_TESTING__CI__COMMAND, --ci-command CLI_TESTING__CI__COMMAND
Sets the command to execute before each commit
(except the final one).
Configured value: None
--cmd-before-end CLI_TESTING__CI__END_COMMAND, --ci-end-command CLI_TESTING__CI__END_COMMAND
Sets the command to execute before the final commit.
Configured value: None
--ci-commit-message CLI_TESTING__CI__COMMIT_MESSAGE, --commit-autosave-message CLI_TESTING__CI__COMMIT_MESSAGE
Sets the commit message to apply everytime we have
to apply a commit except for the really last one.
Configured value: 'PyFunceble - AutoSave'
--ci-end-commit-message CLI_TESTING__CI__END_COMMIT_MESSAGE, --commit-results-message CLI_TESTING__CI__END_COMMIT_MESSAGE
Sets the commit message to apply at the really end.
Configured value: 'PyFunceble - Results'
For an in-depth usage, explanation and examples of the arguments,
you should read the documentation at https://pyfunceble.readthedocs.io/en/dev/
Crafted with β₯ by Nissar Chababy (@funilrys) with the help of
https://git.io/JkUPS && https://git.io/JkUPF
From a GitLab CI/CD environmentΒΆ
As we offer an argument named --ci
which will
autosave in a GitLab CI/CI environment, this document try to
describe hot it works!
ConfigurationΒΆ
Personal Access TokenΒΆ
A personal access token is needed in order for PyFunceble to automatically push the results.
You should get a personal GitLab access token with
the read_repository
and write_repository
scopes.
Once created and copied in a safe place, create a new masked variable
named GL_TOKEN
inside the CI/CD settings of your project.
The value of the variable should be the newly generated personal
access token.
.gitlab-ci.yml
ΒΆ
Note
This part only present a commented .gitlab-ci.yml
.
This is just an example do not take the following as
necessarly true.
Youβre invited to submit changes if something stated in this document is wrong.
# Python needed, so we use the python image.
image: python:latest
variables:
# This is the Git name we have to set. (git config user.name)
GIT_EMAIL: "dead-hosts@funilrys.com"
# This is the Git Email we have to set. (git config user.email)
GIT_NAME: "GitLab CI/CD"
before_script:
# We install the development version of PyFunceble.
# If you prefer the stable version replace `pyfunceble-dev`
# with `pyfunceble`.
- pip3 install PyFunceble-dev
run:
script:
# Let's say we want our results and our PyFunceble
# infrastructure to be saved in a directory called `PyFunceble-tests`
# We move inside it.
- cd PyFunceble-tests
# We test the file `my_awesome_list` which is located inside the current directory.
# Note: we precise the `--ci` argument here,
# but you work without it if you set `ci: true` inside your `.PyFunceble.yaml`
- PyFunceble --ci -f my_awesome_list --plain
From a Travis CI containerΒΆ
As we offer an argument named --ci
to activate
the usage of PyFunceble in a Travis CI instance,
we document here what you need to know!
ConfigurationΒΆ
Note
This part only present a commented .travis.yml
so that you can understand where to start.
If you need more practical examples, feel free to report to one of Dead-Hosts repositories which use PyFunceble with Travis CI.
env:
global:
# The following is your encrypted GitHub API key.
# Indeed as we are going to push to the repository, this is needed.
#- GH_TOKEN: # This can be set in the travis-ci https://travis-ci.com/repo/settings as 'Environment Variables'
# or as below: secure: encrypted code
- secure: QQdKFquFFojFT9XJ1XZp4EMoDTVoXFgqZq8XU+sCVf+pJQR6d/oKBp8rnSTCnZizWOQXUjGXUUxUpSG/dYGyBLjo3rH3rsn9ciZHVfubxbwK860w4sqibl4DvhCv2rdsFtvzXnhm4P9OL3i+krKdewh9fxpNyUU58qOgfnS7mK9FcFhb8z5ak2sxU2XRZedwm6Ro0oyVKs8kFkL4YaADfNyAHlGTfr9rVmE52WXQXQENktb9gFgR2A8ZnmLy0BCMZGkPDShJnjRDWD4DErtasLmLQvWpzOBwdbVJTY6U9KDRXVNdC9lp5E5Ba/dc0y36q6vjfgJR+QchetOtHgNbKYbLB8c26Di90OZCFJsxMNcl1Wct4qFPXkFGvjXrISW6pbdPL5Plto0Ig3iLiulhYOPVArysMIk9ymtSXP+WE7VWX01LQ1fEkIoSfeVZ2caTnCmTsoHVGRRe978CojKaT7yU45kb15hcyDrzptQ8EP2hfxeh5F7KtueQ6Rsb9LFDZMkMDKflZn6a+bRhESlmWWmYB9stzGzTurQA1E1bcSACJ8A8hG5nHBzZYJ2S+OY0PE7UdyOJ0JK0qe/67d+F9ocQdIoFpDDTdgIjHerQnD2wRg1aKPzLDb4jJTpqgr5ssPrqUAKl3st7gyaAZzCEADPDnIBDjOJS+mFWbx9DKgc=
# This is the Git name we have to set. (git config user.name)
- GIT_NAME: Travis CI
# This is the Git Email we have to set. (git config user.email)
- GIT_EMAIL: dead-hosts@funilrys.com
# This is the language we use.
language: python
# This is the python version we are going to use for the tests.
# Note: you can add any 3.x version to the list.
python:
- "3.8"
# The following will tell Travis CI to ends as fast as possible.
matrix:
fast_finish: true
# Here we are setting what Travis CI have to cache.
cache:
# We are caching pip3 as we use it to install PyFunceble
- pip3
install:
# We install the development version of PyFunceble. If you prefer the stable version replace
# `pyfunceble-dev` with `pyfunceble`.
- pip3 install pyfunceble-dev
# Our tests start here.
script:
# Let's say we want our results and our PyFunceble infrastructure to be saved in a directory
# called `PyFunceble-tests`
# We move inside it.
- cd PyFunceble-tests
# We test the file `my_awesome_list` which is located inside the current directory.
# Note: we precise the `--ci` argument here,
# but you work without it if you set `travis: true` inside your `.PyFunceble.yaml`
- PyFunceble --ci -f my_awesome_list --plain
# The following initiate email notification logic.
notifications:
# As we want to get a mail on failure and on status change, we set the following.
on_success: change
on_failure: always
Getting a GitHub tokenΒΆ
For the secure
index of the .travis.yml
file, you have to generate a new GitHub token.
After you got your token, please write it or save it in a safe place as youβre going to need it every time youβre going to interact with Travis CI.
Note
The scope to set is public_repo
but you can also set others depending on your needs.
Encrypting the token for future usage under the Travis CIsβ containersΒΆ
To encrypt the token simply replace and execute the following according to your personal case.
$ travis encrypt 'GH_TOKEN=theGeneratedToken' -r 'The content of TRAVIS_REPO_SLUG' --add
Warning
Please do not execute the following explicitly without replacing theGeneratedToken
with your previously generated GitHub token and The content of TRAVIS_REPO_SLUG
with
your repository slug.
Note
The usage of --add
ensure that the travis
program automatically add the secure
index to the .travis.yml
file.
Using the PyFunceble (Python) APIΒΆ
If you are working with a python script, module or even class, you can integrate PyFunceble to your main logic by importing it and using its API (cf: API Documentation).
This section will present some example of the way you can interact with PyFunceble from anything written in Python.
Get the availability of domains or IPΒΆ
Note
This example can be found in our examples repository.
Todo
Add IPs in the loop.
"""
This is an example which respond to the following problematic(s):
* How can I get the avaibility of a domain or IP with PyFunceble ?
"""
# We want some coloration so we import the tool do to that :)
from PyFunceble import initiate_colorama, Fore, Style
# We import the tool to print the colored CLI logo.
from PyFunceble.cli_core import CLICore
# We import the configuration loader.
from PyFunceble import load_config
# We import the test method of the PyFunceble API.
from PyFunceble import test as PyFunceble
# We initiate the list of domains we are going to test.
DOMAINS = [
"google.com",
"tweeetttter.com",
"github.com",
"examplessss.ooooorgg",
"twitter.com",
"forest-jump"
]
# We initiate colorama.
initiate_colorama(True)
# We load our configuration.
#
# Note: We need this to print the logo but if you
# doesn't need the logo, you can ignore this.
load_config(generate_directory_structure=False)
# We print the PyFunceble logo.
CLICore.colorify_logo(home=True)
def print_result(subject, status):
"""
Given the subject and its status, we print it to STDOUT.
:param str subject: The subject we are going to print.
:param str status: The status of the domain.
"""
if status == "ACTIVE":
print(f"{Fore.GREEN + Style.BRIGHT}{domain} is {status}")
elif status == "INACTIVE":
print(f"{Fore.RED + Style.BRIGHT}{domain} is {status}")
else:
print(f"{Fore.CYAN + Style.BRIGHT}{domain} is {status}")
for domain in DOMAINS:
# We loop through the list of domain.
# And we print the domain and status with the right coloration!
print_result(domain, PyFunceble(domain))
Get the availability of URLΒΆ
Note
This example can be found in our examples repository.
"""
This is an example which respond to the following problematic(s):
* How can I get the avaibility of an URL with PyFunceble ?
"""
# We want some coloration so we import the tool do to that :)
from PyFunceble import initiate_colorama, Fore, Style
# We import the tool to print the colored CLI logo.
from PyFunceble.cli_core import CLICore
# We import the configuration loader.
from PyFunceble import load_config
# We import the test method of the PyFunceble API.
from PyFunceble import url_test as PyFunceble
# We initiate the list of URLs we are going to test.
URLS = [
"https://google.com",
"http://tweeetttter.com",
"ftp://github.com",
"http://examplessss.ooooorgg",
"http://twitter.com",
]
# We initiate colorama.
initiate_colorama(True)
# We load our configuration.
#
# Note: We need this to print the logo but if you
# doesn't need the logo, you can ignore this.
load_config(generate_directory_structure=False)
# We print the PyFunceble logo.
CLICore.colorify_logo(home=True)
def print_result(subject, status):
"""
Given the subject and its status, we print it to STDOUT.
:param str subject: The subject we are going to print.
:param str status: The status of the domain.
"""
if status == "ACTIVE":
print(f"{Fore.GREEN + Style.BRIGHT}{domain} is {status}")
elif status == "INACTIVE":
print(f"{Fore.RED + Style.BRIGHT}{domain} is {status}")
else:
print(f"{Fore.CYAN + Style.BRIGHT}{domain} is {status}")
for url in URLS:
# We loop through the list of domain.
# And we print the domain and status with the right coloration!
print_result(url, PyFunceble(url))
Complete dataset while getting the avaibility of domains, IPs or URLΒΆ
While using our API, you can request to see/get everything with the help of the complete=True
argument.
Youβll then get the following dict
as output.
{
"_status": None, # If some extra rules are applied, this index will keep the status before the extra rules was applied.
"_status_source": None, # If some extra rules are applied, this index will keep the source before the extra rules was applied.
"domain_syntax_validation": None, # The domain syntax validation status.
"expiration_date": None, # The expiration date of the tested subject (if found).
"http_status_code": None, # The status code of the tested subejct.
"ip4_syntax_validation": None, # The IPv4 syntax validation status.
"dns_lookup": [], # The DNS Lookup output.
"status_source": None, # The (final) source which gave us the status.
"status": None, # The (final) status returned by PyFunceble.
"tested": None, # The tested subject.
"url_syntax_validation": None, # The url syntax validation status.
"whois_record": None, # The whois record (if found).
"whois_server": None, # The whois server we use to get the whois record (if found).
}
Set custom configuration index while getting the avaibility of domains, IPs or URLΒΆ
While using PyFunceble, you might want to set or overwritte a default behaviour.
You can do that in 2 ways. Globally or locally.
GloballyΒΆ
To set globally simply initiate the configuration loader and parse your custom configuration along with the initialization.
As example, you can do it like follow:
# We import the configuration loader.
from PyFunceble import load_config
# We set our list of indexes to overwritte.
OUR_PYFUNCEBLE_CONFIG = {"share_logs":False, "no_files": True}
# We load our configuration and parse our custom indexes.
load_config(generate_directory_structure=False, custom=OUR_PYFUNCEBLE_CONFIG)
## We can then play with PyFunceble and/or other business logic ...
LocallyΒΆ
To set globally simply parse your configuration along with the test method.
As example, you can do it like follow:
# We import the test method.
from PyFunceble import test as AvailabilityTest
# We set our list of indexes to overwritte.
OUR_PYFUNCEBLE_CONFIG = {"share_logs":False, "no_files": True}
# We get the status and parse our configuration.
status = AvailabilityTest("hello.world", config=OUR_PYFUNCEBLE_CONFIG)
## We can then manipulate the status and/or other business logic ...
Check the syntax of domainsΒΆ
Note
This example can be found in our examples repository.
"""
This is an example which respond to the following problematic(s):
* How can I check the syntax of a domain with PyFunceble ?
"""
# We want some coloration so we import the tool do to that :)
from PyFunceble import initiate_colorama, Fore, Style
# We import the tool to print the colored CLI logo.
from PyFunceble.cli_core import CLICore
# We import the configuration loader.
from PyFunceble import load_config
# We import the test method of the PyFunceble API.
from PyFunceble import is_domain as PyFunceble
# We initiate the list of domains we are going to test.
DOMAINS = [
"google.com",
"tweeetttter.com",
"github.com",
"examplessss.ooooorgg",
"twitter.com",
"forest-jump",
]
# We initiate colorama.
initiate_colorama(True)
# We load our configuration.
#
# Note: We need this to print the logo but if you
# doesn't need the logo, you can ignore this.
load_config(generate_directory_structure=False)
# We print the PyFunceble logo.
CLICore.colorify_logo(home=True)
def print_syntax_result(subject, status):
"""
Given the subject and its validation, we print it to STDOUT.
:param str subject: The subject we are going to print.
:param bool status: The validation state.
"""
if status is True:
print(f"{Fore.GREEN + Style.BRIGHT}{subject} is VALID")
else:
print(f"{Fore.CYAN + Style.BRIGHT}{subject} is INVALID")
for domain in DOMAINS:
# We loop through the list of domain.
# And we print the domain and status with the right coloration!
print_syntax_result(domain, PyFunceble(domain))
Check the syntax of IPv4sΒΆ
Note
This example can be found in our examples repository.
"""
This is an example which respond to the following problematic(s):
* How can I check the syntax of an IPv4/IPv6 with PyFunceble ?
"""
# We want some coloration so we import the tool do to that :)
from PyFunceble import initiate_colorama, Fore, Style
# We import the tool to print the colored CLI logo.
from PyFunceble.cli_core import CLICore
# We import the configuration loader.
from PyFunceble import load_config
# We import the test method of the PyFunceble API.
from PyFunceble import is_ip as PyFunceble
# We initiate the list of IPs we are going to test.
IPS = ["216.58.207.46", "257.58.207.46"]
# We initiate colorama.
initiate_colorama(True)
# We load our configuration.
#
# Note: We need this to print the logo but if you
# doesn't need the logo, you can ignore this.
load_config(generate_directory_structure=False)
# We print the PyFunceble logo.
CLICore.colorify_logo(home=True)
def print_syntax_result(subject, status):
"""
Given the subject and its validation, we print it to STDOUT.
:param str subject: The subject we are going to print.
:param bool status: The validation state.
"""
if status is True:
print(f"{Fore.GREEN + Style.BRIGHT}{subject} is VALID")
else:
print(f"{Fore.CYAN + Style.BRIGHT}{subject} is INVALID")
for ip in IPS:
# We loop through the list of IP.
# And we print the IP and status with the right coloration!
print_syntax_result(ip, PyFunceble(ip))
Check the syntax of URLsΒΆ
Note
This example can be found in our examples repository.
"""
This is an example which respond to the following problematic(s):
* How can I check the syntax of an URL with PyFunceble ?
"""
# We want some coloration so we import the tool do to that :)
from PyFunceble import initiate_colorama, Fore, Style
# We import the tool to print the colored CLI logo.
from PyFunceble.cli_core import CLICore
# We import the configuration loader.
from PyFunceble import load_config
# We import the test method of the PyFunceble API.
from PyFunceble import is_url as PyFunceble
# We initiate the list of URLs we are going to test.
URLS = [
"https://google.com",
"http://tweeetttter.com",
"htp://github.com",
"httpp://examplessss.ooooorgg",
"https:///twitter.com",
"http:forest-jump",
]
# We initiate colorama.
initiate_colorama(True)
# We load our configuration.
#
# Note: We need this to print the logo but if you
# doesn't need the logo, you can ignore this.
load_config(generate_directory_structure=False)
# We print the PyFunceble logo.
CLICore.colorify_logo(home=True)
def print_syntax_result(subject, status):
"""
Given the subject and its validation, we print it to STDOUT.
:param str subject: The subject we are going to print.
:param bool status: The validation state.
"""
if status is True:
print(f"{Fore.GREEN + Style.BRIGHT}{subject} is VALID")
else:
print(f"{Fore.CYAN + Style.BRIGHT}{subject} is INVALID")
for url in URLS:
# We loop through the list of URL.
# And we print the URL and status with the right coloration!
print_syntax_result(url, PyFunceble(url))
ResponsesΒΆ
StatusΒΆ
Give us the test result/status of the tested element.
Note
The API equivalent is status
.
ACTIVEΒΆ
This status is returned when one of the following cases is met:
We can extract the expiration date from
PyFunceble.lookup.whois.WhoisLookup.request()
.Note
We donβt check if the extracted date is in the past. Indeed, if we start to do the registry work, it becomes a never ending work for us.
PyFunceble.lookup.dns.DNSLookup.request()
does not return{}
.Note
We donβt read nor interpret the returned data.
As the request
PyFunceble.lookup.dns.DNSLookup.request()
method already handle everything, we donβt need to read the given data.We just check that it is not an empty dictionary.
PyFunceble.lookup.dns.DNSLookup.request()
returns{}
,PyFunceble.lookup.whois.WhoisLookup.request()
provides nothing exploitable, butPyFunceble.lookup.http_code.HTTPCode.get()
returned something which is not the default value (XXX
).
INACTIVEΒΆ
This status is returned when all the following cases are met:
- We could not extract the expiration date from
PyFunceble.lookup.whois.WhoisLookup.request()
. PyFunceble.lookup.dns.DNSLookup.request()
returns nothing.PyFunceble.lookup.http_code.HTTPCode.get()
is not in the list ofACTIVE
status codes.
INVALIDΒΆ
This status is returned when all the following cases are met:
The Domain/IP does not match/pass our syntax checker.
The domain extension is unregistered in the IANA Root Zone Database, our internal list nor in the Public Suffix List.
Note
Understand by this that the extension is not present:
- in the
iana-domains-db.json
file - in the
public-suffix.json
file - in the
PyFunceble.check.Check.SPECIAL_USE_DOMAIN_NAMES_EXTENSIONS
attribute.
- in the
VALIDΒΆ
This status is returned when we are checking for syntax. It is the equivalent of ACTIVE
but for syntax checking.
MALICIOUSΒΆ
This status is returned when we are checking for the reputation.
SANEΒΆ
This status is returned when we are checking for the reputation.
SourceΒΆ
Give us the source of the status.
Note
The API equivalent is status_source
.
HTTP CodeΒΆ
This source is returned when all the following cases are met:
- We canβt extract the expiration date from
PyFunceble.lookup.whois.WhoisLookup.request()
. - The
INACTIVE
status is the one returned by other methods. PyFunceble.lookup.http_code.HTTPCode.get()
outputs is different from the default one (XXX
) and the other methods gives theINACTIVE
status.
SYNTAXΒΆ
This source is always returned when the domain has the status INVALID
or in the case that we are only checking for syntax instead of availability.
The usage of this source comes from the comparison of the element against our domain, IP or URL syntax validation system.
DNSLOOKUPΒΆ
This source is always returned when the taken decision of the status of the domain/IP comes from PyFunceble.lookup.dns.DNSLookup.request()
outputs.
SPECIALΒΆ
As PyFunceble
grows, I thought that a bit of filtering for special cases would be great.
So I introduced the SPECIAL source.
Note
Please consider all 3 digits number that are listed in this section as the HTTP status code catched by PyFunceble.lookup.http_code.HTTPCode.get()
.
Warning
Do not want those rules ? You can use the following to disable them.
-ns|--no-special
arguments from the CLI.no_special: True
into your local configuration file.
*.000webhostapp.com
ΒΆ
- All
410
are returned asINACTIVE
.
*.blogspot.*
ΒΆ
- All
404
are returned asINACTIVE
- All
301
which are blocked by Google or does not exist are returned asINACTIVE
- All
302
which are blocked by Google are returned asINACTIVE
*.canalblog.com
ΒΆ
- All
404
are returned asINACTIVE
*.github.io
ΒΆ
- All
404
are returned asINACTIVE
*.hpg.com.br
ΒΆ
- All
404
are returned asINACTIVE
*.liveadvert.com
ΒΆ
- All
404
are returned asINACTIVE
*.skyrock.com
ΒΆ
- All
404
are returned asINACTIVE
*.tumblr.com
ΒΆ
- All
404
are returned asINACTIVE
*.wix.com
ΒΆ
- All
404
are returned asINACTIVE
*.wordpress.com
ΒΆ
- All
301
which matchdoesnβt exist
are returned asINACTIVE
IP with rangeΒΆ
- All IPv4 with a range (for example
0.0.0.0/24
) are returned asACTIVE
- All IPv6 with a range (for example
2001:db8::/43
) are returned asACTIVE
ReputationΒΆ
Note
If the --use-reputation-data
argument is activated
or the use_reputation_data
index of your
configuration file is active, the following apply.
- All IPv4 and IPv6 which are present into the AlienVault public
reputation data are returned as
ACTIVE
_status
(API)ΒΆ
This index has the same proprieties as status
but before any extra rules were applied.
_status_source
(API)ΒΆ
This index has the same proprieties as status_source
but before any extra rules were applied.
dns_lookup
(API)ΒΆ
Provides the output of the DNS lookup.
Format 1: Normal DNS LookupΒΆ
The first and most common output will be like follow:
{
"A": ["string"],
"AAAA": ["string"],
"CNAME": ["string"],
"NS": ["string"],
"PTR": ["string"]
}
where each list item represents the response from the DNS server.
Format 2: get_hosts_by_addr
(local subjects?)ΒΆ
For the system to not miss something, it will try to execute the socket.gethostbyaddr()
(for IP) and socket.gethostbyname()
(for the rest).
In both cases, the result will be like follow:
{
"hostname": "string",
"aliases": ["string"],
"ips": ["string"]
}
HTTP CodeΒΆ
Note
The API equivalent is http_status_code
.
Note
This section reflects exactly what the code does. So any changes made here should also be reported to the code or at least the configuration file.
Note
A XXX
in this column means that it was impossible to catch the HTTP status code from the web server.
Note
The Status Codes we give to PyFunceble to test with can be fully customized in your own .PyFunceble.yaml
.
As activeΒΆ
Note
While testing for domain and IP, a subject which has an HTTP code listed below, will be saved/logged into the output/Analytic/ACTIVE
directory.
Warning
While testing for domain and IP, a subject which has an HTTP code listed below and a global status INACTIVE
or INVALID
will get its status
updated to ACTIVE
.
Warning
While testing for URL, if the extracted HTTP code is in the following list, the global status will be ACTIVE
.
- 100 - Continue
- 101 - Switching Protocols
- 200 - OK
- 201 - Created
- 202 - Accepted
- 203 - Non-Authoritative Information
- 204 - No Content
- 205 - Reset Content
- 206 - Partial Content
As potentially activeΒΆ
Note
While testing for domain and IP, a subject which has an HTTP code listed below, will be saved/logged into the output/Analytic/POTENTIALLY_ACTIVE
directory.
Warning
While testing for domain and IP, a subject which has an HTTP code listed below and a global status INACTIVE
or INVALID
will get its status
updated to ACTIVE
.
Warning
While testing for URL, if the extracted HTTP code is in the following list, the global status will be ACTIVE
.
- 000
- 300 - Multiple Choices
- 301 - Moved Permanently
- 302 - Found
- 303 - See Other
- 304 - Not Modified
- 305 - Use Proxy
- 307 - Temporary Redirect
- 403 - Forbidden
- 405 - Method Not Allowed
- 406 - Not Acceptable
- 407 - Proxy Authentication Required
- 408 - Request Timeout
- 411 - Length Required
- 413 - Request Entity Too Large
- 417 - Expectation Failed
- 500 - Internal Server Error
- 501 - Not Implemented
- 502 - Bad Gateway
- 503 - Service Unavailable
- 504 - Gateway Timeout
- 505 - HTTP Version Not Supported
As inactive or potentially inactiveΒΆ
Note
While testing for domain and IP, a subject which has an HTTP code listed below, will be saved/logged into the output/Analytic/POTENTIALLY_INACTIVE
directory.
Warning
While testing for URL, if the extracted HTTP code is in the following list, the global status will be INACTIVE
.
- 400 - Bad Request
- 401 - Unauthorized
- 402 - Payment Required (Not in use but may be seen in the future)
- 404 - Not Found
- 409 - Conflict
- 410 - Gone
- 412 - Precondition Failed
- 414 - Request-URI Too Long
- 415 - Unsupported Media Type
- 416 - Requested Range Not Satisfiable
Expiration DateΒΆ
Give us the expiration date of the tested element.
Note
The API equivalent is expiration_date
.
Unknown (CLI)ΒΆ
Unknown
is returned when we could not extract the expiration date from PyFunceble.lookup.whois.WhoisLookup.request()
outputs.
None
(API)ΒΆ
None
is returned when we could not extract the expiration date from PyFunceble.lookup.whois.WhoisLookup.request()
outputs.
A dateΒΆ
Only if we could extract the expiration date from PyFunceble.lookup.whois.WhoisLookup.request()
, the date becomes formatted like 02-jan-2017
.
whois_record
(API)ΒΆ
Give us the WHOIS record.
Warning
You may get DATE EXTRACTED FROM WHOIS DATABASE
as response when itβs
coming from the JSON database.
The reason behind this is that we donβt want to grow the size of the JSON file.
whois_server
(API)ΒΆ
Give us the WHOIS server we contacted in order to get the WHOIS record.
domain_syntax_validation
(API)ΒΆ
The domain_syntax_validation
provides the response we got while trying to validate (with PyFunceble.check.Check.is_domain()
) the given subject.
The response will be True
for the case of a successful validation, False
otherwise, and None
for the case that the validation was not executed.
subdomain_syntax_validation
(API)ΒΆ
The subdomain_syntax_validation
provides the response we got while trying to validate (with PyFunceble.check.Check.is_subdomain()
) the given subject.
The response will be True
for the case of a successful validation, False
otherwise, and None
for the case that the validation was not executed.
url_syntax_validation
(API)ΒΆ
The url_syntax_validation
provides the response we got while trying to validate (with PyFunceble.check.Check.is_url()
) the given subject.
The response will be True
for the case of a successful validation, False
otherwise, and None
for the case that the validation was not executed.
ipv4_syntax_validation
(API)ΒΆ
The ipv4_syntax_validation
provides the response we got while trying to validate (with PyFunceble.check.Check.is_ipv4()
) the given subject.
The response will be True
for the case of a successful validation, False
otherwise, and None
for the case that the validation was not executed.
ipv6_syntax_validation
(API)ΒΆ
The ipv6_syntax_validation
provides the response we got while trying to validate (with PyFunceble.check.Check.is_ipv6()
) the given subject.
The response will be True
for the case of a successful validation, False
otherwise, and None
for the case that the validation was not executed.
ipv4_range_syntax_validation
(API)ΒΆ
The ipv4_range_syntax_validation
provides the response we got while trying to validate (with PyFunceble.check.Check.is_ipv4_range()
) the given subject.
The response will be True
for the case of a successful validation, False
otherwise, and None
for the case that the validation was not executed.
ipv6_range_syntax_validation
(API)ΒΆ
The ipv6_range_syntax_validation
provides the response we got while trying to validate (with PyFunceble.check.Check.is_ipv6_range()
) the given subject.
The response will be True
for the case of a successful validation, False
otherwise, and None
for the case that the validation was not executed.
API DocumentationΒΆ
Available CheckersΒΆ
Before starting to play with any checkers you need to understand 2 things:
The first one is the base of all checkers, and the second is the base of all
status you get when you call the
get_status()
method.
Availability checkersΒΆ
- Domain:
-
or
from PyFunceble import DomainAvailabilityChecker
- Domain and IP:
-
or
from PyFunceble import DomainAndIPAvailabilityChecker
- URL:
-
or
from PyFunceble import URLAvailabilityChecker
- IP (v4 / v6):
-
or
from PyFunceble import IPAvailabilityChecker
Syntax checkersΒΆ
- Domain (Second level domain / Subdomain):
-
or
from PyFunceble import DomainAvailabilityChecker
- Second Level Domain:
-
or
from PyFunceble import SecondLvlDomainSyntaxChecker
- Subdomain:
-
or
from PyFunceble import SubDomainSyntaxChecker
- URL:
-
or
from PyFunceble import URLSyntaxChecker
- IP (v4 / v6):
-
or
from PyFunceble import IPSyntaxChecker
- IPv4
-
or
from PyFunceble import IPv4SyntaxChecker
- IPv6
-
or
from PyFunceble import IPv6SyntaxChecker
Reputation checkersΒΆ
- Domain:
-
or
from PyFunceble import DomainReputationChecker
- Domain and IP:
-
or
from PyFunceble import DomainAndIPReputationChecker
- URL:
-
or
from PyFunceble import URLReputationChecker
- IP (v4 / v6):
-
or
from PyFunceble import IPReputationChecker
EndpointsΒΆ
Note
This section document what you can call directly when you use PyFunceble as an imported module.
Warning
SOme of those methods may be deprecated and removed in the future (open for discussion).
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
PyFunceble.
get_complements
(subject: str, include_given: bool = False) → List[str][source]ΒΆ Provides the complements of a given subject.
A complement is a for example
example.org
ifwww.example.org
is given and vice-versa.Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import Subject2Complements my_subject = "example.org" complements = Subject2Complements( my_subject ).get_converted(include_given=True)
Parameters: - subject β The subject to work with.
- include_given β Include the given subject in the result.
-
PyFunceble.
is_domain
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid second level domain or subdomain.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import DomainSyntaxChecker my_subject = "example.org" the_status = DomainSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is a domain (2nd level or subdomain). print(f"{my_subject} is domain ? {the_status.is_valid()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_domain_malicious
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given domain is malicious.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import DomainReputationChecker my_subject = "example.org" the_status = DomainReputationChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is malicious. print(f"{my_subject} is Malicious ? {the_status.is_malicious()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ip
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid IP range.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPSyntaxChecker my_subject = "192.168.0.0" the_status = IPSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is an IP (v4 or v6). print(f"{my_subject} is IP ? {the_status.is_valid()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ip_range
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid IP range.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPSyntaxChecker my_subject = "192.168.0.0" the_status = IPSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is an IP range (v4 or v6). print(f"{my_subject} is IP range ? {the_status.is_valid_range()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ipv4
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid IPv4.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPSyntaxChecker my_subject = "192.168.0.0" the_status = IPSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is an IPv4. print(f"{my_subject} is IPv4 ? {the_status.is_valid_v4()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ipv4_malicious
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given IPv4 is malicious.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPReputationChecker my_subject = "192.168.0.1" the_status = IPReputationChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is malicious. print(f"{my_subject} is Malicious ? {the_status.is_malicious()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ipv4_range
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid IPv4 range.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPSyntaxChecker my_subject = "192.168.0.0" the_status = IPSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is IPv4 range. print(f"{my_subject} is IPv4 range ? {the_status.is_valid_v4_range()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ipv6
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid IPv6.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPSyntaxChecker my_subject = "192.168.0.0" the_status = IPSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is an IPv6. print(f"{my_subject} is IPv6 ? {the_status.is_valid_v6()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ipv6_range
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid IPv6 range.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPSyntaxChecker my_subject = "::1" the_status = IPSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is IPv6 range. print(f"{my_subject} is IPv6 range ? {the_status.is_valid_v6_range()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_second_level_domain
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid second level domain.
Warning
This method was added for retrocompatibility. It may be removed in the future and is still available for convenience.
Please consider the following alternative example:
from PyFunceble import SecondLvlDomainSyntaxChecker my_subject = "example.org" the_status = SecondLvlDomainSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is a second level domain. print(f"{my_subject} is 2nd level domain ? {the_status.is_valid()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_subdomain
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid subdomain.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import SubDomainSyntaxChecker my_subject = "hello.example.org" the_status = SubDomainSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is a subdomain. print(f"{my_subject} is subdomain ? {the_status.is_valid()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_url
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is syntactically a valid URL.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import DomainReputationChecker my_subject = "https://example.org" the_status = URLSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is a URL. print(f"{my_subject} is URL ? {the_status.is_valid()}")
Parma subject: The subject to check.
-
PyFunceble.
is_url_malicious
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given URL is malicious.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import URLReputationChecker my_subject = "https://example.org" the_status = URLReputationChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is malicious. print(f"{my_subject} is Malicious ? {the_status.is_malicious()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
load_config
(*args, **kwargs) → None[source]ΒΆ Placeholder before deletion.
Since 4.0.0, you are not required to load the configuration before hand. If you still want too because you may want to use a special CLI related method, you can doing it so:
import PyFunceble.facility PyFunceble.facility.ConfigLoader.start()
-
PyFunceble.
test
(subject: str, **kwargs) → PyFunceble.checker.availability.status.AvailabilityCheckerStatus[source]ΒΆ Checks the avaialbility of the given subject assuming that it is a domain or an IP.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import DomainAndIPAvailabilityChecker my_subject = "example.org" the_status = DomainAndIPAvailabilityChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is available. print(f"{my_subject} is available ? {the_status.is_available()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
url_test
(subject: str, **kwargs) → PyFunceble.checker.availability.status.AvailabilityCheckerStatus[source]ΒΆ Checks the availability of the given subject assuming that it is a URL.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import URLAvailabilityChecker my_subject = "http://example.org" the_status = URLAvailabilityChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is available. print(f"{my_subject} is available ? {the_status.is_available()}")
Parameters: subject β The subject to work with.
File generation while using the APIΒΆ
You may want to test using the API but still want the result structured normally like a CLI usage. For that case simply add the following.
"""
This is an example which let us manipulate the data and also generate the files
as if it was the CLI.
"""
import copy
import os
import sys
import colorama
import PyFunceble.facility
import PyFunceble.storage
from PyFunceble import DomainAvailabilityChecker
from PyFunceble.cli.filesystem.dir_structure.restore import (
DirectoryStructureRestoration,
)
from PyFunceble.cli.threads.producer import ProducerThread
# We initiate the coloration.
colorama.init(autoreset=True)
# We are in control, so we need to manually start the loading.
PyFunceble.facility.ConfigLoader.custom_config = {
"cli_testing": {"file_generation": {"plain": True}, "display_mode": {"quiet": True}}
}
PyFunceble.facility.ConfigLoader.start()
# This is needed as our idea is to communicate with the producer thread instead
# of trying to reimplement everything.
# So, this describes the dataset as they are sent to the tester thread (normally)
STD_COMMUNICATION_DATASET = {
"type": "single",
"subject_type": "domain",
# Destination inside the output directory.
"destination": "my_awesome_pyfunceble_wrapper",
"subject": None,
"idna_subject": None,
"source": "my_awesome_pyfunceble_wrapper",
"output_dir": None, # Will be handled automatically
"checker_type": "AVAILABILITY", # Must be one of our supported one!!
}
DOMAINS = ["github.com", "twitter.com"]
# In this example, we are cleaning up and regenerating the output directory
# at each run.
dir_structure_restoration = DirectoryStructureRestoration(
parent_dirname=STD_COMMUNICATION_DATASET["destination"]
).restore_from_backup()
# We start the producer thread.
producer_thread = ProducerThread()
producer_thread.start()
# We start and configure our availability checker.
avail_checker = DomainAvailabilityChecker(use_whois_lookup=False)
for domain in DOMAINS:
# We loop through our list of subject to test.
# We parse the current subject to the availability checker.
avail_checker.subject = domain
# Now we fetch the status object.
test_result = avail_checker.get_status()
# We prepare our communication dataset.
communication_dataset = copy.deepcopy(STD_COMMUNICATION_DATASET)
communication_dataset["subject"] = test_result.subject
communication_dataset["idna_subject"] = test_result.idna_subject
# We print the result (for us as we call this script.)
print(
f"{test_result.idna_subject} (IDNA: {test_result.subject}) "
f"is {test_result.status}"
)
# We order the generation of the status file by putting our information
# to the producer queue.
producer_thread.add_to_the_queue((communication_dataset, test_result))
# We are now done, it's time to send the stop signal.
# The stop signal will inform the producer thread that it needs to stop
# listening to new order (from the time it reads the stop signal).
producer_thread.send_stop_signal()
# Now we wait until it's done.
producer_thread.wait()
# From here all files were generated we can do whatever we want with them.
ComponentsΒΆ
AdBlock/Filter list decodingΒΆ
Warning
This component is not activated by default.
Why do we need it?ΒΆ
As some people may want to test the content of their AdBlock/Filter list, we offer a way to decode them!
How does it work?ΒΆ
Note
Want to read the code ? Itβs here:
AdblockInputLine2Subject
!
We keep it simple by trying to comply with the Adblock Plus filters explained documentation. For us, the relevant parts are the one which defines/explains which domains are being blocked from a given rule.
Note
A more aggressive extraction might be planned in the future.
How to use it?ΒΆ
You can simply change
cli_decoding:
adblock: False
# Activate this only if you want to get as much as possible.
adblock_aggressive: False
to
cli_decoding:
adblock: False
# Activate this only if you want to get as much as possible.
adblock_aggressive: False
into your personal .PyFunceble.yaml
or use the --adblock
argument from the CLI to activate it.
AutocontinueΒΆ
Why do we need it?ΒΆ
The auto-continue logic was originaly created for one purpose: Testing long files inside Travis CI. As Travis CI session has a time limit of 45 minutes, it became vital for us to be able to stop and continue the test from where we were under those 45 minutes. This is how it started.
Today, - and it might be controversial - it is used by most people who arenβt under a Travis CI container to continue when the machine or tool crashes.
How does it work?ΒΆ
Note
Want to read the code ? Itβs here:
ContinueDatasetBase()
!
We log every subject already tested previously and remove them completely when we are done with the test of the given file.
How to use it?ΒΆ
It is activated by default but you can simply change
cli_testing:
autocontinue: False
to
cli_testing:
autocontinue: True
into your personal .PyFunceble.yaml
or use the --continue
argument from the CLI to reactivate it.
Certificate verificationΒΆ
Warning
This component is not activated by default.
Why do we need it?ΒΆ
You might sometime be sure that every URL tested with PyFunceble have a valid certificate. This what itβs all about!
How does it work?ΒΆ
By default we donβt check the certificate, but if you choose to activate this,
as soon as the verification is failed, an INACTIVE
status will be
returned while testing for URL.
How to use it?ΒΆ
Simply change
verify_ssl_certificate: False
to
verify_ssl_certificate: True
into your personal .PyFunceble.yaml
or use
the --verify-ssl-certificate
argument from the CLI to activate it.
CleaningΒΆ
Why do we need it?ΒΆ
Because we constantly need to clean files which are not needed before starting a new test, we embedded our cleaning logic.
How does it work?ΒΆ
Note
Want to read the code ? Itβs here
FilesystemCleanup
!
It has an internal map of what has to be deleted and how.
How to clean?ΒΆ
For a simple clean, run PyFunceble with the clean-pyfunceble
CLI tool.
For a complete cleaning, run PyFunceble with the clean-pyfunceble
CLI
tool along with the --all
argument.
Complements GenerationΒΆ
Warning
This component is not activated by default.
Why do we need it?ΒΆ
Letβs say we have example.org
but www.example.org
(or vice-versa) is not into my list.
This component (if activated) let us test www.example.org
(or vice-versa) even if itβs not into the input list.
How does it work?ΒΆ
Note
Want to read the code ? Itβs here
Subject2Complements
!
At the end of the normal test process, we generate the list of complements and test them.
How to use it?ΒΆ
You can simply change
cli_testing:
# Activates the generation of complements.
complements: False
to
cli_testing:
# Activates the generation of complements.
complements: True
into your personal .PyFunceble.yaml
or use the --complements
argument from the CLI to activate it.
ConfigurationΒΆ
Why do we need it?ΒΆ
As we wanted to be able to manage the options without having to always update the CLI call, we introduced the configuration logic and file.
How does it work?ΒΆ
Note
Want to read the configuration loader code ?
Itβs here ConfigLoader
!
When you are using an argument from the CLI, what we actually do is parse them into our configuration logic.
In the other side, if we first look for the .PyFunceble.yaml
file.
If not found, we get/generate it and then parse it to our system.
Note
We also wanted to get rid of the configuration for an end-user point of view, therefore almost all configuration indexed can be updated from the CLI.
In that case, we update the configuration with the different argument you gives us before parsing it to the system.
How to configure?ΒΆ
Update the .PyFunceble.yaml
file or use the CLI.
Continuous IntegrationΒΆ
Warning
This component is not activated by default.
Why do we need it?ΒΆ
The continuous integrations component is there to enable a continuous testing and integration in your workflow.
The idea is that: If you can use any of the supported Continuous Integration engine, use it, and use PyFunceble to work along your workflow.
How does it work?ΒΆ
Note
Want to read the code ? Itβs here
ContinuousIntegrationBase
!
After a given amount of minutes, we stop the tool, generate the percentage, run a given command (if found), commit all the changes we made to the repository and finally, push to the git repository.
How to use it?ΒΆ
As of today, PyFunceble should work under Travis CI and GitLab CI.
Warning
Along with the configuration file or the CLI setting, you are required to give the following environment variables:
GIT_EMAIL
: The email to use for the commit.GIT_NAME
: The name to use for the commit.GH_TOKEN
: The GitHub token if you use Travis CI.GL_TOKEN
: The GitLab token if you use GitLab CI.
The following from the configuration (or their equivalent from the CLI) are available for usage.
cli_testing:
ci:
# Provides everything related to the continuous integration.
# Activates the continuous integration mode.
# WARNING: Do not activate without asking or knowing what you are doing.
active: False
# Sets the commit message to apply each time except for the last one.
commit_message: "PyFunceble - AutoSave"
# Sets the commit message to apply at the very end of the test.
end_commit_message: "PyFunceble - Results"
# Sets the number of minutes to wait before sftarting to save and stop
# a session.
max_exec_minutes: 15
# Sets the working branch. This is the branch from where we are testing.
branch: master
# Sets the distribution branch. This is the branch that is going to get
# the (final) results.
distribution_branch: master
# Sets the command to execute before each commits except the last
# one.
command: null
# Sets the command to execute before the last commit.
end_command: null
Custom DNS ProtocolΒΆ
Why do we need it?ΒΆ
Sometimes, your firewall may block the UDP protocol over port 53 or you simply want to use DNS-Over-TLS or why not DNS-Over-HTTPS and why not DNS-Over-TCP.
Since PyFunceble 4.0.0, to simplify such situations, it is possible to define the protocol to use for the DNS queries.
How does it work?ΒΆ
Note
Want to read the DNS query tool source code ?
Itβs here DNSQueryTool
!
We read your preferred protocol and use it.
How to use it?ΒΆ
By default, PyFunceble will use the UDP protocol. This can be changed with the ability to configure which DNS-Servers you like PyFunceble to use during the test.
You set this up with the CLI command --dns-protocol
or insert it
into your personal .PyFunceble.yaml
.
Note
As of today, here is the list of supported protocols.
UDP
(default)TCP
HTTPS
TLS
dns:
# Sets the protocol to use.
# Available: UDP | TCP | HTTPS | TLS
protocol: UDP
to
dns:
# Sets the protocol to use.
# Available: UDP | TCP | HTTPS | TLS
protocol: TCP
Custom DNS ServerΒΆ
Why do we need it?ΒΆ
Our testing tool may sometime use a DNS-server which isnβt suited for PyFunceble. This could by example be your own DNS-Firewall.
To avoid these situations, the program allows you to setup the DNS-Server that we need to use.
How does it work?ΒΆ
Note
Want to read the DNS query tool source code ?
Itβs here DNSQueryTool
!
What we do is that we parse and use your given server.
How to use it?ΒΆ
By default, PyFunceble will use the system-wide DNS settings. This can be changed with the ability to configure which DNS-Servers you like PyFunceble to use during the test.
You set this up with the CLI command --dns
or insert it into your
personal .PyFunceble.yaml
dns;
server: null
to
dns:
server:
- 95.216.209.53
- 116.203.32.67
- 116.203.32.67
Since v3.0.0
it is possible to assign a specific port to use with the
DNS-Server.
Hint
--dns 95.216.209.53:53 116.203.32.67:53 116.203.32.67:853
Warning
If you donβt append a port number, the default DNS port (53) will be used.
Custom User-AgentΒΆ
Why do we need it?ΒΆ
As we need to be one in a middle of a connection to a webserver, the custom user agent is there for that!
How does it work?ΒΆ
We set the user-agent every time we request something with the http
and https
protocols.
If a custom user agent is given, it will be used.
Otherwise, every 24 hours, we update our user-agents.json file which will be fetched by your local version to determine the user-agent to use.
How to use it?ΒΆ
Simply choose your browser and platform or provide us your custom one!
user_agent:
browser: chrome
platform: linux
custom: null
into your personal .PyFunceble.yaml
or use the --user-agent
(custom UA) argument from the CLI.
Available BrowserΒΆ
Here is a list of available and accepted browsers at this time.
chrome
edge
firefox
ie
opera
safari
Available PlatformΒΆ
Here is a list of available and accepted platform at this time.
linux
macosx
win10
What if we donβt give a custom User-Agent?ΒΆ
If you donβt set a custom User-Agent, we will try to get the latest one for the chosen browser and platform.
DatabasesΒΆ
Why do we use βdatabasesβ?ΒΆ
We use databases to store data while we run the tests. When globally talking about databases, we are indirectly talking about the following subsystems.
- Autocontinue
- InactiveDB
- WhoisDB
How do we manage them?ΒΆ
They consist of simple CSV files which are read and updated on the fly.
Warnings around Database (self) managementΒΆ
Warning
If you plan to delete everything and still manage to use PyFunceble in the
future, please use the clean-pyfunceble
CLI.
Indeed, it will delete everything that we generated, except the things like the WHOIS database file/table which saves (almost) static data which should be reused in the future.
Deleting, for example, the WHOIS database file/table will just make your test run for a much longer time if you retest subject that used to be indexed into the whois database file/table.
Databases typesΒΆ
Since PyFunceble 2.0.0
(equivalent of >=1.18.0.dev
),
we offer multiple database types which are (as per configuration) csv
(default since 4.0.0
), mariadb
and mysql
.
Why different database types?ΒΆ
With the introduction of the multithreading logic, it became natural to introduce other database formats.
How to use the mysql
or mariadb
format?ΒΆ
Create a new user, password and database (optional) for PyFunceble to work with.
Create a
.pyfunceble-env
file at the root of your configuration directory.Complete it with the following content (example)
PYFUNCEBLE_DB_CHARSET=utf8mb4 PYFUNCEBLE_DB_HOST=localhost PYFUNCEBLE_DB_NAME=PyFunceble PYFUNCEBLE_DB_PASSWORD=Hello,World! PYFUNCEBLE_DB_PORT=3306 PYFUNCEBLE_DB_USERNAME=pyfunceble
Note
Since version
2.4.3.dev
it is possible to use the UNIX socket for thePYFUNCEBLE_DB_HOST
environment variable.The typical location for
mysqld.sock
is/var/run/mysqld/mysqld.sock
.This have been done to make
1. It easier to use the
socket
in conjunction with a supported CI environment/platform.- Leaving more space on the IP-stack on local DB installations.
3. The
UNIX:SOCKET
is usually faster than the IP connection on local runs.PYFUNCEBLE_DB_CHARSET=utf8mb4 PYFUNCEBLE_DB_HOST=/var/run/mysqld/mysqld.sock PYFUNCEBLE_DB_NAME=PyFunceble PYFUNCEBLE_DB_PASSWORD=Hello,World! PYFUNCEBLE_DB_PORT=3306 PYFUNCEBLE_DB_USERNAME=pyfunceble
Switch the
db_type
index of your configuration file tomysql
ormariadb
.Play with PyFunceble!
Note
If the environment variables are not found, you will be asked to prompt the information.
Directory StructureΒΆ
Why do we need it?ΒΆ
As we wanted the end-user to be able to work from everywhere into the filesystem,
we created a logic which will create and keep the output/
directory which
complies with our source code.
How does it work?ΒΆ
Note
Want to read the code ?
Itβs here
PyFunceble.cli.filesystem.dir_structure.backup.DirectoryStructureBackup
and
PyFunceble.cli.filesystem.dir_structure.backup.DirectoryStructureRestoration
!
After each version, the maintainer run the production-pyfunceble
CLI
which will prepare the repository for production.
That has the side effect to map the maintainerβs version of the
output/__pyfunceble_origin__
directory into a file called
dir_structure_production.json
which is then bundled into the PyPI
package.
Once pushed, on the end-user side, when testing for file, that file is
copied from the Python Package into
a file called dir_structure.json
which is then used to restore/create a
a perfect copy of the output directory the maintainer had when pushing the new
version.
DNS LookupΒΆ
Why do we need it?ΒΆ
As our main purpose is to check the availability of the given subjects, we make a DNS lookup to determine it.
How does it work?ΒΆ
For domainsΒΆ
In order:
- Request the
NS
record. - If not found, request the
A
record. - If not found, request the
AAAA
record. - If not found, request the
CNAME
record. - If not found, request the
DNAME
record.
Warning
If none is found, we call the UNIX/C equivalent of getaddrinfo()
.
For IPΒΆ
We request the PTR
record for the IP.
Warning
If none is found, we call the UNIX/C equivalent of gethostbyaddr()
or getaddrinfo()
.
How to use it?ΒΆ
It is activated by default but if not simply change
lookup:
# Activates the usage of the DNS lookup.
dns: False
to
lookup:
# Activates the usage of the DNS lookup.
dns: True
into your personal .PyFunceble.yaml
or use the --no-whois
argument from the CLI to reactivate it.
Environment variablesΒΆ
Dotenv filesΒΆ
Since PyFunceble 2.0.0
(equivalent of PyFunceble-dev >=1.18.0
),
we load (thanks to python-dotenv) the content of
the following files into the (local) list of environment variables.
.env
(current directory).pyfunceble-env
(current directory).env
(configuration directory).pyfunceble-env
(configuration directory)
To quote the python-dotenv documentation, a .env
should look
like the following:
# a comment and that will be ignored.
REDIS_ADDRESS=localhost:6379
MEANING_OF_LIFE=42
MULTILINE_VAR="hello\nworld"
What do we use and why ?ΒΆ
Here is the list of environment variables we use and how we use them if they are set.
Environment Variable | How do we use it? |
DEBUG_PYFUNCEBLE |
Same as PYFUNCEBLE_DEBUG itβs just present for retro-compatibility. |
DEBUG_PYFUNCEBLE_ON_SCREEN |
Same as PYFUNCEBLE_DEBUG_ON_SCREEN itβs just present for retro-compatibility. |
PYFUNCEBLE_AUTO_CONFIGURATION |
Tell us if we have to install/update the configuration file automatically. |
PYFUNCEBLE_DB_CHARSET |
Tell us the MySQL charset to use. |
PYFUNCEBLE_DB_HOST |
Tell us the host or the Unix socket (absolute file path) of the MySQL database. |
PYFUNCEBLE_DB_NAME |
Tell us the name of the MySQL database to use. |
PYFUNCEBLE_DB_PASSWORD |
Tell us the MySQL user password to use. |
PYFUNCEBLE_DB_PORT |
Tell us the MySQL connection port to use. |
PYFUNCEBLE_DB_USERNAME |
Tell us the MySQL user-name to use. |
PYFUNCEBLE_DEBUG |
Tell us to log everything into the output/logs/*.log files. |
PYFUNCEBLE_DEBUG_LVL |
Sets the logging level to use. |
PYFUNCEBLE_LOGGING_LVL |
Same as PYFUNCEBLE_DEBUG_LVL . |
PYFUNCEBLE_DEBUG_ON_SCREEN |
Tell us to log everything to stdout |
PYFUNCEBLE_CONFIG_DIR |
Tell us the location of the directory to use as the configuration directory. |
PYFUNCEBLE_OUTPUT_DIR |
Same as PYFUNCEBLE_CONFIG_DIR itβs just present for retro-compatibility. |
PYFUNCEBLE_OUTPUT_LOCATION |
Tell us where we should generate the output/ directory. |
APPDATA |
Used under Windows to construct/get the configuration directory if PYFUNCEBLE_CONFIG_DIR is not found. |
GH_TOKEN |
Tell us the GitHub token to set into the repository configuration when using PyFunceble under Travis CI. |
GL_TOKEN |
Tell us the GitLab token to set into the repository configuration when using PyFunceble under GitLab CI/CD. |
GIT_EMAIL |
Tell us the git.email configuration to set when using PyFunceble under any supported CI environment. |
GIT_NAME |
Tell us the git.name configuration to set when using PyFunceble under any supported CI environment. |
TRAVIS_BUILD_DIR |
Used to confirm that we are running under a Travis CI container. |
GITLAB_CI |
Used to confirm that we are running under a GitLab CI/CD environment. |
GITLAB_USER_ID |
Used to confirm that we are running under a GitLab CI/CD environment. |
Execution timeΒΆ
Warning
This component is not activated by default.
Why do we need it?ΒΆ
As it is always nice to see how long we worked, we added this logic!
How does it work?ΒΆ
Note
Want to read the code ? Itβs here
PyFunceble.cli.execution_time.ExecutionTime
!
It shows the execution time on screen (stdout
).
How to use it?ΒΆ
You can simply change
display_mode:
# Activates the printing of the execution time.
execution_time: False
to
display_mode:
# Activates the printing of the execution time.
execution_time: True
into your personal .PyFunceble.yaml
or use the --execution
argument from the CLI to activate it.
List filteringΒΆ
Warning
This component is not activated by default.
Why do we need it?ΒΆ
While testing for file, you may find yourself in a situation where you only want to test subject which matches a given pattern. Thatβs what this component do.
How does it work?ΒΆ
We scan the list against the given pattern/regex and only test those who match it.
How to use it?ΒΆ
You can simply change
cli_testing:
# Sets the filter to apply while reading the given input.
# For example, if you give `\.info`, we will only test the subjects
# who match `\.info`.
file_filter: null
to
cli_testing:
# Sets the filter to apply while reading the given input.
# For example, if you give `\.info`, we will only test the subjects
# who match `\.info`.
file_filter: "\.org"
(for example)
into your personal .PyFunceble.yaml
or use the --filter
argument from the CLI.
IANA Root Zone DatabaseΒΆ
Why do we need it?ΒΆ
We use it to check if an extension is valid/exists.
How does it work?ΒΆ
Note
Want to read the parser code ? Itβs here
IanaDBGenerator
!
The root zone database is saved into the iana-domains-db.json
file.
It is formatted like below and is automatically merged for the end-user before
each test run.
{
"extension": "whois_server"
}
In-app, while testing for a domain, we check if the extension is listed there
before doing some extra verifications.
If not, domain(s) will be flagged as INVALID
.
How to generate it manually?ΒΆ
You canβt and should not as we are automatically generating it every 24 hours.
But using the iana-pyfunceble
CLI will do the job on purpose.
Test in/for local hostnames, IPs, componentsΒΆ
Warning
This component is not activated by default.
Why do we need it?ΒΆ
As we may need to test for local hostnames, IPs, components in a local network, this component allows a less aggressive way of syntax validation.
How does it work?ΒΆ
We simply use a less aggressive syntax validation so that everything you give us is being tested.
How to use it?ΒΆ
Simply change
cli_testing:
# Acknowleadges that we may test for local network component.
# NOTE: Activating this, will remove the syntax checker completely.
local_network: False
to
cli_testing:
# Acknowleadges that we may test for local network component.
# NOTE: Activating this, will remove the syntax checker completely.
local_network: True
into your personal .PyFunceble.yaml
or use the --local
argument
from the CLI to activate it.
Logs SharingΒΆ
Warning
This component is not activated by default.
Why do we need it?ΒΆ
We chose to initiate the logs sharing as some actions can really be random when working with millions of domains.
The idea and purpose of this feature are ONLY to make PyFunceble a better tool.
MiningΒΆ
Warning
This component is not activated by default.
Why do we need it?ΒΆ
Sometimes you might, for example, want to get the list of domain(s) / URL(s) in a redirecting loop. This feature reveals them.
How does it work?ΒΆ
Note
Want to read the code ? Itβs here
MinerThread
!
We access the given domain/URL and get the redirection history which we then test once we finished the normal test.
Warning
This component might evolve with time.
How to use it?ΒΆ
You can simply change
cli_testing:
# Activates the mining of data.
mining: False
to
cli_testing:
# Activates the mining of data.
mining: True
into your personal .PyFunceble.yaml
or use the --mining
argument
from the CLI to activate it.
MultithreadingΒΆ
Why do we need it?ΒΆ
Many people around the web who talked about PyFunceble were talking about one thing: We take time to run.
In the past, we implemented what was then called the βmultiprocessingβ method.
As of 4.0.0
, we went away from the multiprocessing logic we created.
The reason behind it was that the multiprocessing method we developed or
designed was becoming a nightmare to manage because we always had to take into
consideration that a process does not have access to the memory space of
the main process.
Therefore, we decided to switch to a more manageable and understandable method by using multithreading. This will let us test (I/O bound tasks) and create a data workflow which is easier to maintain and follow.
How does it work?ΒΆ
We read the given inputs, add them into some queues and generate some outputs through other queues or threads.
Here is a short representation of the thread model behind the CLI testing:

How to use it?ΒΆ
As of 4.0.0
, you donβt have the choice. It is available and is
systematically used as soon as you use the PyFunceble CLI.
Outputted FilesΒΆ
Note
This section does not cover the log files.
Why do we need it?ΒΆ
We need a way to deliver our results.
How does it work?ΒΆ
After testing a given subject, we generate its output file based on whatβs needed.
Host formatΒΆ
This is the default output file.
A line is formatted like 0.0.0.0 example.org
.
Note
A custom IP can be set with the help of the custom_ip
index or the
--hosts-ip
argument from the CLI.
Donβt need it? Simply change
cli_testing:
file_generation:
# Activates the generation of the hosts file(s).
hosts: False
to
cli_testing:
file_generation:
# Activates the generation of the hosts file(s).
hosts: False
into your personal .PyFunceble.yaml
or use the --hosts
argument
from the CLI to deactivate it.
Plain formatΒΆ
A line is formatted like example.org
.
Need it? Simply change
cli_testing:
file_generation:
# Activates the generation of the plain (or raw) file(s).
plain: False
to
cli_testing:
file_generation:
# Activates the generation of the plain (or raw) file(s).
plain: True
into your personal .PyFunceble.yaml
or use the --plain
argument
from the CLI to activate it.
PercentageΒΆ
Warning
This component is activated by default while testing files.
Note
The percentage doesnβt show up - by design - while testing for single subjects.
Why do we need it?ΒΆ
We need it in order to get information about the amount of data we just tested.
How does it work?ΒΆ
Note
Want to read the code ? Itβs here
FilesystemCounter
!
Regularly or at the very end of a test we get the number of subjects for
each status along with the number of tested subjects.
We then generate and print the percentage calculation on the screen
(stdout
) and into
output/${input_file_name}/logs/percentage/percentage.txt
How to use it?ΒΆ
It is activated by default, but if not please update
cli_testing:
display_mode:
# Activates the output of the percentage information.
percentage: False
to
cli_testing:
display_mode:
# Activates the output of the percentage information.
percentage: True
into your personal .PyFunceble.yaml
or use the --percentage
argument from the CLI to reactivate it.
The Public Suffix ListΒΆ
Why do we need it?ΒΆ
We use it in the process of checking the validity of domains.
How does it work?ΒΆ
Note
Want to read the parser code ? Itβs here
PublicSuffixGenerator
!
The copy of the public suffix list we use is saved into the
public-suffix.json
file.
It is formatted like below and is (periodically) automatically merged for the
end-user before each test run.
{
"extension": [
"suffix1.extension",
"suffix2.extension",
"suffix3.extension"
]
}
In-app, while testing for domain(s), we use it to know if we are checking for a subdomain or not.
How to generate it manually?ΒΆ
You canβt and should not as we are automatically generating it every 24 hours.
But, using the public-suffix-pyfunceble
CLI will do the job on purpose.
SortingΒΆ
Note
While using the multiprocessing option, the data are tested as given.
Why do we need it?ΒΆ
Because sorted is better, we sort by default!
How does it work?ΒΆ
Note
Want to read the code ? Itβs here:
standard()
and
hierarchical()
!
AlphabeticallyΒΆ
This is the default one. The standard()
function is used for that purpose.
HierarchicallyΒΆ
The objective of this is to provide sorting by service/domains.
The hierarchical()
function is used for that purpose.
Note
This is a simplified version of what we do.
- Letβs say we have
aaa.bbb.ccc.tdl
. Note
The TDL part is determined. Indeed we first look at the IANA Root Zone database, then at the Public Suffix List.
- Letβs say we have
Letβs split the points. We then get a list
[aaa, bbb, ccc, tdl]
Put the TDL first. It will gives us
[tdl, aaa, bbb, ccc]
Reverse everything after the TDL. It will gives us
[tdl, ccc, bbb, aaa]
.Get the string to use for sorting. It will gives us
tdl.ccc.bbb.aaa
.
How to activate the hierarchical sorting?ΒΆ
Simply change
cli_testing:
sorting_mode:
# Activates the hierarchical sorting.
hierarchical: False
to
cli_testing:
sorting_mode:
# Activates the hierarchical sorting.
hierarchical: True
into your personal .PyFunceble.yaml
or use the --hierarchical
argument from the CLI to activate it.
Whois LookupΒΆ
Note
While testing using PyFunceble, subdomains, IPv4 and IPv6 are not used against our whois lookup logic.
Why do we need it?ΒΆ
As our main purpose is to check the availability of the given subjects, we make a WHOIS lookup (if authorized) to determine it.
How does it work?ΒΆ
Note
Want to read the code ? Itβs here
WhoisQueryTool
!
For us the only relevant part is the extraction of the expiration date. Indeed, itβs an indicator if a domains is still owned by someone, we use it first to get the availability of domains.
How to use it?ΒΆ
It is activated by default but if not simply change
lookup:
# Activates the usage of the WHOIS record.
whois: False
to
lookup:
# Activates the usage of the WHOIS record.
whois: True
into your personal .PyFunceble.yaml
or use the --no-whois
argument from the CLI to reactivate it.
ContributeΒΆ
Submit changesΒΆ
Before anything, please keep in mind the following. If one or more of those conditions are not filled. Your Pull Request to PyFunceble may not be merged.
The master
branch is used only for releasing a new or stable version
of the code.
Thatβs why we require that all contributions/modifications must be done under
the dev
or a new branch.
In order to gain some time and also understand what you are working on, your pull requests submission as long as your commit descriptions should be clear and complete as much as possible. We do an exception to commit with minor changed but big changes should have a complete description.
Please ensure to use the following method when committing a big change.
Coding conventionsΒΆ
FormatΒΆ
- We should format our code with Black, The uncompromising Python code formatter.
- We should write docstrings for every public method, function and classes. It does not have to be elaborate. Just explain what it simply does!
$ black PyFunceble && black tests
Note
You can avoid this secion if you use the production-pyfunceble
CLI
which already handles as musch as possible.
LintingΒΆ
Our code should pass a pylint
check without any issue (exit 0).
$ pylint PyFunceble && pylint tests
CoverageΒΆ
Our code should have at least 60% of coverage.
Note
Coverage unrelevant code/files can be muted.
$ coverage run setup.py test && coverage report -m
DistributionΒΆ
Our code should be shipped (after each commit) with a new version and a new
version.yaml
file.
That file should ALWAYS be generated with the following.
Note
An exception is granted for detached branch
(not dev
nor master
) and no code changes.
$ # Prepare our files, :code:`version.yaml` and code for production/dev usage.
$ PyFunceble --production
CommitΒΆ
All your commits should be - when possible - be signed with PGP.
(More information can be found on GitHub documentation)
Please note the usage of -S
into the commit command which means that
we sign the commit.
The commit message may be formatted like follow:
Note
An exception is granted for no code changes.
- ::
Short explanation (max 79 char).
Paragraphs with some details/context (if needed).
Git HookΒΆ
If one may want to automate the process.
Here is a git hook (as proposition) to be set into .git/hooks/pre-commit
.
#!/usr/bin/env bash
# We print what's going on.
set -x
# We stop on error.
set -e
# We get top level path.
rootDirectory="$(git rev-parse --show-toplevel)"
# We construct our list of directories.
ourDirectories="${rootDirectory}/PyFunceble ${rootDirectory}/tests"
if [[ ! -z "$(git status --porcelain | awk '{ if ($NF > 0 && substr($1,1,1) != "?" && $2 ~ '/\.py/' ) print $2}')" ]]
then
hash find
hash isort
hash black
hash pylint
hash coverage
for directory in $(echo ${ourDirectories})
do
# We sort the imports.
find "${directory}" -name "*.py" -exec isort {} \;
# We format the code.
black "${directory}"
# We lint the code.
pylint "${directory}"
done
cd "${rootDirectory}"
coverage run setup.py test
fi
set +e
set +x
exit 0
Code DocumentationΒΆ
PyFunceble packageΒΆ
SubpackagesΒΆ
PyFunceble.checker packageΒΆ
SubpackagesΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all availability checker classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.availability.base.
AvailabilityCheckerBase
(subject: Optional[str] = None, *, use_extra_rules: Optional[bool] = None, use_whois_lookup: Optional[bool] = None, use_dns_lookup: Optional[bool] = None, use_netinfo_lookup: Optional[bool] = None, use_http_code_lookup: Optional[bool] = None, use_reputation_lookup: Optional[bool] = None, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.base.CheckerBase
Provides the base of all our availability checker classes.
-
STD_USE_DNS_LOOKUP
= TrueΒΆ
-
STD_USE_EXTRA_RULES
= TrueΒΆ
-
STD_USE_HTTP_CODE_LOOKUP
= TrueΒΆ
-
STD_USE_NETINFO_LOOKUP
= TrueΒΆ
-
STD_USE_REPUTATION_LOOKUP
= FalseΒΆ
-
STD_USE_WHOIS_LOOKUP
= TrueΒΆ
-
_use_dns_lookup
= FalseΒΆ
-
_use_extra_rules
= FalseΒΆ
-
_use_http_code_lookup
= FalseΒΆ
-
_use_netinfo_lookup
= FalseΒΆ
-
_use_reputation_lookup
= FalseΒΆ
-
_use_whois_lookup
= FalseΒΆ
-
addressinfo_query_tool
= NoneΒΆ
-
dns_query_tool
= NoneΒΆ
-
domain_syntax_checker
= NoneΒΆ
-
get_use_netinfo_lookup
() → bool[source]ΒΆ Sets the current value of the
use_netinfo_lookup
attribute.
-
guess_all_settings
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Try to guess all settings.
-
guess_and_set_dns_lookup
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Try to guess and set the value of the
use_dns_lookup
attribute from the configuration file.
-
guess_and_set_use_extra_rules
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Try to guess and set the value of the
use_extra_rules
attribute from the configuration file.
-
guess_and_set_use_http_code_lookup
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Try to guess and set the value of the
use_http_code_lookup
attribute from the configuration file.
-
guess_and_set_use_netinfo_lookup
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Try to guess and set the value of the
use_netinfo_lookup
attribute from the configuration file.
-
guess_and_set_use_reputation_lookup
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Try to guess and set the value of the
use_reputation_lookup
attribute from the configuration file.
-
guess_and_set_use_whois_lookup
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Try to guess and set the value of the
use_whois
attribute from the configuration file.
-
hostbyaddr_query_tool
= NoneΒΆ
-
http_status_code_query_tool
= NoneΒΆ
-
ip_syntax_checker
= NoneΒΆ
-
static
is_record_type_in_result
(record_type: Union[str, List[str], Tuple[str]], lookup_result: Dict[str, Optional[List[str]]]) → bool[source]ΒΆ Checks if the given
record_type
is in the result and not empty.Parameters:
-
params
= NoneΒΆ
-
query_dns_record
() → Optional[Dict[str, Optional[List[str]]]][source]ΒΆ Tries to query the DNS record(s) of the given subject.
Parameters: subject β The subject to query the information for.
Raises: - TypeError β When the given
subject
is not astr
. - ValueError β When the given
subject
is empty.
- TypeError β When the given
-
query_status
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Queries the status and for for more action.
-
query_syntax_checker
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Queries the syntax checker.
-
query_syntax_checker_if_missing
()[source]ΒΆ Queries the status if itβs missing.
Raises: RuntimeError β If the subject is not a string.
-
set_use_dns_lookup
(value: bool) → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Sets the value which authorizes the usage of the DNS Lookup.
Parameters: value β The value to set.
-
set_use_extra_rules
(value: bool) → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Sets the value which authorizes the usage of the special rule.
Parameters: value β The value to set.
-
set_use_http_code_lookup
(value: bool) → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Sets the value which authorizes the usage of the HTTP status code lookup.
Parameters: value β The value to set.
-
set_use_netinfo_lookup
(value: bool) → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Sets the value which authorizes the usage of the network information lookup.
Parameters: value β The value to set.
-
set_use_reputation_lookup
(value) → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Sets the value which authorizes the usage of the reputation lookup.
Parameters: value β The value to set.
-
set_use_whois_lookup
(value: bool) → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Sets the value which authorizes the usage of the WHOIS lookup.
Parameters: value β The value to set.
-
should_we_continue_test
(status_post_syntax_checker: str) → bool[source]ΒΆ Checks if we are allowed to continue a standard testing.
-
status
= NoneΒΆ
-
subject_propagator
() → PyFunceble.checker.base.CheckerBase[source]ΒΆ Propagate the currently set subject.
Warning
You are not invited to run this method directly.
-
try_to_query_status_from_dns
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Tries to query the status from the DNS lookup.
-
try_to_query_status_from_http_status_code
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Tries to query the status from the HTTP status code.
-
try_to_query_status_from_netinfo
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Tries to query the status from the network information.
-
try_to_query_status_from_reputation
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Tries to query the status from the reputation lookup.
-
try_to_query_status_from_syntax_lookup
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Tries to query the status from the syntax.
-
try_to_query_status_from_whois
() → PyFunceble.checker.availability.base.AvailabilityCheckerBase[source]ΒΆ Tries to get and the status from the WHOIS record.
Warning
If the configuration is loaded, this method try to query from the best database first.
If itβs not found it will try to query it from the best WHOIS server then add it into the database (if the expirationd date extraction is successful).
Note
The addition into the WHOIS database is only done if this method is running in a thread with a name that does not starts with
PyFunceble
(case sensitive).
-
url_syntax_checker
= NoneΒΆ
-
use_dns_lookup
ΒΆ Provides the current value of the
_use_dns_lookup
attribute.
-
use_extra_rules
ΒΆ Provides the current value of the
_use_extra_rules
attribute.
-
use_http_code_lookup
ΒΆ Provides the current value of the
_use_http_code_lookup
attribute.
-
use_netinfo_lookup
ΒΆ Provides the current value of the
_use_netinfo_lookup
attribute.
-
use_reputation_lookup
ΒΆ Provides the current value of the
_use_reputation_lookup
attribute.
-
use_whois_lookup
ΒΆ Provides the current value of the
_use_whois_lookup
attribute.
-
whois_query_tool
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the domains availability checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.availability.domain.
DomainAvailabilityChecker
(subject: Optional[str] = None, *, use_extra_rules: Optional[bool] = None, use_whois_lookup: Optional[bool] = None, use_dns_lookup: Optional[bool] = None, use_netinfo_lookup: Optional[bool] = None, use_http_code_lookup: Optional[bool] = None, use_reputation_lookup: Optional[bool] = None, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.availability.base.AvailabilityCheckerBase
Provides the interface for checking the availability of a given domain.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the domains and IP availability checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.availability.domain_and_ip.
DomainAndIPAvailabilityChecker
(subject: Optional[str] = None, *, use_extra_rules: Optional[bool] = None, use_whois_lookup: Optional[bool] = None, use_dns_lookup: Optional[bool] = None, use_netinfo_lookup: Optional[bool] = None, use_http_code_lookup: Optional[bool] = None, use_reputation_lookup: Optional[bool] = None, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.availability.base.AvailabilityCheckerBase
Provides the interface for checking the availability of a IP or domain.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the domains availability checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.availability.extra_rules.
ExtraRulesHandler
(status: Optional[PyFunceble.checker.availability.status.AvailabilityCheckerStatus])[source]ΒΆ Bases:
object
Provides our very own extra rules handler.
-
_ExtraRulesHandler__handle_blogspot
() → PyFunceble.checker.availability.extra_rules.ExtraRulesHandlerΒΆ Handles the
blogspot.*
case.Warning
This method assume that we know that we are handling a blogspot domain.
-
_ExtraRulesHandler__handle_potentially_down
() → PyFunceble.checker.availability.extra_rules.ExtraRulesHandlerΒΆ Handles the status deescalation though the list of potentially DOWN status code.
-
_ExtraRulesHandler__handle_potentially_up
() → PyFunceble.checker.availability.extra_rules.ExtraRulesHandlerΒΆ Handles the status deescalation though the list of potentially UP status code.
-
_ExtraRulesHandler__handle_wordpress_dot_com
() → PyFunceble.checker.availability.extra_rules.ExtraRulesHandlerΒΆ Handles the
wordpress.com
case.Warning
This method assume that we know that we are handling a blogspot domain.
-
_ExtraRulesHandler__regex_registry_handler
(regex_registry: dict) → PyFunceble.checker.availability.extra_rules.ExtraRulesHandlerΒΆ Handles the standard regex lookup case.
-
_ExtraRulesHandler__switch_to_down
() → PyFunceble.checker.availability.extra_rules.ExtraRulesHandlerΒΆ Switches the status to inactive.
-
_ExtraRulesHandler__switch_to_down_if_404
() → PyFunceble.checker.availability.extra_rules.ExtraRulesHandlerΒΆ Switches the status to inactive if the status code is set to 404.
-
_ExtraRulesHandler__switch_to_down_if_410
() → PyFunceble.checker.availability.extra_rules.ExtraRulesHandlerΒΆ Switches the status to inactive if the status code is set to 410.
-
_ExtraRulesHandler__switch_to_up
() → PyFunceble.checker.availability.extra_rules.ExtraRulesHandlerΒΆ Switches the status to active.
-
_ExtraRulesHandler__web_regex_handler
(url: str, regex_list: List[str], method: Callable[[...], ExtraRulesHandler]) → PyFunceble.checker.availability.extra_rules.ExtraRulesHandlerΒΆ Handles a web request along with a regex filter.
-
_status
= NoneΒΆ
-
ensure_status_is_given
()[source]ΒΆ Ensures that the status is given before running the decorated method.
Raises: TypeError β If the subject is not a string.
-
http_codes_dataset
= NoneΒΆ
-
regex_active2inactive_through_potentially_down
= {}ΒΆ
-
regex_active2inactive_through_potentially_up
= {}ΒΆ
-
set_status
(value: PyFunceble.checker.availability.status.AvailabilityCheckerStatus) → PyFunceble.checker.availability.extra_rules.ExtraRulesHandler[source]ΒΆ Sets the status to work with.
Parameters: value β The status to work with.
-
start
() → PyFunceble.checker.availability.extra_rules.ExtraRulesHandler[source]ΒΆ Starts the process.
-
status
ΒΆ Provides the current state of the
_status
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the IP availability checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.availability.ip.
IPAvailabilityChecker
(subject: Optional[str] = None, *, use_extra_rules: Optional[bool] = None, use_whois_lookup: Optional[bool] = None, use_dns_lookup: Optional[bool] = None, use_netinfo_lookup: Optional[bool] = None, use_http_code_lookup: Optional[bool] = None, use_reputation_lookup: Optional[bool] = None, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.availability.base.AvailabilityCheckerBase
Provides the interface for checking the availability of a given IP.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our parameter class. The parameter class is the class that will be provided to end-user. It is only a placeholder and should only be taken as informative.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.availability.params.
AvailabilityCheckerParams
(do_syntax_check_first: Optional[bool] = None, use_extra_rules: Optional[bool] = None, use_whois_lookup: Optional[bool] = None, use_dns_lookup: Optional[bool] = None, use_netinfo_lookup: Optional[bool] = None, use_http_code_lookup: Optional[bool] = None, use_reputation_lookup: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.params_base.CheckerParamsBase
Provides the description of an availablity checker paramaters.
-
do_syntax_check_first
= NoneΒΆ
-
use_dns_lookup
= NoneΒΆ
-
use_extra_rules
= NoneΒΆ
-
use_http_code_lookup
= NoneΒΆ
-
use_netinfo_lookup
= NoneΒΆ
-
use_reputation_lookup
= NoneΒΆ
-
use_whois_lookup
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our status class. The status class is the class that will be provided to end-user.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.availability.status.
AvailabilityCheckerStatus
(subject: Optional[str] = None, idna_subject: Optional[str] = None, status: Optional[str] = None, status_source: Optional[str] = None, tested_at: Optional[datetime.datetime] = None, params: Optional[PyFunceble.checker.params_base.CheckerParamsBase] = None, checker_type: Optional[str] = 'AVAILABILITY', dns_lookup_record: Optional[PyFunceble.query.record.dns.DNSQueryToolRecord] = None, whois_lookup_record: Optional[PyFunceble.query.record.whois.WhoisQueryToolRecord] = None, domain_syntax: Optional[bool] = None, second_level_domain_syntax: Optional[bool] = None, subdomain_syntax: Optional[bool] = None, ip_syntax: Optional[bool] = None, ipv4_syntax: Optional[bool] = None, ipv6_syntax: Optional[bool] = None, ipv4_range_syntax: Optional[bool] = None, ipv6_range_syntax: Optional[bool] = None, url_syntax: Optional[bool] = None, expiration_date: Optional[str] = None, whois_record: Optional[str] = None, status_before_extra_rules: Optional[str] = None, status_after_extra_rules: Optional[str] = None, status_source_before_extra_rules: Optional[str] = None, status_source_after_extra_rules: Optional[str] = None, dns_lookup: Optional[Dict[str, Optional[List[str]]]] = None, netinfo: Optional[Dict[str, Optional[List[str]]]] = None, http_status_code: Optional[int] = None)[source]ΒΆ Bases:
PyFunceble.checker.status_base.CheckerStatusBase
Provides the description of an availablity status.
-
checker_type
= 'AVAILABILITY'ΒΆ
-
dns_lookup
= NoneΒΆ
-
dns_lookup_record
= NoneΒΆ
-
domain_syntax
= NoneΒΆ
-
expiration_date
= NoneΒΆ
-
http_status_code
= NoneΒΆ
-
ip_syntax
= NoneΒΆ
-
ipv4_range_syntax
= NoneΒΆ
-
ipv4_syntax
= NoneΒΆ
-
ipv6_range_syntax
= NoneΒΆ
-
ipv6_syntax
= NoneΒΆ
-
is_special
() → bool[source]ΒΆ Checks if the current status is a SPECIAL one. Meaning that we applied some of our own rules.
-
netinfo
= NoneΒΆ
-
second_level_domain_syntax
= NoneΒΆ
-
status_after_extra_rules
= NoneΒΆ
-
status_before_extra_rules
= NoneΒΆ
-
status_source_after_extra_rules
= NoneΒΆ
-
status_source_before_extra_rules
= NoneΒΆ
-
subdomain_syntax
= NoneΒΆ
-
url_syntax
= NoneΒΆ
-
whois_lookup_record
= NoneΒΆ
-
whois_record
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the URL availability checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.availability.url.
URLAvailabilityChecker
(subject: Optional[str] = None, *, use_extra_rules: Optional[bool] = None, use_whois_lookup: Optional[bool] = None, use_dns_lookup: Optional[bool] = None, use_netinfo_lookup: Optional[bool] = None, use_http_code_lookup: Optional[bool] = None, use_reputation_lookup: Optional[bool] = None, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.availability.base.AvailabilityCheckerBase
Provides the interface for checking the availability of a given URL.
-
query_status
() → PyFunceble.checker.availability.url.URLAvailabilityChecker[source]ΒΆ Queries the result without anything more.
-
subject_propagator
() → PyFunceble.checker.availability.url.URLAvailabilityChecker[source]ΒΆ Propagate the currently set subject.
Warning
You are not invited to run this method directly.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to the core of the availablity checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all reputation checker classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.reputation.base.
ReputationCheckerBase
(subject: Optional[str] = None, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.base.CheckerBase
Provides the base of all our reputation checker classes.
-
dns_query_tool
= NoneΒΆ
-
domain_syntax_checker
= NoneΒΆ
-
ip_syntax_checker
= NoneΒΆ
-
ipv4_reputation_query_tool
= NoneΒΆ
-
params
= NoneΒΆ
-
query_status
() → PyFunceble.checker.reputation.base.ReputationCheckerBase[source]ΒΆ Queries the status and for for more action.
-
query_syntax_checker
() → PyFunceble.checker.reputation.base.ReputationCheckerBase[source]ΒΆ Queries the syntax checker.
-
should_we_continue_test
(status_post_syntax_checker: str) → bool[source]ΒΆ Checks if we are allowed to continue a standard testing.
-
status
= NoneΒΆ
-
subject_propagator
() → PyFunceble.checker.base.CheckerBase[source]ΒΆ Propagate the currently set subject.
Warning
You are not invited to run this method directly.
-
try_to_query_status_from_dns_lookup
() → PyFunceble.checker.reputation.base.ReputationCheckerBase[source]ΒΆ Tries to query the status from the DNS lookup.
-
try_to_query_status_from_syntax_lookup
() → PyFunceble.checker.reputation.base.ReputationCheckerBase[source]ΒΆ Tries to query the status from the syntax.
-
url_syntax_checker
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides domain reputation checker classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.reputation.domain.
DomainReputationChecker
(subject: Optional[str] = None, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.reputation.base.ReputationCheckerBase
Provides the domain reputation checker classes.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the domains and IP reputation checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.reputation.domain_and_ip.
DomainAndIPReputationChecker
(subject: Optional[str] = None, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.reputation.base.ReputationCheckerBase
Provides the interface for checking the reputation of an IP or domain.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides domain reputation checker classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.reputation.ip.
IPReputationChecker
(subject: Optional[str] = None, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.reputation.base.ReputationCheckerBase
Provides the IP reputation checker.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our parameter class. The parameter class is the class that will be provided to end-user. It is only a placeholder and should only be taken as informative.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.reputation.params.
ReputationCheckerParams
(do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.params_base.CheckerParamsBase
Provides the description of a reputation checker paramaters.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our status class. The status class is the class that will be provided to end-user.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.reputation.status.
ReputationCheckerStatus
(subject: Optional[str] = None, idna_subject: Optional[str] = None, status: Optional[str] = None, status_source: Optional[str] = None, tested_at: Optional[datetime.datetime] = None, params: Optional[PyFunceble.checker.params_base.CheckerParamsBase] = None, checker_type: Optional[str] = 'REPUTATION', dns_lookup_record: Optional[PyFunceble.query.record.dns.DNSQueryToolRecord] = None, domain_syntax: Optional[bool] = None, second_level_domain_syntax: Optional[bool] = None, subdomain_syntax: Optional[bool] = None, ip_syntax: Optional[bool] = None, ipv4_syntax: Optional[bool] = None, ipv6_syntax: Optional[bool] = None, ipv4_range_syntax: Optional[bool] = None, ipv6_range_syntax: Optional[bool] = None, url_syntax: Optional[bool] = None, dns_lookup: Optional[Dict[str, Optional[List[str]]]] = None)[source]ΒΆ Bases:
PyFunceble.checker.status_base.CheckerStatusBase
Provides the description of an availablity status.
-
checker_type
= 'REPUTATION'ΒΆ
-
dns_lookup
= NoneΒΆ
-
dns_lookup_record
= NoneΒΆ
-
domain_syntax
= NoneΒΆ
-
ip_syntax
= NoneΒΆ
-
ipv4_range_syntax
= NoneΒΆ
-
ipv4_syntax
= NoneΒΆ
-
ipv6_range_syntax
= NoneΒΆ
-
ipv6_syntax
= NoneΒΆ
-
second_level_domain_syntax
= NoneΒΆ
-
subdomain_syntax
= NoneΒΆ
-
url_syntax
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides URL reputation checker classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.reputation.url.
URLReputationChecker
(subject: Optional[str] = None, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.reputation.base.ReputationCheckerBase
Provides the URL reputation checker.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to the core of the reputation checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all syntax checker classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.syntax.base.
SyntaxCheckerBase
(subject: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.checker.base.CheckerBase
Provides the base of all our syntax checker classes.
-
params
= NoneΒΆ
-
status
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the general domain syntax checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.syntax.domain.
DomainSyntaxChecker
(subject: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.checker.syntax.domain_base.DomainSyntaxCheckerBase
,PyFunceble.checker.syntax.base.SyntaxCheckerBase
Provides an interface to check the syntax of a domain.
Parameters: subject β The subject to work with. -
is_valid_second_level
() → bool[source]ΒΆ Checks if the given subject is a valid second level demain.
-
second_level_checker
= NoneΒΆ
-
subdomain_checker
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all domain syntax checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.syntax.domain_base.
DomainSyntaxCheckerBase
(subject: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.checker.base.CheckerBase
Provides an interface to check the syntax of a second domain.
Parameters: subject β The subject to work with. -
SPECIAL_USE_DOMAIN_NAMES_EXTENSIONS
= ['onion']ΒΆ Specifies the extension which are specified as βSpecial-Use Domain Namesβ and supported by our project.
Type: list See also
- RFC6761
- IANA Special-Use Domain Names assignments.
- RFC7686
-
find_last_point_index
()[source]ΒΆ Try to find the index of the last point after the execution of the decorated method.
-
static
get_last_point_index
(subject: str) → Optional[int][source]ΒΆ Provides the index of the last point of the given subject.
-
iana_dataset
= NoneΒΆ
-
last_point_index
= NoneΒΆ Saves the index of the last point.
-
public_suffix_dataset
= NoneΒΆ
-
reset_last_point_index
()[source]ΒΆ Resets the last point index before executing the decorated method.
-
subject
ΒΆ Provides the current state of the
_subject
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the IP (v4 + v6) syntax checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.syntax.ip.
IPSyntaxChecker
(subject: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.checker.syntax.base.SyntaxCheckerBase
Provides an interface to check the syntax of an IP (v6 or v4).
Parameters: subject β The subject to work with. -
ipv4_checker
= NoneΒΆ
-
ipv6_checker
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the IPv4 syntax checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.syntax.ipv4.
IPv4SyntaxChecker
(subject: Optional[str] = None, *, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.base.CheckerBase
Provides an interface to check the syntax of an IPv4.
Parameters: subject β The subject to work with.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the IPv6 syntax checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.syntax.ipv6.
IPv6SyntaxChecker
(subject: Optional[str] = None, *, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.base.CheckerBase
Provides an interface to check the syntax of an IPv6.
Parameters: subject β The subject to work with.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our parameter class. The parameter class is the class that will be provided to end-user. It is only a placeholder and should only be taken as informative.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.syntax.params.
SyntaxCheckerParams
(do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.checker.params_base.CheckerParamsBase
Provides the description of a syntax checker paramaters.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the second level domain syntax checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.syntax.second_lvl_domain.
SecondLvlDomainSyntaxChecker
(subject: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.checker.syntax.domain_base.DomainSyntaxCheckerBase
Provides an interface to check the syntax of a second domain.
Parameters: subject β The subject to work with. -
REGEX_VALID_DOMAIN
= '^(?=.{0,253}$)(([a-z0-9][a-z0-9-]{0,61}[a-z0-9]|[a-z0-9])\\.)+((?=.*[^0-9])([a-z0-9][a-z0-9-]{0,61}[a-z0-9](?:\\.)?|[a-z0-9](?:\\.)?))$'ΒΆ
-
is_valid
() → bool[source]ΒΆ Validate the given subject.
Warning
A valid domain may also be a valid subdomain.
If you precisely want to check a subdomain please refer to the right checker (not this one :-) )!
-
last_point_index
= NoneΒΆ Saves the index of the last point.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our status class. The status class is the class that will be provided to end-user.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.syntax.status.
SyntaxCheckerStatus
(subject: Optional[str] = None, idna_subject: Optional[str] = None, status: Optional[str] = None, status_source: Optional[str] = None, tested_at: Optional[datetime.datetime] = None, params: Optional[PyFunceble.checker.params_base.CheckerParamsBase] = None, checker_type: Optional[str] = 'SYNTAX')[source]ΒΆ Bases:
PyFunceble.checker.status_base.CheckerStatusBase
Provides the description of a syntax check status.
-
checker_type
= 'SYNTAX'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the subdomain syntax checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.syntax.subdomain.
SubDomainSyntaxChecker
(subject: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.checker.syntax.domain_base.DomainSyntaxCheckerBase
Provides an interface to check the syntax of a subdomain.
Parameters: subject β The subject to work with. -
REGEX_VALID_SUBDOMAIN
= '^(?=.{0,253}$)(([a-z0-9_][a-z0-9-_]{0,61}[a-z0-9_-]|[a-z0-9])\\.)+((?=.*)([a-z0-9][a-z0-9-]{0,61}[a-z0-9]|[a-z0-9]))$'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the URL syntax checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.syntax.url.
URLSyntaxChecker
(subject: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.checker.syntax.base.SyntaxCheckerBase
Provides an interface to check the syntax of a URL.
Parameters: subject β The subject to work with.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some utilities related to the WHOIS query.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
PyFunceble.checker.utils.whois.
get_whois_dataset_object
() → Union[PyFunceble.dataset.base.DatasetBase, PyFunceble.dataset.csv_base.CSVDatasetBase, PyFunceble.dataset.db_base.DBDatasetBase][source]ΒΆ Provides the whois dataset object to work with.
Raises: - ValueError β When the given database type is unkown.
- RuntimeError β When the configuration was not loaded yet.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some utilities related to the checkers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
SubmodulesΒΆ
PyFunceble.checker.base moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.base.
CheckerBase
(subject: Optional[str] = None, *, do_syntax_check_first: Optional[bool] = None)[source]ΒΆ Bases:
object
Provides the base of all checker.
-
_do_syntax_check_first
= FalseΒΆ
-
_idna_subject
= NoneΒΆ
-
_subject
= NoneΒΆ
-
do_syntax_check_first
ΒΆ Provides the current state of the
do_syntax_check_first
attribute.
-
ensure_subject_is_given
()[source]ΒΆ Ensures that the subject is given before running the decorated method.
Raises: TypeError β If the subject is not a string.
-
get_status
() → Optional[PyFunceble.checker.status_base.CheckerStatusBase][source]ΒΆ Provides the current state of the status.
Note
This method will automatically query status using the
PyFunceble.checker.base.CheckerBase.query_status()
if thePyFunceble.checker.status_base.CheckerStatusBase.status
attribute is not set.
-
idna_subject
ΒΆ Provides the current state of the
_idna_subject
attribute.
-
params
= NoneΒΆ
-
propagate_subject
()[source]ΒΆ Propagates the subject to the object that need it after launching the decorated method.
-
set_do_syntax_check_first
(value: bool) → PyFunceble.checker.base.CheckerBase[source]ΒΆ Sets the value which allow us to do a syntax check first.
Parameters: value β The subject to set.
-
set_idna_subject
(value: str) → PyFunceble.checker.base.CheckerBase[source]ΒΆ Sets the subject to work with.
Parameters: value β The subject to set.
-
set_subject
(value: str) → PyFunceble.checker.base.CheckerBase[source]ΒΆ Sets the subject to work with.
Parameters: value β The subject to set.
-
status
= NoneΒΆ
-
subject
ΒΆ Provides the current state of the
_subject
attribute.
-
PyFunceble.checker.complex_json_encoder moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our very own complex JSON encoder. The purpose of this encoder compared to others is that it was built for the conversion of records or statuses provided by the checker(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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.checker.params_base moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our params classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.checker.status_base moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our status classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.checker.status_base.
CheckerStatusBase
(subject: Optional[str] = None, idna_subject: Optional[str] = None, status: Optional[str] = None, status_source: Optional[str] = None, tested_at: Optional[datetime.datetime] = None, params: Optional[PyFunceble.checker.params_base.CheckerParamsBase] = None)[source]ΒΆ Bases:
object
Provides the base of all status classes.
-
idna_subject
= NoneΒΆ
-
params
= NoneΒΆ
-
status
= NoneΒΆ
-
status_source
= NoneΒΆ
-
subject
= NoneΒΆ
-
tested_at
= NoneΒΆ
-
Module contentsΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the checkers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.cli packageΒΆ
SubpackagesΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our CI classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.continuous_integration.base.
ContinuousIntegrationBase
(*, authorized: Optional[bool] = None, git_email: Optional[str] = None, git_name: Optional[str] = None, git_branch: Optional[str] = None, git_distribution_branch: Optional[str] = None, token: Optional[str] = None, command: Optional[str] = None, end_command: Optional[str] = None, commit_message: Optional[str] = None, end_commit_message: Optional[str] = None, max_exec_minutes: Optional[int] = None)[source]ΒΆ Bases:
object
Provides the base of all continuous integration methods.
Parameters: - authorized β The authorization to run.
- git_email β The email to apply while initilizing the git repository for push.
- git_name β The name to apply while initilizing the git repository for push.
- git_branch β The branch to use while testing.
- git_distribution_branch β The branch to push the results into.
- token β The token to apply while initilizing the git repository for push.
- command β The command to execute before each push (except the latest one).
- end_command β The commant to execute at the very end.
- commit_message β The commit message to apply before each push (except the latest one).
- end_commit_message β The commit message to apply at the very end.
- max_exec_minutes β The maximum of minutes to apply before considering the current session as finished.
-
STD_AUTHORIZED
= FalseΒΆ
-
STD_COMMAND
= NoneΒΆ
-
STD_COMMIT_MESSAGE
= 'PyFunceble - AutoSave'ΒΆ
-
STD_END_COMMAND
= NoneΒΆ
-
STD_END_COMMIT_MESSAGE
= 'PyFunceble - Results'ΒΆ
-
STD_GIT_BRANCH
= 'master'ΒΆ
-
STD_GIT_DISTRIBUTION_BRANCH
= 'master'ΒΆ
-
STD_GIT_EMAIL
= NoneΒΆ
-
STD_GIT_NAME
= NoneΒΆ
-
STD_MAX_EXEC_MINUTES
= 15ΒΆ
-
_command
= NoneΒΆ
-
_commit_message
= NoneΒΆ
-
_end_command
= NoneΒΆ
-
_end_commit_message
= NoneΒΆ
-
_git_branch
= NoneΒΆ
-
_git_distribution_branch
= NoneΒΆ
-
_git_email
= NoneΒΆ
-
_git_name
= NoneΒΆ
-
_max_exec_minutes
= NoneΒΆ
-
_token
= NoneΒΆ
-
apply_commit
() → None[source]ΒΆ Apply the commit and push.
- Side effect:
- It runs the declared command to execute.
-
apply_end_commit
() → None[source]ΒΆ Apply the βendβ commit and push.
- Side effect:
- It runs the declared command to execute.
Provides the currently state of the
_authorized
attribute.
-
bypass
() → None[source]ΒΆ Stops everything if the latest commit message match any of those:
[PyFunceble skip]
(case insensitive)[PyFunceble-skip]
(case insensitive)end_commit_marker
-
command
ΒΆ Provides the current state of the
_command
attribute.
-
commit_message
ΒΆ Provides the current state of the
_commit_message
attribute.
-
end_command
ΒΆ Provides the current state of the
_end_command
attribute.
-
end_commit_marker
= '[ci skip]'ΒΆ
-
end_commit_message
ΒΆ Provides the current state of the
_end_commit_message
attribute.
-
ensure_git_branch_is_given
()[source]ΒΆ Ensures that the Git Branch is given before launching the decorated method.
Raises: PyFunceble.cli.continuous_integration.exceptions.GitBranchNotFound β When the Git Branch is not found.
-
ensure_git_distribution_branch_is_given
()[source]ΒΆ Ensures that the Git distribution Branch is given before launching the decorated method.
Raises: PyFunceble.cli.continuous_integration.exceptions.GitDistributionBranchNotFound β When the Git distribution Branch is not found.
-
ensure_git_email_is_given
()[source]ΒΆ Ensures that the Git Email is given before launching the decorated method.
Raises: PyFunceble.cli.continuous_integration.exceptions.GitEmailNotFound β When the Git Email is not found.
-
ensure_git_name_is_given
()[source]ΒΆ Ensures that the Git Name is given before launching the decorated method.
Raises: PyFunceble.cli.continuous_integration.exceptions.GitNameNotFound β When the Git Name is not found.
-
ensure_start_time_is_given
()[source]ΒΆ Ensures that the starting time is given before launching the decorated method.
Raises: PyFunceble.cli.continuous_integration.exceptions.StartTimeNotFound β When the token is not found.
-
ensure_token_is_given
()[source]ΒΆ Ensures that the token is given before launching the decorated method.
Raises: PyFunceble.cli.continuous_integration.exceptions.TokenNotFound β When the token is not found.
-
static
exec_command
(command: str, allow_stdout: bool) → None[source]ΒΆ Exceutes the given command.
Parameters: - command β The command to execute.
- allow_stdout β Allows us to return the command output to stdout.
Executes the decorated method only if we are authorized to process. Otherwise, apply the given
default
.
-
expected_end_time
= NoneΒΆ
-
fix_permissions
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ A method to overwrite when custom rules for permissions are needed.
Note
This method is automatically called by the methods who apply commits.
-
static
get_remote_destination
()[source]ΒΆ Provides the remote destination to use.
Raises: PyFunceble.cli.continuous_integration.exceptions.RemoteURLNotFound β When we could not determine the remote destination.
-
git_branch
ΒΆ Provides the current state of the
_git_branch
attribute.
-
git_distribution_branch
ΒΆ Provides the current state of the
_git_distribution_branch
attribute.
-
git_email
ΒΆ Provides the currently state of the
_git_email
attribute.
-
git_initialized
= FalseΒΆ
-
git_name
ΒΆ Provides the current state of the
_git_name
attribute.
-
guess_all_settings
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Try to guess all settings.
Tries to guess the authorization.
-
guess_and_set_command
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Tries to guess and set the command to execute.
-
guess_and_set_commit_message
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Tries to guess and set the commit message to apply.
-
guess_and_set_end_command
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Tries to guess and set the command to execute at the very end.
-
guess_and_set_end_commit_message
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Tries to guess and set the commit message to apply at the very end.
-
guess_and_set_git_branch
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Tries to guess and set the Git Branch.
-
guess_and_set_git_distribution_branch
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Tries to guess and set the Git distribution Branch.
-
guess_and_set_git_email
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Tries to guess and set the Git Email.
-
guess_and_set_git_name
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Tries to guess and set the Git Name.
-
guess_and_set_max_exec_minutes
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Tries to guess and set the maximum execution time.
-
guess_and_set_token
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Tries to guess and set the token.
-
init
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Initiate our infrastructure for the current CI engine.
The purpose of this method is to be able to have some custom init based on the CI we are currently on.
The init method should be manually started before runing any further action.
Warning
We assume that we are aware that you should run this method first.
-
init_git
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Initiate the git repository.
-
init_git_remote_with_token
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Initiates the git remote URL with the help of the given token.
Checks if the current object is authorized to run.
-
max_exec_minutes
ΒΆ Provides the current state of the
_max_exec_minutes
attribute.
-
push_changes
(branch: str, *, exit_it: bool = True) → None[source]ΒΆ Pushes the changes.
Parameters: - branch β The branch to push.
- exit_it β Exits after the push ?
Raises: PyFunceble.cli.continuous_integration.exceptions.StopExecution β When the
exit_it
is set toTrue
.
Sets the value of the
authorized
attribute.Parameters: value β The value to set.
-
set_command
(value: str) → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Sets the command to work with.
Parameters: value β The command to set.
-
set_commit_message
(value: str) → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Sets the commit message to apply to all commits except the final one.
Parameters: value β The message to set.
-
set_end_command
(value: str) → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Sets the command to execute at the really end of the process with.
Parameters: value β The command to set.
-
set_end_commit_message
(value: str) → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Sets the commit message to apply to the final one.
Parameters: value β The command to set.
-
set_git_branch
(value: str) → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Sets the Git Branch to use.
Parameters: value β The value to set.
-
set_git_distribution_branch
(value: str) → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Sets the Git distribution Branch to use.
Parameters: value β The value to set.
-
set_git_email
(value: str) → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Sets the Git Email to use.
Parameters: value β The value to set.
-
set_git_name
(value: str) → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Sets the Git Name to use.
Parameters: value β The value to set.
-
set_max_exec_minutes
(value: str) → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Sets the maximum waiting time before considering the time as exceeded.
Parameters: value β The command to set.
-
set_start_time
() → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Sets the starting time to now.
-
set_token
(value: str) → PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase[source]ΒΆ Sets the token to use.
Parameters: value β The value to set.
-
start_time
= NoneΒΆ
-
token
ΒΆ Provides the current state of the
_token
attribute.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the exception related to the CI integration.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
exception
PyFunceble.cli.continuous_integration.exceptions.
ContinuousIntegrationException
[source]ΒΆ Bases:
PyFunceble.exceptions.PyFuncebleException
Describes an exception related to the continuous integration.
-
exception
PyFunceble.cli.continuous_integration.exceptions.
GitBranchNotFound
[source]ΒΆ Bases:
PyFunceble.cli.continuous_integration.exceptions.ContinuousIntegrationException
Describes a missing git branch.
-
exception
PyFunceble.cli.continuous_integration.exceptions.
GitDistributionBranchNotFound
[source]ΒΆ Bases:
PyFunceble.cli.continuous_integration.exceptions.ContinuousIntegrationException
Describes a missing git distribution branch.
-
exception
PyFunceble.cli.continuous_integration.exceptions.
GitEmailNotFound
[source]ΒΆ Bases:
PyFunceble.cli.continuous_integration.exceptions.ContinuousIntegrationException
Describes a missing Git Email.
-
exception
PyFunceble.cli.continuous_integration.exceptions.
GitNameNotFound
[source]ΒΆ Bases:
PyFunceble.cli.continuous_integration.exceptions.ContinuousIntegrationException
Describes a missing Git Name.
-
exception
PyFunceble.cli.continuous_integration.exceptions.
RemoteURLNotFound
[source]ΒΆ Bases:
PyFunceble.cli.continuous_integration.exceptions.ContinuousIntegrationException
Describes a missing or unknown remote URL.
-
exception
PyFunceble.cli.continuous_integration.exceptions.
StartTimeNotFound
[source]ΒΆ Bases:
PyFunceble.cli.continuous_integration.exceptions.ContinuousIntegrationException
Describes a missing start time.
-
exception
PyFunceble.cli.continuous_integration.exceptions.
StopExecution
[source]ΒΆ Bases:
PyFunceble.cli.continuous_integration.exceptions.ContinuousIntegrationException
Informs upstream - or interacting interface - that we pushed the changes and that they need stop everything they plan to do with PyFunceble.
-
exception
PyFunceble.cli.continuous_integration.exceptions.
TokenNotFound
[source]ΒΆ Bases:
PyFunceble.cli.continuous_integration.exceptions.ContinuousIntegrationException
Describes a missing (Git?(lab|hub)) Token.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the CI engine and detection tool for the GitHub Actions.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.continuous_integration.github_actions.
GitHubActions
(*, authorized: Optional[bool] = None, git_email: Optional[str] = None, git_name: Optional[str] = None, git_branch: Optional[str] = None, git_distribution_branch: Optional[str] = None, token: Optional[str] = None, command: Optional[str] = None, end_command: Optional[str] = None, commit_message: Optional[str] = None, end_commit_message: Optional[str] = None, max_exec_minutes: Optional[int] = None)[source]ΒΆ Bases:
PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase
Provides the interface which detects and work under the GitHub Actions infrastructure.
-
end_commit_marker
= '[GHA skip]'ΒΆ
Tries to guess the authorization.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the CI engine and detection tool for the GitLab CI.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.continuous_integration.gitlab_ci.
GitLabCI
(*, authorized: Optional[bool] = None, git_email: Optional[str] = None, git_name: Optional[str] = None, git_branch: Optional[str] = None, git_distribution_branch: Optional[str] = None, token: Optional[str] = None, command: Optional[str] = None, end_command: Optional[str] = None, commit_message: Optional[str] = None, end_commit_message: Optional[str] = None, max_exec_minutes: Optional[int] = None)[source]ΒΆ Bases:
PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase
Provides the interface which detects and work under the GitLab CI infrastructure.
Tries to guess the authorization.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the CI engine and detection tool for the Travis CI.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.continuous_integration.travis_ci.
TravisCI
(*, authorized: Optional[bool] = None, git_email: Optional[str] = None, git_name: Optional[str] = None, git_branch: Optional[str] = None, git_distribution_branch: Optional[str] = None, token: Optional[str] = None, command: Optional[str] = None, end_command: Optional[str] = None, commit_message: Optional[str] = None, end_commit_message: Optional[str] = None, max_exec_minutes: Optional[int] = None)[source]ΒΆ Bases:
PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase
Provides the interface which detects and work under the Travis CI infrastructure.
Tries to guess the authorization.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some utilities related to the CI.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything we may need for continuous integration aka autosaving and auto commiting.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our very own argument parser
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.entry_points.pyfunceble.argsparser.
OurArgumentParser
(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=<class 'argparse.HelpFormatter'>, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True, allow_abbrev=True)[source]ΒΆ Bases:
argparse.ArgumentParser
Overwrites some behavior of the default argument parser.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the endpoint of the PyFunceble CLI tool
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
PyFunceble.cli.entry_points.pyfunceble.cli.
add_arguments_to_parser
(parser: Union[argparse.ArgumentParser, argparse._ArgumentGroup], arguments: List[Tuple[List[str], dict]]) → None[source]ΒΆ Adds the given argument into the given parser.
Asks the end-user for the authorization to merge the upstream configuration and - finally - return the new authorization status.
Parameters: missing_key β The name of a missing key. If not given, a more generic message will be given to end-user.
-
PyFunceble.cli.entry_points.pyfunceble.cli.
get_ci_group_data
() → List[Tuple[List[str], dict]][source]ΒΆ Provides the argument of the CI group data.
-
PyFunceble.cli.entry_points.pyfunceble.cli.
get_configured_value
(entry: str, *, negate=False) → Any[source]ΒΆ Provides the currently configured value.
Parameters: - entry β
An entry to check.
multilevel should be separated with a point.
- negate β Allows us to negate the result from the configuration.
Raises: ValueError β When the given
entry
is not found.- entry β
-
PyFunceble.cli.entry_points.pyfunceble.cli.
get_database_control_group_data
() → List[Tuple[List[str], dict]][source]ΒΆ Provides the arguments of the database group.
-
PyFunceble.cli.entry_points.pyfunceble.cli.
get_default_group_data
() → List[Tuple[List[str], dict]][source]ΒΆ Provides the argument of the default group.
-
PyFunceble.cli.entry_points.pyfunceble.cli.
get_dns_control_group_data
() → List[Tuple[List[str], dict]][source]ΒΆ Provides the argument of the DNS control group.
-
PyFunceble.cli.entry_points.pyfunceble.cli.
get_filtering_group_data
() → List[Tuple[List[str], dict]][source]ΒΆ Provides the argument of the filtering group.
-
PyFunceble.cli.entry_points.pyfunceble.cli.
get_multithreading_group_data
() → List[Tuple[List[str], dict]][source]ΒΆ Provides the argument of the multithreading group data.
-
PyFunceble.cli.entry_points.pyfunceble.cli.
get_output_control_group_data
() → List[Tuple[List[str], dict]][source]ΒΆ Provides the argument of the output group.
-
PyFunceble.cli.entry_points.pyfunceble.cli.
get_source_group_data
() → List[Tuple[List[str], dict]][source]ΒΆ Provides the arguments of the source group.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides (a bit more that βusualβ) what is needed by the PyFunceble CLI tool.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the endpoints related to the cleanup of the data we produce.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the endpoints related to our own version of the iana database.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the endpoints related to our production preparation.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the endpoints related to our own version of the public suffix file.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides all our entry points.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an interface for the backup of the directory structure.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.filesystem.dir_structure.backup.
DirectoryStructureBackup
(parent_dirname: Optional[str] = None, source_file: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.cli.filesystem.dir_structure.base.DirectoryStructureBase
Provides the base of all dir structure classes.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all directory structure classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.filesystem.dir_structure.base.
DirectoryStructureBase
(parent_dirname: Optional[str] = None, source_file: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.cli.filesystem.dir_base.FilesystemDirBase
Provides the base of all dir structure classes.
-
_source_file
= NoneΒΆ
-
cleanup
() → PyFunceble.cli.filesystem.dir_structure.base.DirectoryStructureBase[source]ΒΆ Cleans the output directory.
-
get_path_without_base_dir
(full_path: str) → str[source]ΒΆ Given a full path, we remove the base dir.
-
set_source_file
(value: str) → PyFunceble.cli.filesystem.dir_structure.base.DirectoryStructureBase[source]ΒΆ Sets the value of the source file to use.
Parameters: value β The value to set.
-
source_file
ΒΆ Provides the current state of the
_source_file
attribute.
-
start
() → PyFunceble.cli.filesystem.dir_structure.base.DirectoryStructureBase[source]ΒΆ Starts the whole process.
-
std_source_file
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an interface for the backup of the directory structure.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.filesystem.dir_structure.restore.
DirectoryStructureRestoration
(parent_dirname: Optional[str] = None, source_file: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.cli.filesystem.dir_structure.base.DirectoryStructureBase
Provides the base of all dir structure classes.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to the generation of backup of the directory structure.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our printers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.filesystem.printer.base.
PrinterBase
(template_to_use: Optional[str] = None, *, dataset: Optional[Dict[str, str]] = None)[source]ΒΆ Bases:
object
Provides the base of all printer class.
Printer classes are classes which derivate from this class. their objectives should be the same: Unify and simplify the way to print something to a given destination.
-
HEADERS
= {'amount': 'Amount', 'checker_type': 'Checker', 'days': 'Days', 'expiration_date': 'Expiration Date', 'hours': 'Hours', 'http_status_code': 'HTTP Code', 'idna_subject': 'Subject', 'ip': 'IP', 'minutes': 'Minutes', 'percentage': 'Percentage', 'seconds': 'Seconds', 'status': 'Status', 'status_source': 'Source'}ΒΆ
-
STD_LENGTH
= {'amount': 12, 'checker_type': 13, 'days': 2, 'expiration_date': 17, 'hours': 2, 'http_status_code': 10, 'idna_subject': 100, 'minutes': 2, 'percentage': 12, 'seconds': 6, 'status': 11, 'status_source': 10}ΒΆ
-
STD_UNKNOWN
= 'Unknown'ΒΆ
-
TEMPLATES
= {'all': <string.Template object>, 'execution_time': <string.Template object>, 'hosts': <string.Template object>, 'less': <string.Template object>, 'percentage': <string.Template object>, 'plain': <string.Template object>, 'simple': <string.Template object>}ΒΆ
-
_dataset
= NoneΒΆ
-
_template_to_use
= NoneΒΆ
-
dataset
ΒΆ Provides the current state of the
_dataset
attribute.
-
ensure_dataset_is_given
()[source]ΒΆ Ensures that the dataset to write is given before launching the decorated method.
Raises: TypeError β When the current self.template_to_use
is not set.
-
ensure_template_to_use_is_given
()[source]ΒΆ Ensures that the template to use is given before launching the decorated method.
Raises: TypeError β When the current self.template_to_use
is not set.
-
set_dataset
(value: Dict[str, str]) → PyFunceble.cli.filesystem.printer.base.PrinterBase[source]ΒΆ Sets the dataset to apply to the template.
Parameters: value β The value to set.
-
set_template_to_use
(value: str) → PyFunceble.cli.filesystem.printer.base.PrinterBase[source]ΒΆ Sets the template to use.
Parameters: value β The value to set.
-
template_to_use
ΒΆ Provides the current state of the
_template_to_use
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the file printer.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.filesystem.printer.file.
FilePrinter
(template_to_use: Optional[str] = None, *, dataset: Optional[Dict[str, str]] = None, destination: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.cli.filesystem.printer.base.PrinterBase
Provides the file printer.
-
STD_FILE_GENERATION
= '# Generated by PyFunceble (v4.0.0a45.dev) / https://git.io/vpZoI\n'ΒΆ
-
_destination
= NoneΒΆ
-
allow_coloration
= TrueΒΆ
-
destination
ΒΆ Provides the current state of the
_destination
attribute.
-
ensure_destination_is_given
()[source]ΒΆ Ensures that the destination is given before launching the decorated method.
Raises: TypeError β When the current self.template_to_use
is not set.
-
file_helper
= <PyFunceble.helpers.file.FileHelper object>ΒΆ
-
static
get_generation_date_line
() → str[source]ΒΆ Provides the line which informs of the date a file was generated.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the stdout printer.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.filesystem.printer.stdout.
StdoutPrinter
(template_to_use: Optional[str] = None, *, dataset: Optional[Dict[str, str]] = None, allow_coloration: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.cli.filesystem.printer.base.PrinterBase
Provides the stdout printer.
-
BACKGROUND_COLORATED
= ['all', 'less']ΒΆ
-
FOREGROUND_COLORATED
= ['percentage', 'simple']ΒΆ
-
STATUS2BACKGROUND_COLOR
= {'ACTIVE': '\x1b[30m\x1b[42m', 'INACTIVE': '\x1b[30m\x1b[41m', 'INVALID': '\x1b[30m\x1b[46m', 'MALICIOUS': '\x1b[30m\x1b[41m', 'SANE': '\x1b[30m\x1b[42m', 'VALID': '\x1b[30m\x1b[42m'}ΒΆ
-
STATUS2FORGROUND_COLOR
= {'ACTIVE': '\x1b[1m\x1b[32m', 'INACTIVE': '\x1b[1m\x1b[31m', 'INVALID': '\x1b[1m\x1b[36m', 'MALICIOUS': '\x1b[1m\x1b[31m', 'SANE': '\x1b[1m\x1b[32m', 'VALID': '\x1b[1m\x1b[32m'}ΒΆ
-
STD_ALLOW_COLORATION
= TrueΒΆ
-
STD_FILE_HEADER
= '# Generated by PyFunceble (v4.0.0a45.dev) / https://git.io/vpZoI\n'ΒΆ
-
_allow_coloration
= TrueΒΆ
-
allow_coloration
ΒΆ Provides the current state of the
_allow_coloration
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to what we actually print (output) or to a file.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to the cleanup of the filesystem.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.filesystem.cleanup.
FilesystemCleanup
(parent_dirname: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.cli.filesystem.dir_base.FilesystemDirBase
Provides the interface for the cleanup of the filesystem.
-
static
clean_database
() → PyFunceble.cli.filesystem.cleanup.FilesystemCleanup[source]ΒΆ Cleanups the uneeded data that were stored in the database.
Warning
This method cleans everything except the WHOIS records.
-
clean_output_files
() → PyFunceble.cli.filesystem.cleanup.FilesystemCleanup[source]ΒΆ Cleanups the unneeded files from the output directory.
-
file_helper
= <PyFunceble.helpers.file.FileHelper object>ΒΆ
-
output_files_to_delete
ΒΆ Provides the list of output files to delete.
-
static
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to our counter tracker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.filesystem.counter.
FilesystemCounter
(parent_dirname: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.cli.filesystem.dir_base.FilesystemDirBase
Provides our counter.
-
PERCENTAGE_STATUSES
= {'AVAILABILITY': ['ACTIVE', 'INACTIVE', 'INVALID'], 'REPUTATION': ['SANE', 'MALICIOUS'], 'SYNTAX': ['VALID', 'INVALID']}ΒΆ
-
STD_DATASET
= {'counter': {'ACTIVE': 0, 'INACTIVE': 0, 'INVALID': 0, 'MALICIOUS': 0, 'SANE': 0, 'VALID': 0, 'total': 0}, 'percentage': {'ACTIVE': 0, 'INACTIVE': 0, 'INVALID': 0, 'MALICIOUS': 0, 'SANE': 0, 'VALID': 0, 'total': 0}}ΒΆ
-
count
(status: PyFunceble.checker.status_base.CheckerStatusBase) → PyFunceble.cli.filesystem.counter.FilesystemCounter[source]ΒΆ Starts the counting process.
Parameters: status β The status to count into our dataset.
-
dataset
= {}ΒΆ
-
fetch_dataset
() → PyFunceble.cli.filesystem.counter.FilesystemCounter[source]ΒΆ Fetches the source file into the current instance.
-
fetch_dataset_beforehand
()[source]ΒΆ Updates the dataset to work with before launching the decorated method.
-
get_dataset_for_printer
() → List[Dict[str, Union[str, int]]][source]ΒΆ Provides the dataset that the printer may understand.
Raises: ValueError β When the current testing mode is not supported (yet?).
-
save_dataset
() → PyFunceble.cli.filesystem.counter.FilesystemCounter[source]ΒΆ Saves the current dataset into itβs final destination.
-
source_file
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides a common base to the manipulation of the output directory.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.filesystem.dir_base.
FilesystemDirBase
(parent_dirname: Optional[str] = None)[source]ΒΆ Bases:
object
Provides a common base for the manipulation of our output directory.
-
_parent_dirname
= NoneΒΆ
-
get_output_basedir
() → str[source]ΒΆ Provides the output base directory.
Parameters: create_if_missing β Authorizes the creation of the directory if itβs missing.
-
parent_dirname
ΒΆ Provides the current state of the
_parent_dirname
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to our status file generation.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.filesystem.status_file.
StatusFileGenerator
(status: Union[PyFunceble.checker.syntax.status.SyntaxCheckerStatus, PyFunceble.checker.availability.status.AvailabilityCheckerStatus, PyFunceble.checker.reputation.status.ReputationCheckerStatus, None] = None, *, allow_hosts_files: Optional[bool] = None, allow_plain_files: Optional[bool] = None, allow_analytic_files: Optional[bool] = None, hosts_ip: Optional[str] = None, allow_unified_file: Optional[bool] = None, parent_dirname: Optional[str] = None, test_dataset: Optional[dict] = None)[source]ΒΆ Bases:
PyFunceble.cli.filesystem.dir_base.FilesystemDirBase
Provides an interface for the generation of the status file from a given status.
-
STD_ALLOW_ANALYTIC_FILES
= TrueΒΆ
-
STD_ALLOW_HOSTS_FILES
= TrueΒΆ
-
STD_ALLOW_PLAIN_FILES
= TrueΒΆ
-
STD_ALLOW_UNIFIED_FILE
= FalseΒΆ
-
STD_HOSTS_IP
= '0.0.0.0'ΒΆ
-
_allow_analytic_files
= TrueΒΆ
-
_allow_hosts_files
= TrueΒΆ
-
_allow_plain_files
= TrueΒΆ
-
_allow_unified_file
= FalseΒΆ
-
_hosts_ip
= NoneΒΆ
-
_status
= NoneΒΆ
-
_test_dataset
= NoneΒΆ
-
allow_analytic_files
ΒΆ Provides the current state of the
_allow_analytic_files
attribute.
-
allow_hosts_files
ΒΆ Provides the current state of the
_allow_hosts_files
attribute.
-
allow_plain_files
ΒΆ Provides the current state of the
_allow_plain_file
attribute.
-
allow_unified_file
ΒΆ Provides the current state of the
allow_unified_file
attribute.
-
ensure_status_is_given
()[source]ΒΆ Ensures that the status is given before launching the decorated method.
Raises: TypeError β When self.status
is not set.
-
file_printer
= <PyFunceble.cli.filesystem.printer.file.FilePrinter object>ΒΆ
-
generate_analytic_file
() → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Generates the analytic files.
-
generate_hosts_file
() → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Generates the hosts file.
-
generate_plain_file
() → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Generates the plain file.
-
generate_splitted_status_file
() → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Generates the splitted status file.
-
generate_unified_status_file
() → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Generates the unified status file.
-
get_output_basedir
() → str[source]ΒΆ Provides the output base directory.
Parameters: create_if_missing β Authorizes the creation of the directory if itβs missing.
-
guess_all_settings
() → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Try to guess all settings.
-
guess_and_set_allow_analytic_files
() → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Tries to guess the value of the
allow_analytic_files
from the configuration file.
-
guess_and_set_allow_hosts_files
() → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Tries to guess the value of the
allow_hosts_files
from the configuration file.
-
guess_and_set_allow_plain_files
() → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Tries to guess the value of the
allow_plain_files
from the configuration file.
-
guess_and_set_allow_unified_file
() → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Tries to guess the value of the
allow_unified_file
from the configuration file.
-
guess_and_set_hosts_ip
() → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Tries to guess the value of the
hosts_ip
from the configuration file.
-
hosts_ip
ΒΆ Provides the current state of the
_hosts_ip
attribute.
-
set_allow_analytic_files
(value: bool) → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Sets the authorization to generation of analytic files.
Parameters: value β The value to set.
-
set_allow_hosts_files
(value: bool) → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Sets the authorization to generation of hosts files.
Parameters: value β The value to set.
-
set_allow_plain_files
(value: bool) → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Sets the authorization to generation of plain files.
Parameters: value β The value to set.
-
set_allow_unified_file
(value: bool) → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Sets the authorization to generation of the unified status file.
Parameters: value β The value to set.
-
set_hosts_ip
(value: str) → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Sets the hosts IP to use while generating the hosts files.
Parameters: value β The value to set.
-
set_status
(value: PyFunceble.checker.status_base.CheckerStatusBase) → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Sets the status to work with.
Parameters: value β The value to set.
-
set_test_dataset
(value: dict) → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Sets the test dataset which was given to the tester.
Parameters: value β The value to set. Raises: TypeError β When the given value
is not a :py:class`dict`.
-
start
() → PyFunceble.cli.filesystem.status_file.StatusFileGenerator[source]ΒΆ Starts the generation of everything possible.
-
status
ΒΆ Provides the current state of the
_status
attribute.
-
test_dataset
ΒΆ Provides the current state of the
_test_dataset
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to our very own filesystem or output structure.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all cleanup migrators.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.migrators.file_cleanup.base.
FileClenupMigratorBase
(print_action_to_stdout: bool = False)[source]ΒΆ Bases:
PyFunceble.cli.migrators.base.MigratorBase
Provides the base of all file cleanup related migration classes.
-
ensure_source_file_is_given
()[source]ΒΆ Ensures that the source file is given before launching the decorated method.
Raises: RuntimeError β When the:code:self.source_file is not given.
-
migrate
() → PyFunceble.cli.migrators.file_cleanup.base.FileClenupMigratorBase[source]ΒΆ Provides the migrator (itself)
-
source_file
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the cleaner of the previous - unfamous - hashes file.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.migrators.file_cleanup.hashes_file.
HashesFileCleanupMigrator
(print_action_to_stdout: bool = False)[source]ΒΆ Bases:
PyFunceble.cli.migrators.file_cleanup.base.FileClenupMigratorBase
Provides the interface for the cleanup of the hashes file.
-
source_file
= '/home/docs/./PyFunceble/hashes_tracker.json'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the cleaner of the previous - unfamous - mining file.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.migrators.file_cleanup.mining_file.
MiningFileCleanupMigrator
(print_action_to_stdout: bool = False)[source]ΒΆ Bases:
PyFunceble.cli.migrators.file_cleanup.base.FileClenupMigratorBase
Provides the interface for the cleanup of the mining file.
-
source_file
= '/home/docs/./PyFunceble/mining.json'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the file cleanup migrators.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all JSON 2 CSV migrators.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.migrators.json2csv.base.
JSON2CSVMigratorBase
(print_action_to_stdout: bool = False)[source]ΒΆ Bases:
PyFunceble.cli.migrators.base.MigratorBase
Provides the base of all JSON to CSV related classes.
-
dataset
= NoneΒΆ
-
ensure_dataset_is_given
()[source]ΒΆ Ensures that the dataset is given before launching the decorated method.
Raises: RuntimeError β When the:code:self.source_file is not given.
-
ensure_source_file_is_given
()[source]ΒΆ Ensures that the source file is given before launching the decorated method.
Raises: RuntimeError β When the:code:self.source_file is not given.
-
migrate
() → PyFunceble.cli.migrators.json2csv.base.JSON2CSVMigratorBase[source]ΒΆ Provides the migrator (itself)
-
source_file
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the our inactive DB migrator.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.migrators.json2csv.inactive.
InactiveJSON2CSVMigrator
(print_action_to_stdout: bool = False)[source]ΒΆ Bases:
PyFunceble.cli.migrators.json2csv.base.JSON2CSVMigratorBase
The migrator of the inactive database dile.
-
dataset
= <PyFunceble.dataset.inactive.csv.CSVInactiveDataset object>ΒΆ
-
migrate
() → PyFunceble.cli.migrators.json2csv.inactive.InactiveJSON2CSVMigrator[source]ΒΆ Starts the migration.
-
source_file
= '/home/docs/./PyFunceble/inactive_db.json'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the our whois DB migrator.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.migrators.json2csv.whois.
WhoisJSON2CSVMigrator
(print_action_to_stdout: bool = False)[source]ΒΆ Bases:
PyFunceble.cli.migrators.json2csv.base.JSON2CSVMigratorBase
The migrator of the inactive database dile.
-
dataset
= <PyFunceble.dataset.whois.csv.CSVWhoisDataset object>ΒΆ
-
migrate
() → PyFunceble.cli.migrators.json2csv.whois.WhoisJSON2CSVMigrator[source]ΒΆ Provides the migration logic.
-
source_file
= '/home/docs/./PyFunceble/whois_db.json'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the JSON to CSV migrators.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all mariadb related migrations.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.migrators.mariadb.base.
MariaDBMigratorBase
(print_action_to_stdout: bool = False)[source]ΒΆ Bases:
PyFunceble.cli.migrators.base.MigratorBase
Provides the base of all our mariadb migration.
Provides the authorization to process.
Executes the decorated method only if we are authorized to process. Otherwise, apply the given
default
.
-
static
get_rows
(statement: str, limit: int = 20) → Generator[Tuple[str, int], dict, None][source]ΒΆ Run the given statement with a defined limit, and yield each row.
Warning
If you donβt delete the given rows, this method will be infinite.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the migrator of the pyfunceble_file
and pyfunceble_status
tables.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.migrators.mariadb.file_and_status.
FileAndStatusMigrator
(print_action_to_stdout: bool = False)[source]ΒΆ Bases:
PyFunceble.cli.migrators.mariadb.base.MariaDBMigratorBase
Provides the interface which provides the migration of the
pyfunceble_file
andpyfunceble_status
.Provides the authorization to process.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our WHOIS record migrator.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.migrators.mariadb.whois_record_idna_subject.
WhoisRecordIDNASubjectMigrator
(print_action_to_stdout: bool = False)[source]ΒΆ Bases:
PyFunceble.cli.migrators.mariadb.base.MariaDBMigratorBase
Provides the interface which provides the completion of the missing IDNA subject column.
Provides the authorization to process.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides all our mariadb related migrations.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our very own alembic interface.
- Author:
- Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- https://pyfunceble.github.io/special-thanks.html
- Contributors:
- https://pyfunceble.github.io/contributors.html
- Project link:
- https://github.com/funilrys/PyFunceble
- Project documentation:
- https://pyfunceble.readthedocs.io/en/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.migrators.alembic.
Alembic
[source]ΒΆ Bases:
object
Provides our very own alambic handler.
-
alembic_config
= NoneΒΆ
Provides the authorization to process.
-
configure
() → PyFunceble.cli.migrators.alembic.Alembic[source]ΒΆ Configure our alembic configuration based on what we need.
-
downgrade
(revision: str = 'head') → PyFunceble.cli.migrators.alembic.Alembic[source]ΒΆ Upgrades the database structure.
Parameters: revision β The revision to apply.
Executes the decorated method only if we are authorized to process. Otherwise, apply the given
default
.
-
is_revision_different
(revision: str) → bool[source]ΒΆ Checks if the given revision is already set.
Parameters: revision β The revision to check
-
migration_directory
ΒΆ Provides the location of our migration directory.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of our migrator classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our database migration.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.migrators.db_base.
DBMigratorBase
(print_action_to_stdout: bool = False)[source]ΒΆ Bases:
PyFunceble.cli.migrators.base.MigratorBase
Provides the base of all our database migration.
Provides the authorization to run.
-
static
does_table_exists
(table_name: str) → bool[source]ΒΆ Checks if the table exists.
Parameters: table_name β The name of the table to check.
Executes the decorated method only if we are authorized to process. Otherwise, apply the given
default
.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our system migrators.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our workers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.processes.workers.base.
WorkerBase
(input_queue: Optional[queue.Queue], output_queue: Optional[queue.Queue] = None, global_exit_event: Optional[multiprocessing.context.BaseContext.Event] = None, *, name: Optional[str] = None, daemon: Optional[bool] = None, continuous_integration: Optional[PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase] = None, configuration: Optional[dict] = None)[source]ΒΆ Bases:
multiprocessing.context.Process
Provides the base of all our workers.
Parameters: - input_queue β The input queue to read.
- output_queue β The output queue to write.
-
BREAKOFF
= 0.2ΒΆ
-
MINING_WAIT_TIME
= 10ΒΆ
-
STD_NAME
= 'pyfunceble_base_worker'ΒΆ
-
_child_connection
= NoneΒΆ
-
_exception
= NoneΒΆ
-
_parent_connection
= NoneΒΆ
-
accept_waiting_delay
= NoneΒΆ
-
add_to_input_queue
(data: Any, *, worker_name: Optional[str] = None) → PyFunceble.cli.processes.workers.base.WorkerBase[source]ΒΆ Adds the given data to the current queue.
Parameters: data β The data to add into the queue.
-
add_to_output_queue
(data: Any, *, worker_name: Optional[str] = None) → PyFunceble.cli.processes.workers.base.WorkerBase[source]ΒΆ Adds the given data to the output queue queue.
Parameters: data β The data to add into the queue.
-
continuous_integration
= NoneΒΆ
-
exception
ΒΆ Provides the exception of the current worker.
-
exit_it
= NoneΒΆ
-
global_exit_event
= NoneΒΆ
-
input_queue
= NoneΒΆ
-
output_queue
= NoneΒΆ
-
send_feeding_message
= NoneΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our file sorter worker. This is the description of a file sorter worker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.processes.workers.file_sorter.
FileSorterWorker
(input_queue: Optional[queue.Queue], output_queue: Optional[queue.Queue] = None, global_exit_event: Optional[multiprocessing.context.BaseContext.Event] = None, *, name: Optional[str] = None, daemon: Optional[bool] = None, continuous_integration: Optional[PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase] = None, configuration: Optional[dict] = None)[source]ΒΆ Bases:
PyFunceble.cli.processes.workers.base.WorkerBase
Provides our file sorter worker. The objective of this worker is to provides a single worker (or process if you prefer) which will be used to handle the sorting of the content of all generated files.
-
MAX_LINES
= 1000ΒΆ
-
STD_NAME
= 'pyfunceble_file_sorter_worker'ΒΆ
-
static
get_files_to_sort
(output_dir: str) → List[str][source]ΒΆ Provides the list of files to sort.
Parameters: output_dir β The directory to start from.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our migrator (base) worker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.processes.workers.migrator.
MigratorWorker
(input_queue: Optional[queue.Queue], output_queue: Optional[queue.Queue] = None, global_exit_event: Optional[multiprocessing.context.BaseContext.Event] = None, *, name: Optional[str] = None, daemon: Optional[bool] = None, continuous_integration: Optional[PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase] = None, configuration: Optional[dict] = None)[source]ΒΆ Bases:
PyFunceble.cli.processes.workers.base.WorkerBase
Provides our migrator (base) worker. The objective of this worker is to provides a single worker (or process if you prefer) which will be used to handle the mining of dataset to test.
-
STD_NAME
= 'pyfunceble_migrator_worker'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our miner worker. This is the description of a single miner worker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.processes.workers.miner.
MinerWorker
(input_queue: Optional[queue.Queue], output_queue: Optional[queue.Queue] = None, global_exit_event: Optional[multiprocessing.context.BaseContext.Event] = None, *, name: Optional[str] = None, daemon: Optional[bool] = None, continuous_integration: Optional[PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase] = None, configuration: Optional[dict] = None)[source]ΒΆ Bases:
PyFunceble.cli.processes.workers.base.WorkerBase
Provides our miner worker. The objective of this worker is to provides a single worker (or process if you prefer) which will be used to handle the mining of dataset to test.
-
INACTIVE_STATUSES
= ('INACTIVE', 'INVALID')ΒΆ
-
STD_NAME
= 'pyfunceble_miner_worker'ΒΆ
-
static
mine_from
(subject: str) → Optional[List[str]][source]ΒΆ Given the subject to work from, try to get the related subjects.
Parameters: subject β The URL to start from.
-
target
(consumed: Tuple[dict, PyFunceble.checker.status_base.CheckerStatusBase]) → None[source]ΒΆ This the target that is run to process something. This method should return a result which will pu send to the output queue.
-
url2netloc
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our producer worker. This is the description of a single producer worker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.processes.workers.producer.
ProducerWorker
(input_queue: Optional[queue.Queue], output_queue: Optional[queue.Queue] = None, global_exit_event: Optional[multiprocessing.context.BaseContext.Event] = None, *, name: Optional[str] = None, daemon: Optional[bool] = None, continuous_integration: Optional[PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase] = None, configuration: Optional[dict] = None)[source]ΒΆ Bases:
PyFunceble.cli.processes.workers.base.WorkerBase
Provides our producer worker. The objective of this worker is to provides a single worker (or process if you prefer) which will be used to handle the production of output to stdout or files.
-
INACTIVE_STATUSES
= ('INACTIVE', 'INVALID')ΒΆ
-
STD_NAME
= 'pyfunceble_producer_worker'ΒΆ
-
continue_dataset
= NoneΒΆ
-
counter
= NoneΒΆ
-
file_printer
= NoneΒΆ
-
header_already_printed
= NoneΒΆ
-
inactive_dataset
= NoneΒΆ
-
run_continue_backup
(test_dataset: dict, test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Runs the backup or update of the auto-continue dataset storage.
-
run_counter
(test_dataset: dict, test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Runs the counter of the current file.
-
run_ignored_file_printer
(test_dataset: dict, test_result: str) → None[source]ΒΆ Runs the analytic behind the file printer.
Warning
Thie method assume that the givne dataset is ignored from the normal file printer.
-
run_inactive_backup
(test_dataset: dict, test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Runs the backup or update of the Inactive dataset storage.
The idea is that if the status is OK (active), we just remove it from the dataset storage. Otherwise, we just keep it in there :-)
-
run_status_file_printer
(test_dataset: dict, test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Runs the status file printer.
-
run_stdout_printer
(test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Runs the stdout printer (if necessary).
Parameters: test_result β The rest result dataset.
-
run_whois_backup
(test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Runs the backup or update of the WHOIS record in our dataset storage.
Parameters: test_result β The test result.
-
should_we_block_status_file_printer
(test_dataset: dict, test_result: PyFunceble.checker.status_base.CheckerStatusBase) → bool[source]ΒΆ Checks if we should block the file printer.
The reason behindn this is that we donβt want to generate an output when a subject was already into the inactive database.
-
static
should_we_ignore
(test_result: PyFunceble.checker.status_base.CheckerStatusBase) → bool[source]ΒΆ Checks if we should ignore the given datasets.
Parameters: test_result β The test result to check.
-
static
should_we_print_status_to_stdout
(status: str) → bool[source]ΒΆ Checks if we are allows to print the given status (to stdout).
Parameters: status β The status to check.
-
status_file_generator
= NoneΒΆ
-
stdout_printer
= NoneΒΆ
-
target
(consumed: Any) → Optional[Tuple[Any, ...]][source]ΒΆ This the target that is run to process something. This method should return a result which will pu send to the output queue.
-
whois_dataset
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our tester worker. This is the description of a single tester worker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.processes.workers.tester.
TesterWorker
(input_queue: Optional[queue.Queue], output_queue: Optional[queue.Queue] = None, global_exit_event: Optional[multiprocessing.context.BaseContext.Event] = None, *, name: Optional[str] = None, daemon: Optional[bool] = None, continuous_integration: Optional[PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase] = None, configuration: Optional[dict] = None)[source]ΒΆ Bases:
PyFunceble.cli.processes.workers.base.WorkerBase
Provides our tester worker. The objective of this worker is to provides a single worker (or process if you prefer) which will be used to handle the tests.
-
STD_NAME
= 'pyfunceble_tester_worker'ΒΆ
-
continue_dataset
= NoneΒΆ
-
static
get_testing_object
(subject_type: str, checker_type: str) → PyFunceble.checker.base.CheckerBase[source]ΒΆ Provides the object to use for testing.
Raises: ValueError β When the given subject type is unkown.
-
inactive_dataset
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides all our standalone workers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all multiprocessing jobs.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.processes.base.
ProcessesManagerBase
(manager: Optional[multiprocessing.context.BaseContext.Manager] = None, max_worker: Optional[int] = None, *, continuous_integration: Optional[PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase] = None, input_queue: Optional[queue.Queue] = None, output_queue: Optional[queue.Queue] = None, daemon: bool = False, generate_input_queue: bool = True, generate_output_queue: bool = True)[source]ΒΆ Bases:
object
Provides the base of all classes.
-
CPU_COUNT
= 1ΒΆ
-
STD_MAX_WORKER
= 1ΒΆ
-
WORKER_OBJ
= NoneΒΆ
-
_created_workers
= NoneΒΆ
-
_max_worker
= NoneΒΆ
-
_running_workers
= NoneΒΆ
-
add_to_all_input_queues
(data: Any, *, worker_name: Optional[str] = None) → PyFunceble.cli.processes.base.ProcessesManagerBase[source]ΒΆ Adds the given data to the input queues.
Parameters: data β The data to add into the queue.
-
add_to_all_output_queues
(data: Any, *, worker_name: Optional[str] = None) → PyFunceble.cli.processes.base.ProcessesManagerBase[source]ΒΆ Adds the given data to the output queues.
Parameters: data β The data to add into the queue.
-
add_to_input_queue
(data: Any, *, worker_name: Optional[str] = None) → PyFunceble.cli.processes.base.ProcessesManagerBase[source]ΒΆ Adds the given data to the current queue.
Parameters: data β The data to add into the queue.
-
add_to_output_queue
(data: Any, *, worker_name: Optional[str] = None) → PyFunceble.cli.processes.base.ProcessesManagerBase[source]ΒΆ Adds the given data to the output queue.
Parameters: data β The data to add into the queue.
-
continuous_integration
= NoneΒΆ
-
create
() → PyFunceble.cli.processes.base.ProcessesManagerBase[source]ΒΆ Creates the defined amount of worker.
-
daemon
= NoneΒΆ
-
ensure_worker_is_given
()[source]ΒΆ Ensures that the worker is proprelly declared before launching the decorated method.
-
global_exit_event
= NoneΒΆ
-
input_queue
= NoneΒΆ The input queue. Dataset will be given through this.
-
manager
= NoneΒΆ
-
max_worker
ΒΆ Provides the number of maximul worker we are allowed to generate.
-
output_queue
= NoneΒΆ The output queue. This is where the result of a worker will be put.
-
send_stop_signal
(*, worker_name: Optional[str] = None) → PyFunceble.cli.processes.base.ProcessesManagerBase[source]ΒΆ Sends a stop message to the input queue.
-
set_max_worker
(value: int) → PyFunceble.cli.processes.base.ProcessesManagerBase[source]ΒΆ Sets the number of maximul worker we are authorized to generate.
Parameters: value β The value to set.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the file sorter manager.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.processes.file_sorter.
FileSorterProcessesManager
(manager: Optional[multiprocessing.context.BaseContext.Manager] = None, max_worker: Optional[int] = None, *, continuous_integration: Optional[PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase] = None, input_queue: Optional[queue.Queue] = None, output_queue: Optional[queue.Queue] = None, daemon: bool = False, generate_input_queue: bool = True, generate_output_queue: bool = True)[source]ΒΆ Bases:
PyFunceble.cli.processes.base.ProcessesManagerBase
Provides the file sorter manager.
-
WORKER_OBJ
ΒΆ alias of
PyFunceble.cli.processes.workers.file_sorter.FileSorterWorker
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the migrator manager.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.processes.migrator.
MigratorProcessesManager
(manager: Optional[multiprocessing.context.BaseContext.Manager] = None, max_worker: Optional[int] = None, *, continuous_integration: Optional[PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase] = None, input_queue: Optional[queue.Queue] = None, output_queue: Optional[queue.Queue] = None, daemon: bool = False, generate_input_queue: bool = True, generate_output_queue: bool = True)[source]ΒΆ Bases:
PyFunceble.cli.processes.base.ProcessesManagerBase
Provides the migrator manager.
-
WORKER_OBJ
ΒΆ alias of
PyFunceble.cli.processes.workers.migrator.MigratorWorker
-
create
() → PyFunceble.cli.processes.base.ProcessesManagerBase[source]ΒΆ Creates the defined amount of worker.
-
static
hashes_file_cleanup_target
(continuous_integration: PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase) → None[source]ΒΆ Provides the target for the cleanup of the hashes file.
-
static
json2csv_inactive_target
(continuous_integration: PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase) → None[source]ΒΆ Provides the target for the inactive database migrator.
-
static
json2csv_whois_target
(continuous_integration: PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase) → None[source]ΒΆ Provides the target for the whois database migrator.
-
static
mariadb_file_and_status_target
(continuous_integration: PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase) → None[source]ΒΆ Provides the target for the migration of the
pyfunceble_file
andpyfunceble_status
tables.
-
static
mariadb_whois_record_idna_subject_target
(continuous_integration: PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase) → None[source]ΒΆ Provides the target for the whois addition of the missing idna_subject column.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the miner manager.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.processes.miner.
MinerProcessesManager
(manager: Optional[multiprocessing.context.BaseContext.Manager] = None, max_worker: Optional[int] = None, *, continuous_integration: Optional[PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase] = None, input_queue: Optional[queue.Queue] = None, output_queue: Optional[queue.Queue] = None, daemon: bool = False, generate_input_queue: bool = True, generate_output_queue: bool = True)[source]ΒΆ Bases:
PyFunceble.cli.processes.base.ProcessesManagerBase
Provides the miner manager.
-
WORKER_OBJ
ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the producer manager.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.processes.producer.
ProducerProcessesManager
(manager: Optional[multiprocessing.context.BaseContext.Manager] = None, max_worker: Optional[int] = None, *, continuous_integration: Optional[PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase] = None, input_queue: Optional[queue.Queue] = None, output_queue: Optional[queue.Queue] = None, daemon: bool = False, generate_input_queue: bool = True, generate_output_queue: bool = True)[source]ΒΆ Bases:
PyFunceble.cli.processes.base.ProcessesManagerBase
Provides the producer manager.
-
WORKER_OBJ
ΒΆ alias of
PyFunceble.cli.processes.workers.producer.ProducerWorker
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the tester manager.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.processes.tester.
TesterProcessesManager
(manager: Optional[multiprocessing.context.BaseContext.Manager] = None, max_worker: Optional[int] = None, *, continuous_integration: Optional[PyFunceble.cli.continuous_integration.base.ContinuousIntegrationBase] = None, input_queue: Optional[queue.Queue] = None, output_queue: Optional[queue.Queue] = None, daemon: bool = False, generate_input_queue: bool = True, generate_output_queue: bool = True)[source]ΒΆ Bases:
PyFunceble.cli.processes.base.ProcessesManagerBase
Provides the tester manager.
-
WORKER_OBJ
ΒΆ alias of
PyFunceble.cli.processes.workers.tester.TesterWorker
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides all our the logic behind our multiprocessing mechanism.
Note
Our threads submodules or class does not extends the multiprocessing module. They are just there to clarify our workflow for future contributors :-)
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our iana file generator.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.scripts.iana.
IanaDBGenerator
(destination: Optional[str] = None)[source]ΒΆ Bases:
object
Provides an interface for the generation of the iana database file.
-
IANA_WHOIS_SERVER
= 'whois.iana.org'ΒΆ The WHOIS server provided by the IANA.
-
MANUAL_SERVER
= {'bm': 'whois.afilias-srs.net', 'bz': 'whois.afilias-grs.net', 'cd': 'chois.nic.cd', 'cm': 'whois.netcom.cm', 'fj': 'whois.usp.ac.fj', 'ga': 'whois.my.ga', 'int': 'whois.iana.org', 'ipiranga': ' whois.nic.ipiranga', 'lc': 'whois2.afilias-grs.net', 'now': ' whois.nic.now', 'pharmacy': ' whois.nic.pharmacy', 'piaget': ' whois.nic.piaget', 'ps': 'whois.pnina.ps', 'rw': 'whois.ricta.org.rw', 'shaw': 'whois.afilias-srs.net', 'xn--1ck2e1b': 'whois.nic.xn--1ck2e1b', 'xn--2scrj9c': 'whois.inregistry.net', 'xn--3hcrj9c': 'whois.inregistry.net', 'xn--45br5cyl': 'whois.inregistry.net', 'xn--45brj9c': 'whois.inregistry.net', 'xn--8y0a063a': 'whois.nic.xn--8y0a063a', 'xn--bck1b9a5dre4c': 'whois.nic.xn--bck1b9a5dre4c', 'xn--cck2b3b': 'whois.nic.xn--cck2b3b', 'xn--czr694b': 'whois.nic.xn--czr694b', 'xn--e1a4c': 'whois.eu', 'xn--eckvdtc9d': 'whois.nic.xn--eckvdtc9d', 'xn--fct429k': 'whois.nic.xn--fct429k', 'xn--fpcrj9c3d': 'whois.inregistry.net', 'xn--fzc2c9e2c': 'whois.nic.lk', 'xn--g2xx48c': 'whois.nic.xn--g2xx48c', 'xn--gckr3f0f': 'whois.nic.xn--gckr3f0f', 'xn--gecrj9c': 'whois.inregistry.net', 'xn--gk3at1e': 'whois.nic.xn--gk3at1e', 'xn--h2breg3eve': 'whois.inregistry.net', 'xn--h2brj9c': 'whois.inregistry.net', 'xn--h2brj9c8c': 'whois.inregistry.net', 'xn--imr513n': 'whois.nic.xn--imr513n', 'xn--jvr189m': 'whois.nic.xn--jvr189m', 'xn--kpu716f': 'whois.nic.xn--kpu716f', 'xn--mgba3a3ejt': 'whois.nic.xn--mgba3a3ejt', 'xn--mgbb9fbpob': 'whois.nic.xn--mgbb9fbpob', 'xn--mgbbh1a': 'whois.inregistry.net', 'xn--mgbbh1a71e': 'whois.inregistry.net', 'xn--mgbgu82a': 'whois.inregistry.net', 'xn--nyqy26a': 'whois.nic.xn--nyqy26a', 'xn--otu796d': 'whois.nic.xn--otu796d', 'xn--pbt977c': 'whois.nic.xn--pbt977c', 'xn--rhqv96g': 'whois.nic.xn--rhqv96g', 'xn--rovu88b': 'whois.nic.xn--rovu88b', 'xn--rvc1e0am3e': 'whois.inregistry.net', 'xn--s9brj9c': 'whois.inregistry.net', 'xn--ses554g': 'whois.registry.knet.cn', 'xn--wgbh1c': 'whois.dotmasr.eg', 'xn--xkc2al3hye2a': 'whois.nic.lk', 'xn--xkc2dl3a5ee0h': 'whois.inregistry.net', 'za': 'whois.registry.net.za'}ΒΆ
-
UPSTREAM_LINK
= 'https://www.iana.org/domains/root/db'ΒΆ Provides the upstream link.
-
_destination
= NoneΒΆ
-
database
= {}ΒΆ An internal storage map.
-
destination
ΒΆ Provides the current state of the
_destination
attribute.
-
get_extension_and_referer_from_block
(block: str) → Tuple[Optional[str], Optional[str]][source]ΒΆ Given an HTML block, we try to extract an extension and itβs underlying referer (WHOIS server).
The referer is extracted from the official IANA page, and guessed if missing.
Parameters: block β The block to parse.
-
get_referer_from_extension
(extension: str) → Optional[str][source]ΒΆ Given an extension, tries to get or guess its extension.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some of our scripts.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.scripts.production.
ProductionPrep
(branch: Optional[str] = None)[source]ΒΆ Bases:
object
Provides an interface for the production file modification. The idea is that we always have 2 branches: the dev and the master branch.
We want to fix all the URL to point to the right one, so this interface just provides everything needed for that job.
Another important part is the cleanup of the production environment. What is meant is the cleanup of the output/ directory and the construction of the dir_structure file.
Warning
This class assumes that you know what you are doing. Meaning that you should run this only if your are developing PyFunceble.
-
AVAILABLE_BRANCHES
= ['dev', 'master']ΒΆ
-
VERSION_FILE_PATH
= '/home/docs/./PyFunceble/version.yaml'ΒΆ
-
_branch
= NoneΒΆ
-
branch
ΒΆ Provides the current state of the
_branch
attribute.
-
dict_helper
= <PyFunceble.helpers.dict.DictHelper object>ΒΆ
-
ensure_branch_is_given
()[source]ΒΆ Ensures that the branch is given before running the decorated method.
Raises: TypeError β When the self.branch
is not set.
-
file_helper
= <PyFunceble.helpers.file.FileHelper object>ΒΆ
-
previous_version
= NoneΒΆ Provides the previous version (from
version_file_content
)
-
regex_helper
= <PyFunceble.helpers.regex.RegexHelper object>ΒΆ
-
set_branch
(value: str) → PyFunceble.cli.scripts.production.ProductionPrep[source]ΒΆ Sets the branch to act with.
Parameters: value β The value to set.
-
should_be_deprecated
(previous_version: str) → bool[source]ΒΆ Checks if we should deprecates the current version.
-
static
update_code_format
() → PyFunceble.cli.scripts.production.ProductionPrep[source]ΒΆ Updates the format of the source code using black.
-
update_code_urls
() → PyFunceble.cli.scripts.production.ProductionPrep[source]ΒΆ Updates all URL in the source code.
-
update_dir_structure_file
() → PyFunceble.cli.scripts.production.ProductionPrep[source]ΒΆ Updates the directory structure.
-
update_docs_urls
() → PyFunceble.cli.scripts.production.ProductionPrep[source]ΒΆ Updates all URL in the documentation files.
-
static
update_documentation
() → PyFunceble.cli.scripts.production.ProductionPrep[source]ΒΆ Updates the code documentation.
Raises: RuntimeError β When one of the wanted directory is not found.
-
update_setup_py
() → PyFunceble.cli.scripts.production.ProductionPrep[source]ΒΆ Updates content of
setup.py
.Raises: FileNotFoundError β When the setup.py
file does not exists.
-
update_urls
(file: str) → PyFunceble.cli.scripts.production.ProductionPrep[source]ΒΆ Updates the common URLS which are in the given file.
Parameters: file β The file to work with. Raises: FileNotFoundError β When the given file
is not found.
-
update_version_file
() → PyFunceble.cli.scripts.production.ProductionPrep[source]ΒΆ Updates the version file.
-
version_file_content
= NoneΒΆ A copy of the local version file.
-
version_utility
= <PyFunceble.utils.version.VersionUtility object>ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our public suffix file generator.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.scripts.public_suffix.
PublicSuffixGenerator
(destination: Optional[str] = None)[source]ΒΆ Bases:
object
Provides an interface for the generation of the public suffix file.
-
COMMENT_SIGN
= ['//', '!']ΒΆ The sign which we should consider as comment.
-
UPSTREAM_LINK
= 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'ΒΆ Provides the upstream stream.
-
_destination
= NoneΒΆ
-
database
= {}ΒΆ An internal storage of our map.
-
destination
ΒΆ Provides the current state of the
_destination
attribute.
-
parse_line
(line: str, *, idna_check=False) → dict[source]ΒΆ Parses and provides the dataset to save.
-
set_destination
(value: str) → PyFunceble.cli.scripts.public_suffix.PublicSuffixGenerator[source]ΒΆ Sets the destination to write.
Parameters: value β The value to set.
-
wildacrd2subject
= <PyFunceble.converter.wildcard2subject.Wildcard2Subject object>ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some of our scripts.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our subclasses related to the system 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.system.base.
SystemBase
(args: Optional[argparse.Namespace] = None)[source]ΒΆ Bases:
object
Provides the base of all system classes. The idea is that every system classes will have access to the argument given by end-user.
Each of them will have a start method which will run a set of predefined action. But the start method -in comparison to previous versions - starts on purpose.
Parameters: args β The arguments from argparse.ArgumentParser
.-
_args
= NoneΒΆ
-
args
ΒΆ Provides the current state of the
_args
attribute.
-
ensure_args_is_given
()[source]ΒΆ Ensures that the
self.args
attribute is given before launching the decorated method.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our very own argument parser. Take this as a splitter which runs some actions against other resource before returning the arguments.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.system.integrator.
SystemIntegrator
(args: Optional[argparse.Namespace] = None)[source]ΒΆ Bases:
PyFunceble.cli.system.base.SystemBase
Provides our system integrator. The idea is that we given an argparse Namespace, we should be able to parse it into our system.
To simplify the trick and headache in the CLI management, I explicitely mapped the
dest
argument to what we are supposed to have in the flatten version of the configuration. That way, we only need to compare against the flatten version instead of looping over all possible levels of the configuration tree.-
init_logger
() → PyFunceble.cli.system.integrator.SystemIntegrator[source]ΒΆ Initiate the loggers. In fact, before this moment, in a normal case the logger was not properly initiated. To avoid multiple management place, I took it to the essential.
Warning
If you plan to play with the logger on your own, be sure to follow the same procedure.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the system launcher. From here, itβs all about real testing.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.system.launcher.
SystemLauncher
(args: Optional[argparse.Namespace] = None)[source]ΒΆ Bases:
PyFunceble.cli.system.base.SystemBase
Provides the system tests launcher.
-
adblock_inputline2subject
= <PyFunceble.converter.adblock_input_line2subject.AdblockInputLine2Subject object>ΒΆ
-
checker_type
= NoneΒΆ
-
ci_stop_in_the_middle_if_time_exceeded
() → PyFunceble.cli.system.launcher.SystemLauncher[source]ΒΆ Stops our processes as soon as the time is exceeded.
-
continuous_integration
= NoneΒΆ
-
counter
= <PyFunceble.cli.filesystem.counter.FilesystemCounter object>ΒΆ
-
execution_time_holder
= NoneΒΆ
-
file_printer
= <PyFunceble.cli.filesystem.printer.file.FilePrinter object>ΒΆ
-
file_sorter_process_manager
= NoneΒΆ
-
fill_protocol
() → PyFunceble.cli.system.launcher.SystemLauncher[source]ΒΆ Fills the protocol with the information about what we are supposed to test.
-
fill_to_test_queue_from_protocol
() → PyFunceble.cli.system.launcher.SystemLauncher[source]ΒΆ Read the protocol and fill the testing queue.
-
generate_waiting_files
() → PyFunceble.cli.system.launcher.SystemLauncher[source]ΒΆ Generates all the files that needs to be generated when all status are proceeses.
-
inactive_dataset
= NoneΒΆ
-
inputline2subject
= <PyFunceble.converter.input_line2subject.InputLine2Subject object>ΒΆ
-
migrator_process_manager
= NoneΒΆ
-
miner_process_manager
= NoneΒΆ
-
producer_process_manager
= NoneΒΆ
-
remove_unwanted_files
() → PyFunceble.cli.system.launcher.SystemLauncher[source]ΒΆ Deletes some unwanted files that needs to be deleted when all status are processed.
-
rpz_inputline2subject
= <PyFunceble.converter.rpz_input_line2subject.RPZInputLine2Subject object>ΒΆ
-
rpz_policy2subject
= <PyFunceble.converter.rpz_policy2subject.RPZPolicy2Subject object>ΒΆ
-
run_ci_end_saving_instructions
() → PyFunceble.cli.system.launcher.SystemLauncher[source]ΒΆ Runns our CI END βsavingβ instructions.
The instructions executed by this method are the one we execute before ending a testing session under one of the supported CI engines.
The purpose of this method is to make our instructions available to everybody instead of hiding them into the
start
method. :-)Warning
This is the standard βendβ instructions. Do not call this method if you are trying to run an action after the CI execution time exceeded.
-
run_ci_saving_instructions
() → PyFunceble.cli.system.launcher.SystemLauncher[source]ΒΆ Runns our CI βsavingβ instructions.
The instructions executed by this method are the one we execute before ending a testing session under one of the supported CI engines.
The purpose of this method is to make our instructions available to everybody instead of hiding them into the
start
method. :-)Warning
This is the standard βendβ instructions. Do not call this method if you are trying to run an action after the CI execution time exceeded.
-
run_standard_end_instructions
() → PyFunceble.cli.system.launcher.SystemLauncher[source]ΒΆ Runns our standard βendβ instructions.
The instructions executed by this method are the one we execute normally.
The purpose of this method is to make our standard end instructions available to everybody instead of hiding them into the
start
method. :-)Warning
This is the standard βendβ instructions. Do not call this method if you are trying to run an action after the CI execution time exceeded.
-
sessions_id
= {}ΒΆ
-
start
() → PyFunceble.cli.system.launcher.SystemLauncher[source]ΒΆ Provides a launcher for a brunch of predefined actions defined by the current object.
-
stdout_printer
= <PyFunceble.cli.filesystem.printer.stdout.StdoutPrinter object>ΒΆ
-
stop_and_wait_for_all_manager
() → PyFunceble.cli.system.launcher.SystemLauncher[source]ΒΆ Sends our stop signal and wait until all managers are finished.
-
subject2complements
= <PyFunceble.converter.subject2complements.Subject2Complements object>ΒΆ
-
tester_process_manager
= NoneΒΆ
-
testing_protocol
= []ΒΆ Saves the protocol which we are going to generate. The protocol will saves a set of information about what to test, what kind of output to produce and most importantly where.
-
wildcard2subject
= <PyFunceble.converter.wildcard2subject.Wildcard2Subject object>ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our system handlers. Actually, every success CLI parsing will ends in on of the submodules.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of our threads classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.threads.base.
ThreadsBase
(output_queue: Union[queue.Queue, Tuple[queue.Queue], None] = None)[source]ΒΆ Bases:
object
Provides the base of all classes.
-
_output_queue
= NoneΒΆ
-
add_to_output_queue
(data: Any) → PyFunceble.cli.threads.base.ThreadsBase[source]ΒΆ Adds the given
data
to the output queue.Parameters: data β The data to add into the output queue.
-
add_to_the_queue
(data: Any) → PyFunceble.cli.threads.base.ThreadsBase[source]ΒΆ Adds the given
data
to the current queue.Parameters: data β The data to add into the queue.
-
ensure_output_queue_is_given
()[source]ΒΆ Ensures that the output queue was given before launching the decorated method.
Raises: RuntimeError β When the thread was not launched.
-
ensure_thread_is_initiated
()[source]ΒΆ Ensures that the thread was initiated before launching the decorated method.
Raises: RuntimeError β When the thread was not launched.
-
ensure_thread_is_not_initiated
()[source]ΒΆ Ensures that the thread was not initiated before launching the decorated method.
Raises: RuntimeError β When the thread was already launched.
-
output_queue
ΒΆ Provides the current state of the
_output_queue
attribute.
-
send_stop_signal
() → PyFunceble.cli.threads.base.ThreadsBase[source]ΒΆ Puts the
stop
message into the queue.
-
set_output_queue
(value: Union[queue.Queue, Tuple[queue.Queue]])[source]ΒΆ Sets the output queue with the given queue.
Parameters: value β The value to set.
-
static
should_be_ignored
(subject: str) → bool[source]ΒΆ Checks if the given subject should be ignored.
-
start
(*, daemon: bool = True) → PyFunceble.cli.threads.base.ThreadsBase[source]ΒΆ Starts the threads itself.
Parameters: daemon β Tells us to starts the threads as a daemon.
-
the_queue
= NoneΒΆ
-
the_thread
= NoneΒΆ
-
thread_name
= 'pyfunceble'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the logic behind the threads which is supposed to handle everything related to the autocontinue.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.threads.continue_producer.
ContinueProducerThread
(output_queue: Optional[queue.Queue] = None)[source]ΒΆ Bases:
PyFunceble.cli.threads.producer_base.ProducerThreadBase
Provides our autocontienue handler logic.
The thread behind this object, will read
the_queue
, and produce into the autocontinue dataset.-
dataset
= NoneΒΆ
-
run_continue
(test_dataset: dict, test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Reads the given test dataset, interpret it and add the given test result to the dataset if needed.
Parameters: - test_dataset β The test dataset as per protocol.
- test_result_dict β The test result object.
-
thread_name
= 'pyfunceble_continue_producer'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the logic behind the threads which is supposed to generate outputs to the files or other formats.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.threads.file_producer.
FileProducerThread
(output_queue: Optional[queue.Queue] = None)[source]ΒΆ Bases:
PyFunceble.cli.threads.producer_base.ProducerThreadBase
Provides our file producer thread logic.
The thread behind this object, will read
the_queue
, and procude the outputs to the files or other storage formats.-
counter
= NoneΒΆ
-
file_printer
= NoneΒΆ
-
run_counter
(test_dataset: dict, test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Runs the counter of the current file.
Parameters: - test_dataset β The test dataset as per protocol.
- test_result_dict β The test result object.
-
run_file_printer
(test_dataset: dict, test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Runs the file printer if necessary.
Parameters: - test_dataset β The test dataset as per protocol.
- test_result_dict β The test result object.
-
run_ignored_file_printer
(test_dataset: dict, test_result: str) → None[source]ΒΆ Runs the file printer assuming that the given test dataset has been ignored by the test runner.
-
status_file_generator
= NoneΒΆ
-
thread_name
= 'pyfunceble_file_producer'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the logic behind the threads which is supposed to sort the content of all interesting files.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.threads.file_sorter.
FileSorterThread
(output_queue: Union[queue.Queue, Tuple[queue.Queue], None] = None)[source]ΒΆ Bases:
PyFunceble.cli.threads.base.ThreadsBase
Provides our file sorter thread logic. The main idea is that we start read the given protocol and sort all the files that needs to be sorted.
-
MAX_LINES
= 1000ΒΆ
-
static
get_files_to_sort_content
(output_dir: str) → List[str][source]ΒΆ Provides the list of files to work with.
-
process_sorting
(file: str) → None[source]ΒΆ Process the sorting of the given file.
The idea is to split the file piece by piece and at the end join all sorted files. For that job, we create a temporary directory which will store the temporary files.
-
thread_name
= 'pyfunceble_file_sorter'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the logic behind the threads which is supposed to handle everything related to the inactive 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.threads.inactive_producer.
InactiveProducerThread
(output_queue: Optional[queue.Queue] = None)[source]ΒΆ Bases:
PyFunceble.cli.threads.producer_base.ProducerThreadBase
Provides our inactive handler logic.
The thread behind this object, will read
the_queue
, and produce into the inactive dataset.-
dataset
= NoneΒΆ
-
run_inactive
(test_dataset: dict, test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Processes the update of a dataset which was previously inactive.
The idea is that if the status is OK, we just remove it from the database. Otherwise, we just keep it in there :-)
-
thread_name
= 'pyfunceble_inactive_producer'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the logic behind the threads which is supposed to run all our migrators.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.threads.migrator.
MigratorThread
(output_queue: Union[queue.Queue, Tuple[queue.Queue], None] = None)[source]ΒΆ Bases:
PyFunceble.cli.threads.base.ThreadsBase
Provides our migrator thread logic. The main idea is that we start all our migrator inside multiple threads and wait for them to run.
-
continuous_integration
= NoneΒΆ
-
static
done_callback
(func: concurrent.futures._base.Future) → None[source]ΒΆ This method will be executed after each task run.
Raises: Exception β The the task has some exception.
-
hashes_file_cleanup_target
() → None[source]ΒΆ Provides the target for the cleanup of the hashes file.
-
mariadb_file_and_status_target
() → None[source]ΒΆ Provides the target for the migration of the
pyfunceble_file
andpyfunceble_status
tables.
-
mariadb_whois_record_idna_subject_target
() → None[source]ΒΆ Provides the target for the whois addition of the missing idna_subject column.
-
mining_file_cleanup_target
() → None[source]ΒΆ Provides the target for the cleanup of the mining file.
-
thread_name
= 'pyfunceble_migrator'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the logic behind the threads which is supposed to mine the dataset to later test.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.threads.miner.
MinerThread
(output_queue: Optional[queue.Queue] = None)[source]ΒΆ Bases:
PyFunceble.cli.threads.base.ThreadsBase
Provides our miner thread logic. The main idea is that we read our queue, mine (or at least look for it) and write the new subject to test into the output queue.
The thread behind this object, will read
the_queue
, and write the mined subject into theoutput_queue
attribute.-
continuous_integration
= NoneΒΆ
-
static
mine_from
(subject: str) → Optional[List[str]][source]ΒΆ Given the subject to work from, try to get the related subjects.
Parameters: subject β The URL to start from.
-
thread_name
= 'pyfunceble_mining'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our producer threads.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.threads.producer_base.
ProducerThreadBase
(output_queue: Union[queue.Queue, Tuple[queue.Queue], None] = None)[source]ΒΆ Bases:
PyFunceble.cli.threads.base.ThreadsBase
Provides the base of all our producer threads.
The thread behind this object, will read
the_queue
, and procude the outputs.-
INACTIVE_STATUSES
= ('INACTIVE', 'INVALID')ΒΆ
-
should_we_block_printer
(test_dataset: dict, test_result: PyFunceble.checker.status_base.CheckerStatusBase) → bool[source]ΒΆ Checks if we should block the printer.
The reason behindn this is that we donβt want to generate an output when a subject was already into the inactive database.
Parameters: - test_dataset β The test dataset.
- test_result β The test result
-
static
should_we_ignore
(test_result: PyFunceble.checker.status_base.CheckerStatusBase) → bool[source]ΒΆ Checks if the we should ignore the given datasets.
Parameters: - test_dataset β The test dataset.
- test_result β The test result
-
thread_name
= 'pyfunceble_producer'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the logic behind the threads which is supposed to generate outputs to the STDOUT.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.threads.stdout_producer.
StdoutProducerThread
(output_queue: Optional[queue.Queue] = None)[source]ΒΆ Bases:
PyFunceble.cli.threads.producer_base.ProducerThreadBase
Provides our STDOUT producer thread logic.
The thread behind this object, will read
the_queue
, and procude the outputs to stdout.-
header_already_printed
= FalseΒΆ
-
run_stdout_printer
(test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Runs the stdout printer if necessary.
Parameters: - test_dataset β The test dataset.
- test_result β The test result object.
-
send_for_mining
(test_dataset: dict, test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Sends the test dataset to the mining queue (if given).
-
static
shoud_we_print_status
(status: str) → bool[source]ΒΆ Checks if we are allowed to print based on the given status.
Parameters: status β The status to check.
-
stdout_printer
= NoneΒΆ
-
thread_name
= 'pyfunceble_stdout_producer'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the logic behind the threads which is supposed to test the given subject.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.threads.tester.
TesterThread
(output_queue: Union[queue.Queue, Tuple[queue.Queue], None] = None)[source]ΒΆ Bases:
PyFunceble.cli.threads.base.ThreadsBase
Provides our tester thread logic.
The thread behind this object, will read
the_queue
, test all entries until a stop is given and store the result intooutput_queue
.-
continuous_integration
= NoneΒΆ
-
static
done_callback
(func: concurrent.futures._base.Future) → None[source]ΒΆ This method will be executed after each task run.
Raises: Exception β The the task has some exception.
-
get_status
(test_dataset: dict) → Optional[PyFunceble.checker.status_base.CheckerStatusBase][source]ΒΆ This is our part our our target. Meaning that you shouldnβt be playing with this outside the CLI.
This method reads the given dataset, starts the test and return the result of it after putting it into the declared output queue.
Please note a slighly side effect of this method. Indeed,
None
will be returned if the subject to test should be ignored.
-
static
get_testing_object
(subject_type: str, checker_type: str) → PyFunceble.checker.base.CheckerBase[source]ΒΆ Provides the object to use for testing.
Raises: ValueError β When the given subject type is unkown.
-
thread_name
= 'pyfunceble_tester'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our own version of some of object provided by the standard threading library.
Note
Our threads submodules or class does not extends the threading module. They are jus there to clarify our workflow for future contributors :-)
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.threads.threading.
Thread
(group=None, target=None, name=None, args=(), kwargs=None, *, daemon=None)[source]ΒΆ Bases:
threading.Thread
Overwrites and adds some functionalities to the
threading.Thread
class.-
exception
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some utilities.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
PyFunceble.cli.threads.utils.
wait_until_completion
(tasks: List[concurrent.futures._base.Future], *, raise_exc: bool = False) → None[source]ΒΆ Wait untill all tasks are done.
Parameters: - tasks β The list of submitted tasks (so far).
- raise_exc β Allows the raising of the exception (if exists) of the first failed task.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the logic behind the threads which is supposed to handle everything related to the WHOIS 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.threads.whois_producer.
WhoisProducerThread
(output_queue: Optional[queue.Queue] = None)[source]ΒΆ Bases:
PyFunceble.cli.threads.producer_base.ProducerThreadBase
Provides our WHOIS dataset handler logic.
The thread behind this object, will read
the_queue
, and produce into the whois dataset.-
dataset
= NoneΒΆ
-
run_whois_backup
(test_result: PyFunceble.checker.status_base.CheckerStatusBase) → None[source]ΒΆ Runs the WHOIS record backup.
Parameters: test_result β The test result object.
-
thread_name
= 'pyfunceble_whois_producer'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides all our the logic behind our threading mechanism.
Note
Our threads submodules or class does not extends the threading module. They are jus there to clarify our workflow for future contributors :-)
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some utilities related to the ascii logo.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
PyFunceble.cli.utils.ascii_logo.
colorify
(color: str) → str[source]ΒΆ Colorify the logo with the given color.
Parameters: color β The name of the color to apply.
Warning
The given color name must be one of the supported by colorama.
Raises: ValueError β When the given color
is unsupported.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some utilities related to the sorting mechanism.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
PyFunceble.cli.utils.sort.
get_best_sorting_key
() → Callable[[Any], List[Union[int, Any]]][source]ΒΆ Provides the best sorting key from the configuration.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some utilities related to the CLI stdout.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some testing related utilities
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
PyFunceble.cli.utils.testing.
get_continue_databaset_object
() → Union[PyFunceble.dataset.base.DatasetBase, PyFunceble.dataset.csv_base.CSVDatasetBase, PyFunceble.dataset.db_base.DBDatasetBase][source]ΒΆ Provides the continue object to work with.
Raises: ValueError β When the given database type is unkown.
-
PyFunceble.cli.utils.testing.
get_destination_from_origin
(origin: str) → str[source]ΒΆ Given the origin, we provides the destination.
-
PyFunceble.cli.utils.testing.
get_inactive_dataset_object
() → Union[PyFunceble.dataset.base.DatasetBase, PyFunceble.dataset.csv_base.CSVDatasetBase, PyFunceble.dataset.db_base.DBDatasetBase][source]ΒΆ Provides the inactive object to work with.
Raises: ValueError β When the given database type is unkown.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the version comparison tool.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
PyFunceble.cli.utils.version.
get_local_version
() → box.box.Box[source]ΒΆ Provides the state of the local version file.
-
PyFunceble.cli.utils.version.
get_upstream_version
() → box.box.Box[source]ΒΆ Provides the state of the upstream version.
-
PyFunceble.cli.utils.version.
handle_deprecated_version
(upstream_version: box.box.Box) → bool[source]ΒΆ Checks if the current version (local) is deprecated and provides a message to the end-user.
Returns: True
if local is deprecated.False
otherwise.
-
PyFunceble.cli.utils.version.
handle_force_update
(upstream_version: box.box.Box) → None[source]ΒΆ Checks if we should force the end-user to update.
-
PyFunceble.cli.utils.version.
handle_greater_version
(upstream_version: box.box.Box) → None[source]ΒΆ Checks if the current version (local) is more recent than the upstream one and provides a message.
Returns: True
if local is greater.False
otherwise.
-
PyFunceble.cli.utils.version.
handle_messages
(upstream_version: box.box.Box) → None[source]ΒΆ Handles and prints the upstream messages.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some utilities related to the CLI.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
SubmodulesΒΆ
PyFunceble.cli.credential_loader moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our credential loader.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.credential_loader.
CredentialLoader
(db_type: Optional[str] = None)[source]ΒΆ Bases:
object
Provides our creadential loader.
The idea is to have an interface which provides the credential to use but at the same time load and initiate the credential interface after loading it from the user input or the environment variables.
Parameters: db_type β The database type to load the credential for. -
DB_TYPE2OBJ
= {'csv': None, 'mariadb': <class 'PyFunceble.database.credential.mariadb.MariaDBCredential'>, 'mysql': <class 'PyFunceble.database.credential.mysql.MySQLCredential'>}ΒΆ
-
_db_type
= NoneΒΆ
-
ask_for_info
(var_name: str, default: Any) → str[source]ΒΆ Asks the credential to the end-user.
Parameters: - var_name β The name of the part to ask for example
host
orpassword
. - default β The default value to return if the user donβt give us anything.
- var_name β The name of the part to ask for example
Provides the authorization to run.
-
credential
= NoneΒΆ The credential (itself).
-
db_type
ΒΆ Provides the current state of the
_db_type
attribute.
-
ensure_db_type_is_given
()[source]ΒΆ Ensure that the db type is given before launching the decorated method.
Raises: TypeError β When the db type is not given.
Executes the decorated method only if we are authorized to process. Otherwise, apply the given
default
.
-
set_credential_var
(var_name: str, value: Any) → PyFunceble.cli.credential_loader.CredentialLoader[source]ΒΆ Sets the given
var_name
of the credential object with the givenvalue
.Parameters: - var_name β The name of the variable to set.
- value β The value of to set.
-
set_db_type
(value: str) → PyFunceble.cli.credential_loader.CredentialLoader[source]ΒΆ Sets the database type to work with.
Parameters: value β The value to set.
-
PyFunceble.cli.execution_time moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the interface for the generation of the execution time.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.cli.execution_time.
ExecutionTime
(authorized: Optional[bool] = None)[source]ΒΆ Bases:
object
Provides the interface for the execution time.
Parameters: authorized β The authorization to run. -
STD_AUTHORIZED
= FalseΒΆ
Provides the currently state of the
_authorized
attribute.
-
end_time
= NoneΒΆ
Executes the decorated method only if we are authorized to process. Otherwise, apply the given
default
.
Try to guess and set the authorization from the configuration file.
Sets the value of the
authorized
attribute.Parameters: value β The value to set.
-
set_end_time
() → PyFunceble.cli.execution_time.ExecutionTime[source]ΒΆ Sets the starting time to now.
-
set_start_time
() → PyFunceble.cli.execution_time.ExecutionTime[source]ΒΆ Sets the starting time to now.
-
static
split_difference
(start: datetime.datetime, end: datetime.datetime) → dict[source]ΒΆ Calculates the difference between the two datetime object.
Parameters: - start β The starting time.
- end β The ending time.
Raises: TypeError β When the given
start
orend
is not adatetime.datetime
.
-
start_time
= NoneΒΆ
-
PyFunceble.cli.facility moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some loader that we may need later.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.cli.factory moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything which doesnβt get through the door of the facility.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.cli.storage moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the common storage location for all entry points.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.cli.storage_facility moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some facilities for the storage module.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
Module contentsΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to the CLI usage.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.config packageΒΆ
SubmodulesΒΆ
PyFunceble.config.compare moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the configuration comparision interface.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.config.compare.
ConfigComparison
(*, local_config: Optional[dict] = None, upstream_config: Optional[dict] = None)[source]ΒΆ Bases:
object
Provides an interface for comparing 2 configuration.
-
DELETED_CORE
= ['dns_lookup_over_tcp', 'generate_json', 'header_printed', 'iana_whois_server', 'idna_conversion', 'logs', 'maximal_processes', 'multiprocess_merging_mode', 'multiprocess', 'no_http_codes', 'outputs', 'shadow_file', 'status', 'store_whois_record', 'unified']ΒΆ
-
DELETED_LINKS
= ['config', 'dir_structure', 'iana', 'ipv4_reputation', 'mariadb', 'mysql', 'psl', 'repo', 'requirements', 'user_agents']ΒΆ
-
NEW_STATUS_CODES
= {'potentially_down': [451], 'potentially_up': [308, 403, 418, 421, 422, 423, 424, 426, 428, 431, 506, 507, 508, 510, 511], 'up': [102, 207, 208, 226, 429]}ΒΆ
-
OLD_TO_NEW
= {'adblock': 'cli_decoding.adblock', 'aggressive': 'cli_decoding.adblock_aggressive', 'auto_continue': 'cli_testing.autocontinue', 'ci': 'cli_testing.ci.active', 'ci_autosave_commit': 'cli_testing.ci.commit_message', 'ci_autosave_final_commit': 'cli_testing.ci.end_commit_message', 'ci_autosave_minutes': 'cli_testing.ci.max_exec_minutes', 'ci_branch': 'cli_testing.ci.branch', 'ci_distribution_branch': 'cli_testing.ci.distribution_branch', 'command': 'cli_testing.ci.command', 'command_before_end': 'cli_testing.ci.end_command', 'cooldown_time': 'cli_testing.cooldown_time', 'custom_ip': 'cli_testing.hosts_ip', 'days_between_db_retest': 'cli_testing.days_between.db_retest', 'days_between_inactive_db_clean': 'cli_testing.days_between.db_clean', 'db_type': 'cli_testing.db_type', 'debug': 'debug.active', 'dns_server': 'dns.server', 'filter': 'cli_testing.file_filter', 'generate_complements': 'cli_testing.complements', 'generate_hosts': 'cli_testing.file_generation.hosts', 'hierarchical_sorting': 'cli_testing.sorting_mode.hierarchical', 'inactive_database': 'cli_testing.inactive_db', 'less': 'cli_testing.display_mode.less', 'local': 'cli_testing.local_network', 'mining': 'cli_testing.mining', 'no_files': 'cli_testing.file_generation.no_file', 'plain_list_domain': 'cli_testing.file_generation.plain', 'print_dots': 'cli_testing.display_mode.dots', 'quiet': 'cli_testing.display_mode.dots', 'reputation': 'lookup.reputation', 'rpz': 'cli_decoding.rpz', 'show_execution_time': 'cli_testing.display_mode.execution_time', 'show_percentage': 'cli_testing.display_mode.percentage', 'simple': 'cli_testing.display_mode.simple', 'syntax': 'cli_testing.testing_mode.syntax', 'timeout': 'lookup.timeout', 'use_reputation_data': 'lookup.reputation', 'whois_database': 'cli_testing.whois_db', 'wildcard': 'cli_decoding.wildcard'}ΒΆ
-
OLD_TO_NEW_NEGATE
= {'no_special': 'lookup.special', 'no_whois': 'lookup.whois', 'split': 'cli_testing.file_generation.unified_results'}ΒΆ
-
_local_config
= {}ΒΆ
-
_upsteam_config
= {}ΒΆ
-
dict_helper
= <PyFunceble.helpers.dict.DictHelper object>ΒΆ
-
is_local_identical
() → bool[source]ΒΆ Checks if the local configuration is identical to the upstream one.
-
local_config
ΒΆ Provides the current state of the
_local_config
.
-
set_local_config
(value: dict) → PyFunceble.config.compare.ConfigComparison[source]ΒΆ Sets the local configuration to work with.
-
set_upstream_config
(value: dict) → PyFunceble.config.compare.ConfigComparison[source]ΒΆ Sets the upstram configuration to work with.
-
upstream_config
ΒΆ Provides the current state of the
_upstream_config
.
-
PyFunceble.config.loader moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the configuration loader.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.config.loader.
ConfigLoader
(merge_upstream: Optional[bool] = None)[source]ΒΆ Bases:
object
Provides the interface which loads and updates the configuration (if needed).
Parameters: merge_upstream β Authorizes the merging of the upstream configuration.
Note
If value is set to
None
(default), we fallback to thePYFUNCEBLE_AUTO_CONFIGURATION
environment variable.-
_custom_config
= {}ΒΆ
-
_merge_upstream
= FalseΒΆ
-
custom_config
ΒΆ Provides the current state of the
_custom_config
attribute.
-
dict_helper
= <PyFunceble.helpers.dict.DictHelper object>ΒΆ
-
classmethod
download_dynamic_infrastructure_files
() → PyFunceble.config.loader.ConfigLoader[source]ΒΆ Downloads all the dynamicly (generated) infrastructure files.
Note
- Downloaded if missing:
- The IANA dump file.
- The Public Suffix dump file.
-
file_helper
= <PyFunceble.helpers.file.FileHelper object>ΒΆ
-
get_config_file_content
() → dict[source]ΒΆ Provides the content of the configuration file or the one already loaded.
-
get_configured_value
(entry: str) → Any[source]ΒΆ Provides the currently configured value.
Parameters: entry β
An entry to check.
multilevel should be separated with a point.
Raises: - RuntimeError β When the configuration is not loaded yet.
- ValueError β When the given
entry
is not found.
-
install_missing_infrastructure_files
() → PyFunceble.config.loader.ConfigLoader[source]ΒΆ Installs the missing files (when needed).
Note
- Installed if missing:
- The configuration file.
- The directory structure file.
-
merge_upstream
ΒΆ Provides the current state of the
_merge_upstream
attribute.
-
path_to_config
= NoneΒΆ
-
path_to_default_config
= NoneΒΆ
-
reload_config
()[source]ΒΆ Reload the configuration (if it was already loaded) after launching the decorated method.
-
set_custom_config
(value: dict) → PyFunceble.config.loader.ConfigLoader[source]ΒΆ Sets the custom configuration to set after loading.
- Side Effect:
- Directly inject into the configuration variables if it was already loaded.
-
Module contentsΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the configuration related submodules.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.converter packageΒΆ
SubmodulesΒΆ
PyFunceble.converter.adblock_input_line2subject moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the conversion of an AdBlock input line into testable subjests.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.converter.adblock_input_line2subject.
AdblockInputLine2Subject
(data_to_convert: Optional[Any] = None, aggressive: bool = False)[source]ΒΆ Bases:
PyFunceble.converter.base.ConverterBase
Converts/Extract the subjects to test from an inputed AdBlock line.
In order to decode the given line, this class and its conversion method will go though a brunch of decoding method.
-
OPTIONS_SEPARATOR
= '$'ΒΆ
-
OPTION_SEPARATOR
= ','ΒΆ
-
_AdblockInputLine2Subject__decode_v1
(line: str) → List[str]ΒΆ Our first decoding version.
The main idea is to filter based on option and a pattern common to all AdBlock / Ublock format.
Parameters: line β The line to decode.
-
_AdblockInputLine2Subject__decode_v2
(line: str) → List[str]ΒΆ Our second decoding version.
The main idea here is that we will match simple records.
Parameters: line β The line to decode.
-
_AdblockInputLine2Subject__decode_v3
(line: str) → List[str]ΒΆ Our third decoding version.
This one is for more complex formats (and Ublock).
Parameters: line β The line to decode.
-
_AdblockInputLine2Subject__decode_v4
(line: str) → List[str]ΒΆ Our fourth decoding version.
This is is for the one who are surrounded by #.
Parameters: line β The line to decode.
-
_AdblockInputLine2Subject__filter_options
(options: List[str]) → Union[bool, List[str]]ΒΆ Filters the interessting parts of the given list of options.
Parameters: options β The extracted options to filter. Warning
ThΓs method only works if the aggressive method is given.
-
classmethod
_AdblockInputLine2Subject__format_decoded
(decoded: str, *, result: Optional[List[str]] = None) → List[str]ΒΆ A recursive method which infinitly filter and format the decoded data in order to delete uneeded parts.
Parameters: decoded β The decoded part.
-
_aggressive
= FalseΒΆ
-
aggressive
ΒΆ Provides the state of the
_aggressive
attribute.
-
data_to_convert
ΒΆ Provides the current state of the
_data_to_convert
attribute.
-
classmethod
extract_base
(subject: Union[str, list]) → str[source]ΒΆ Extracts the base of the given element (supposed URL).
- As example:
- Giving
"hello.world/?is=beautiful"
returns"hello.world"
-
PyFunceble.converter.base moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our converter class.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.converter.input_line2subject moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the default input line converter.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.converter.input_line2subject.
InputLine2Subject
(data_to_convert: Optional[Any] = None)[source]ΒΆ Bases:
PyFunceble.converter.base.ConverterBase
Converts/Extract the subjcts to test from an inputed line.
-
COMMENT
= '#'ΒΆ
-
NSLOOKUP_SPACE
= '\\032'ΒΆ
-
SPACE
= ' 'ΒΆ
-
TAB
= '\t'ΒΆ
-
data_to_convert
ΒΆ Provides the current state of the
_data_to_convert
attribute.
-
PyFunceble.converter.internal_url moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides a way to convert our internal URL.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.converter.internal_url.
InternalUrlConverter
(data_to_convert: Optional[Any] = None)[source]ΒΆ Bases:
PyFunceble.converter.base.ConverterBase
Converter of the internal URLs.
Note
The internal URLs are actually the URL that has nothing to do with what we are going to test.
They are only relevant for the software itself.
-
data_to_convert
ΒΆ Provides the current state of the
_data_to_convert
attribute.
-
PyFunceble.converter.rpz_input_line2subject moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the conversion of the an RPZ input line into testable subjects.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.converter.rpz_input_line2subject.
RPZInputLine2Subject
(data_to_convert: Optional[Any] = None)[source]ΒΆ Bases:
PyFunceble.converter.input_line2subject.InputLine2Subject
Converts/Extracts the subject from the given RPZ inputline.
-
COMMENT
= [';', '//', '#']ΒΆ
-
SPECIAL
= ['$', '@']ΒΆ
-
PyFunceble.converter.rpz_policy2subject moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the conversion of the an RPZ POlicy into testable subjects.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.converter.rpz_policy2subject.
RPZPolicy2Subject
(data_to_convert: Optional[Any] = None, soas: Optional[List[str]] = None, soa: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.converter.rpz_input_line2subject.RPZInputLine2Subject
Converts/Extracts the subject from the given RPZ Policy into a subject.
-
CLEANUP_MARKERS
= ['.rpz-nsdname']ΒΆ
-
IP_MARKERS
= ['.rpz-client-ip', '.rpz-ip', '.rpz-nsip']ΒΆ
-
_soa
= NoneΒΆ
-
_soas
= []ΒΆ
-
classmethod
get_matching_cleanup_marker
(subject: str) → Optional[str][source]ΒΆ Checks if the given subject has a cleanup marker and provides it if found.
-
classmethod
get_matching_ip_marker
(subject: str) → Optional[str][source]ΒΆ Checks if the given subject has an IP marker and provides it if found.
-
classmethod
get_subject_from_ip_marker
(subject: str, marker: str) → str[source]ΒΆ Removes the ip marker and converts the IP into a testable subject.
-
static
remove_marker
(subject: str, marker: str) → str[source]ΒΆ Removes the given marker from the given subject.
-
set_soa
(value: str) → PyFunceble.converter.rpz_policy2subject.RPZPolicy2Subject[source]ΒΆ Sets the current SOA.
Parameters: value β The value to set.
-
set_soas
(value: List[str]) → PyFunceble.converter.rpz_policy2subject.RPZPolicy2Subject[source]ΒΆ Sets the current SOAs.
Parameters: value β The value to set.
-
soa
ΒΆ Provides the currently set SOA.
-
soas
ΒΆ Provides the currently set SOAs.
-
PyFunceble.converter.subject2complements moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an easy way to convert and get the complements of a subject.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.converter.subject2complements.
Subject2Complements
(data_to_convert: Optional[Any] = None, *, include_given: Optional[bool] = False)[source]ΒΆ Bases:
PyFunceble.converter.base.ConverterBase
Converts a given wildcard into a testable subject.
-
_include_given
= FalseΒΆ
-
data_to_convert
ΒΆ Provides the current state of the
_data_to_convert
attribute.
-
include_given
ΒΆ Provides the state of the
_include_given
attribute.
-
PyFunceble.converter.url2netloc moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides a way to convert/extract the network location of a given URL.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.converter.url2netloc.
Url2Netloc
(data_to_convert: Optional[Any] = None)[source]ΒΆ Bases:
PyFunceble.converter.base.ConverterBase
Provides the interface for the conversion/extration of the network location of a given URL.
-
data_to_convert
ΒΆ Provides the current state of the
_data_to_convert
attribute.
-
PyFunceble.converter.wildcard2subject moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an easy way to convert wildcard subject into a testable subject.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.converter.wildcard2subject.
Wildcard2Subject
(data_to_convert: Optional[Any] = None)[source]ΒΆ Bases:
PyFunceble.converter.base.ConverterBase
Converts a given wildcard into a testable subject.
-
WILDCARD
= '*.'ΒΆ
-
data_to_convert
ΒΆ Provides the current state of the
_data_to_convert
attribute.
-
Module contentsΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides all the converters.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.data packageΒΆ
SubpackagesΒΆ
Fix some columns
Revision ID: 35c79626ecb9 Revises: ade87195b0a0 Create Date: 2020-08-21 11:42:07.044762
Add continue table.
Revision ID: 3a4c55a9320d Revises: 3d6f4a33cdb2 Create Date: 2020-12-13 22:52:56.968513
Add inactive table.
Revision ID: 3d6f4a33cdb2 Revises: 7bcf7fa64ba1 Create Date: 2020-12-13 19:45:41.893657
Deletion uneeded columns from whois record
Revision ID: 45713fea8097 Revises: e04e8301d1a2 Create Date: 2020-12-07 12:36:04.818466
Add idna_subject column into whois record
Revision ID: 459a0d7b8f09 Revises: 45713fea8097 Create Date: 2020-12-07 12:37:52.018637
Rename created to created_at and modified_to_modified_at
Revision ID: 7bcf7fa64ba1 Revises: 83ada95132bf Create Date: 2020-12-08 17:34:59.349943
Delete the file table.
Revision ID: 83ada95132bf Revises: 459a0d7b8f09 Create Date: 2020-12-07 12:49:48.797794
Introduction of the session_id column
Revision ID: 95dc17ddd729 Revises: bef7bcaac3f2 Create Date: 2020-12-23 02:26:21.647125
Base
Revision ID: ade87195b0a0 Revises: Create Date: 2020-08-15 20:12:26.768419
Make id a bigint.
Revision ID: bef7bcaac3f2 Revises: 3a4c55a9320d Create Date: 2020-12-16 19:09:41.212679
Allow whois record to be empty/NULL
Revision ID: d8893cd406db Revises: 35c79626ecb9 Create Date: 2020-08-22 17:27:52.087506
Deletion of the mined table
Revision ID: e04e8301d1a2 Revises: d8893cd406db Create Date: 2020-12-07 12:33:43.650514
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the alembic migrations files.
- Author:
- Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- https://pyfunceble.github.io/special-thanks.html
- Contributors:
- https://pyfunceble.github.io/contributors.html
- Project link:
- https://github.com/funilrys/PyFunceble
- Project documentation:
- https://pyfunceble.readthedocs.io/en/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the alembic data.
- Author:
- Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- https://pyfunceble.github.io/special-thanks.html
- Contributors:
- https://pyfunceble.github.io/contributors.html
- Project link:
- https://github.com/funilrys/PyFunceble
- Project documentation:
- https://pyfunceble.readthedocs.io/en/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
Module contentsΒΆ
PyFunceble.database packageΒΆ
SubpackagesΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our credential holders.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.database.credential.base.
CredentialBase
(*, host: Optional[str] = None, port: Optional[int] = None, name: Optional[str] = None, username: Optional[str] = None, password: Optional[str] = None, charset: Optional[str] = None)[source]ΒΆ Bases:
object
Provides the base of all our credential holder.
-
DOTENV_LOCATIONS
= ['/home/docs/checkouts/readthedocs.org/user_builds/pyfunceble/checkouts/4.0.0-dev/docs/.pyfunceble-env', '/home/docs/./PyFunceble/.pyfunceble-env']ΒΆ Provides the location of the dotenv to work with.
Warning
The order is important. The last one in the list will be taken as default if everything else is not found in the filesystem.
-
STD_CHARSET
= 'utf8mb4'ΒΆ
-
STD_HOST
= 'localhost'ΒΆ
-
STD_NAME
= 'pyfunceble'ΒΆ
-
STD_PASSWORD
= 'PyFunceble:15_93le'ΒΆ
-
STD_PORT
= 3306ΒΆ
-
STD_USERNAME
= 'pyfunceble'ΒΆ
-
VAR2ENV
= {'charset': 'PYFUNCEBLE_DB_CHARSET', 'host': 'PYFUNCEBLE_DB_HOST', 'name': 'PYFUNCEBLE_DB_NAME', 'password': 'PYFUNCEBLE_DB_PASSWORD', 'port': 'PYFUNCEBLE_DB_PORT', 'username': 'PYFUNCEBLE_DB_USERNAME'}ΒΆ Maps our credential variable with environment variable.
-
_charset
= NoneΒΆ
-
_host
= NoneΒΆ
-
_name
= NoneΒΆ
-
_password
= NoneΒΆ
-
_port
= NoneΒΆ
-
_username
= NoneΒΆ
-
charset
ΒΆ Provides the current state of the
_charset
attribute.
-
ensure_protocol_is_given
()[source]ΒΆ Ensures that the protocol is given before launching the decorated method.
Raises: ValueError β When the protocol
is not given.
-
host
ΒΆ Provides the current state of the
_host
attribute.
-
name
ΒΆ Provides the current state of the
_name
attribute.
-
password
ΒΆ Provides the current state of the
_password
attribute.
-
port
ΒΆ Provides the current state of the
_port
attribute.
-
protocol
= NoneΒΆ
-
set_charset
(value: str) → PyFunceble.database.credential.base.CredentialBase[source]ΒΆ Sets the charset to use.
Parameters: value β The value to set.
-
set_host
(value: str) → PyFunceble.database.credential.base.CredentialBase[source]ΒΆ Sets the hosts to interact with.
Parameters: value β The value to set.
-
set_name
(value: str) → PyFunceble.database.credential.base.CredentialBase[source]ΒΆ Sets the name of the database to interact with.
Parameters: value β The value to set.
-
set_password
(value: str) → PyFunceble.database.credential.base.CredentialBase[source]ΒΆ Sets the password to use to authenticate ourselves.
Parameters: value β The value to set.
-
set_port
(value: int) → PyFunceble.database.credential.base.CredentialBase[source]ΒΆ Sets the port to interact with.
Parameters: value β The value to set.
-
set_username
(value: str) → PyFunceble.database.credential.base.CredentialBase[source]ΒΆ Sets the username to use to authenticate ourselves.
Parameters: value β The value to set.
-
username
ΒΆ Provides the current state of the
_username
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our mariadb credential holder.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.database.credential.mariadb.
MariaDBCredential
(*, host: Optional[str] = None, port: Optional[int] = None, name: Optional[str] = None, username: Optional[str] = None, password: Optional[str] = None, charset: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.database.credential.base.CredentialBase
Provides our MariaDB credential holder.
-
protocol
= 'mysql+pymysql'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our mysql credential holder.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.database.credential.mysql.
MySQLCredential
(*, host: Optional[str] = None, port: Optional[int] = None, name: Optional[str] = None, username: Optional[str] = None, password: Optional[str] = None, charset: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.database.credential.base.CredentialBase
Provides our MySQL credential holder.
-
protocol
= 'mysql+pymysql'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to our credential holders.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the schema of our βwhois_recordβ table.
- Author:
- Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- https://pyfunceble.github.io/special-thanks.html
- Contributors:
- https://pyfunceble.github.io/contributors.html
- Project link:
- https://github.com/funilrys/PyFunceble
- Project documentation:
- https://pyfunceble.readthedocs.io/en/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.database.schemas.autocontinue.
Continue
(**kwargs)[source]ΒΆ Bases:
sqlalchemy.ext.declarative.api.Base
Provides the schema of our continue table.
-
_sa_class_manager
= {'checker_type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'created_at': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'destination': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'idna_subject': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'modified_at': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'session_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'source': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'tested_at': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}ΒΆ
-
checker_type
ΒΆ
-
created_at
ΒΆ
-
destination
ΒΆ
-
id
ΒΆ
-
idna_subject
ΒΆ
-
modified_at
ΒΆ
-
session_id
ΒΆ
-
source
ΒΆ
-
tested_at
ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the schema of our βwhois_recordβ table.
- Author:
- Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- https://pyfunceble.github.io/special-thanks.html
- Contributors:
- https://pyfunceble.github.io/contributors.html
- Project link:
- https://github.com/funilrys/PyFunceble
- Project documentation:
- https://pyfunceble.readthedocs.io/en/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.database.schemas.inactive.
Inactive
(**kwargs)[source]ΒΆ Bases:
sqlalchemy.ext.declarative.api.Base
Provides the schema of our inactive table.
-
_sa_class_manager
= {'checker_type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'created_at': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'destination': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'idna_subject': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'modified_at': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'source': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'tested_at': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}ΒΆ
-
checker_type
ΒΆ
-
created_at
ΒΆ
-
destination
ΒΆ
-
id
ΒΆ
-
idna_subject
ΒΆ
-
modified_at
ΒΆ
-
source
ΒΆ
-
tested_at
ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the schema of our βstatusβ table.
- Author:
- Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- https://pyfunceble.github.io/special-thanks.html
- Contributors:
- https://pyfunceble.github.io/contributors.html
- Project link:
- https://github.com/funilrys/PyFunceble
- Project documentation:
- https://pyfunceble.readthedocs.io/en/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.database.schemas.status.
Status
(**kwargs)[source]ΒΆ Bases:
sqlalchemy.ext.declarative.api.Base
Provides the schema our status table.
-
_sa_class_manager
= {'_status': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, '_status_source': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'created_at': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'domain_syntax_validation': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'expiration_date': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'file_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'http_status_code': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'ipv4_range_syntax_validation': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'ipv4_syntax_validation': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'ipv6_range_syntax_validation': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'ipv6_syntax_validation': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'is_complement': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'modified_at': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'status': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'status_source': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'subdomain_syntax_validation': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'test_completed': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'tested': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'tested_at': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'url_syntax_validation': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}ΒΆ
-
_status
ΒΆ
-
_status_source
ΒΆ
-
created_at
ΒΆ
-
domain_syntax_validation
ΒΆ
-
expiration_date
ΒΆ
-
file_id
ΒΆ
-
http_status_code
ΒΆ
-
id
ΒΆ
-
ipv4_range_syntax_validation
ΒΆ
-
ipv4_syntax_validation
ΒΆ
-
ipv6_range_syntax_validation
ΒΆ
-
ipv6_syntax_validation
ΒΆ
-
is_complement
ΒΆ
-
modified_at
ΒΆ
-
status
ΒΆ
-
status_source
ΒΆ
-
subdomain_syntax_validation
ΒΆ
-
test_completed
ΒΆ
-
tested
ΒΆ
-
tested_at
ΒΆ
-
url_syntax_validation
ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the schema of our βwhois_recordβ table.
- Author:
- Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- https://pyfunceble.github.io/special-thanks.html
- Contributors:
- https://pyfunceble.github.io/contributors.html
- Project link:
- https://github.com/funilrys/PyFunceble
- Project documentation:
- https://pyfunceble.readthedocs.io/en/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.database.schemas.whois_record.
WhoisRecord
(**kwargs)[source]ΒΆ Bases:
sqlalchemy.ext.declarative.api.Base
Provides the schema of our whois_record table.
-
_sa_class_manager
= {'created_at': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'epoch': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'expiration_date': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'idna_subject': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'modified_at': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'subject': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}ΒΆ
-
created_at
ΒΆ
-
epoch
ΒΆ
-
expiration_date
ΒΆ
-
id
ΒΆ
-
idna_subject
ΒΆ
-
modified_at
ΒΆ
-
subject
ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides all our schemas in one place!
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides all our schemas.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our schemas.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.database.sqlalchemy.base_schema.
OurSchemaBase
[source]ΒΆ Bases:
object
Provides the base of all our schema.
-
created_at
= Column(None, DateTime(), table=None, nullable=False, default=ColumnDefault(<function datetime.utcnow>))ΒΆ
-
id
= Column(None, BigInteger(), table=None, primary_key=True, nullable=False)ΒΆ
-
modified_at
= Column(None, DateTime(), table=None, onupdate=ColumnDefault(<function datetime.utcnow>), default=ColumnDefault(<function datetime.utcnow>))ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to everything we do with SQLAlchemy.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
SubmodulesΒΆ
PyFunceble.database.session moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our database session interface.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.database.session.
DBSession
[source]ΒΆ Bases:
object
Provides our very own database session interface and handler.
Provides the authorization to operate.
-
credential
= NoneΒΆ
-
current_session
= NoneΒΆ
-
ensure_credential_is_given
()[source]ΒΆ Ensures that a credential object is set before launching the decorated method.
Raises: TypeError β When credential
is not correct.
Executes the decorated method only if we are authorized to process. Otherwise, apply the given
default
.
-
get_new_pool_session
() → sqlalchemy.orm.session.sessionmaker[source]ΒΆ Create and return a new session.
-
get_new_session
() → sqlalchemy.orm.session.sessionmaker[source]ΒΆ Creates and returns a new session.
Warning
This method generate a new session without any pool of connections.
Module contentsΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to the structure and connection with external databases.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.dataset packageΒΆ
SubpackagesΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of everything related to the continue 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.autocontinue.base.
ContinueDatasetBase
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.dataset.db_base.DBDatasetBase
Provides the base of all continue related interface.
-
COMPARISON_FIELDS
= ['idna_subject', 'checker_type', 'destination', 'source', 'session_id']ΒΆ
-
FIELDS
= ['idna_subject', 'checker_type', 'destination', 'source', 'tested_at', 'session_id']ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the interface for the 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.autocontinue.csv.
CSVContinueDataset
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None, base_directory: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.dataset.csv_base.CSVDatasetBase
,PyFunceble.dataset.autocontinue.base.ContinueDatasetBase
Provides the interface for the management of the continue CSV file.
-
_base_directory
= NoneΒΆ
-
base_directory
ΒΆ Provides the current state of the
_base_directory
attribute.
-
cleanup
() → PyFunceble.dataset.autocontinue.csv.CSVContinueDataset[source]ΒΆ Deletes the source file (completely).
-
set_base_directory
(value: str) → PyFunceble.dataset.autocontinue.csv.CSVContinueDataset[source]ΒΆ Sets the given base directory.
Parameters: value β The value to set.
-
source_file
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the interface for the MariaDB 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.autocontinue.mariadb.
MariaDBContinueDataset
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None, keep_db_session_open: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.dataset.mariadb_base.MariaDBDatasetBase
,PyFunceble.dataset.autocontinue.base.ContinueDatasetBase
Provides the interface for the management and the Continue dataset unser mariadb.
-
ORM_OBJ
ΒΆ
-
cleanup
(*, session_id: str) → PyFunceble.dataset.autocontinue.mariadb.MariaDBContinueDataset[source]ΒΆ Cleanups the dataset. Meaning that we delete every entries which are needed anymore.
Parameters: - source β The source to delete.
- destination β The destination to delete.
- checker_type β The checker type to delete.
- session_id β The session ID to cleanup.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the interface for the continue MySQL 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.autocontinue.mysql.
MySQLContinueDataset
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None, keep_db_session_open: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.dataset.autocontinue.mariadb.MariaDBContinueDataset
Provides the interface for the management and the Continue dataset under mysql.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to the continue 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all Inactive 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.inactive.base.
InactiveDatasetBase
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.dataset.db_base.DBDatasetBase
Provides the base of all inactive related interface.
-
COMPARISON_FIELDS
= ['idna_subject', 'checker_type', 'destination', 'source']ΒΆ
-
FIELDS
= ['idna_subject', 'checker_type', 'destination', 'source', 'tested_at']ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the interface for the inactive 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.inactive.csv.
CSVInactiveDataset
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.dataset.csv_base.CSVDatasetBase
,PyFunceble.dataset.inactive.base.InactiveDatasetBase
Provides the interface for the management of the inactive CSV file.
-
get_to_retest
(source: str, checker_type: str, *, min_days: Optional[int]) → Generator[Tuple[str, str, Optional[int]], dict, None][source]ΒΆ Provides the next row to restest.
-
source_file
= '/home/docs/./PyFunceble/inactive.csv'ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the interface for the inactive DB (mariadb) 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.inactive.mariadb.
MariaDBInactiveDataset
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None, keep_db_session_open: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.dataset.mariadb_base.MariaDBDatasetBase
,PyFunceble.dataset.inactive.base.InactiveDatasetBase
Provides tht interface for the management and the WHOIS dataset under mariadb.
-
ORM_OBJ
ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the interface for the inactive DB (mysql) 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.inactive.mysql.
MySQLInactiveDataset
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None, keep_db_session_open: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.dataset.inactive.mariadb.MariaDBInactiveDataset
Provides tht interface for the management and the WHOIS dataset under mysql.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to the inactive 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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']ΒΆ
-
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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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`.
-
source_file
= '/home/docs/./PyFunceble/whois.csv'ΒΆ
-
update
(row: dict) → 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.I
- ..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`.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the interface for the WHOIS DB (mariadb) 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.mariadb.
MariaDBWhoisDataset
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None, keep_db_session_open: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.dataset.mariadb_base.MariaDBDatasetBase
,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.mariadb.MariaDBWhoisDataset[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]) → PyFunceble.dataset.whois.mariadb.MariaDBWhoisDataset[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`.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the interface for the WHOIS DB (mysql) 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.mysql.
MySQLWhoisDataset
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None, keep_db_session_open: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.dataset.whois.mariadb.MariaDBWhoisDataset
Provides the interface for the management of the WHOIS database under mysql.
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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
SubmodulesΒΆ
PyFunceble.dataset.base moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all datasets classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.base.
DatasetBase
[source]ΒΆ Bases:
object
Provides the base of all dataset.
-
DOWNLOADER
= NoneΒΆ
-
STORAGE_INDEX
= NoneΒΆ
-
ensure_source_file_exists
()[source]ΒΆ Ensures that the source file exists before running the decorated method.
Raises: - TypeError β When
self.source_file
is not astr
. - ValueError β When
self.source_file
is empty.
- TypeError β When
-
get_content
() → Optional[dict][source]ΒΆ Provides the cached or the real contend of the dataset (after caching)
Raises: FileNotFoundError β When the declared file does not exists.
-
source_file
= NoneΒΆ
-
PyFunceble.dataset.csv_base moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all CSV storeed datasets.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.csv_base.
CSVDatasetBase
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.dataset.db_base.DBDatasetBase
Provides the base of all CSV dataset.
-
add
(row: dict) → PyFunceble.dataset.csv_base.CSVDatasetBase[source]ΒΆ Adds the given dataset into the CSV file.
Parameters: row β The row or dataset to add. Raises: TypeError β When the given row
is not a :py:class`dict`.
-
are_equal
(read_row: dict, row: dict) → bool[source]ΒΆ Compares the given
read_row
to the row.Parameters: - read_row β The row read from the dataset infrastructure.
- row β The row given by the testing infrastructure.
-
exists
(row: dict) → bool[source]ΒΆ Checks if the given dataset exists in our dataset.
Parameters: row β The row or dataset to check.
-
get_content
() → Generator[Optional[dict], None, None][source]ΒΆ Provides a generator which provides the next line to read.
-
get_csv_writer
() → Tuple[csv.DictWriter, io.open][source]ΒΆ Provides the standard and initiated CSV Dict writer along with the file that was open with it.
-
get_filtered_content
(filter_map: dict) → Generator[Optional[dict], None, None][source]ΒΆ Provides a generator which provides the next line to read.
Parameters: filter_map β A dictionary representing what we need to filter. Raises: TypeError β When the given filter_map
is not adict
.
-
PyFunceble.dataset.db_base moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all datasets which acts as database interface.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.db_base.
DBDatasetBase
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.dataset.base.DatasetBase
Provides the base of all datasets which acts as database interface.
-
COMPARISON_FIELDS
= []ΒΆ
-
FIELDS
= []ΒΆ
-
STD_AUTHORIZED
= FalseΒΆ
-
STD_REMOVE_UNNEEDED_FIELDS
= TrueΒΆ
-
_remove_unneeded_fields
= TrueΒΆ
-
add
(row: dict) → PyFunceble.dataset.db_base.DBDatasetBase[source]ΒΆ Adds the given dataset into the database.
Parameters: row β The row or dataset to add. Raises: TypeError β When the given row
is not a :py:class`dict`.
-
are_equal
(read_row: dict, row: dict) → bool[source]ΒΆ Compares the given
read_row
to the row.Parameters: - read_row β The row read from the dataset infrastructure.
- row β The row given by the testing infrastructure.
Provides the current state of the
_authorized
attribute.
Executes the decorated method only if we are authorized to process. Otherwise, apply the given
default
.
-
exists
(row: dict) → bool[source]ΒΆ Checks if the given dataset exists in our dataset.
Parameters: row β The row or dataset to add.
-
get_content
() → Generator[Optional[dict], None, None][source]ΒΆ Provides a generator which provides the next line to read.
-
get_filtered_content
(filter_map: dict) → Generator[Optional[dict], None, None][source]ΒΆ Provides a generator which provides the next dataset. to read.
Parameters: filter_map β A dictionary representing what we need to filter. Raises: TypeError β When the given filter_map
is not adict
.
-
get_filtered_row
(row: dict) → dict[source]ΒΆ Removes all unkowns fields (not declared) from the given row.
Parameters: row β The row to work with.
-
remove
(row: dict) → PyFunceble.dataset.db_base.DBDatasetBase[source]ΒΆ Removes the given dataset from the database.
Parameters: row β The row or dataset to remove. Raises: TypeError β When the given row
is not a :py:class`dict`.
-
remove_unneeded_fields
ΒΆ Provides the current state of the
_remove_unneeded_fields
.
Sets the value of the
_authorized
attribute.Parameters: value β The value to set.
-
set_remove_unneeded_fields
(value: bool) → PyFunceble.dataset.db_base.DBDatasetBase[source]ΒΆ Sets the value of the
_remove_unneeded_fields
attribute.Parameters: value β The value to set.
-
source_file
= NoneΒΆ
-
PyFunceble.dataset.iana moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an interface which let us interact with the IANA database.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.iana.
IanaDataset
[source]ΒΆ Bases:
PyFunceble.dataset.base.DatasetBase
Provides the dataset handler for the IANA dataset.
-
DOWNLOADER
= <PyFunceble.downloader.iana.IANADownloader object>ΒΆ
-
STORAGE_INDEX
= 'IANA'ΒΆ
-
PyFunceble.dataset.ipv4_reputation moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an interface which let us interact with the IPv4 reputation database.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.ipv4_reputation.
IPV4ReputationDataset
[source]ΒΆ Bases:
PyFunceble.dataset.base.DatasetBase
Provides the interface for the lookup of the IPv4 reputation.
-
DOWNLOADER
= <PyFunceble.downloader.ipv4_reputation.IPV4ReputationDownloader object>ΒΆ
-
STORAGE_INDEX
= NoneΒΆ
-
get_content
() → io.open[source]ΒΆ Provides a file handler which does let you read the content line by line.
Raises: FileNotFoundError β When the declared file does not exists.
-
PyFunceble.dataset.mariadb_base moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all Mariadb stored datasets.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.mariadb_base.
MariaDBDatasetBase
(*, authorized: Optional[bool] = None, remove_unneeded_fields: Optional[bool] = None, keep_db_session_open: Optional[bool] = None)[source]ΒΆ Bases:
PyFunceble.dataset.db_base.DBDatasetBase
Provides the base of all MariaDB stored dataset.
-
ORM_OBJ
= NoneΒΆ
-
STD_KEEP_SESSION_OPEN
= FalseΒΆ
-
_keep_db_session_open
= NoneΒΆ
-
add
(row: Union[dict, sqlalchemy.ext.declarative.api.DeclarativeMeta]) → PyFunceble.dataset.mariadb_base.MariaDBDatasetBase[source]ΒΆ Adds the given dataset into the database.
Parameters: row β The row or dataset to add. Raises: TypeError β When the given row
is not adict
orPyFunceble.database.sqlalchemy.base_schema.DeclarativeMeta
-
db_session
= NoneΒΆ
-
ensure_orm_obj_is_given
()[source]ΒΆ Ensures that the ORM object is given before launching the decorated method.
Raises: RuntimeError β When ORM_OBJ
is not declared.
-
exists
(row: Union[dict, sqlalchemy.ext.declarative.api.DeclarativeMeta]) → bool[source]ΒΆ Checks if the given dataset exists in our dataset.
Parameters: row β The row or dataset to check. Raises: TypeError β When the given row
is not adict
orPyFunceble.database.sqlalchemy.base_schema.DeclarativeMeta
-
get_content
() → Generator[dict, None, None][source]ΒΆ Provides a generator which provides the next dataset to read.
-
get_existing_row
(row: Union[dict, sqlalchemy.ext.declarative.api.DeclarativeMeta]) → Optional[sqlalchemy.ext.declarative.api.DeclarativeMeta][source]ΒΆ Check if the given
row
exists. And return the matiching dataset.Parameters: row β The row or dataset to check,
-
keep_db_session_open
ΒΆ Provides the current valur of the
_keep_db_session_open
attribute.
-
remove
(row: Union[dict, sqlalchemy.ext.declarative.api.DeclarativeMeta]) → PyFunceble.dataset.mariadb_base.MariaDBDatasetBase[source]ΒΆ Removes the given dataset from the database.
Parameters: row β The row or dataset to check. Raises: TypeError β When the given row
is not adict
orPyFunceble.database.sqlalchemy.base_schema.DeclarativeMeta
-
set_keep_db_session_open
(value: bool) → PyFunceble.dataset.mariadb_base.MariaDBDatasetBase[source]ΒΆ Sets the value of the
_keep_db_session_open
attribute.Parameters: value β The value to set.
-
update
(row: Union[dict, sqlalchemy.ext.declarative.api.DeclarativeMeta]) → PyFunceble.dataset.mariadb_base.MariaDBDatasetBase[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.
Raises: TypeError β When the given row
is not adict
orPyFunceble.database.sqlalchemy.base_schema.DeclarativeMeta
-
PyFunceble.dataset.public_suffix moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an interface which let us interact with the Public Suffix List.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.public_suffix.
PublicSuffixDataset
[source]ΒΆ Bases:
PyFunceble.dataset.base.DatasetBase
Provides the dataset handler for the Public Suffix List dataset.
-
DOWNLOADER
= <PyFunceble.downloader.public_suffix.PublicSuffixDownloader object>ΒΆ
-
STORAGE_INDEX
= 'PUBLIC_SUFFIX'ΒΆ
-
PyFunceble.dataset.user_agent moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an interface which let us interact with the Public Suffix List.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.user_agent.
UserAgentDataset
[source]ΒΆ Bases:
PyFunceble.dataset.base.DatasetBase
Provides the dataset and infrastructure for the User Agent navigation
-
DOWNLOADER
= <PyFunceble.downloader.user_agents.UserAgentsDownloader object>ΒΆ
-
STORAGE_INDEX
= 'USER_AGENTS'ΒΆ
-
get_latest
() → str[source]ΒΆ Provides the latest user agent for the given platform.
- Side Effect:
- It tries to get the platform and browser from the configuration (if exists).
-
is_supported
(browser_short_name: str, platform: str) → bool[source]ΒΆ Checks if the given browser and platform is supported.
Parameters: - browser_short_name β The short name of the browser.
- platform β The platform name.
Raises: TypeError β When
browser_short_name
orplatform
are notstr
.
-
is_supported_browser
(browser_short_name: str) → bool[source]ΒΆ Checks if the given browser is supported.
Raises: TypeError β When browser_short_name
is not astr
.
-
prefered_browser
= 'chrome'ΒΆ
-
prefered_platform
= 'linux'ΒΆ
-
set_prefered
(browser_short_name: str, platform: str) → PyFunceble.dataset.user_agent.UserAgentDataset[source]ΒΆ Sets the prefered browser to work with.
Parameters: browser_short_name β The name of the browser to select.
Pram platform: The name of the platform to select.
Raises: - TypeError β When the given
name
is not astr
. - ValueError β When the given
value
is not supported.
- TypeError β When the given
-
Module contentsΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides all the dataset interaction submodules
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.downloader packageΒΆ
SubmodulesΒΆ
PyFunceble.downloader.base moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our downloader.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.downloader.base.
DownloaderBase
[source]ΒΆ Bases:
object
Provides the base of all downloader classes.
The interface is actually simple, but the part which may be hard to understand is the βdowntimeβ part. What we do, is that we save the download time inside a JSON file, so this class provides the base around the download mechanism but also the generation or update of that JSON file.
-
DOWNLOAD_FREQUENCY
= 1ΒΆ The download frequency (in day).
- Example:
- if 1 is given, itβs once every 24 hours.
Warning
A frequency of
0
or a negative number will force the download every hour.
-
DOWNTIME_INDEX
= NoneΒΆ Used to set/track the download time of the current file.
-
_destination
= NoneΒΆ
-
_download_link
= NoneΒΆ
-
all_downtimes
= {'iana': {'iso': '2021-01-05T21:32:56.971976', 'timestamp': 1609882376.971976}, 'user_agents': {'iso': '2021-01-05T21:32:46.537955', 'timestamp': 1609882366.537955}}ΒΆ Stores the download time of all files (self managed).
Provides the authorization to start the download.
-
destination
ΒΆ Provides the current state of the
_destination
attribute.
-
dict_helper
= <PyFunceble.helpers.dict.DictHelper object>ΒΆ
-
download_link
ΒΆ Provides the current state of the
_download_link
attribute.
-
is_last_download_exipired
() → bool[source]ΒΆ Checks if the last downloaded file is exipred (if exists).
-
set_current_downtime
() → PyFunceble.downloader.base.DownloaderBase[source]ΒΆ Sets the current datetime into our registry.
-
set_destination
(value: str) → PyFunceble.downloader.base.DownloaderBase[source]ΒΆ Sets the destination.
Parameters: value β The value to set.
-
PyFunceble.downloader.exceptions moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the exceptions related to the downloader.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
exception
PyFunceble.downloader.exceptions.
NoDownloadDestinationGiven
[source]ΒΆ Bases:
PyFunceble.downloader.exceptions.PyFuncebleDownloaderException
Describes the fact that the download destination was not declared.
-
exception
PyFunceble.downloader.exceptions.
NoDownloadLinkGiven
[source]ΒΆ Bases:
PyFunceble.downloader.exceptions.PyFuncebleDownloaderException
Describes the fact that no download link was declared.
-
exception
PyFunceble.downloader.exceptions.
PyFuncebleDownloaderException
[source]ΒΆ Bases:
PyFunceble.exceptions.PyFuncebleException
Describes the downloader (related) exceptions.
PyFunceble.downloader.iana moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the downloader of the latest iana database file.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.downloader.iana.
IANADownloader
[source]ΒΆ Bases:
PyFunceble.downloader.base.DownloaderBase
Provides the downloader of our iana file.
-
DOWNLOAD_FREQUENCY
= 1ΒΆ
-
DOWNTIME_INDEX
= 'iana'ΒΆ
Provides the authorization to start the download.
-
PyFunceble.downloader.ipv4_reputation moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the downloader of the latest user agents database file.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.downloader.ipv4_reputation.
IPV4ReputationDownloader
[source]ΒΆ Bases:
PyFunceble.downloader.base.DownloaderBase
Provides the downloader of our user agent file.
-
DOWNLOAD_FREQUENCY
= 1ΒΆ
-
DOWNTIME_INDEX
= 'ipv4_reputation'ΒΆ
Provides the authorization to start the download.
-
PyFunceble.downloader.public_suffix moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the downloader of the latest iana database file.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.downloader.public_suffix.
PublicSuffixDownloader
[source]ΒΆ Bases:
PyFunceble.downloader.base.DownloaderBase
Provides the downloader of our public suffix file.
-
DOWNLOAD_FREQUENCY
= 1ΒΆ
-
DOWNTIME_INDEX
= 'psl'ΒΆ
Provides the authorization to start the download.
-
PyFunceble.downloader.user_agents moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the downloader of the latest user agents database file.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.downloader.user_agents.
UserAgentsDownloader
[source]ΒΆ Bases:
PyFunceble.downloader.base.DownloaderBase
Provides the downloader of our user agent file.
-
DOWNLOAD_FREQUENCY
= 1ΒΆ
-
DOWNTIME_INDEX
= 'user_agents'ΒΆ
Provides the authorization to start the download.
-
Module contentsΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides all downloaders.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.helpers packageΒΆ
SubmodulesΒΆ
PyFunceble.helpers.command moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the command helpers. This helpers let us run Shell commands.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.helpers.command.
CommandHelper
(command: Union[str, list, None] = None, *, encoding: Optional[str] = None)[source]ΒΆ Bases:
object
Shell command execution.
Parameters: -
_command
= NoneΒΆ
-
_decode_output
(to_decode: bytes) → str[source]ΒΆ Decode the output of a shell command in order to be readable.
Parameters: to_decode (bytes) β Output of a command to decode. Returns: The decoded output. Return type: str
-
_encoding
= 'utf-8'ΒΆ
-
command
ΒΆ Provides the current state of the
_command
attribute.
-
encoding
ΒΆ Provides the current state of the
_encoding
attribute.
-
execute
(*, raise_on_error: bool = False) → str[source]ΒΆ Execute the given command.
Parma raise_on_error: Raises on error if set to True
.Returns: The output of the command. Raises: RuntimeError β When the exit code is not equal to 0.
-
run
(rstrip: bool = True) → Generator[str, None, None][source]ΒΆ Run the given command and yield each line(s) one by one.
Note
The difference between this method and
execute()
is thatexecute()
wait for the process to end in order to return its output while this method return each line one by one - as they are outputed.Parameters: rstrip (bool) β Deactivates the rstrip of the output.
-
PyFunceble.helpers.dict moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the dict helpers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.helpers.dict.
DictHelper
(subject: Union[Any, dict, None] = None)[source]ΒΆ Bases:
object
Simplify some
dict
manipulation.Parameters: main (dict) β The main dict
to work with.Raises: TypeError β When main
is not a dict nor a list (tolarated).-
_subject
= NoneΒΆ
-
flatten
(*, separator: str = '.', previous: Optional[str] = None, data: Optional[Any] = None) → dict[source]ΒΆ Flatten the current dictionnary.
Parameters: - separator β The separator to apply.
- previous β The previous key we are working with.
- data β The data to work with. If not given, we fallback to
self.subject
.
-
static
from_json
(json_str: str, return_dict_on_error: bool = True) → Union[List[Any], dict, None][source]ΒΆ Converts a given JSON string to dict/list.
Parameters: - json_str β The JSON string ot convert.
- return_dict_on_error β Returns a
dict
instead of aNone
.
-
static
from_json_file
(file_path: str, encoding: str = 'utf-8', return_dict_on_error: bool = True) → Union[List[Any], dict, None][source]ΒΆ Reads the given file path and convert itβs content to dict/list (tolarated).
Parameters: - file_path β The file path.
- return_dict_on_error β Return a dict instead of a NoneType.
Parma encoding: The encoding to use.
-
static
from_yaml
(yaml_str) → Union[List[Any], dict][source]ΒΆ Converts the given YAML string to dict/list.
Parameters: yaml_str (str) β The YAML string to convert.
-
static
from_yaml_file
(file_path: str, encoding: str = 'utf-8') → Union[List[Any], dict][source]ΒΆ Converts a given YAML formatted file, into dict/list.
Parameters: - file_path β The file path.
- encoding β The encoding to use.
-
has_same_keys_as
(to_check: dict, loop: bool = False) → bool[source]ΒΆ Checks if keys are presents in both given
dict
.Parameters: - to_check β The dict to compare with.
- loop β DO NOT USE, only used to tell us wen to return the list of dataset or the final result.
-
remove_key
(key_to_remove: Union[str, List[str]]) → Union[Any, dict, None][source]ΒΆ Remove a given key from a given dictionary.
Parameters: key_to_remove β The key(s) to delete. Returns: The dict without the given key(s).
-
rename_key
(key_to_rename: dict, strict: bool = True) → dict[source]ΒΆ Rename the given keys from the given dictionary.
Parameters: - key_to_rename β
The key(s) to rename.
Expected format:
{old:new}
- strict β Tell us if we have to rename the exact index or the index which looks like the given key(s)
Returns: The well formatted dict.
- key_to_rename β
-
set_subject
(value: Any) → PyFunceble.helpers.dict.DictHelper[source]ΒΆ Sets the subject to work with.
Parameters: value β The value to set.
-
subject
ΒΆ Provides the current state of the
_subject
attribute.
-
to_json
(ensure_ascii: bool = False, indent: int = 4, sort_keys: bool = True, own_class: Optional[json.encoder.JSONEncoder] = None) → str[source]ΒΆ Converts a given dict to JSON and return the json string.
Parameters: - ensure_ascii β Avoids unicode.
- indent β The indentation to apply.
- sort_keys β Sort the keys.
- own_class β A class to use for the conversion to json.
-
to_json_file
(file_path: str, ensure_ascii: bool = False, indent: int = 4, sort_keys: bool = True, encoding: str = 'utf-8', own_class: Optional[json.encoder.JSONEncoder] = None) → None[source]ΒΆ Converts the given
dict
to JSON and save the result into a given file path.Parameters: - file_path β The file path.
- ensure_ascii β Avoids unicode.
- indent β The indentation to apply.
- sortkeys β Sorts the keys.
- encoding β The encoding to apply.
- own_class β A class to use for the conversion to json.
-
to_yaml
(encoding: str = 'utf-8', default_flow_style: bool = False, indent: int = 4, allow_unicode: bool = True, sort_keys: bool = True) → str[source]ΒΆ Converts the given dict/list to the YAML format and return the result.
Parameters: Return type: dict|list
-
to_yaml_file
(file_path: str, encoding: str = 'utf-8', default_flow_style: bool = False, indent: int = 4, allow_unicode: bool = True, sort_keys: bool = True) → None[source]ΒΆ Converts the given dict/list to YAML and save the result into a file.
Parameters: - file_path β The file path.
- encoding β The encoding.
- default_flow_style β Uses the default flow style.
- indent β The indentation to apply.
- allow_unicode β Allows the decoding of unicode chars.
- sort_keys β Sorts the keys.
-
PyFunceble.helpers.directory moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the directory helpers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.helpers.directory.
DirectoryHelper
(path: Optional[str] = None)[source]ΒΆ Bases:
object
Simplify the directories manipulation.
:param str dir_path the path to work with.
-
_path
= NoneΒΆ
-
create
() → PyFunceble.helpers.directory.DirectoryHelper[source]ΒΆ Creates the given directory path.
Returns: The output of self.exists
after the directory creation.
-
delete
() → PyFunceble.helpers.directory.DirectoryHelper[source]ΒΆ Deletes the given directory path.
Returns: not self.exists
after the directory deletion.
-
static
get_current
(*, with_end_sep: bool = False) → str[source]ΒΆ Returns the current directory path.
Parameters: with_end_sep (bool) β Add a directory separator at the end.
-
list_all_subdirectories
() → List[str][source]ΒΆ Provides the list of all subdirectories of the current path.
-
path
ΒΆ Provides the current state of the
_path
attribute.
-
realpath
ΒΆ Returns the real path of the current path.
-
PyFunceble.helpers.download moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the download helpers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.helpers.download.
DownloadHelper
(url: Optional[str] = None, *, certificate_validation: bool = True, retries: int = 3)[source]ΒΆ Bases:
object
Simplification of the downloads.
Parameters: -
_certificate_validation
= TrueΒΆ
-
_retries
= 3ΒΆ
-
_url
= NoneΒΆ
-
certificate_validation
ΒΆ Provides the current state of the
certificate_validation
attribute.
-
download_text
(*, destination: Optional[str] = None) → str[source]ΒΆ Download the body of the set url.
Note
if
destination
is set toNone
, we only return the output.Otherwise, we save the output into the given destination, but we also return the output.
Parameters: destination β The download destination. Raises: UnableToDownload β When could not unable to donwload the URL.
-
retries
ΒΆ Provides the current state of the
_retries
attributes.
-
set_certificate_validation
(value: bool) → PyFunceble.helpers.download.DownloadHelper[source]ΒΆ Sets the value of the certificate validation.
Parameters: value β The value to set.
-
set_retries
(value: int) → PyFunceble.helpers.download.DownloadHelper[source]ΒΆ Sets the number of retries we are allowed to perform before raising an exception.
Parameters: value β The number of retry to apply.i
-
set_url
(value: str) → PyFunceble.helpers.download.DownloadHelper[source]ΒΆ Sets the url to work with.
Parameters: value β The URL to set.
-
url
ΒΆ Provides the current state of the
_url
attribute.
-
PyFunceble.helpers.environment_variable moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the environment variable helpers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.helpers.environment_variable.
EnvironmentVariableHelper
(name: Optional[str] = None, env_file_path: Optional[str] = None)[source]ΒΆ Bases:
object
Simplify the way we work with environment variable.
Parameters: name (str) β The name of the environment variable to work with. -
_env_file_path
= NoneΒΆ
-
_name
= NoneΒΆ
-
delete
() → PyFunceble.helpers.environment_variable.EnvironmentVariableHelper[source]ΒΆ Deletes the given environment variable if exists.
-
delete_from_env_file
() → PyFunceble.helpers.environment_variable.EnvironmentVariableHelper[source]ΒΆ Deletes the given environment file from the given dotenv file.
-
env_file_path
ΒΆ Provides the current state of the
_env_file_path
attribute.
-
get_value
(*, default: Optional[Any] = None) → Union[Any, str][source]ΒΆ Returns the value of the given environment variable name (if exists.)
Parameters: default β The default value to return.
-
get_value_from_env_file
(*, default: Optional[Any] = None) → Union[Any, str][source]ΒΆ Returns the value of the given environment variable if it exists in the given file path.
-
name
ΒΆ Provides the current state of the
_name
attribute.
-
set_env_file_path
(value: str) → PyFunceble.helpers.environment_variable.EnvironmentVariableHelper[source]ΒΆ Sets the location of the environment file to work with.
Parameters: value β The name to set.
-
set_name
(value: str) → PyFunceble.helpers.environment_variable.EnvironmentVariableHelper[source]ΒΆ Sets the name of the environment variable to work with.
Parameters: value β The name to set.
-
PyFunceble.helpers.exceptions moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the exceptions related to the helpers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
exception
PyFunceble.helpers.exceptions.
PyFuncebleHelperException
[source]ΒΆ Bases:
PyFunceble.exceptions.PyFuncebleException
Describes the helper (related) exceptions.
-
exception
PyFunceble.helpers.exceptions.
UnableToDownload
[source]ΒΆ Bases:
PyFunceble.helpers.exceptions.PyFuncebleHelperException
Describes a failing download.
PyFunceble.helpers.file moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the file helpers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.helpers.file.
FileHelper
(path: Optional[str] = None)[source]ΒΆ Bases:
object
Simplify the file manipulations.
Parameters: path (str) β The file path to work with. -
_path
= NoneΒΆ
-
copy
(destination: str) → PyFunceble.helpers.file.FileHelper[source]ΒΆ Copy the globaly given file path to the given destination.
Parameters: destination (str) β The destination of the copy.
-
move
(destination) → PyFunceble.helpers.file.FileHelper[source]ΒΆ Move the globally given file path to the given destination.
Parameters: destination (str) β The destination of the file.
-
path
ΒΆ Provides the current state of the
_path
attribute.
-
read
(*, encoding: str = 'utf-8') → Optional[str][source]ΒΆ Read the given file path and return itβs content.
Parameters: encoding (str) β The encoding to use.
-
PyFunceble.helpers.hash moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the hashing helpers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.helpers.hash.
HashHelper
(algo: Optional[str] = None)[source]ΒΆ Bases:
object
Simplify the hashing of data or file content.
Parameters: algo (str) β The algorithm to use for hashing. Raises: ValueError β When the given algo is not known. -
_HashHelper__get_hash
() → cryptography.hazmat.primitives.hashes.HashΒΆ Provides the Hash to use.
-
_algo
= 'SHA512_224'ΒΆ
-
algo
ΒΆ Provides the current state fo the
_algo
attribute.
-
hash_data
(data: Union[str, bytes]) → str[source]ΒΆ Hashes the given data.
Parameters: data β The data to hash. Raises: TypeError β When data
is notstr
orbytes
.
-
PyFunceble.helpers.list moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the list helpers
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.helpers.list.
ListHelper
(subject: Optional[List[Any]] = None)[source]ΒΆ Bases:
object
Simplify the list manipulation.
Parameters: - subject β The list to work with.
- remove_empty (bool) β Process the deletion of empty strings.
-
_subject
= NoneΒΆ
-
custom_sort
(key_method: Any, *, reverse: bool = False) → PyFunceble.helpers.list.ListHelper[source]ΒΆ Sorts the list with the given key method.
Parameters: - key_method (function|method) β A function or method to use to format the readed element before sorting.
- reverse (bool) β Tell us if we have to reverse the list.
-
remove_duplicates
() → PyFunceble.helpers.list.ListHelper[source]ΒΆ Removes the duplicates of the current list.
-
remove_empty
() → PyFunceble.helpers.list.ListHelper[source]ΒΆ Removes the empty entries of the given list.
-
set_subject
(value: List[Any]) → PyFunceble.helpers.list.ListHelper[source]ΒΆ Sets the subject to work with.
Parameters: value β The subject to work with.
-
sort
(*, reverse: bool = False) → PyFunceble.helpers.list.ListHelper[source]ΒΆ Sorts the given list (of string preferably).
param bool reverse: Tell us if we have to reverse the list.
-
subject
ΒΆ Provides the current state of the
_subject
attribute.
PyFunceble.helpers.merge moduleΒΆ
The tool to check the availability or syntax of dosubject, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the merging helpers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.helpers.merge.
Merge
(subject: Optional[Any] = None)[source]ΒΆ Bases:
object
Simplify the merging of dict and list.
Parameters: subject β The subject to work with. -
_Merge__dict
(origin: Any, strict: bool = True) → dictΒΆ Process the dict merging.
Parameters: strict (bool) β Activates the strict mode.
-
_Merge__list
(origin: Any, strict: bool = True) → List[Any]ΒΆ Process the list merging.
Parameters: strict β Activates the strict mode.
-
_subject
= NoneΒΆ
-
into
(origin: Any, strict: bool = True) → Any[source]ΒΆ Process the mergin.
Parameters: - origin β The original data.
- strict β Activates the strict mode.
-
set_subject
(value: Any) → PyFunceble.helpers.merge.Merge[source]ΒΆ Sets the subject to work with.
Parameters: value β The subject to work with. Raises: TypeError β When value
is not alist
.
-
subject
ΒΆ Provides the current state of the
_subject
attribute.
-
PyFunceble.helpers.regex moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the regular expressions helpers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.helpers.regex.
RegexHelper
(regex: Optional[str] = None, escape_regex: bool = False)[source]ΒΆ Bases:
object
Simplify the regex matching and usage.
Parameters: - regex (str) β The regex to use.
- escape_regex β Escapes the given regex.
-
_regex
= NoneΒΆ
-
escape_regex
= FalseΒΆ
-
get_matching_list
(data: List[str]) → List[str][source]ΒΆ Returns the strings which does the match the regex in the given data.
-
get_not_matching_list
(data: List[str]) → List[str][source]ΒΆ Returns the strings which does not the match the regex in the given data.
-
match
(data: str, *, rematch: bool = False, group: int = 0, return_match: bool = True) → Union[bool, str, List[str]][source]ΒΆ Checks if the given data match the given regex string.
Parameters: - data β The data to work with.
- rematch β
The equivalent of the $BASH_REMATCH but in Python.
Itβs basically a list of all groups.
- group β The group to return when return_match is set to
True
. - return_match β Return the part that match the given regex string.
-
regex
ΒΆ Provides the current state of the
_regex
attribute.
-
replace_match
(data: str, replacement: str, *, occurences: int = 0, multiline: bool = False) → str[source]ΒΆ Replaces the string which match the regex string with the given replacement.
Parameters: - data β The data to work with.
- replacement β The replacement of the matched regex.
- occurences β
The number of occurences to replace.
Note
0
means all occurences.
Module contentsΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the helpers.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.query packageΒΆ
SubpackagesΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides a way to get or guess the nameserver to use.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.dns.nameserver.
Namseservers
(nameserver: Optional[List[str]] = None, protocol: str = 'TCP')[source]ΒΆ Bases:
object
Provides an interface to get the right nameserver to communicate with.
-
domain_syntax_checker
= <PyFunceble.checker.syntax.domain.DomainSyntaxChecker object>ΒΆ
-
classmethod
get_ip_from_nameserver
(nameserver: str) → List[str][source]ΒΆ Given a nameserver, this method resolve it in order to get the IP to contact.
Parameters: nameserver β The name to resolve.
-
guess_all_settings
() → PyFunceble.query.dns.nameserver.Namseservers[source]ΒΆ Try to guess all settings.
-
guess_and_set_nameservers
() → PyFunceble.query.dns.nameserver.Namseservers[source]ΒΆ Try to guess and set the nameserver to use.
-
nameserver_ports
= NoneΒΆ
-
nameservers
= NoneΒΆ
-
protocol
= NoneΒΆ
-
set_nameservers
(value: List[str]) → PyFunceble.query.dns.nameserver.Namseservers[source]ΒΆ Sets the nameserver to use.
- Side Effect:
- Also updates the
nameserver_ports
variable.
Raises: - TypeError β When the given
value
is not alist
. - ValueError β When the given
value
is emtpy.
-
static
split_nameserver_from_port
(nameserver: str, *, default_port: int = 53) → Tuple[str, int][source]ΒΆ Splits the nameserver from its port.re
Parameters: - nameserver β The nameserver to work with.
- default_port β The default port to apply, if none is found.
-
url2netloc
= <PyFunceble.converter.url2netloc.Url2Netloc object>ΒΆ
-
url_syntax_checker
= <PyFunceble.checker.syntax.url.URLSyntaxChecker object>ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an interface for the query.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.dns.query_tool.
DNSQueryTool
(*, nameservers: Optional[List[str]] = None, follow_nameserver_order: bool = True, prefered_protocol: Optional[str] = None)[source]ΒΆ Bases:
object
Provides our query tool.
-
BREAKOFF
= 0.2ΒΆ
-
STD_PROTOCOL
= 'UDP'ΒΆ
-
STD_TIMEOUT
= 5.0ΒΆ
-
SUPPORTED_PROTOCOL
= ['TCP', 'UDP', 'HTTPS', 'TLS']ΒΆ
-
_follow_nameserver_order
= TrueΒΆ
-
_get_result_from_response
(response: dns.message.Message) → List[str][source]ΒΆ Given a response, we return the best possible result.
-
_mix_order
(data: Union[dict, List[str]]) → Union[dict, List[str]][source]ΒΆ Given a dataset, we mix its order.
-
_prefered_protocol
= 'UDP'ΒΆ
-
_query_record_type
= 255ΒΆ
-
_query_timeout
= 3.0ΒΆ
-
_subject
= NoneΒΆ
-
dns_name
= NoneΒΆ
-
ensure_subject_is_given
()[source]ΒΆ Ensures that the subject to work with is given before running the decorated method.
Raises: - TypeError β If
self.subject
is not astr
. - ValueError β If
self.subject
is empty.
- TypeError β If
-
follow_nameserver_order
ΒΆ Provides the current state of the
_follow_nameserver_order
attribute.
-
get_dns_name_from_subject_and_query_type
()[source]ΒΆ Provides the dns name based on the current subject and query type.
-
get_lookup_record
() → Optional[PyFunceble.query.record.dns.DNSQueryToolRecord][source]ΒΆ Provides the current query record.
-
guess_all_settings
() → PyFunceble.query.dns.query_tool.DNSQueryTool[source]ΒΆ Try to guess all settings.
-
guess_and_set_prefered_protocol
() → PyFunceble.query.dns.query_tool.DNSQueryTool[source]ΒΆ Try to guess and set the prefered procol.
-
guess_and_set_timeout
() → PyFunceble.query.dns.query_tool.DNSQueryTool[source]ΒΆ Try to guess and set the timeout.
-
ignore_if_query_message_is_missing
()[source]ΒΆ Ignores the call to the decorated method if the query message is missing. Otherwise, return an empty list.
-
lookup_record
= NoneΒΆ
-
nameservers
= <PyFunceble.query.dns.nameserver.Namseservers object>ΒΆ
-
prefered_protocol
ΒΆ Provides the current state of the
_prefered_protocol
attribute.
-
query_message
= NoneΒΆ
-
query_record_type
ΒΆ Provides the current state of the
_query_record_type
attribute.
-
query_timeout
ΒΆ Provides the current state of the
_query_timeout
attribute.
-
rdata_type2value
= {'A': 1, 'A6': 38, 'AAAA': 28, 'AFSDB': 18, 'AMTRELAY': 259, 'ANY': 255, 'APL': 42, 'AVC': 258, 'AXFR': 252, 'CAA': 257, 'CDNSKEY': 60, 'CDS': 59, 'CERT': 37, 'CNAME': 5, 'CSYNC': 62, 'DHCID': 49, 'DLV': 32769, 'DNAME': 39, 'DNSKEY': 48, 'DS': 43, 'EUI48': 108, 'EUI64': 109, 'GPOS': 27, 'HINFO': 13, 'HIP': 55, 'IPSECKEY': 45, 'ISDN': 20, 'IXFR': 251, 'KEY': 25, 'KX': 36, 'LOC': 29, 'MAILA': 254, 'MAILB': 253, 'MB': 7, 'MD': 3, 'MF': 4, 'MG': 8, 'MINFO': 14, 'MR': 9, 'MX': 15, 'NAPTR': 35, 'NINFO': 56, 'NS': 2, 'NSAP': 22, 'NSAP_PTR': 23, 'NSEC': 47, 'NSEC3': 50, 'NSEC3PARAM': 51, 'NULL': 10, 'NXT': 30, 'OPENPGPKEY': 61, 'OPT': 41, 'PTR': 12, 'PX': 26, 'RP': 17, 'RRSIG': 46, 'RT': 21, 'SIG': 24, 'SOA': 6, 'SPF': 99, 'SRV': 33, 'SSHFP': 44, 'TA': 32768, 'TKEY': 249, 'TLSA': 52, 'TSIG': 250, 'TXT': 16, 'TYPE0': 0, 'UNSPEC': 103, 'URI': 256, 'WKS': 11, 'X25': 19}ΒΆ
-
set_follow_nameserver_order
(value: bool) → PyFunceble.query.dns.query_tool.DNSQueryTool[source]ΒΆ Updates the
follow_nameserver_order
variable.Parameters: value β The value to set.
-
set_nameservers
(value: List[str]) → PyFunceble.query.dns.query_tool.DNSQueryTool[source]ΒΆ Sets the nameservers to work with.
Raises: - TypeError β When the given
value
is not a list ofstr
. - ValueError β When the given
value
is empty.
- TypeError β When the given
-
set_prefered_protocol
(value: str) → PyFunceble.query.dns.query_tool.DNSQueryTool[source]ΒΆ Sets the prefered protocol.
Parameters: value β The protocol to use.
-
set_query_record_type
(value: Union[str, int]) → PyFunceble.query.dns.query_tool.DNSQueryTool[source]ΒΆ Sets the DNS record type to query.
Parameters: value β The value to set. It can be the human version (e.g AAAA) or an integer as registered in the value2rdata_type
attribute.
-
set_subject
(value: str) → PyFunceble.query.dns.query_tool.DNSQueryTool[source]ΒΆ Sets the subject to work with.
Parameters: value β The subject to set.
-
set_timeout
(value: Union[int, float]) → PyFunceble.query.dns.query_tool.DNSQueryTool[source]ΒΆ Sets the timeout to apply.
Parameters: value β The timeout to apply.
-
subject
ΒΆ Provides the current state of the
_subject
attribute.
-
update_lookup_record
()[source]ΒΆ Ensures that a clean record is generated after the execution of the decorated method.
-
update_lookup_record_response
()[source]ΒΆ Ensures that the response of the decorated method is set as response in our record.
-
value2rdata_type
= {0: 'TYPE0', 1: 'A', 2: 'NS', 3: 'MD', 4: 'MF', 5: 'CNAME', 6: 'SOA', 7: 'MB', 8: 'MG', 9: 'MR', 10: 'NULL', 11: 'WKS', 12: 'PTR', 13: 'HINFO', 14: 'MINFO', 15: 'MX', 16: 'TXT', 17: 'RP', 18: 'AFSDB', 19: 'X25', 20: 'ISDN', 21: 'RT', 22: 'NSAP', 23: 'NSAP_PTR', 24: 'SIG', 25: 'KEY', 26: 'PX', 27: 'GPOS', 28: 'AAAA', 29: 'LOC', 30: 'NXT', 33: 'SRV', 35: 'NAPTR', 36: 'KX', 37: 'CERT', 38: 'A6', 39: 'DNAME', 41: 'OPT', 42: 'APL', 43: 'DS', 44: 'SSHFP', 45: 'IPSECKEY', 46: 'RRSIG', 47: 'NSEC', 48: 'DNSKEY', 49: 'DHCID', 50: 'NSEC3', 51: 'NSEC3PARAM', 52: 'TLSA', 55: 'HIP', 56: 'NINFO', 59: 'CDS', 60: 'CDNSKEY', 61: 'OPENPGPKEY', 62: 'CSYNC', 99: 'SPF', 103: 'UNSPEC', 108: 'EUI48', 109: 'EUI64', 249: 'TKEY', 250: 'TSIG', 251: 'IXFR', 252: 'AXFR', 253: 'MAILB', 254: 'MAILA', 255: 'ANY', 256: 'URI', 257: 'CAA', 258: 'AVC', 259: 'AMTRELAY', 32768: 'TA', 32769: 'DLV'}ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides a way to provides the nameserver to use.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.dns.resolver.
Resolver
(nameservers: Optional[List[str]] = None, timeout: Optional[float] = None)[source]ΒΆ Bases:
object
Provides the right resolver.
Parameters: nameservers β The list of nameservers to communicate with. -
STD_TIMEOUT
= 5.0ΒΆ
-
get_nameserver_ports
() → Optional[dict][source]ΒΆ Provides the currently set list of nameserver ports.
-
guess_and_set_timeout
() → PyFunceble.query.dns.resolver.Resolver[source]ΒΆ Tries to guess the the timeout from the configuration.
-
internal_resolver
= NoneΒΆ
-
nameservers
= <PyFunceble.query.dns.nameserver.Namseservers object>ΒΆ
-
set_nameserver
(value: List[str]) → PyFunceble.query.dns.resolver.Resolver[source]ΒΆ Sets the given nameserver.
-
set_timeout
(value: Union[float, int]) → PyFunceble.query.dns.resolver.Resolver[source]ΒΆ Sets the timeout of a query.
-
timeout
= 3.0ΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to our very own dns resolver.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an interface to get the information of a given address.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.netinfo.address.
AddressInfo
(subject: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.query.netinfo.base.NetInfoBase
Provides the information of a given address.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all checker.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.netinfo.base.
NetInfoBase
(subject: Optional[str] = None)[source]ΒΆ Bases:
object
Provides the base of network information classes.
-
_subject
= NoneΒΆ
-
base
= NoneΒΆ
-
ensure_subject_is_given
()[source]ΒΆ Ensures that the subject is given before running the decorated method.
Raises: TypeError β If the subject is not a string.
-
set_subject
(value: str) → PyFunceble.query.netinfo.base.NetInfoBase[source]ΒΆ Sets the subject to work with.
Parameters: value β The subject to set.
-
subject
ΒΆ Provides the current state of the
_subject
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an interface to get the information of a given host.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.netinfo.hostbyaddr.
HostByAddrInfo
(subject: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.query.netinfo.base.NetInfoBase
Provides the information of a given address/IP.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides all our network info related subdmodules.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our record classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the record class of the dns query tool.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.record.dns.
DNSQueryToolRecord
(nameserver: Optional[str] = None, port: Optional[int] = None, follow_nameserver_order: Optional[bool] = None, prefered_protocol: Optional[str] = None, used_protocol: Optional[str] = None, query_record_type: Optional[str] = None, query_timeout: Optional[float] = None, subject: Optional[str] = None, dns_name: Optional[str] = None, response: Optional[List[str]] = None)[source]ΒΆ Bases:
PyFunceble.query.record.base.RecordBase
Provides a record of an executed request.
-
dns_name
= NoneΒΆ
-
follow_nameserver_order
= NoneΒΆ
-
nameserver
= NoneΒΆ
-
port
= NoneΒΆ
-
prefered_protocol
= NoneΒΆ
-
query_record_type
= NoneΒΆ
-
query_timeout
= NoneΒΆ
-
response
= NoneΒΆ
-
subject
= NoneΒΆ
-
used_protocol
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the record class of the whois query tool.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.record.whois.
WhoisQueryToolRecord
(server: Optional[str] = None, port: Optional[str] = None, query_timeout: Optional[float] = None, subject: Optional[str] = None, record: Optional[str] = None, expiration_date: Optional[str] = None)[source]ΒΆ Bases:
PyFunceble.query.record.base.RecordBase
Provides a record of an executed request.
-
expiration_date
= NoneΒΆ
-
port
= NoneΒΆ
-
query_timeout
= NoneΒΆ
-
record
= NoneΒΆ
-
server
= NoneΒΆ
-
subject
= NoneΒΆ
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides all records classes.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all our adapter.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.requests.adapter.base.
RequestAdapterBase
(*args, **kwargs)[source]ΒΆ Bases:
requests.adapters.HTTPAdapter
Extends the built-in HTTP adapater and acts as a base for all our own adapter.
-
static
resolve_without_cache
(hostname: str) → Optional[str][source]ΒΆ Resolves the IP of the given hostname.
Parameters: hostname β The hostname to get resolve.
-
resolving_cache
= {}ΒΆ
-
resolving_use_cache
= FalseΒΆ
-
timeout
= 5.0ΒΆ
-
static
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the our HTTP adapter.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.requests.adapter.http.
RequestHTTPAdapter
(*args, **kwargs)[source]ΒΆ Bases:
PyFunceble.query.requests.adapter.base.RequestAdapterBase
Provides our HTTP adapter.
-
send
(request, **kwargs) → requests.models.Response[source]ΒΆ Overwrite the upstream
send
method.We basically do the same. We only ensure that we request the IP from the chosen DNS record.
Parameters: - request β The
PreparedRequest
being sent. - stream β (optional) Whether to stream the request content.
- timeout (float or tuple or urllib3 Timeout object) β (optional) How long to wait for the server to send data before giving up, as a float, or a (connect timeout, read timeout) tuple.
- verify β (optional) Either a boolean, in which case it controls whether we verify the serverβs TLS certificate, or a string, in which case it must be a path to a CA bundle to use
- cert β (optional) Any user-provided SSL certificate to be trusted.
- proxies β (optional) The proxies dictionary to apply to the request.
Return type: - request β The
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the our HTTPS adapter.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.requests.adapter.https.
RequestHTTPSAdapter
(*args, **kwargs)[source]ΒΆ Bases:
PyFunceble.query.requests.adapter.base.RequestAdapterBase
Provides our HTTP adapter.
-
send
(request, **kwargs) → requests.models.Response[source]ΒΆ Overwrite the upstream
send
method.We basically do the same. We only ensure that we request the IP from the chosen DNS record.
Parameters: - request β The
PreparedRequest
being sent. - stream β (optional) Whether to stream the request content.
- timeout (float or tuple or urllib3 Timeout object) β (optional) How long to wait for the server to send data before giving up, as a float, or a (connect timeout, read timeout) tuple.
- verify β (optional) Either a boolean, in which case it controls whether we verify the serverβs TLS certificate, or a string, in which case it must be a path to a CA bundle to use
- cert β (optional) Any user-provided SSL certificate to be trusted.
- proxies β (optional) The proxies dictionary to apply to the request.
Return type: - request β The
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to our request adapters.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our own requests handler
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.requests.requester.
Requester
(*, max_retries: Optional[int] = None, verify_certificate: Optional[bool] = None, timeout: Optional[float] = None)[source]ΒΆ Bases:
object
Provides our very own requests handler.
-
STD_TIMEOUT
= 3.0ΒΆ
-
STD_VERIFY_CERTIFICATE
= FalseΒΆ
-
_max_retries
= 3ΒΆ
-
_timeout
= 5.0ΒΆ
-
_verify_certificate
= TrueΒΆ
-
delete
(*args, **kwargs) → requests.models.Response[source]ΒΆ Sends a DELETE request and get its response.
-
exceptions
= <module 'requests.exceptions' from '/home/docs/checkouts/readthedocs.org/user_builds/pyfunceble/envs/4.0.0-dev/lib/python3.7/site-packages/requests/exceptions.py'>ΒΆ
-
guess_all_settings
() → PyFunceble.query.requests.requester.Requester[source]ΒΆ Try to guess all settings.
-
guess_and_set_timeout
() → PyFunceble.query.requests.requester.Requester[source]ΒΆ Try to guess the value from the configuration and set it.
-
guess_and_set_verify_certificate
() → PyFunceble.query.requests.requester.Requester[source]ΒΆ Try to guess the value from the configuration and set it.
-
head
(*args, **kwargs) → requests.models.Response[source]ΒΆ Sends a HEAD request and get its response.
-
max_retries
ΒΆ Provides the current state of the
_max_retries
attribute.
-
options
(*args, **kwargs) → requests.models.Response[source]ΒΆ Sends am OPTIONS request and get its response.
-
patch
(*args, **kwargs) → requests.models.Response[source]ΒΆ Sends a PATCH request and get its response.
-
post
(*args, **kwargs) → requests.models.Response[source]ΒΆ Sends a POST request and get its response.
-
request_factory
()[source]ΒΆ Provides a universal request factory.
Parameters: verb β The HTTP Verb to apply.
-
session
= NoneΒΆ
-
set_max_retries
(value: int) → PyFunceble.query.requests.requester.Requester[source]ΒΆ Sets the max retries value to apply to all subsequent requests.
Parameters: value β The value to set.
-
set_timeout
(value: Union[int, float]) → PyFunceble.query.requests.requester.Requester[source]ΒΆ Enable or disables the certificate validation.
Parameters: value β The value to set.
-
set_verify_certificate
(value: bool) → PyFunceble.query.requests.requester.Requester[source]ΒΆ Enable or disables the certificate validation.
Parameters: value β The value to set.
-
timeout
ΒΆ Provides the current state of the
_timeout
attribute.
-
urllib3_exceptions
= <module 'urllib3.exceptions' from '/home/docs/checkouts/readthedocs.org/user_builds/pyfunceble/envs/4.0.0-dev/lib/python3.7/site-packages/urllib3/exceptions.py'>ΒΆ
-
verify_certificate
ΒΆ Provides the current state of the
_verify_certificate
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to our very own request handler.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the base of all WHOIS converter/extracter class.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.whois.converter.base.
ConverterBase
(data_to_convert: Optional[Any] = None)[source]ΒΆ Bases:
object
Provides the base of all converter class.
-
_data_to_convert
= NoneΒΆ
-
data_to_convert
ΒΆ Provides the current state of the
_data_to_convert
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an easy way to convert a digit string to 2 digits.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.whois.converter.digit2digits.
Digit2Digits
(data_to_convert: Optional[Any] = None)[source]ΒΆ Bases:
PyFunceble.query.whois.converter.base.ConverterBase
Converts a given digit to a 2 digits string.
-
data_to_convert
ΒΆ Provides the current state of the
_data_to_convert
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our expiration date extracter.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.whois.converter.expiration_date.
ExpirationDateExtractor
(data_to_convert: Optional[Any] = None)[source]ΒΆ Bases:
PyFunceble.query.whois.converter.base.ConverterBase
Provides an interface for the extraction of the expiration date.
-
MARKER2DATE_REGEX
= {'1': '([0-9]{2})-([a-z]{3})-([0-9]{4})', '10': '([0-9]{2})\\.([0-9]{2})\\.([0-9]{4})\\s[0-9]{2}:[0-9]{2}:[0-9]{2}', '11': '([0-9]{2})-([A-Z]{1}[a-z]{2})-([0-9]{4})\\s[0-9]{2}:[0-9]{2}:[0-9]{2}\\s[A-Z]{1}.*', '12': '([0-9]{4})\\/([0-9]{2})\\/([0-9]{2})\\s[0-9]{2}:[0-9]{2}:[0-9]{2}\\s\\(.*\\)', '13': '([0-9]{4})\\/([0-9]{2})\\/([0-9]{2})\\s[0-9]{2}:[0-9]{2}:[0-9]{2}$', '14': '[a-zA-Z]{3}\\s([a-zA-Z]{3})\\s([0-9]{2})\\s[0-9]{2}:[0-9]{2}:[0-9]{2}\\s[A-Z]{3}\\s([0-9]{4})', '15': '[a-zA-Z]{3}\\s([a-zA-Z]{3})\\s([0-9]{2})\\s([0-9]{4})', '16': '([0-9]{4})-([0-9]{2})-([0-9]{2})T[0-9]{2}:[0-9]{2}:[0-9]{2}$', '17': '([0-9]{4})-([0-9]{2})-([0-9]{2})T[0-9]{2}:[0-9]{2}:[0-9]{2}[A-Z].*', '18': '([0-9]{4})-([0-9]{2})-([0-9]{2})T[0-9]{2}:[0-9]{2}:[0-9]{2}[+-][0-9]{4}', '19': '([0-9]{4})-([0-9]{2})-([0-9]{2})T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9].*[+-][0-9]{2}:[0-9]{2}', '2': '([0-9]{2})\\.([0-9]{2})\\.([0-9]{4})$', '20': '([0-9]{4})-([0-9]{2})-([0-9]{2})T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{6}$', '21': '([0-9]{4})-([0-9]{2})-([0-9]{2})T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9].*[A-Z]', '22': '([0-9]{2})-([0-9]{2})-([0-9]{4})', '23': '([0-9]{4})\\.\\s([0-9]{2})\\.\\s([0-9]{2})\\.', '24': '([0-9]{4})-([0-9]{2})-([0-9]{2})T[0-9]{2}:[0-9]{2}:[0-9]{2}[+-][0-9]{2}:[0-9]{2}', '25': '(?=[0-9]{8})(?=([0-9]{4})([0-9]{2})([0-9]{2}))', '26': '([0-9]{2})-([A-Z]{1}[a-z]{2})-([0-9]{4})$', '27': '([0-9]{2})\\.([0-9]{1})\\.([0-9]{4})', '28': '([0-9]{1,2})\\s([A-Z]{1}[a-z]{2})\\s([0-9]{4})', '29': '([0-9]{2})-([A-Z]{1}[a-z]*)-([0-9]{4})', '3': '([0-3][0-9])\\/(0[1-9]|1[012])\\/([0-9]{4})', '30': '([0-9]{4})-([A-Z]{1}[a-z]{2})-([0-9]{2})\\.', '31': '[a-zA-Z]{3}\\s([a-zA-Z]{3})\\s([0-9]{1,2})\\s[0-9]{2}:[0-9]{2}:[0-9]{2}\\s([0-9]{4})', '32': '()[a-zA-Z]{3}\\s([a-zA-Z]{3})\\s([0-9]{4})\\s[0-9]{2}:[0-9]{2}:[0-9]{2}', '33': '([A-Z]{1}[a-z]*)\\s([0-9]{1,2})\\s([0-9]{4})', '34': '([0-9]{1,2})\\.([0-9]{1,2})\\.([0-9]{4})', '35': '([0-9]{4})([0-9]{2})([0-9]{2})[0-9]+', '36': '(0[1-9]|1[012])\\/([0-3][0-9])\\/([0-9]{4})', '37': '([A-Z]{1}[a-z].*)\\s\\s([0-9]{1,2})\\s([0-9]{4})', '38': '([0-9]{1,})[a-z]{1,}\\s([A-Z].*)\\s(2[0-9]{3})', '4': '([0-9]{4})-([0-9]{2})-([0-9]{2})$', '5': '([0-9]{4})\\.([0-9]{2})\\.([0-9]{2})$', '6': '([0-9]{4})\\/([0-9]{2})\\/([0-9]{2})$', '7': '([0-9]{4})\\.([0-9]{2})\\.([0-9]{2})\\s[0-9]{2}:[0-9]{2}:[0-9]{2}', '8': '([0-9]{4})([0-9]{2})([0-9]{2})\\s[0-9]{2}:[0-9]{2}:[0-9]{2}', '9': '([0-9]{4})-([0-9]{2})-([0-9]{2})\\s[0-9]{2}:[0-9]{2}:[0-9]{2}'}ΒΆ Provides all the known regex to extract the date.
Note
The index (or key) will be used to map or group some of them later.
-
PATTERNS
= ['expire:(.*)', 'expire on:(.*)', 'Expiry Date:(.*)', 'free-date(.*)', 'expires:(.*)', 'Expiration date:(.*)', 'Expiry date:(.*)', 'Expire Date:(.*)', 'renewal date:(.*)', 'Expires:(.*)', 'validity:(.*)', 'Expiration Date :(.*)', 'Expiry :(.*)', 'expires at:(.*)', 'domain_datebilleduntil:(.*)', 'Data de expiraΓ§Γ£o \\/ Expiration Date \\(dd\\/mm\\/yyyy\\):(.*)', 'Fecha de expiraciΓ³n \\(Expiration date\\):(.*)', '\\[Expires on\\](.*)', 'Record expires on(.*)(\\(YYYY-MM-DD\\))', 'status: OK-UNTIL(.*)', 'renewal:(.*)', 'expires............:(.*)', 'expire-date:(.*)', 'Exp date:(.*)', 'Valid-date(.*)', 'Expires On:(.*)', 'Fecha de vencimiento:(.*)', 'Expiration:.........(.*)', 'Fecha de Vencimiento:(.*)', 'Registry Expiry Date:(.*)', 'Expires on..............:(.*)', 'Expiration Time:(.*)', 'Expiration Date:(.*)', 'Expired:(.*)', "Date d'expiration:(.*)", 'expiration date:(.*)']ΒΆ Provides all our known patterns.
-
REGEX_DIGITS
= '[0-9]'ΒΆ Provides the regex to match in order to extract the digits.
-
REGEX_PARSE_MAP
= [{'regex_keys': [1, 2, 3, 10, 11, 22, 26, 27, 28, 29, 32, 34, 38], 'positions': {'day': 0, 'month': 1, 'year': 2}}, {'regex_keys': [14, 15, 31, 33, 36, 37], 'positions': {'day': 1, 'month': 0, 'year': 2}}, {'regex_keys': [4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 18, 19, 20, 21, 23, 24, 25, 30, 35], 'positions': {'day': 2, 'month': 1, 'year': 0}}]ΒΆ Our parsing map. Indeed, we hava a list of regex, but no way to know how to parse them. Especially when the order (month, day, year) are different from a format to another.
This variable solve that problem by interpreting all regex we previously created.
-
_ExpirationDateExtractor__get_actual_expiration_date
(extracted: str) → Optional[Tuple[str, str, str]]ΒΆ Tries to extract the actual expiration date.
-
_ExpirationDateExtractor__get_line
() → Optional[str]ΒΆ Tries to get the expiration date line from the given record.
-
data_to_convert
ΒΆ Provides the current state of the
_data_to_convert
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides a way to convert a given month to our unified format.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.whois.converter.month2unified.
Month2Unified
(data_to_convert: Optional[Any] = None)[source]ΒΆ Bases:
PyFunceble.query.whois.converter.base.ConverterBase
Converts the given month into our unified format.
-
MAP
= {'apr': ['4', '04', 'apr', 'april', 'apr.'], 'aug': ['8', '08', 'aug', 'august', 'aug.'], 'dec': ['12', 'dec', 'december', 'dec.'], 'feb': ['2', '02', 'feb', 'february', 'feb.'], 'jan': ['1', '01', 'jan', 'january', 'jan.'], 'jul': ['7', '07', 'jul', 'july', 'jul.'], 'jun': ['6', '06', 'jun', 'june', 'jun.'], 'mar': ['3', '03', 'mar', 'march', 'mar.'], 'may': ['5', '05', 'may'], 'nov': ['11', 'nov', 'november', 'nov.'], 'oct': ['10', 'oct', 'october', 'oct.'], 'sep': ['9', '09', 'sep', 'september', 'sep.', 'sept', 'sept.']}ΒΆ
-
data_to_convert
ΒΆ Provides the current state of the
_data_to_convert
attribute.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the converter or extractor around the WHOIS query logic.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our interface for quering the WHOIS Record of a given subject.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.whois.query_tool.
WhoisQueryTool
(subject: Optional[str] = None, *, server: Optional[str] = None, query_timeout: Optional[float] = None)[source]ΒΆ Bases:
object
Provides the interface to get the WHOIS record of a given subject.
-
BUFFER_SIZE
= 4096ΒΆ
-
STD_PORT
= 43ΒΆ
-
_query_timeout
= 5.0ΒΆ
-
_server
= NoneΒΆ
-
_subject
= NoneΒΆ
-
domain_syntax_checker_base
= <PyFunceble.checker.syntax.domain_base.DomainSyntaxCheckerBase object>ΒΆ
-
ensure_subject_is_given
()[source]ΒΆ Ensures that the subject is given before running the decorated method.
Raises: TypeError β If the subject is not a string.
-
expiration_date_extractor
= <PyFunceble.query.whois.converter.expiration_date.ExpirationDateExtractor object>ΒΆ
-
get_lookup_record
() → Optional[PyFunceble.query.record.whois.WhoisQueryToolRecord][source]ΒΆ Provides the current query record.
-
iana_dataset
= <PyFunceble.dataset.iana.IanaDataset object>ΒΆ
-
lookup_record
= NoneΒΆ
-
query
() → PyFunceble.query.whois.query_tool.WhoisQueryTool[source]ΒΆ Queries the WHOIS record and return the current object.
-
query_timeout
ΒΆ Provides the current state of the
_query_timeout
attribute.
-
record
= NoneΒΆ
-
server
ΒΆ Provides the current state of the
_server
attribute.
-
set_query_timeout
(value: Union[float, int]) → PyFunceble.query.whois.query_tool.WhoisQueryTool[source]ΒΆ Sets the query_timeout to apply.
Parameters: value β The query_timeout to apply.
-
set_server
(value: str) → PyFunceble.query.whois.query_tool.WhoisQueryTool[source]ΒΆ Sets the server to communicate with.
Parameters: value β The server to work with.
-
set_subject
(value: str) → PyFunceble.query.whois.query_tool.WhoisQueryTool[source]ΒΆ Sets the subject to work with.
Parameters: value β The subject to set.
-
subject
ΒΆ Provides the current state of the
_subject
attribute.
-
update_lookup_record
()[source]ΒΆ Ensures that a clean record is generated after the execution of the decorated method.
-
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related to the way we get or manipulate WHOIS record.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
SubmodulesΒΆ
PyFunceble.query.http_status_code moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our interface for getting the status code of a given subject.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.query.http_status_code.
HTTPStatusCode
(subject: Optional[str] = None, *, timeout: Optional[float] = None, verify_certificate: Optional[bool] = None, allow_redirects: Optional[bool] = None)[source]ΒΆ Bases:
object
Provides an interface for the extration of the HTTP status code.
-
STD_ALLOW_REDIRECTS
= FalseΒΆ
-
STD_TIMEOUT
= 5.0ΒΆ
-
STD_UNKWON_STATUS_CODE
= 99999999ΒΆ
-
STD_VERIFY_CERTIFICATE
= TrueΒΆ
-
_allow_redirects
= FalseΒΆ
-
_subject
= NoneΒΆ
-
_timeout
= 5.0ΒΆ
-
_verify_certificate
= TrueΒΆ
-
allow_redirects
ΒΆ Provides the current state of the
_allow_redirects
attribute.
-
ensure_subject_is_given
()[source]ΒΆ Ensures that the subject is given before running the decorated method.
Raises: TypeError β If the subject is not a string.
-
guess_and_set_timeout
() → PyFunceble.query.http_status_code.HTTPStatusCode[source]ΒΆ Tries to guess and set the timeout from the configuration.
-
guess_and_set_verify_certificate
() → PyFunceble.query.http_status_code.HTTPStatusCode[source]ΒΆ Tries to guess and set the
verify_certificate
attribute.
-
set_allow_redirects
(value: bool) → PyFunceble.query.http_status_code.HTTPStatusCode[source]ΒΆ Sets the value of the
verify_certificate
variable.Parameters: value β The value to set.
-
set_subject
(value: str) → PyFunceble.query.http_status_code.HTTPStatusCode[source]ΒΆ Sets the subject to work with.
Parameters: value β The subject to set.
-
set_timeout
(value: Union[float, int]) → PyFunceble.query.http_status_code.HTTPStatusCode[source]ΒΆ Sets the timeout to apply.
Parameters: value β The timeout to apply.
-
set_verify_certificate
(value: bool) → PyFunceble.query.http_status_code.HTTPStatusCode[source]ΒΆ Sets the value of the
verify_certificate
variable.Parameters: value β The value to set.
-
subject
ΒΆ Provides the current state of the
_subject
attribute.
-
timeout
ΒΆ Provides the current state of the
_timeout
attribute.
-
verify_certificate
ΒΆ Provides the current state of the
verify_certificate
attribute.
-
Module contentsΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything related queries and communication with target resources and information.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.utils packageΒΆ
SubmodulesΒΆ
PyFunceble.utils.platform moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides a simple way to get the current platform.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.utils.platform.
PlatformUtility
[source]ΒΆ Bases:
object
Provides an easy way to get the current platform.
-
CYGWIN
= ['cygwin', 'cygwin_nt-10.0']ΒΆ Provides the list of supporter cygwin platform.
-
MAC
= ['darwin']ΒΆ Provides the list of supported MAC platform.
-
UNIX
= ['linux', 'darwin']ΒΆ Provides the list of supported unix platform.
-
WINDOWS
= ['windows']ΒΆ Provides the list of supported windows platform.
-
PyFunceble.utils.profile moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some global utilities.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.utils.version moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides an interface for version comparison or manipulation.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.utils.version.
VersionUtility
(local_version: Optional[str] = None)[source]ΒΆ Bases:
object
Provides an interface to compare or manipulate a version.
Parameters: local_version β The local version to work with. Variables: local_version β The version we are currently working with. -
_VersionUtility__get_comparison
(upstream_version: str) → List[bool]ΒΆ Process the comparison and provides a list representing the result of the comparison.
Returns: A list, representing the comparison of the first 3 digits parts of the given versions. Each index will get
None
if both are equal,True
if the local is lower than the upstream one, and :py:class`False` if the local version is greater than the upstream one.
-
static
_VersionUtility__get_version_number_pep440
(version_part: str) → strΒΆ Given a version part it returns the actual version.
- As example:
- Given
0a1
returns 0971.
-
_local_version
= NoneΒΆ
-
static
get_splitted
(version: str) → Tuple[List[str], str][source]ΒΆ Splits the version from its code name.
Parameters: version β The version to split. Returns: A tuple. The first index is the digit part of the version, when the second one is the the non-digit part of the version. As example if
1.0.0. Hello World
is given, this method will output:([1,0,0], " Hello World")
-
is_equal_to
(upstream_version: str) → bool[source]ΒΆ Compares if the local version is equal the given one.
-
is_older_than
(upstream_version: str) → bool[source]ΒΆ Compares if the local version is older that the given one.
-
is_recent
(upstream_version: str) → bool[source]ΒΆ Compares if the upstream version is older that the given one.
-
literally_compare
(upstream_version: str) → bool[source]ΒΆ Compares
new_version
with the given base version.Parameters: new_version β The new version to compare with. Returns: True
: base version == upstream versionFalse
: base version != upstream version
-
local_version
ΒΆ Provides the current state of the
_local_version
attribute.
-
Module contentsΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some global utilities.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
SubmodulesΒΆ
PyFunceble.exceptions moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our exceptions.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
exception
PyFunceble.exceptions.
NoInternetConnection
[source]ΒΆ Bases:
PyFunceble.exceptions.PyFuncebleException
Describes a missing connection.
-
exception
PyFunceble.exceptions.
PleaseUpdatePyFunceble
[source]ΒΆ Bases:
PyFunceble.exceptions.PyFuncebleException
Describes the impossiblity to continue with an older version.
PyFunceble.facility moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything which we may need while running.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.factory moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides everything which doesnβt get through the door of the facility.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.logger moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides our logger.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.logger.
Logger
(*, activated: Optional[bool] = None, min_level: Optional[int] = None, output_dir: Optional[str] = None)[source]ΒΆ Bases:
object
Provides our logging logic.
Warning
There is several way to activate the logging.
- Through the
PYFUNCEBLE_DEBUG_ON_SCREEN
environment variable. - Through the
DEBUG_PYFUNCEBLE_ON_SCREEN
environment variable. - Through the
PYFUNCEBLE_DEBUG
environment variable. - Through the
DEBUG_PYFUNCEBLE
environment variable. - Through the
PyFunceble.logger.Logger.set_activated()
method.
-
OWN_FORMAT
= '[%(asctime)s | %(levelname)s | %(origin_path)s:%(origin_line)s@%(origin_func)s | TPID%(thread)d:%(threadName)s | PPID%(process)d:%(processName)s]:\n%(message)s'ΒΆ Our very own format.
-
ROOT_FORMAT
= '[%(asctime)s::%(levelname)s](PID%(process)s:%(processName)s): %(message)s'ΒΆ The format of the root loggy.
-
STD_MIN_LEVEL
= 20ΒΆ
-
_activated
= FalseΒΆ
-
_min_level
= 20ΒΆ
-
_output_directory
= NoneΒΆ
-
activated
ΒΆ Provides the current state of the
_activated
attribute.
Provides the authorization to actually log.
-
critical_logger
= NoneΒΆ
-
debug_logger
= NoneΒΆ
-
env_var_helper
= <PyFunceble.helpers.environment_variable.EnvironmentVariableHelper object>ΒΆ
-
error_logger
= NoneΒΆ
-
fatal_logger
= NoneΒΆ
-
get_handler
(level_name: str) → Union[logging.StreamHandler, logging.handlers.RotatingFileHandler, None][source]ΒΆ Given a level name, this method provides the right handler for it!
-
static
get_origin
() → dict[source]ΒΆ Provides the informatioon about where the logger was triggered.
Returns: A tuple, which is composed of the following. (trigger file path, trigger line, trigger function/method name)
-
guess_and_set_min_level
() → PyFunceble.logger.Logger[source]ΒΆ Tries to guess the min level from the configuration.
-
info_logger
= NoneΒΆ
-
min_level
ΒΆ Provides the current state of the
_min_level
attribute.
-
on_file
ΒΆ Provides the authorization to log on file.
-
on_screen
ΒΆ Provides the authorization to log on screen.
-
output_directory
ΒΆ Provides the current state of the
_output_directory
attribute.
-
own_formatter
= <logging.Formatter object>ΒΆ
-
root_formatter
= <logging.Formatter object>ΒΆ
-
set_activated
(value: bool) → PyFunceble.logger.Logger[source]ΒΆ Sets the value of the activated attribute.
Parameters: value β The value to set.
-
set_min_level
(value: Union[int, str]) → PyFunceble.logger.Logger[source]ΒΆ Sets the minimum level to log.
Parameters: value β The value to set.
-
set_output_directory
(value: str) → PyFunceble.logger.Logger[source]ΒΆ Sets the directory to write.
Parameters: value β The value to set.
-
single_logger_factory
()[source]ΒΆ Provides the general factory.
Parameters: level_name β The level to log.
-
sqlalchemy_logger
= NoneΒΆ
-
warning_logger
= NoneΒΆ
- Through the
PyFunceble.sessions moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides the location of all our sessions
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.storage moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides a central storage place.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
PyFunceble.storage_facility moduleΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
Provides some facilities for the storage module.
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
Module contentsΒΆ
The tool to check the availability or syntax of domain, IP or URL.
βββββββ βββ ββββββββββββββ βββββββ βββ ββββββββββββββββββββββ βββ ββββββββ
ββββββββββββ βββββββββββββββ ββββββββ ββββββββββββββββββββββββββββββ ββββββββ
ββββββββ βββββββ ββββββ βββ βββββββββ ββββββ ββββββ βββββββββββ ββββββ
βββββββ βββββ ββββββ βββ ββββββββββββββββ ββββββ βββββββββββ ββββββ
βββ βββ βββ ββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββ βββ βββββββ βββ βββββ ββββββββββββββββββββββ ββββββββββββββββ
- 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/dev/
- Project homepage:
- https://pyfunceble.github.io/
License:
Copyright 2017, 2018, 2019, 2020 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.
-
PyFunceble.
get_complements
(subject: str, include_given: bool = False) → List[str][source]ΒΆ Provides the complements of a given subject.
A complement is a for example
example.org
ifwww.example.org
is given and vice-versa.Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import Subject2Complements my_subject = "example.org" complements = Subject2Complements( my_subject ).get_converted(include_given=True)
Parameters: - subject β The subject to work with.
- include_given β Include the given subject in the result.
-
PyFunceble.
is_domain
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid second level domain or subdomain.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import DomainSyntaxChecker my_subject = "example.org" the_status = DomainSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is a domain (2nd level or subdomain). print(f"{my_subject} is domain ? {the_status.is_valid()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_domain_malicious
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given domain is malicious.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import DomainReputationChecker my_subject = "example.org" the_status = DomainReputationChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is malicious. print(f"{my_subject} is Malicious ? {the_status.is_malicious()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ip
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid IP range.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPSyntaxChecker my_subject = "192.168.0.0" the_status = IPSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is an IP (v4 or v6). print(f"{my_subject} is IP ? {the_status.is_valid()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ip_range
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid IP range.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPSyntaxChecker my_subject = "192.168.0.0" the_status = IPSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is an IP range (v4 or v6). print(f"{my_subject} is IP range ? {the_status.is_valid_range()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ipv4
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid IPv4.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPSyntaxChecker my_subject = "192.168.0.0" the_status = IPSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is an IPv4. print(f"{my_subject} is IPv4 ? {the_status.is_valid_v4()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ipv4_malicious
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given IPv4 is malicious.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPReputationChecker my_subject = "192.168.0.1" the_status = IPReputationChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is malicious. print(f"{my_subject} is Malicious ? {the_status.is_malicious()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ipv4_range
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid IPv4 range.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPSyntaxChecker my_subject = "192.168.0.0" the_status = IPSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is IPv4 range. print(f"{my_subject} is IPv4 range ? {the_status.is_valid_v4_range()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ipv6
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid IPv6.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPSyntaxChecker my_subject = "192.168.0.0" the_status = IPSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is an IPv6. print(f"{my_subject} is IPv6 ? {the_status.is_valid_v6()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_ipv6_range
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid IPv6 range.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import IPSyntaxChecker my_subject = "::1" the_status = IPSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is IPv6 range. print(f"{my_subject} is IPv6 range ? {the_status.is_valid_v6_range()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_second_level_domain
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid second level domain.
Warning
This method was added for retrocompatibility. It may be removed in the future and is still available for convenience.
Please consider the following alternative example:
from PyFunceble import SecondLvlDomainSyntaxChecker my_subject = "example.org" the_status = SecondLvlDomainSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is a second level domain. print(f"{my_subject} is 2nd level domain ? {the_status.is_valid()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_subdomain
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is a syntactically valid subdomain.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import SubDomainSyntaxChecker my_subject = "hello.example.org" the_status = SubDomainSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is a subdomain. print(f"{my_subject} is subdomain ? {the_status.is_valid()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
is_url
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given subject is syntactically a valid URL.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import DomainReputationChecker my_subject = "https://example.org" the_status = URLSyntaxChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is a URL. print(f"{my_subject} is URL ? {the_status.is_valid()}")
Parma subject: The subject to check.
-
PyFunceble.
is_url_malicious
(subject: str, **kwargs) → bool[source]ΒΆ Checks if the given URL is malicious.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import URLReputationChecker my_subject = "https://example.org" the_status = URLReputationChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is malicious. print(f"{my_subject} is Malicious ? {the_status.is_malicious()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
load_config
(*args, **kwargs) → None[source]ΒΆ Placeholder before deletion.
Since 4.0.0, you are not required to load the configuration before hand. If you still want too because you may want to use a special CLI related method, you can doing it so:
import PyFunceble.facility PyFunceble.facility.ConfigLoader.start()
-
PyFunceble.
test
(subject: str, **kwargs) → PyFunceble.checker.availability.status.AvailabilityCheckerStatus[source]ΒΆ Checks the avaialbility of the given subject assuming that it is a domain or an IP.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import DomainAndIPAvailabilityChecker my_subject = "example.org" the_status = DomainAndIPAvailabilityChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is available. print(f"{my_subject} is available ? {the_status.is_available()}")
Parameters: subject β The subject to work with.
-
PyFunceble.
url_test
(subject: str, **kwargs) → PyFunceble.checker.availability.status.AvailabilityCheckerStatus[source]ΒΆ Checks the availability of the given subject assuming that it is a URL.
Warning
This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
from PyFunceble import URLAvailabilityChecker my_subject = "http://example.org" the_status = URLAvailabilityChecker( my_subject ).get_status() # Get the status in dict format. print(the_status.to_dict()) # Get the status in json format. print(the_status.to_json()) # Check if it is available. print(f"{my_subject} is available ? {the_status.is_available()}")
Parameters: subject β The subject to work with.