選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 
 

59 行
1.9 KiB

  1. # imports - standard imports
  2. import os, shutil
  3. from distutils.command.clean import clean as Clean
  4. from setuptools import setup, find_packages
  5. from pip.req import parse_requirements
  6. import re, ast
  7. # get version from __version__ variable in frappe/__init__.py
  8. _version_re = re.compile(r'__version__\s+=\s+(.*)')
  9. with open('frappe/__init__.py', 'rb') as f:
  10. version = str(ast.literal_eval(_version_re.search(
  11. f.read().decode('utf-8')).group(1)))
  12. requirements = parse_requirements("requirements.txt", session="")
  13. class CleanCommand(Clean):
  14. def run(self):
  15. Clean.run(self)
  16. basedir = os.path.abspath(os.path.dirname(__file__))
  17. for relpath in ['build', '.cache', '.coverage', 'dist', 'frappe.egg-info']:
  18. abspath = os.path.join(basedir, relpath)
  19. if os.path.exists(abspath):
  20. if os.path.isfile(abspath):
  21. os.remove(abspath)
  22. else:
  23. shutil.rmtree(abspath)
  24. for dirpath, dirnames, filenames in os.walk(basedir):
  25. for filename in filenames:
  26. _, extension = os.path.splitext(filename)
  27. if extension in ['.pyc']:
  28. abspath = os.path.join(dirpath, filename)
  29. os.remove(abspath)
  30. for dirname in dirnames:
  31. if dirname in ['__pycache__']:
  32. abspath = os.path.join(dirpath, dirname)
  33. shutil.rmtree(abspath)
  34. setup(
  35. name='frappe',
  36. version=version,
  37. description='Metadata driven, full-stack web framework',
  38. author='Frappe Technologies',
  39. author_email='info@frappe.io',
  40. packages=find_packages(),
  41. zip_safe=False,
  42. include_package_data=True,
  43. install_requires=[str(ir.req) for ir in requirements],
  44. dependency_links=[str(ir._link) for ir in requirements if ir._link],
  45. cmdclass = \
  46. {
  47. 'clean': CleanCommand
  48. }
  49. )