forked from eduMFA/eduMFA
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
64 lines (55 loc) · 1.66 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# -*- coding: utf-8 -*-
from setuptools import setup
import os
import stat
# Taken from kennethreitz/requests/setup.py
package_directory = os.path.realpath(os.path.dirname(__file__))
def get_file_list(file_path):
full_path = os.path.join(package_directory, file_path)
file_list = os.listdir(full_path)
# Filter out __pycache__
file_list = [x for x in file_list if "__pycache__" not in x]
# now we need to add the path to the files
return [file_path + f for f in file_list]
def get_man_pages(dir):
"""
Get man pages in a directory.
:param dir:
:return: list of file names
"""
files = os.listdir(dir)
r_files = []
for file in files:
if file.endswith(".1"):
r_files.append(dir + "/" + file)
return r_files
def get_scripts(dir):
"""
Get files that are executable
:param dir:
:return: list of file names
"""
files = os.listdir(dir)
r_files = []
for file in files:
if os.stat(dir + "/" + file)[stat.ST_MODE] & stat.S_IEXEC:
r_files.append(dir + "/" + file)
return r_files
setup(
scripts=get_scripts("tools"),
data_files=[
("etc/edumfa/", ["deploy/apache/edumfaapp.wsgi", "deploy/edumfa/dictionary"]),
("share/man/man1", get_man_pages("tools")),
(
"lib/edumfa/migrations",
[
"migrations/alembic.ini",
"migrations/env.py",
"migrations/README",
"migrations/script.py.mako",
],
),
("lib/edumfa/migrations/versions", get_file_list("migrations/versions/")),
("lib/edumfa/", ["requirements.txt"]),
],
)