From e0e719aa1f17495d95a352477894d012319c04ba Mon Sep 17 00:00:00 2001 From: Ville Rantanen Date: Thu, 17 Nov 2016 12:28:09 +0200 Subject: [PATCH] move tsv updating manual --- rc | 10 +----- tsv/tsvhead | 95 -------------------------------------------------- tsv/tsvtail | 99 ----------------------------------------------------- 3 files changed, 1 insertion(+), 203 deletions(-) delete mode 100755 tsv/tsvhead delete mode 100755 tsv/tsvtail diff --git a/rc b/rc index 84b7051..5db830a 100755 --- a/rc +++ b/rc @@ -17,20 +17,12 @@ function _self_update() { pushd "$TOOLSPATH" > /dev/null [[ "$1" = "-u" ]] && { hg pull -u https://bitbucket.org/MoonQ/tools - _update_tsvkit } || { timeout 5 hg pull -u hg pull https://bitbucket.org/MoonQ/tools > /dev/null 2>&1 } popd > /dev/null } -function _update_tsvkit() { - mkdir -p "$TOOLSPATH"/tsv/lib - wget -qO "$TOOLSPATH"/tsv/tsvkit.sh https://bitbucket.org/anduril-dev/anduril/raw/anduril2/lang/bash/tsvkit.sh - wget -qO "$TOOLSPATH"/tsv/lib/tsvhead https://bitbucket.org/anduril-dev/anduril/raw/anduril2/lang/bash/lib/tsvhead - wget -qO "$TOOLSPATH"/tsv/lib/tsvtail https://bitbucket.org/anduril-dev/anduril/raw/anduril2/lang/bash/lib/tsvtail -} - function _change_hg_repo() { [[ -w "$TOOLSPATH"/.hg ]] || return [[ -w "$TOOLSPATH"/.hg/hgrc ]] || return @@ -67,6 +59,6 @@ unset -f _change_hg_repo TOOLS_LASTUPDATE=$(( $( date +%s ) - $( stat -c %Y "$TOOLSPATH"/.lastupdate ) )) [[ "$TOOLS_LASTUPDATE" -gt 604800 ]] && _self_update unset TOOLS_LASTUPDATE -unset -f _self_update _update_tsvkit +unset -f _self_update diff --git a/tsv/tsvhead b/tsv/tsvhead deleted file mode 100755 index f568740..0000000 --- a/tsv/tsvhead +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2015 Ville Rantanen -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published -# by the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# - -'''simple head for tsv/csv files.''' - -__author__ = "Ville Rantanen " - -__version__ = "0.1" - -import sys,os,argparse -from argparse import ArgumentParser - -def setup_options(): - ''' Create command line options ''' - usage=''' -Simple implementation of head that keeps the header row. - -''' - - parser=ArgumentParser(description=usage, - formatter_class=argparse.RawDescriptionHelpFormatter, - epilog="\n".join(["Version: "+__version__,__author__])) - common_group=parser.add_argument_group('common', 'Common options') - common_group.add_argument("-v","--version",action="version",version=__version__) - common_group.add_argument("-n",type=int,dest="lines",default=False, - help="Lines to show from beginning of file. Negative value to show lines but the number. Default: 10") - parser.add_argument("file",type=str, nargs='*', - help="File(s) to be headed") - opts=parser.parse_args() - if not opts.lines: - try: - int(opts.file[0]) - opts.lines=int(opts.file.pop(0)) - except: - pass - if not opts.lines: - opts.lines=10 - return opts - -def behead(fileob,opts): - - header=fileob.readline() - sys.stdout.write(header) - if opts.lines>=0: - head_ordinary(fileob, opts.lines) - else: - head_allbutlast(fileob, opts.lines) - -def head_ordinary(fileob, lines): - for i,row in enumerate(fileob): - if i>lines-1: - break - sys.stdout.write(row) - -def head_allbutlast(fileob, lines): - lines=-lines - buf=[] - for row in fileob: - buf.append(row) - if len(buf)>lines: - sys.stdout.write(buf.pop(0)) - -def main(): - opts=setup_options() - try: - if (not sys.stdin.isatty()): - behead(sys.stdin, opts) - for fi in opts.file: - behead(open(fi,'r'), opts) - except IOError as (n,e): - if n==32: - pass - else: - import traceback - print traceback.format_exc() - except KeyboardInterrupt: - pass - -if __name__ == "__main__": - main() diff --git a/tsv/tsvtail b/tsv/tsvtail deleted file mode 100755 index 9b4c469..0000000 --- a/tsv/tsvtail +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2015 Ville Rantanen -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published -# by the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# - -'''simple tail for tsv/csv files.''' - -__author__ = "Ville Rantanen " - -__version__ = "0.1" - -import sys,os,argparse -from argparse import ArgumentParser - -def setup_options(): - ''' Create command line options ''' - usage=''' -simple implementation of tail, keeping the header row - -''' - - parser=ArgumentParser(description=usage, - formatter_class=argparse.RawDescriptionHelpFormatter, - epilog="\n".join(["Version: "+__version__,__author__])) - common_group=parser.add_argument_group('common', 'Common options') - common_group.add_argument("-v","--version",action="version",version=__version__) - common_group.add_argument("-n",type=str,dest="lines",default=False, - help="Lines to show from end of file. +K to start output from the Kth. Default: 10") - parser.add_argument("file",type=str, nargs='*', - help="File(s) to be headed") - opts=parser.parse_args() - if not opts.lines: - try: - int(opts.file[0]) - opts.lines=opts.file.pop(0) - except: - pass - if not opts.lines: - opts.lines="10" - if opts.lines.startswith("+"): - opts.lines=-int(opts.lines) - else: - opts.lines=int(opts.lines) - return opts - -def tail(fileob,opts): - - header=fileob.readline() - sys.stdout.write(header) - if opts.lines>=0: - tail_ordinary(fileob, opts.lines) - else: - tail_allbutfirst(fileob, -opts.lines) - -def tail_allbutfirst(fileob, lines): - for i,row in enumerate(fileob): - if ilines: - buf.pop(0) - [sys.stdout.write(l) for l in buf] - -def main(): - opts=setup_options() - try: - if (not sys.stdin.isatty()): - tail(sys.stdin, opts) - for fi in opts.file: - tail(open(fi,'r'), opts) - except IOError as (n,e): - if n==32: - pass - else: - import traceback - print traceback.format_exc() - except KeyboardInterrupt: - pass - -if __name__ == "__main__": - main()