py3-validate-email/setup.py

73 lines
2.6 KiB
Python
Raw Normal View History

2020-04-11 23:32:02 +02:00
from pathlib import Path
from subprocess import check_call
2019-03-02 02:17:12 +01:00
from setuptools import find_packages, setup
2019-11-24 18:13:02 +01:00
from setuptools.command.develop import develop
from setuptools.command.install import install
2019-03-02 00:59:23 +01:00
2020-04-11 23:32:02 +02:00
try:
2020-04-12 09:26:13 +02:00
# OSX Homebrew fix: https://stackoverflow.com/a/53190037/1067833
2020-04-11 23:32:02 +02:00
from sys import _base_executable as executable
except ImportError:
from sys import executable
_DEPENDENCIES = ['dnspython>=1.16.0', 'idna>=2.8', 'filelock>=3.0.12']
with open(Path(__file__).parent.joinpath('README.rst')) as fd:
_LONG_DESC = fd.read()
2019-03-02 00:59:23 +01:00
2019-11-24 18:13:02 +01:00
class PostInstallCommand(install):
'Post-installation command.'
def run(self):
if self.dry_run:
return super().run()
2020-04-11 23:32:02 +02:00
# Install dependencies so the initial update can run
check_call([executable, '-m', 'pip', 'install'] + _DEPENDENCIES)
# The updater will walk code stack frames and see if this
# variable is set in locals() to determine if it is run from the
# setup, in which case it won't autoupdate.
_IS_VALIDATEEMAIL_SETUP = True
2019-11-24 18:13:02 +01:00
from validate_email.updater import BlacklistUpdater
blacklist_updater = BlacklistUpdater()
blacklist_updater._is_install_time = _IS_VALIDATEEMAIL_SETUP
2019-11-24 18:13:02 +01:00
blacklist_updater.process(force=True)
super().run()
class PostDevelopCommand(develop):
'Post-installation command.'
2019-03-02 00:59:23 +01:00
def run(self):
2019-03-02 02:17:12 +01:00
if self.dry_run:
return super().run()
2020-04-11 23:32:02 +02:00
# Install dependencies so the initial update can run
check_call([executable, '-m', 'pip', 'install'] + _DEPENDENCIES)
# The updater will walk code stack frames and see if this
# variable is set in locals() to determine if it is run from the
# setup, in which case it won't autoupdate.
_IS_VALIDATEEMAIL_SETUP = True
2019-11-24 14:18:07 +01:00
from validate_email.updater import BlacklistUpdater
blacklist_updater = BlacklistUpdater()
blacklist_updater._is_install_time = _IS_VALIDATEEMAIL_SETUP
2019-11-24 14:18:07 +01:00
blacklist_updater.process(force=True)
2019-03-02 00:59:23 +01:00
super().run()
2012-04-07 23:05:57 +02:00
2018-05-31 13:13:28 +02:00
setup(
2019-03-01 23:29:01 +01:00
name='py3-validate-email',
version='0.2.1',
2019-03-02 02:17:12 +01:00
packages=find_packages(exclude=['tests']),
2020-04-11 23:32:02 +02:00
install_requires=_DEPENDENCIES,
2019-03-01 23:29:01 +01:00
author='László Károlyi',
2019-03-01 20:37:52 +01:00
author_email='laszlo@karolyi.hu',
2019-11-24 18:13:02 +01:00
description=(
'Email validator with regex, blacklisted domains and SMTP checking.'),
2020-04-11 23:32:02 +02:00
long_description=_LONG_DESC,
2019-03-02 03:26:58 +01:00
long_description_content_type='text/x-rst',
2019-03-01 20:37:52 +01:00
keywords='email validation verification mx verify',
2019-03-01 23:29:01 +01:00
url='http://github.com/karolyi/py3-validate-email',
2019-11-24 18:13:02 +01:00
cmdclass=dict(install=PostInstallCommand, develop=PostDevelopCommand),
2019-03-01 20:37:52 +01:00
license='LGPL',
2018-05-31 13:13:28 +02:00
)