mirror of https://github.com/cheat/cheat.git
Minor tweaks on PR #163
- Backed out Windows-related work in `setup.py`, because it is still in-progress - Minor changes to the `README`
This commit is contained in:
parent
ccfe2a9cbd
commit
eda53cccd6
|
@ -50,11 +50,12 @@ to store notes on your favorite cookie recipes, feel free.
|
||||||
Installing
|
Installing
|
||||||
----------
|
----------
|
||||||
|
|
||||||
The easy way
|
### Using pip ###
|
||||||
|
|
||||||
sudo pip install cheat
|
sudo pip install cheat
|
||||||
|
|
||||||
The old way
|
|
||||||
|
### Manually ###
|
||||||
|
|
||||||
First install the required python dependencies with:
|
First install the required python dependencies with:
|
||||||
|
|
||||||
|
|
47
setup.py
47
setup.py
|
@ -1,48 +1,5 @@
|
||||||
from distutils.core import setup
|
from distutils.core import setup
|
||||||
import os
|
import os
|
||||||
from os.path import join as pjoin, splitext, split as psplit
|
|
||||||
from distutils.command.install_scripts import install_scripts
|
|
||||||
from distutils import log
|
|
||||||
|
|
||||||
BAT_TEMPLATE = \
|
|
||||||
r"""@echo off
|
|
||||||
REM wrapper to use shebang first line of {FNAME}
|
|
||||||
set mypath=%~dp0
|
|
||||||
set pyscript="%mypath%{FNAME}"
|
|
||||||
set /p line1=<%pyscript%
|
|
||||||
if "%line1:~0,2%" == "#!" (goto :goodstart)
|
|
||||||
echo First line of %pyscript% does not start with "#!"
|
|
||||||
exit /b 1
|
|
||||||
:goodstart
|
|
||||||
set py_exe=%line1:~2%
|
|
||||||
call %py_exe% %pyscript% %*
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
class my_install_scripts(install_scripts):
|
|
||||||
def run(self):
|
|
||||||
install_scripts.run(self)
|
|
||||||
if not os.name == "nt":
|
|
||||||
return
|
|
||||||
for filepath in self.get_outputs():
|
|
||||||
# If we can find an executable name in the #! top line of the script
|
|
||||||
# file, make .bat wrapper for script.
|
|
||||||
with open(filepath, 'rt') as fobj:
|
|
||||||
first_line = fobj.readline()
|
|
||||||
if not (first_line.startswith('#!') and
|
|
||||||
'python' in first_line.lower()):
|
|
||||||
log.info("No #!python executable found, skipping .bat "
|
|
||||||
"wrapper")
|
|
||||||
continue
|
|
||||||
pth, fname = psplit(filepath)
|
|
||||||
froot, ext = splitext(fname)
|
|
||||||
bat_file = pjoin(pth, froot + '.bat')
|
|
||||||
bat_contents = BAT_TEMPLATE.replace('{FNAME}', fname)
|
|
||||||
log.info("Making %s wrapper for %s" % (bat_file, filepath))
|
|
||||||
if self.dry_run:
|
|
||||||
continue
|
|
||||||
with open(bat_file, 'wt') as fobj:
|
|
||||||
fobj.write(bat_contents)
|
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name = 'cheat',
|
name = 'cheat',
|
||||||
|
@ -67,7 +24,5 @@ setup(
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'docopt >= 0.6.1',
|
'docopt >= 0.6.1',
|
||||||
'pygments >= 1.6.0',
|
'pygments >= 1.6.0',
|
||||||
],
|
]
|
||||||
cmdclass = {'install_scripts': my_install_scripts}
|
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue