Git Product home page Git Product logo

opengridview's Introduction

Open-GridView

An application insipired by PowerShell's Out-GridView .

https://cloud.githubusercontent.com/assets/7194491/18807763/73f0c676-8258-11e6-9598-46c27488ffe9.png

Implemented on Gnome using GTK

Input is passed via STDIN or via filenames in argument. Every file is assigned a window and a thread in charge of reading that file and parsing it.

Also check out my post on it: http://blog.backslasher.net/open-gridview.html

Prerequisites

Since we rely on Gtk, we need the python GTK bindings (PyGobject). Compiling it as a Python package is annoying, so it's better to install the Distro-provided package (e.g. in Ubuntu - python-gi)

Basic usage

Either pipe input, or supply it as files.

Default parser is autosplit (re.split) with \s+ as separator

Change parser with --parser

Change separator where applicable using --separator

Column names are usually inferred from input. Use --headers to override.

Columns can be discarded by specifying an empty name, like --headers important,,also

Column types are usually inferred from first item in input. If overriding headers, follow a name with colons to force a specific type, like --headers col,othercol:int,thirdcol

Parsing

These different types of input formatting are currently supported:

  • autosplit (default), which uses re.split to create different columns from every row.

    Default separator is \s+ which is good for space-separated items.

    Separator can contains capturing groups for interesting results

  • csv, with configurable column separators

  • line_json, where every line is considered a single JSON object (Line delimited JSON)

Items are displayed immediately when parsed

Additional features

  • Clipboard support. Copies as CSV to allow easy pasting in spreadsheet software
  • Simple text filtering

TODO

  • act as pipeline middle (and not just terminator), meaning that you can select items and click "OK" to make it send the items to STDOUT
  • Support advanced filtering (e.g. regex, specific columns)
  • Support hiding and re-ordering columns
  • show progress icon when stdin isn't EOF yet

opengridview's People

Contributors

backslasher avatar theloicoffrance avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.