mirror of
https://github.com/rasbt/python_reference.git
synced 2024-11-27 14:01:15 +00:00
Git commit hash arg
This commit is contained in:
parent
fbe7759fd7
commit
1bbf720e69
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"name": "",
|
"name": "",
|
||||||
"signature": "sha256:72529e8db6a991fa9a1ce25da1f89e9aa64dd9fdffdcdbef3ae0f18098f5ab0a"
|
"signature": "sha256:f60eef12fdb981a16a1ac0578a3dcf7377d991866b8528653a69fd33bf2ba8f9"
|
||||||
},
|
},
|
||||||
"nbformat": 3,
|
"nbformat": 3,
|
||||||
"nbformat_minor": 0,
|
"nbformat_minor": 0,
|
||||||
|
@ -81,6 +81,26 @@
|
||||||
],
|
],
|
||||||
"prompt_number": 1
|
"prompt_number": 1
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"collapsed": false,
|
||||||
|
"input": [
|
||||||
|
"%install_ext ./watermark.py"
|
||||||
|
],
|
||||||
|
"language": "python",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"output_type": "stream",
|
||||||
|
"stream": "stdout",
|
||||||
|
"text": [
|
||||||
|
"Installed watermark.py. To use it, type:\n",
|
||||||
|
" %load_ext watermark\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prompt_number": 1
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
@ -153,20 +173,18 @@
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"<pre>%watermark [-a AUTHOR] [-e AUTHOR_EMAIL] [-d] [-n] [-t] [-z] [-u]\n",
|
"<pre> %watermark [-a AUTHOR] [-d] [-n] [-t] [-z] [-u] [-c CUSTOM_TIME] [-v]\n",
|
||||||
" [-c CUSTOM_TIME] [-v] [-p PACKAGES] [-m]\n",
|
" [-p PACKAGES] [-h] [-m] [-g]\n",
|
||||||
"\n",
|
"\n",
|
||||||
" \n",
|
" \n",
|
||||||
"IPython magic function to print date/time stamps \n",
|
"IPython magic function to print date/time stamps \n",
|
||||||
"and various system information.\n",
|
"and various system information.\n",
|
||||||
"\n",
|
"\n",
|
||||||
"watermark version 1.0.2\n",
|
"watermark version 1.1.0\n",
|
||||||
"\n",
|
"\n",
|
||||||
"optional arguments:\n",
|
"optional arguments:\n",
|
||||||
" -a AUTHOR, --author AUTHOR\n",
|
" -a AUTHOR, --author AUTHOR\n",
|
||||||
" prints author name\n",
|
" prints author name\n",
|
||||||
" -e AUTHOR_EMAIL, --author_email AUTHOR_EMAIL\n",
|
|
||||||
" prints author name and link to email address\n",
|
|
||||||
" -d, --date prints current date\n",
|
" -d, --date prints current date\n",
|
||||||
" -n, --datename prints date with abbrv. day and month names\n",
|
" -n, --datename prints date with abbrv. day and month names\n",
|
||||||
" -t, --time prints current time\n",
|
" -t, --time prints current time\n",
|
||||||
|
@ -180,6 +198,7 @@
|
||||||
" packages\n",
|
" packages\n",
|
||||||
" -h, --hostname prints the host name\n",
|
" -h, --hostname prints the host name\n",
|
||||||
" -m, --machine prints system and machine info\n",
|
" -m, --machine prints system and machine info\n",
|
||||||
|
" -g, --githash prints current Git commit hash\n",
|
||||||
"</pre>"
|
"</pre>"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -212,7 +231,7 @@
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"stream": "stdout",
|
"stream": "stdout",
|
||||||
"text": [
|
"text": [
|
||||||
"28/06/2014 16:35:11\n",
|
"29/06/2014 01:19:10\n",
|
||||||
"\n",
|
"\n",
|
||||||
"CPython 3.4.1\n",
|
"CPython 3.4.1\n",
|
||||||
"IPython 2.1.0\n",
|
"IPython 2.1.0\n",
|
||||||
|
@ -227,7 +246,7 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"prompt_number": 4
|
"prompt_number": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
|
@ -249,11 +268,11 @@
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"stream": "stdout",
|
"stream": "stdout",
|
||||||
"text": [
|
"text": [
|
||||||
"28/06/2014 16:35:12 \n"
|
"29/06/2014 01:19:11 \n"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"prompt_number": 5
|
"prompt_number": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
|
@ -275,11 +294,11 @@
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"stream": "stdout",
|
"stream": "stdout",
|
||||||
"text": [
|
"text": [
|
||||||
"Last updated: Sat Jun 35 2014 16:35:12 EDT\n"
|
"Last updated: Sun Jun 19 2014 01:19:12 EDT\n"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"prompt_number": 6
|
"prompt_number": 5
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
|
@ -306,7 +325,7 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"prompt_number": 7
|
"prompt_number": 6
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
|
@ -338,7 +357,7 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"prompt_number": 8
|
"prompt_number": 7
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
|
@ -376,7 +395,7 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"prompt_number": 9
|
"prompt_number": 8
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
|
@ -389,7 +408,7 @@
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"collapsed": false,
|
"collapsed": false,
|
||||||
"input": [
|
"input": [
|
||||||
"%watermark -a \"John Doe\" -d -v -m "
|
"%watermark -a \"John Doe\" -d -v -m -g"
|
||||||
],
|
],
|
||||||
"language": "python",
|
"language": "python",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
@ -398,7 +417,7 @@
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"stream": "stdout",
|
"stream": "stdout",
|
||||||
"text": [
|
"text": [
|
||||||
"John Doe 28/06/2014 \n",
|
"John Doe 29/06/2014 01:20:48 EDT\n",
|
||||||
"\n",
|
"\n",
|
||||||
"CPython 3.4.1\n",
|
"CPython 3.4.1\n",
|
||||||
"IPython 2.1.0\n",
|
"IPython 2.1.0\n",
|
||||||
|
@ -409,11 +428,12 @@
|
||||||
"machine : x86_64\n",
|
"machine : x86_64\n",
|
||||||
"processor : i386\n",
|
"processor : i386\n",
|
||||||
"CPU cores : 2\n",
|
"CPU cores : 2\n",
|
||||||
"interpreter: 64bit\n"
|
"interpreter: 64bit\n",
|
||||||
|
"Git hash : fbe7759fd7e0298bf0bd05ea4aac01b87aa8ed25\n"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"prompt_number": 10
|
"prompt_number": 16
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
|
|
|
@ -2,39 +2,39 @@
|
||||||
Sebastian Raschka 2014
|
Sebastian Raschka 2014
|
||||||
|
|
||||||
watermark.py
|
watermark.py
|
||||||
version 1.0.3
|
version 1.1.0
|
||||||
|
|
||||||
|
|
||||||
IPython magic function to print date/time stamps and various system information.
|
IPython magic function to print date/time stamps and various system information.
|
||||||
|
|
||||||
Installation:
|
Installation:
|
||||||
|
|
||||||
%install_ext https://raw.githubusercontent.com/rasbt/python_reference/master/ipython_magic/watermark.py
|
%install_ext https://raw.githubusercontent.com/rasbt/python_reference/master/ipython_magic/watermark.py
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
%load_ext watermark
|
%load_ext watermark
|
||||||
|
|
||||||
%watermark
|
%watermark
|
||||||
|
|
||||||
optional arguments:
|
optional arguments:
|
||||||
-a AUTHOR, --author AUTHOR
|
|
||||||
|
-a AUTHOR, --author AUTHOR
|
||||||
prints author name
|
prints author name
|
||||||
-e AUTHOR_EMAIL, --author_email AUTHOR_EMAIL
|
-d, --date prints current date
|
||||||
prints author name and link to email address
|
-n, --datename prints date with abbrv. day and month names
|
||||||
-d, --date prints current date
|
-t, --time prints current time
|
||||||
-n, --datename prints date with abbrv. day and month names
|
-z, --timezone appends the local time zone
|
||||||
-t, --time prints current time
|
-u, --updated appends a string "Last updated: "
|
||||||
-z, --timezone appends the local time zone
|
-c CUSTOM_TIME, --custom_time CUSTOM_TIME
|
||||||
-u, --updated appends a string "Last updated: "
|
|
||||||
-c CUSTOM_TIME, --custom_time CUSTOM_TIME
|
|
||||||
prints a valid strftime() string
|
prints a valid strftime() string
|
||||||
-v, --python prints Python and IPython version
|
-v, --python prints Python and IPython version
|
||||||
-p PACKAGES, --packages PACKAGES
|
-p PACKAGES, --packages PACKAGES
|
||||||
prints versions of specified Python modules and
|
prints versions of specified Python modules and
|
||||||
packages
|
packages
|
||||||
-h, --hostname prints the host name
|
-h, --hostname prints the host name
|
||||||
-m, --machine prints system and machine info
|
-m, --machine prints system and machine info
|
||||||
|
-g, --githash prints current Git commit hash
|
||||||
|
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
@ -43,6 +43,7 @@ Examples:
|
||||||
|
|
||||||
"""
|
"""
|
||||||
import platform
|
import platform
|
||||||
|
import subprocess
|
||||||
from time import strftime
|
from time import strftime
|
||||||
from socket import gethostname
|
from socket import gethostname
|
||||||
from pkg_resources import get_distribution
|
from pkg_resources import get_distribution
|
||||||
|
@ -71,13 +72,14 @@ class WaterMark(Magics):
|
||||||
@argument('-p', '--packages', type=str, help='prints versions of specified Python modules and packages')
|
@argument('-p', '--packages', type=str, help='prints versions of specified Python modules and packages')
|
||||||
@argument('-h', '--hostname', action='store_true', help='prints the host name')
|
@argument('-h', '--hostname', action='store_true', help='prints the host name')
|
||||||
@argument('-m', '--machine', action='store_true', help='prints system and machine info')
|
@argument('-m', '--machine', action='store_true', help='prints system and machine info')
|
||||||
|
@argument('-g', '--githash', action='store_true', help='prints current Git commit hash')
|
||||||
@line_magic
|
@line_magic
|
||||||
def watermark(self, line):
|
def watermark(self, line):
|
||||||
"""
|
"""
|
||||||
IPython magic function to print date/time stamps
|
IPython magic function to print date/time stamps
|
||||||
and various system information.
|
and various system information.
|
||||||
|
|
||||||
watermark version 1.0.3
|
watermark version 1.1.0
|
||||||
|
|
||||||
"""
|
"""
|
||||||
self.out = ''
|
self.out = ''
|
||||||
|
@ -114,6 +116,9 @@ class WaterMark(Magics):
|
||||||
if args.machine:
|
if args.machine:
|
||||||
space = ' '
|
space = ' '
|
||||||
self.out += '\nhost name%s: %s' %(space, gethostname())
|
self.out += '\nhost name%s: %s' %(space, gethostname())
|
||||||
|
if args.githash:
|
||||||
|
self._get_commit_hash(bool(args.machine))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -154,5 +159,14 @@ class WaterMark(Magics):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def _get_commit_hash(self, machine):
|
||||||
|
process = subprocess.Popen(['git', 'rev-parse', 'HEAD'], shell=False, stdout=subprocess.PIPE)
|
||||||
|
git_head_hash = process.communicate()[0].strip()
|
||||||
|
space = ''
|
||||||
|
if machine:
|
||||||
|
space = ' '
|
||||||
|
self.out += '\nGit hash%s: %s' %(space, git_head_hash.decode("utf-8"))
|
||||||
|
|
||||||
|
|
||||||
def load_ipython_extension(ipython):
|
def load_ipython_extension(ipython):
|
||||||
ipython.register_magics(WaterMark)
|
ipython.register_magics(WaterMark)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user