Compare commits

..

45 Commits

Author SHA1 Message Date
Dima Kogan
fe3a1af579 test 2013-11-30 00:09:56 -08:00
Dima Kogan
1dad122cb9 changelog bump 2013-10-20 01:18:32 -07:00
Dima Kogan
ee6b339978 minor POD updates 2013-10-20 01:17:00 -07:00
Dima Kogan
0270ec7679 updated reference plots to work specifically with gnuplot 4.6.4 2013-10-20 00:46:00 -07:00
Dima Kogan
46123fc308 main test script gives up if gnuplot isn't available 2013-10-20 00:23:03 -07:00
Dima Kogan
f342a42cf9 updated CPAN depenencies 2013-10-20 00:17:32 -07:00
Dima Kogan
d55e54c095 version bump 2013-10-20 00:14:22 -07:00
Dima Kogan
0ca3482607 all tests now produce a higher-resolution plot 2013-10-20 00:09:10 -07:00
Dima Kogan
48254eefa8 test harness prints out the actual command being executed 2013-10-19 23:56:12 -07:00
Dima Kogan
54862ec2fd added --timefmt tests 2013-10-19 23:55:47 -07:00
Dima Kogan
74e95d8e6f If using --timefmt then --xlen MUST have an integer argument
I use strftime() and strptime() to deal with xlen in the timefmt case, and those
functions only work with integers
2013-10-19 23:37:17 -07:00
Dima Kogan
6f23f89c28 minor update to the timefmt doc 2013-10-19 22:52:55 -07:00
Dima Kogan
0f4fc69835 removed load test, since the functional tests all supersede it
This allows me to drop the dependency on Test::Script::Run
2013-10-19 22:47:48 -07:00
Dima Kogan
f83d8db27a added streaming tests 2013-10-19 22:45:43 -07:00
Dima Kogan
59625675f7 test now uses IPC::Run directly instead of Test::Script::Run
This is required for the streaming tests I'm about to write. Test::Script::Run
doesn't know how to feed input from one process to another as the data comes in
2013-10-19 22:45:43 -07:00
Dima Kogan
0863998848 streaming data now has an 'exit' command 2013-10-19 22:45:43 -07:00
Dima Kogan
f2fa0bf14c added --hardcopy tests 2013-10-19 22:45:43 -07:00
Dima Kogan
ffd19b9b87 --hardcopy now handles piped output
If we tell gnuplot to plot to a file whose name starts with '|', gnuplot writes
to a a process, not to a file. This is now supported by feedgnuplot
2013-10-19 22:45:43 -07:00
Dima Kogan
669fb8dee6 '--stream --hardcopy' is now an error, not a warning 2013-10-19 22:45:43 -07:00
Dima Kogan
deaa85dbd3 expanded test suite 2013-10-19 22:45:43 -07:00
Dima Kogan
99369d1542 y2-axis curves no longer have a thicker line by default
This was causing an issue where gnuplot would complain if a points-only
--curvestyle was plotted on the y2 axis. This is because --linewidth makes no
sense for a points-only curve
2013-10-19 22:45:33 -07:00
Dima Kogan
f4976bd0f7 --circles explicitly not supported for 3d plots 2013-10-19 22:45:33 -07:00
Dima Kogan
acd6de507c fixed doc reformatting typo 2013-10-19 22:45:33 -07:00
Dima Kogan
faaeac7990 made POD less verbose 2013-10-19 22:45:33 -07:00
Dima Kogan
1acb30c3cd first (very early) cut at a functional testing script 2013-10-18 15:17:58 -07:00
Dima Kogan
1252315598 tweaked a recipe to use --timefmt 2013-10-18 13:38:52 -07:00
Dima Kogan
fad78b60b0 slightly improved --timefmt documentation 2013-09-20 23:13:55 -07:00
Dima Kogan
809442e2dc reformatted docs. no content changes 2013-09-20 22:55:04 -07:00
Dima Kogan
f022590344 added timefmt documentation 2013-09-20 22:45:53 -07:00
Dima Kogan
3c0743c192 Updated bash, zsh completions with new commands. zsh completion has better prompts 2013-09-20 22:31:15 -07:00
Dima Kogan
c615c8d65e reordered bash completion entries in alphabetical order. removed duplicate --zlabel 2013-09-20 22:10:38 -07:00
Dima Kogan
c169330fca timefmt plots now work with streaming and with --xlen 2013-09-20 22:06:18 -07:00
Dima Kogan
d76f163be4 even simpler data storage
The data for each curve is now stored as one big string that has ALL the data;
this string is easily sent to gnuplot at once. There's also a bit of attached
meta-data to allow streaming --xlen culling to work
2013-09-20 19:32:44 -07:00
Dima Kogan
386c5f6d41 slightly simpler raw data parsing. Hopefully a bit quicker. 2013-09-20 03:46:41 -07:00
Dima Kogan
720c332dd9 Simplified data storage
I'm no longer storing the options as the first data point. That was silly, and
things are now clearer
2013-09-20 02:41:26 -07:00
Dima Kogan
4e823e7de5 I no longer grab the gnuplot version if I don't need it 2013-09-20 00:31:25 -07:00
Dima Kogan
3badf920b6 explicitly fail if we try --stream --xlen --xmin 2013-09-19 15:51:02 -07:00
Dima Kogan
756d934058 Simplified use of %options. I now use the global instead of passing it down 2013-09-19 15:42:29 -07:00
Dima Kogan
b43c9b985f added preliminary support for timefmt 2013-09-10 20:40:35 -07:00
Dima Kogan
2f5e9d95ca adusted help message for --exit 2013-08-12 17:22:22 -07:00
Eric Schulte
08d2f79fba added --exit option allowing feedgnuplot to return 2013-08-12 16:39:21 -06:00
Dima Kogan
ef2bff2af6 minor POD fixes, added some recipes 2013-06-27 13:15:49 -07:00
Dima Kogan
70b7c98124 better handling of non-timer-based replots
Previously I was ALWAYS replotting when triggered, ALWAYS replotting on a timer
and NEVER replotting on domain rollover with --monotonic.

I now have logic to do the right thing in all these cases. I now replot on
domain rollover, unless it's happening too quickly.
2013-06-15 01:33:00 -07:00
Dima Kogan
3146dbdfe7 cleared up --stream option logic
- minor refactoring
- --hardcopy and --stream together now generate a warning and turn off --stream
2013-06-15 01:33:00 -07:00
Dima Kogan
707196580a I now always 'exit -1' on error 2013-06-15 01:33:00 -07:00
20 changed files with 4651 additions and 499 deletions

22
Changes
View File

@@ -1,4 +1,24 @@
feedgnuplot (1.24) unstable; urgency=low
feedgnuplot (1.26)
* Minor POD fixes
-- Dima Kogan <dima@secretsauce.net> Sun, 20 Oct 2013 01:17:57 -0700
feedgnuplot (1.25)
* Added test suite
* Added initial support for --timefmt. Currently time/date data is
supported only at the x-axis domain
* Added --exit option for force feedgnuplot to return even if gnuplot
may not yet be done rendering (patch by Eric Schulte)
* Reformatted the documentation
* y2-axis curves no longer have a thicker line by default
* --hardcopy now handles piped output (gnuplot 'set output |process'
syntax)
-- Dima Kogan <dima@secretsauce.net> Sun, 20 Oct 2013 00:09:36 -0700
feedgnuplot (1.24)
* Fixed regression in --monotonic. This works again now
* moved POD back into the main source file. This fixes the broken usage

View File

@@ -1,7 +1,7 @@
Makefile.PL
MANIFEST
bin/feedgnuplot
t/00-load.t
t/manifest.t
t/plots.t
Changes
LICENSE

View File

@@ -63,7 +63,7 @@ WriteMakefile
: ()),
PL_FILES => {},
EXE_FILES => [ 'bin/feedgnuplot' ],
PREREQ_PM => { 'Test::Script::Run' => 0},
BUILD_REQUIRES => { 'String::ShellQuote' => 0},
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
clean => { FILES => 'feedgnuplot-*' },
);

View File

@@ -1 +0,0 @@
bin/feedgnuplot

1590
README.pod Executable file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,43 +1,46 @@
complete -W \
' \
--domain \
--dataid \
--3d \
--colormap \
--stream \
--lines \
--points \
--circles \
--xlabel \
--ylabel \
--y2label \
--zlabel \
--zlabel \
--title \
--autolegend \
--xlen \
--xmin \
--xmax \
--ymin \
--ymax \
--y2min \
--y2max \
--zmin \
--zmax \
--y2 \
--curvestyleall \
--extracmds \
--square \
--square_xy \
--hardcopy \
--maxcurves \
--monotonic \
--extraValuesPerPoint \
--dump \
--geometry \
--curvestyle \
--histogram \
--binwidth \
--histstyle \
--terminal \
--legend' feedgnuplot
complete -W \
' \
--3d \
--autolegend \
--binwidth \
--circles \
--colormap \
--curvestyle \
--curvestyleall \
--dataid \
--domain \
--dump \
--exit \
--extraValuesPerPoint \
--extracmds \
--geometry \
--hardcopy \
--help \
--histogram \
--histstyle \
--legend \
--lines \
--maxcurves \
--monotonic \
--points \
--square \
--square_xy \
--stream \
--terminal \
--timefmt \
--title \
--version \
--xlabel \
--xlen \
--xmax \
--xmin \
--y2 \
--y2label \
--y2max \
--y2min \
--ylabel \
--ymax \
--ymin \
--zlabel \
--zmax \
--zmin' feedgnuplot

View File

@@ -1,44 +1,48 @@
#compdef feedgnuplot
_arguments -S \
'()--domain[first element of each line is the domain variable]' \
'--dataid[each data point is preceded by the corresponding ID]' \
'(--monotonic --xlen --histogram)--3d' \
'--colormap[show a colormapped xy plot]' \
'--stream[Plot the data in realtime]::period in s:' \
'--lines' \
'--points' \
'--circles' \
'--xlabel:X-axis label:' \
'--ylabel:Y-axis label:' \
'--y2label:Y2-axis label:' \
'--zlabel:Z-axis label:' \
'--zlabel:Z-axis label:' \
'--title:Plot title:' \
'--autolegend[Label each plot with its data ID]' \
'(--3d)--xlen[the size of the x-window to plot]::window size:' \
'--xmin:min X:' \
'--xmax:max X:' \
'--ymin:min Y:' \
'--ymax:max Y:' \
'--y2min:min Y2:' \
'--y2max:max Y2:' \
'--zmin:min Z:' \
'--zmax:max Z:' \
'*--y2:plot to place on the Y2 axis:' \
'--curvestyleall[Additional styles for ALL curves]:' \
'*--extracmds[Additional gnuplot commands]:' \
'--square[Plot data with square aspect ratio]' \
'--square_xy[For 3D plots, set square aspect ratio for ONLY the x,y axes]' \
'--hardcopy[Plot to a file]:' \
'--maxcurves[The maximum allowed number of curves]:' \
'(--3d)--monotonic[Resets plot if an X in the past is seen]' \
'--extraValuesPerPoint[How many extra values are given for each data point]:' \
'--dump[Instead of printing to gnuplot, print to STDOUT]' \
'--geometry[The X11 geometry string]:geometry string:' \
'*--curvestyle[Additional styles for a curve]:curve id: :style:' \
'(--3d)*--histogram:plot to treat as a histogram:' \
'--binwidth:Histogram bin width:' \
'--histstyle:Style of histogram:(frequency unique cumulative cnormal)' \
'--terminal:Terminal options to set with "set terminal":' \
'*--legend[Legend for a curve]:curve id: :legend:'
_arguments -S \
'()--domain[first element of each line is the domain variable]' \
'--dataid[each data point is preceded by the corresponding ID]' \
'(--monotonic --xlen --histogram)--3d' \
'--colormap[show a colormapped xy plot]' \
'--stream[Plot the data in realtime]::period in s:' \
'--lines' \
'--points' \
'--circles' \
'--xlabel:X-axis label:' \
'--ylabel:Y-axis label:' \
'--y2label:Y2-axis label:' \
'--zlabel:Z-axis label:' \
'--zlabel:Z-axis label:' \
'--title:Plot title:' \
'--autolegend[Label each plot with its data ID]' \
'(--3d)--xlen[the size of the x-window to plot]::window size:' \
'(--xlen)--xmin:min X:' \
'(--xlen)--xmax:max X:' \
'--ymin:min Y:' \
'--ymax:max Y:' \
'--y2min:min Y2:' \
'--y2max:max Y2:' \
'--zmin:min Z:' \
'--zmax:max Z:' \
'*--y2:plot to place on the Y2 axis:' \
'--curvestyleall[Additional styles for ALL curves]:style' \
'*--extracmds[Additional gnuplot commands]:command' \
'--square[Plot data with square aspect ratio]' \
'--square_xy[For 3D plots, set square aspect ratio for ONLY the x,y axes]' \
'--hardcopy[Plot to a file]:filename' \
'--maxcurves[The maximum allowed number of curves]:number of curves' \
'(--3d)--monotonic[Resets plot if an X in the past is seen]' \
'--extraValuesPerPoint[How many extra values are given for each data point]:N'\
'--dump[Instead of printing to gnuplot, print to STDOUT]' \
'--geometry[The X11 geometry string]:geometry string:' \
'*--curvestyle[Additional styles for a curve]:curve id: :style:' \
'(--3d)*--histogram:plot to treat as a histogram:' \
'--binwidth:Histogram bin width:' \
'--histstyle:Style of histogram:(frequency unique cumulative cnormal)' \
'--terminal:Terminal options to set with "set terminal":' \
'*--legend[Legend for a curve]:curve id: :legend:' \
'--exit[Exit gnuplot after making the plot]' \
'--version' \
'--help' \
'--timefmt[Format for time/date data]:time format'

22
debian/changelog vendored
View File

@@ -1,22 +0,0 @@
feedgnuplot (1.24-2) unstable; urgency=low
* Now building the html documentation from the correct POD source
-- Dima Kogan <dima@secretsauce.net> Sun, 28 Apr 2013 17:42:52 -0700
feedgnuplot (1.24-1) unstable; urgency=low
* Fixed regression in --monotonic. This works again now
* moved POD back into the main source file. This fixes the broken usage
messages
* added --version
* fixed watchfile to work with newer github pages
* priority now optional
-- Dima Kogan <dima@secretsauce.net> Fri, 08 Feb 2013 02:01:32 -0800
feedgnuplot (1.23-2) unstable; urgency=low
* Initial Debian release (Closes: #686413)
-- Dima Kogan <dima@secretsauce.net> Tue, 30 Oct 2012 11:14:01 -0700

1
debian/compat vendored
View File

@@ -1 +0,0 @@
9

19
debian/control vendored
View File

@@ -1,19 +0,0 @@
Source: feedgnuplot
Section: science
Priority: optional
Build-Depends: debhelper (>= 9), libtest-script-run-perl, perl
Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Uploaders: Dima Kogan <dima@secretsauce.net>, Anton Gladky <gladk@debian.org>
Standards-Version: 3.9.4
Homepage: https://github.com/dkogan/feedgnuplot
Vcs-Git: git://git.debian.org/git/debian-science/packages/feedgnuplot.git
Vcs-Browser: http://git.debian.org/?p=debian-science/packages/feedgnuplot.git
Package: feedgnuplot
Architecture: all
Depends: ${misc:Depends}, ${perl:Depends}, gnuplot
Description: Pipe-oriented frontend to Gnuplot
Flexible, command-line-oriented frontend to Gnuplot. Creates plots from data
coming in on STDIN or given in a filename passed on the commandline. Various
data representations are supported, as is hardcopy output and streaming display
of live data.

24
debian/copyright vendored
View File

@@ -1,24 +0,0 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/dkogan/feedgnuplot
Upstream-Contact: Dima Kogan, <dima@secretsauce.net>
Upstream-Name: feedgnuplot
Files: *
Copyright: 2011, Dima Kogan <dima@secretsauce.net>
License: Artistic or GPL-1+
License: Artistic
This program is free software; you can redistribute it and/or modify
it under the terms of the Artistic License, which comes with Perl.
.
On Debian GNU/Linux systems, the complete text of the Artistic License
can be found in `/usr/share/common-licenses/Artistic'.
License: GPL-1+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
.
On Debian GNU/Linux systems, the complete text of version 1 of the
General Public License can be found in `/usr/share/common-licenses/GPL-1'.

View File

@@ -1,9 +0,0 @@
Document: feedgnuplot
Title: Feedgnuplot Manual
Author: Dima Kogan
Abstract: Formatted manpage for feedgnuplot
Section: Science/Data Analysis
Format: HTML
Index: /usr/share/doc/feedgnuplot/feedgnuplot.html
Files: /usr/share/doc/feedgnuplot/feedgnuplot.html

View File

@@ -1 +0,0 @@
feedgnuplot.html

View File

@@ -1,2 +0,0 @@
completions/bash/feedgnuplot /etc/bash_completion.d/
completions/zsh/_feedgnuplot /usr/share/zsh/vendor-completions

4
debian/gbp.conf vendored
View File

@@ -1,4 +0,0 @@
[DEFAULT]
debian-branch = debian
upstream-tag = v%(version)s
pristine-tar = True

12
debian/rules vendored
View File

@@ -1,12 +0,0 @@
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_build:
dh_auto_build
pod2html --title=feedgnuplot bin/feedgnuplot > feedgnuplot.html
override_dh_auto_clean:
rm -rf feedgnuplot.html pod2htm*
dh_auto_clean

View File

@@ -1 +0,0 @@
3.0 (quilt)

4
debian/watch vendored
View File

@@ -1,4 +0,0 @@
version=3
opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)\d*)$/$1~$2/,dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$// \
https://github.com/dkogan/feedgnuplot/tags .*/v?(\d.*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz))
# Bart Martens <bartm@debian.org> Sat, 22 Dec 2012 12:54:18 +0000

View File

@@ -1,16 +0,0 @@
#!/usr/bin/perl
# require a threaded perl for my tests. This block lifted verbatim from the cpantesters wiki
BEGIN {
use Config;
if (! $Config{'useithreads'}) {
print("1..0 # Skip: Perl not compiled with 'useithreads'\n");
exit(0);
}
}
use Test::More tests => 1;
use Test::Script::Run;
run_ok( 'feedgnuplot', ['--help'], 'feedgnuplot can run');

2175
t/plots.t Normal file

File diff suppressed because it is too large Load Diff