Skip to content

Commit ae10274

Browse files
committed
update for pypi
1 parent a6633d5 commit ae10274

11 files changed

+115
-23
lines changed

MANIFEST.in

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include README.md LICENSE requirements.txt

dotdrop.sh

+1-2
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,13 @@ fi
1818
args=("$@")
1919
cur=$(dirname "$(${rl} "${0}")")
2020
opwd=$(pwd)
21-
bin="${cur}/dotdrop/dotdrop.py"
2221
cfg="${cur}/config.yaml"
2322

2423
# pivot
2524
cd "${cur}" || { echo "Folder \"${cur}\" doesn't exist, aborting." && exit; }
2625
# init the submodule
2726
git submodule update --init --recursive
2827
# launch dotdrop
29-
python3 "${bin}" --cfg="${cfg}" "${args[@]}"
28+
python3 -m dotdrop.dotdrop --cfg="${cfg}" "${args[@]}"
3029
# pivot back
3130
cd "${opwd}" || { echo "Folder \"${opwd}\" doesn't exist, aborting." && exit; }

dotdrop/__init__.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"""
2+
author: deadc0de6 (https://github.com/deadc0de6)
3+
Copyright (c) 2017, deadc0de6
4+
"""
5+
6+
import sys
7+
8+
__version__ = '0.6'
9+
10+
11+
def main():
12+
import dotdrop.dotdrop
13+
if dotdrop.dotdrop.main():
14+
sys.exit(0)
15+
sys.exit(1)

dotdrop/action.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
"""
66

77
import subprocess
8-
from logger import Logger
8+
9+
# local imports
10+
from dotdrop.logger import Logger
911

1012

1113
class Action:

dotdrop/config.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@
66

77
import yaml
88
import os
9-
from dotfile import Dotfile
10-
from logger import Logger
11-
from action import Action
9+
10+
# local import
11+
from dotdrop.dotfile import Dotfile
12+
from dotdrop.logger import Logger
13+
from dotdrop.action import Action
1214

1315

1416
class Cfg:

dotdrop/dotdrop.py

+15-13
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,17 @@
77
import os
88
import sys
99
import subprocess
10-
import utils
1110
from docopt import docopt
12-
from logger import Logger
13-
from templategen import Templategen
14-
from installer import Installer
15-
from dotfile import Dotfile
16-
from config import Cfg
1711

18-
VERSION = '0.6'
12+
# local imports
13+
from . import __version__ as VERSION
14+
from .logger import Logger
15+
from .templategen import Templategen
16+
from .installer import Installer
17+
from .dotfile import Dotfile
18+
from .config import Cfg
19+
from .utils import *
20+
1921
CUR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
2022
LOG = Logger()
2123
HOSTNAME = os.uname()[1]
@@ -40,7 +42,7 @@
4042
4143
Options:
4244
--profile=<profile> Specify the profile to use [default: %s].
43-
-c --cfg=<path> Path to the config [default: %s/config.yaml].
45+
-c --cfg=<path> Path to the config [default: config.yaml].
4446
--files=<files> Comma separated list of files to compare.
4547
-n --nodiff Do not diff when installing.
4648
-l --link Import and link.
@@ -50,7 +52,7 @@
5052
-v --version Show version.
5153
-h --help Show this screen.
5254
53-
""" % (BANNER, HOSTNAME, CUR)
55+
""" % (BANNER, HOSTNAME)
5456

5557
###########################################################
5658
# entry point
@@ -147,16 +149,16 @@ def importer(opts, conf, paths):
147149
if opts['dry']:
148150
LOG.dry('would run: %s' % (' '.join(cmd)))
149151
else:
150-
utils.run(cmd, raw=False, log=False)
152+
run(cmd, raw=False, log=False)
151153
cmd = ['cp', '-R', '-L', dst, srcf]
152154
if opts['dry']:
153155
LOG.dry('would run: %s' % (' '.join(cmd)))
154156
if opts['link']:
155157
LOG.dry('would symlink %s to %s' % (srcf, dst))
156158
else:
157-
utils.run(cmd, raw=False, log=False)
159+
run(cmd, raw=False, log=False)
158160
if opts['link']:
159-
utils.remove(dst)
161+
remove(dst)
160162
os.symlink(srcf, dst)
161163
if retconf:
162164
LOG.sub('\"%s\" imported' % (path))
@@ -226,7 +228,7 @@ def main():
226228

227229
elif args['compare']:
228230
# compare local dotfiles with dotfiles stored in dotdrop
229-
tmp = utils.get_tmpdir()
231+
tmp = get_tmpdir()
230232
if compare(opts, conf, tmp, args['--files']):
231233
LOG.raw('\ntemporary files available under %s' % (tmp))
232234
else:

dotdrop/installer.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
"""
66

77
import os
8-
import utils
9-
from logger import Logger
8+
9+
# local imports
10+
from dotdrop.logger import Logger
11+
import dotdrop.utils as utils
1012

1113

1214
class Installer:

dotdrop/templategen.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
"""
66

77
import os
8-
import utils
98
from jinja2 import Environment, FileSystemLoader
109

10+
# local imports
11+
import dotdrop.utils as utils
12+
1113
BLOCK_START = '{%@@'
1214
BLOCK_END = '@@%}'
1315
VAR_START = '{{@@'

dotdrop/utils.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@
77
import subprocess
88
import tempfile
99
import os
10-
from logger import Logger
1110
from shutil import rmtree
1211

12+
# local import
13+
from dotdrop.logger import Logger
14+
1315

1416
LOG = Logger()
1517

setup.cfg

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[metadata]
2+
description-file = README.md
3+
license_file = LICENSE
4+
5+
[bdist_wheel]
6+
python-tag = py3
7+
8+
[files]
9+
extra_files =
10+
LICENSE
11+
README.md

setup.py

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
from setuptools import setup, find_packages
2+
from codecs import open
3+
from os import path
4+
import dotdrop
5+
6+
readme = 'README.md'
7+
here = path.abspath(path.dirname(__file__))
8+
9+
try:
10+
from pypandoc import convert
11+
read_readme = lambda f: convert(f, 'rst')
12+
except ImportError:
13+
print('\n[WARNING] pypandoc not found, could not convert \"{}\"\n'.format(readme))
14+
read_readme = lambda f: open(f, 'r').read()
15+
16+
VERSION = dotdrop.__version__
17+
18+
setup(
19+
name='dotdrop',
20+
version=VERSION,
21+
22+
description='Save your dotfiles once, deploy them everywhere',
23+
long_description=read_readme(readme),
24+
url='https://github.com/deadc0de6/dotdrop',
25+
download_url = 'https://github.com/deadc0de6/dotdrop/archive/v'+VERSION+'.tar.gz',
26+
27+
author='deadc0de6',
28+
author_email='[email protected]',
29+
30+
license='GPLv3',
31+
classifiers=[
32+
'Development Status :: 5 - Production/Stable',
33+
'Programming Language :: Python :: 3.3',
34+
'Programming Language :: Python :: 3.4',
35+
'Programming Language :: Python :: 3.5',
36+
'Programming Language :: Python :: 3.6',
37+
'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
38+
],
39+
40+
keywords='dotfiles jinja2',
41+
packages=find_packages(exclude=['tests*']),
42+
install_requires=['docopt', 'Jinja2', 'PyYAML'],
43+
44+
extras_require={
45+
'dev': ['check-manifest'],
46+
'test': ['coverage', 'pytest', 'pytest-cov'],
47+
},
48+
49+
entry_points={
50+
'console_scripts': [
51+
'dotdrop=dotdrop:main',
52+
],
53+
},
54+
)

0 commit comments

Comments
 (0)