python module for command-line filter
Project description
#Name
jjcli - python module for command-line filter
#Synopsys
jjcli skel ## for a initial filter skeleton jjcli ## for manual
--
from jjcli import * ## re.* functions also imported c=clfilter(opt="do:") ## options in c.opt; ## autostrip (def=True) ## inplace (def=False) ## fs (for csvrow()) (def=",")
for line in c.input():... ## process one rstriped line at the time for txt in c.slurp():... ## process one striped text at the time ## process txt ## (end of line spaces and \r also removed) for par in c.paragraph():... ## process one striped paragraph at the time for tup in c.csvrow():... ## process one csv row at the time for tup in c.tsvrow():... ## process one tsv row at the time
c.lineno() ## line number c.filelineno() c.parno() ## paragraph number c.fileparno() c.filename() ## filename or "" c.nextfile() c.isfirstline()
#Description
jjcli is a python module that tries to simplify the creation of unix filters by importing:
- getopt (for command line options ans args)
- fileinput (for [files/stdin] arguments)
- re (regular expressions)
- csv (for csv and tsv inputs)
- urllib.request (to deal with input argumens that are url)
- subprocess
regular expressions
imports all functions from re.* Use re.I re.X re.S for regexp flags
subprocesses (qx, qxlines, qxsystem)
a=qx( "ls" ) for x in qxlines("find | grep '.jpg$'"): ... qxsystem("vim myfile")
execute command return its stdout
def qx(*x) : return subprocess.getoutput(x)
execute command return its stdout lines
def qxlines(*x) : return subprocess.getoutput(x).splitlines()
execute command -- system
def qxsystem(*x): subprocess.call(x,shell=True)
Other functions
def slurpurlutf8(self,f):
filename = lambda s : F.filename() # inherited from fileinput filelineno = lambda s : F.filelineno() lineno = lambda s : F.lineno() fileparno = lambda s : s.fileparno_ parno = lambda s : s.parno_ nextfile = lambda s : F.nextfile() isfirstline = lambda s : F.isfirstline() close = lambda s : F.close()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jjcli-0.1.12.tar.gz.
File metadata
- Download URL: jjcli-0.1.12.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.23.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d41ca06904c6470e7c47667edb7a72dec7583ad41bdd74241bc8a00e4e295048
|
|
| MD5 |
7cd83a8e1a12185cca1964048394ddf2
|
|
| BLAKE2b-256 |
a47ca2eb9440e6ab0230800040498eb8fd5164c2992f161aafa97b9034445ad0
|
File details
Details for the file jjcli-0.1.12-py2.py3-none-any.whl.
File metadata
- Download URL: jjcli-0.1.12-py2.py3-none-any.whl
- Upload date:
- Size: 4.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.23.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d054deeb635f6de8feaeb47f162eb3a619a432399504a664b6b7e537d75bd6a
|
|
| MD5 |
5e11fab184dd81bb163871dc088e79f4
|
|
| BLAKE2b-256 |
73d7ccf00b67451d990491d9c193c7e2a2bea1baf4a7c5cbd3bdb096965a4ee0
|