59 lines
No EOL
1.9 KiB
Python
59 lines
No EOL
1.9 KiB
Python
# imports - standard imports
|
|
import os, shutil
|
|
from distutils.command.clean import clean as Clean
|
|
|
|
from setuptools import setup, find_packages
|
|
from pip.req import parse_requirements
|
|
import re, ast
|
|
|
|
# get version from __version__ variable in frappe/__init__.py
|
|
_version_re = re.compile(r'__version__\s+=\s+(.*)')
|
|
|
|
with open('frappe/__init__.py', 'rb') as f:
|
|
version = str(ast.literal_eval(_version_re.search(
|
|
f.read().decode('utf-8')).group(1)))
|
|
|
|
requirements = parse_requirements("requirements.txt", session="")
|
|
|
|
class CleanCommand(Clean):
|
|
def run(self):
|
|
Clean.run(self)
|
|
|
|
basedir = os.path.abspath(os.path.dirname(__file__))
|
|
|
|
for relpath in ['build', '.cache', '.coverage', 'dist', 'frappe.egg-info']:
|
|
abspath = os.path.join(basedir, relpath)
|
|
if os.path.exists(abspath):
|
|
if os.path.isfile(abspath):
|
|
os.remove(abspath)
|
|
else:
|
|
shutil.rmtree(abspath)
|
|
|
|
for dirpath, dirnames, filenames in os.walk(basedir):
|
|
for filename in filenames:
|
|
_, extension = os.path.splitext(filename)
|
|
if extension in ['.pyc']:
|
|
abspath = os.path.join(dirpath, filename)
|
|
os.remove(abspath)
|
|
|
|
for dirname in dirnames:
|
|
if dirname in ['__pycache__']:
|
|
abspath = os.path.join(dirpath, dirname)
|
|
shutil.rmtree(abspath)
|
|
|
|
setup(
|
|
name='frappe',
|
|
version=version,
|
|
description='Metadata driven, full-stack web framework',
|
|
author='Frappe Technologies',
|
|
author_email='info@frappe.io',
|
|
packages=find_packages(),
|
|
zip_safe=False,
|
|
include_package_data=True,
|
|
install_requires=[str(ir.req) for ir in requirements],
|
|
dependency_links=[str(ir._link) for ir in requirements if ir._link],
|
|
cmdclass = \
|
|
{
|
|
'clean': CleanCommand
|
|
}
|
|
) |