Add snippets.
[librarian.git] / setup.py
old mode 100644 (file)
new mode 100755 (executable)
index 0988321..b87a856
--- a/setup.py
+++ b/setup.py
@@ -1,19 +1,64 @@
+#!/usr/bin/env python
 # -*- coding: utf-8 -*-
-from distutils.core import setup
+#
+# This file is part of Librarian, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
+import os
+import os.path
+from setuptools import setup, find_packages
+
+
+def whole_tree(prefix, path):
+    files = []
+    for f in (f for f in os.listdir(os.path.join(prefix, path)) if not f[0]=='.'):
+        new_path = os.path.join(path, f)
+        if os.path.isdir(os.path.join(prefix, new_path)):
+            files.extend(whole_tree(prefix, new_path))
+        else:
+            files.append(new_path)
+    return files
 
 
 setup(
     name='librarian',
-    version='1.1',
+    version='2.5',
     description='Converter from WolneLektury.pl XML-based language to XHTML, TXT and other formats',
-    author='Marek Stępniowski',
+    author="Marek Stępniowski",
     author_email='marek@stepniowski.com',
-    url='http://redmine.nowoczesnapolska.org.pl/',
-    packages=['librarian', 'librarian.tests'],
-    package_dir={'librarian': 'librarian'},
-    package_data={
-        'librarian': ['*.xslt'],
-        'librarian.tests': ['files/dcparser/*.xml', 'files/erroneous/*.xml'],
+    maintainer='Radek Czajka',
+    maintainer_email='radoslaw.czajka@nowoczesnapolska.org.pl',
+    url='http://github.com/fnp/librarian',
+    packages=find_packages(where="src"),
+    package_dir={"": "src"},
+    package_data={'librarian': ['xslt/*.xslt', 'xslt/*.xml', 'epub/*', 'pdf/*', 'fb2/*', 'fonts/*'] +
+                                whole_tree(os.path.join(os.path.dirname(__file__), 'src/librarian'), 'res') +
+                                whole_tree(os.path.join(os.path.dirname(__file__), 'src/librarian'), 'font-optimizer') +
+                                whole_tree(os.path.join(os.path.dirname(__file__), 'src/librarian'), 'locale')},
+    include_package_data=True,
+    install_requires=[
+        'lxml>=2.2,<5.0',
+        'Pillow',
+        'six',
+        'texml',
+        'ebooklib',
+        'aeneas',
+        'mutagen',
+        'qrcode',
+    ],
+    entry_points = {
+        "console_scripts": [
+            "librarian=librarian.command_line:main"
+        ]
     },
-    scripts=['scripts/book2html', 'scripts/book2txt', 'scripts/bookfragments', 'scripts/genslugs'],
+    scripts=['scripts/book2html',
+             'scripts/book2txt',
+             'scripts/book2epub',
+             'scripts/book2mobi',
+             'scripts/book2pdf',
+             'scripts/book2fb2',
+             'scripts/book2partner',
+             'scripts/book2cover',
+             'scripts/bookfragments',
+             'scripts/genslugs'],
 )