chiark / gitweb /
disorder
15 years agoMerge disorder.macros branch.
Richard Kettlewell [Sun, 18 May 2008 21:29:17 +0000 (22:29 +0100)]
Merge disorder.macros branch.

This is a major rewrite of the web interface.  The template language
has been changed and is hopefuly easier to use.  Much of the
implementation has moved to lib/, along with some of the CGI support.
The CGI can now figure out its own URL, including HTTPS URLs.

The web interface documentation is no longer mixed into
disorder_config(5).  The top level is disorder.cgi(8) but there are
several related pages, much of the content generated from source code
comments.

The server now unsets track preferences if you try to set them to
their default value.  This resolves a long-standing TODO.  The server
is otherwise largely unchanged.

This changes fixes defects 2, 12 and 18 (the first and last of these
being the payoff for casual users).

15 years agoAdd New back to web interface (oops)
Richard Kettlewell [Sun, 18 May 2008 21:08:13 +0000 (22:08 +0100)]
Add New back to web interface (oops)

15 years agoMake "short" context in @part actually work
Richard Kettlewell [Sun, 18 May 2008 21:05:36 +0000 (22:05 +0100)]
Make "short" context in @part actually work

15 years agoEmpty back= should be treated as if absent
Richard Kettlewell [Sun, 18 May 2008 20:55:36 +0000 (21:55 +0100)]
Empty back= should be treated as if absent

15 years agoFix debian/rules for new man pages
Richard Kettlewell [Sun, 18 May 2008 20:51:07 +0000 (21:51 +0100)]
Fix debian/rules for new man pages

15 years agoBodge version number for test installs
Richard Kettlewell [Sun, 18 May 2008 20:35:46 +0000 (21:35 +0100)]
Bodge version number for test installs

15 years agoRead user.tmpl after macros.tmpl
Richard Kettlewell [Sun, 18 May 2008 18:46:53 +0000 (19:46 +0100)]
Read user.tmpl after macros.tmpl

15 years agoDocumentation tweaks
Richard Kettlewell [Sun, 18 May 2008 18:39:41 +0000 (19:39 +0100)]
Documentation tweaks

15 years agoBring CGI docs pretty much up to date
Richard Kettlewell [Sun, 18 May 2008 18:23:09 +0000 (19:23 +0100)]
Bring CGI docs pretty much up to date

15 years agoRestore breadcrumb trail to choose.tmpl
Richard Kettlewell [Sun, 18 May 2008 17:27:40 +0000 (18:27 +0100)]
Restore breadcrumb trail to choose.tmpl

15 years agoAdd a new 'wait' flag to the rescan command. This allows the caller
Richard Kettlewell [Sun, 18 May 2008 16:51:36 +0000 (17:51 +0100)]
Add a new 'wait' flag to the rescan command.  This allows the caller
to request that the rescan command blocks until the rescan is
complete.

The reason is that if you run the tests on a Linux tmpfs they would
with high probability hang, due to the rescan completing before the
rescan_monitor had started up.

The flags is available in the Python interface but not the C interface
or the command-line client.  This could easily be fixed if there is
demand.

There's also a 'fresh' flag, to demand that the rescan start after the
receipt of the command (i.e. to guarantee your new tracks make it in)
but I disabled that due to the inconvenience of testing it.  However
the code is still there if anyone feels like writing tests.

15 years agoBuild fixes
Richard Kettlewell [Sun, 18 May 2008 16:07:23 +0000 (17:07 +0100)]
Build fixes

15 years agoReturn from login page to what you were trying to do
Richard Kettlewell [Sun, 18 May 2008 15:39:42 +0000 (16:39 +0100)]
Return from login page to what you were trying to do

15 years agoTranslate preferences page to the new order.
Richard Kettlewell [Sun, 18 May 2008 15:18:49 +0000 (16:18 +0100)]
Translate preferences page to the new order.

Also, this change fixes much of defect 18 ("cookie expiry causes user
to be silently logged out and not subsequently redirected to login
page").  This is implemented by giving the actions table a list of
rights suitable for the action at hand and redirecting to the login
page on failure.  Even better would be to redirect back to the
problematic page on success.

Unusually for this branch there is a server change here, implementing
the long-standing TODO that the server should remove preferences if
you set them to their default value.  This removes this logic from the
web interface.

It remains the case that the web interface has to work out some of the
defaults.  However, that's left for another day.

15 years agoSynchronize with disorder.dev
Richard Kettlewell [Sun, 18 May 2008 12:18:17 +0000 (13:18 +0100)]
Synchronize with disorder.dev

15 years agoResolve aliases in c_get, c_set, c_prefs and c_part. The intended
Richard Kettlewell [Sun, 18 May 2008 12:12:49 +0000 (13:12 +0100)]
Resolve aliases in c_get, c_set, c_prefs and c_part.  The intended
behaviour is that preferences always belong to the canonical version
of the track and never to an alias.

Added a new aliases.py test to verify this and related alias
behaviour.

Fixes defect 20.

15 years agoFix disorder.py string parsing to not reject ""
Richard Kettlewell [Sun, 18 May 2008 11:34:37 +0000 (12:34 +0100)]
Fix disorder.py string parsing to not reject ""

15 years agodocument new choose screen properly
Richard Kettlewell [Sat, 17 May 2008 20:46:43 +0000 (21:46 +0100)]
document new choose screen properly

15 years agoFix up choose page
Richard Kettlewell [Sat, 17 May 2008 20:33:55 +0000 (21:33 +0100)]
Fix up choose page

15 years agoFix login/logout/etc and misc other bits and pieces
Richard Kettlewell [Sat, 17 May 2008 20:13:25 +0000 (21:13 +0100)]
Fix login/logout/etc and misc other bits and pieces

15 years agoFill in some missing actions
Richard Kettlewell [Sat, 17 May 2008 17:24:02 +0000 (18:24 +0100)]
Fill in some missing actions

15 years agovarious cleanups and docs improvements
Richard Kettlewell [Sat, 17 May 2008 16:32:55 +0000 (17:32 +0100)]
various cleanups and docs improvements

15 years agoSplit template docs out to disorder_templates(5)
Richard Kettlewell [Sat, 17 May 2008 16:20:29 +0000 (17:20 +0100)]
Split template docs out to disorder_templates(5)

15 years agoFirst iteration of login page translation
Richard Kettlewell [Sat, 17 May 2008 15:41:05 +0000 (16:41 +0100)]
First iteration of login page translation

15 years agofix about ... page
Richard Kettlewell [Sat, 17 May 2008 15:22:21 +0000 (16:22 +0100)]
fix about ... page

15 years agoFix pause button
Richard Kettlewell [Sat, 17 May 2008 15:19:59 +0000 (16:19 +0100)]
Fix pause button

15 years agoGet in-UI man pages working again
Richard Kettlewell [Sat, 17 May 2008 15:15:59 +0000 (16:15 +0100)]
Get in-UI man pages working again

15 years agotypo fix help.tmpl
Richard Kettlewell [Sat, 17 May 2008 15:05:35 +0000 (16:05 +0100)]
typo fix help.tmpl

15 years agoFurther hacking. Some actual success at runtime now.
Richard Kettlewell [Sat, 17 May 2008 13:06:32 +0000 (14:06 +0100)]
Further hacking.  Some actual success at runtime now.

15 years agoQuieten compiler
Richard Kettlewell [Sat, 17 May 2008 12:12:19 +0000 (13:12 +0100)]
Quieten compiler

15 years agomore template fiddling
Richard Kettlewell [Sat, 17 May 2008 12:10:12 +0000 (13:10 +0100)]
more template fiddling

15 years agomore template fiddling
Richard Kettlewell [Sat, 17 May 2008 12:07:18 +0000 (13:07 +0100)]
more template fiddling

15 years agoexp_search, fold search into choose, not really finished
Richard Kettlewell [Sat, 17 May 2008 11:50:42 +0000 (12:50 +0100)]
exp_search, fold search into choose, not really finished

15 years agonew @argq expansion; more template fiddling
Richard Kettlewell [Fri, 16 May 2008 18:32:24 +0000 (19:32 +0100)]
new @argq expansion; more template fiddling

15 years agotracks + dirs expansions
Richard Kettlewell [Mon, 12 May 2008 20:50:29 +0000 (21:50 +0100)]
tracks + dirs expansions

15 years agomore templates plus support code changes
Richard Kettlewell [Sun, 11 May 2008 17:28:07 +0000 (18:28 +0100)]
more templates plus support code changes

15 years ago@image expansion
Richard Kettlewell [Sun, 11 May 2008 14:50:13 +0000 (15:50 +0100)]
@image expansion

15 years agomore template work
Richard Kettlewell [Sun, 11 May 2008 14:37:57 +0000 (15:37 +0100)]
more template work

15 years agoextended @movable expansion; more template...
Richard Kettlewell [Sun, 11 May 2008 14:04:08 +0000 (15:04 +0100)]
extended @movable expansion; more template...

15 years ago@q expansion
Richard Kettlewell [Sun, 11 May 2008 13:53:29 +0000 (14:53 +0100)]
@q expansion

15 years agoremove action; better findtrack; more template fiddling
Richard Kettlewell [Sun, 11 May 2008 12:55:21 +0000 (13:55 +0100)]
remove action; better findtrack; more template fiddling

15 years agodirname/basename expansions; template fiddling
Richard Kettlewell [Sun, 11 May 2008 11:38:59 +0000 (12:38 +0100)]
dirname/basename expansions; template fiddling

15 years agoinfer_url() now attempts to spot https
Richard Kettlewell [Sat, 10 May 2008 19:48:15 +0000 (20:48 +0100)]
infer_url() now attempts to spot https

15 years agosplit out dcgi_get_cookie
Richard Kettlewell [Sat, 10 May 2008 17:36:43 +0000 (18:36 +0100)]
split out dcgi_get_cookie

15 years agoreorg cgi code a bit...
Richard Kettlewell [Sat, 10 May 2008 17:30:44 +0000 (18:30 +0100)]
reorg cgi code a bit...

15 years agolinux build fix
Richard Kettlewell [Sat, 10 May 2008 17:30:37 +0000 (18:30 +0100)]
linux build fix

15 years agoAlmost compiles, will not work though
Richard Kettlewell [Sat, 10 May 2008 13:50:28 +0000 (14:50 +0100)]
Almost compiles, will not work though

15 years agoFiddle with playing.tmpl a bit. not fully translated
Richard Kettlewell [Sat, 10 May 2008 12:22:27 +0000 (13:22 +0100)]
Fiddle with playing.tmpl a bit.  not fully translated

15 years agoredirect()
Richard Kettlewell [Sat, 10 May 2008 10:31:16 +0000 (11:31 +0100)]
redirect()

15 years agoact_playing
Richard Kettlewell [Sat, 10 May 2008 10:17:21 +0000 (11:17 +0100)]
act_playing

15 years agoStart conversion of CGI actions.
Richard Kettlewell [Sat, 10 May 2008 08:30:04 +0000 (09:30 +0100)]
Start conversion of CGI actions.

15 years agoExpansion syntax rewrite. Not documented yet, but then nor was the
Richard Kettlewell [Wed, 7 May 2008 20:04:23 +0000 (21:04 +0100)]
Expansion syntax rewrite.  Not documented yet, but then nor was the
previous rewrite.

15 years agoRemove some obsolete code
Richard Kettlewell [Wed, 7 May 2008 20:04:05 +0000 (21:04 +0100)]
Remove some obsolete code

15 years agoHalf way through rewriting web interface. Don't even think about
Richard Kettlewell [Mon, 5 May 2008 19:26:38 +0000 (20:26 +0100)]
Half way through rewriting web interface.  Don't even think about
trying to compile this.

15 years agoScript to generate -man documentation for expansions from comments in
Richard Kettlewell [Mon, 5 May 2008 10:24:21 +0000 (11:24 +0100)]
Script to generate -man documentation for expansions from comments in
source code.

15 years agoTest a couple of bogus inputs to mime_multipart().
Richard Kettlewell [Mon, 5 May 2008 09:48:15 +0000 (10:48 +0100)]
Test a couple of bogus inputs to mime_multipart().

15 years agocgi.c multipart/form-data testing.
Richard Kettlewell [Mon, 5 May 2008 09:44:06 +0000 (10:44 +0100)]
cgi.c multipart/form-data testing.

15 years agoShift many cgi_ functions into lib/, and add a test for them. The
Richard Kettlewell [Sun, 4 May 2008 20:22:11 +0000 (21:22 +0100)]
Shift many cgi_ functions into lib/, and add a test for them.  The
multipart/form-data code is not yet exercised, and the CGI program
does not use the new code.

15 years agoFurther macro tests
Richard Kettlewell [Sun, 4 May 2008 15:57:30 +0000 (16:57 +0100)]
Further macro tests

15 years agoFurther macro expansion tests + fixes.
Richard Kettlewell [Sun, 4 May 2008 11:38:17 +0000 (12:38 +0100)]
Further macro expansion tests + fixes.

15 years agoFixes and first test for macro expansion.
Richard Kettlewell [Sun, 4 May 2008 11:19:04 +0000 (12:19 +0100)]
Fixes and first test for macro expansion.

15 years agoMacro expansion (untested). Tests for most builtin expansions.
Richard Kettlewell [Sun, 4 May 2008 10:58:21 +0000 (11:58 +0100)]
Macro expansion (untested).  Tests for most builtin expansions.

15 years agoMain template expander and some built-in expansions. All untested.
Richard Kettlewell [Sat, 3 May 2008 23:21:25 +0000 (00:21 +0100)]
Main template expander and some built-in expansions.  All untested.

15 years agoYet further macros.c testing
Richard Kettlewell [Sat, 3 May 2008 20:01:31 +0000 (21:01 +0100)]
Yet further macros.c testing

15 years agoFurther macros.c testing
Richard Kettlewell [Sat, 3 May 2008 19:59:58 +0000 (20:59 +0100)]
Further macros.c testing

15 years agomore macros.c testing
Richard Kettlewell [Sat, 3 May 2008 19:57:19 +0000 (20:57 +0100)]
more macros.c testing

15 years agoAdd mx_dump() to dump a (canonicalized) parsed macro expansion.
Richard Kettlewell [Sat, 3 May 2008 19:51:01 +0000 (20:51 +0100)]
Add mx_dump() to dump a (canonicalized) parsed macro expansion.

15 years agoCopy macro parse into lib/ and make a start on tests for it.
Richard Kettlewell [Sat, 3 May 2008 19:42:13 +0000 (20:42 +0100)]
Copy macro parse into lib/ and make a start on tests for it.

15 years agoSynchronize with disorder.dev
Richard Kettlewell [Sat, 3 May 2008 19:15:50 +0000 (20:15 +0100)]
Synchronize with disorder.dev

15 years agoTest fix for Linux
Richard Kettlewell [Sat, 3 May 2008 12:56:39 +0000 (13:56 +0100)]
Test fix for Linux

15 years agoRemove now-redundant check target.
Richard Kettlewell [Sat, 3 May 2008 12:47:22 +0000 (13:47 +0100)]
Remove now-redundant check target.

15 years agolib/ tests now use Automake's test infrastructure, and are split into
Richard Kettlewell [Sat, 3 May 2008 12:43:17 +0000 (13:43 +0100)]
lib/ tests now use Automake's test infrastructure, and are split into
multiple executables.

15 years agoUse Automake's simple test infrastructure for running Python-based
Richard Kettlewell [Sat, 3 May 2008 12:21:41 +0000 (13:21 +0100)]
Use Automake's simple test infrastructure for running Python-based
tests.

15 years agoMerge latest GCC 2.95 fix
Richard Kettlewell [Tue, 29 Apr 2008 20:25:38 +0000 (21:25 +0100)]
Merge latest GCC 2.95 fix

15 years agoWorkaround for broken GCC 2.95 installs
Richard Kettlewell [Tue, 29 Apr 2008 17:55:43 +0000 (18:55 +0100)]
Workaround for broken GCC 2.95 installs

15 years ago1) If we reject a remote user management operation, we log it.
Richard Kettlewell [Tue, 29 Apr 2008 17:43:42 +0000 (18:43 +0100)]
1) If we reject a remote user management operation, we log it.
2) Remote fetching of 'rights' is always allowed, since clients depend
   on being able to discover what they can do and this isn't a serious
   information leak.

15 years agoFurther rearrangement to support macro expansion.
Richard Kettlewell [Sun, 27 Apr 2008 21:41:39 +0000 (22:41 +0100)]
Further rearrangement to support macro expansion.

15 years agoFurther separation of template parsing and expansion
Richard Kettlewell [Sun, 27 Apr 2008 21:26:15 +0000 (22:26 +0100)]
Further separation of template parsing and expansion

15 years agoSeparate parsing of templates from expansion.
Richard Kettlewell [Sun, 27 Apr 2008 21:12:07 +0000 (22:12 +0100)]
Separate parsing of templates from expansion.

15 years agoFirst cut at macro definition. Does not expand args yet.
Richard Kettlewell [Sun, 27 Apr 2008 20:35:19 +0000 (21:35 +0100)]
First cut at macro definition.  Does not expand args yet.

15 years agoAllow trailing '@' to be left out of CGI expansions in specific
Richard Kettlewell [Sun, 27 Apr 2008 19:43:35 +0000 (20:43 +0100)]
Allow trailing '@' to be left out of CGI expansions in specific
circumstances.  This is such a common typo it seems better to accept
the result of user testing than cling to the original syntax.

15 years agoAsk for -std=gnu99 if necessary to get full <limits.h>.
Richard Kettlewell [Sun, 27 Apr 2008 19:07:42 +0000 (20:07 +0100)]
Ask for -std=gnu99 if necessary to get full <limits.h>.

15 years agoNote about use of GCC extensions.
Richard Kettlewell [Sun, 27 Apr 2008 12:35:24 +0000 (13:35 +0100)]
Note about use of GCC extensions.

15 years agoSimple test for compare_path_raw(). It's moved into a separate source
Richard Kettlewell [Sun, 27 Apr 2008 12:22:23 +0000 (13:22 +0100)]
Simple test for compare_path_raw().  It's moved into a separate source
file since the test program doens't have the config pointer.

15 years agoexercise make_home()
Richard Kettlewell [Sun, 27 Apr 2008 12:15:03 +0000 (13:15 +0100)]
exercise  make_home()

15 years agoMore testing.
Richard Kettlewell [Sun, 27 Apr 2008 10:22:03 +0000 (11:22 +0100)]
More testing.

15 years agoDe-dupe default backend selection
Richard Kettlewell [Sun, 27 Apr 2008 10:07:30 +0000 (11:07 +0100)]
De-dupe default backend selection

16 years agoSeparate notion of configured audio backend from Disobedience/playrtp
Richard Kettlewell [Sat, 26 Apr 2008 18:56:15 +0000 (19:56 +0100)]
Separate notion of configured audio backend from Disobedience/playrtp
audio backend.  This allows Disobedience to show the volume widget iff
it'll work.  If RTP is enabled then it uses the default audio backend
(which is what playrtp will pick); if not then it assumes the server
is capable of setting the volume.

Currently this will still go wrong on a Mac without RTP.

16 years agoFurther lib/ testing.
Richard Kettlewell [Sat, 26 Apr 2008 18:22:39 +0000 (19:22 +0100)]
Further lib/ testing.

16 years agoVarious fixes for GCC 2.95
Richard Kettlewell [Sat, 26 Apr 2008 14:58:41 +0000 (15:58 +0100)]
Various fixes for GCC 2.95

16 years agostruct addrinfo varies in order between platforms, forcing us to fall
Richard Kettlewell [Sat, 26 Apr 2008 14:41:37 +0000 (15:41 +0100)]
struct addrinfo varies in order between platforms, forcing us to fall
back on C99 initializer syntax.  I don't think this will be a huge
problem in practice: all the currently supported platforms use GCC as
their default compiler, and all vaguely recent versions of GCC support
this feature.

16 years agoAdditional testing for addr.c and a consequent bug fix.
Richard Kettlewell [Sat, 26 Apr 2008 14:30:58 +0000 (15:30 +0100)]
Additional testing for addr.c and a consequent bug fix.

16 years agoexercise byte_fprintf
Richard Kettlewell [Sat, 26 Apr 2008 14:08:59 +0000 (15:08 +0100)]
exercise byte_fprintf

16 years agoLog the time at which newly noticed tracks are added to the database.
Richard Kettlewell [Sat, 26 Apr 2008 13:51:46 +0000 (14:51 +0100)]
Log the time at which newly noticed tracks are added to the database.
This will allow disorder-choose to add a bias in favor of those tracks
(cf defect 11).

16 years agoBuffer reads from /dev/urandom
Richard Kettlewell [Fri, 25 Apr 2008 19:07:38 +0000 (20:07 +0100)]
Buffer reads from /dev/urandom

16 years agoMerge MDW's one-pass track picker
Richard Kettlewell [Fri, 25 Apr 2008 18:54:03 +0000 (19:54 +0100)]
Merge MDW's one-pass track picker

16 years agoReduce random pick interval
Richard Kettlewell [Wed, 23 Apr 2008 22:03:46 +0000 (23:03 +0100)]
Reduce random pick interval

16 years agosearch.py waits for rescan to finish
Richard Kettlewell [Wed, 23 Apr 2008 22:03:03 +0000 (23:03 +0100)]
search.py waits for rescan to finish

16 years agoMove conf.debconf generation to postinst, per debconf-devel(7).
Richard Kettlewell [Wed, 23 Apr 2008 18:56:33 +0000 (19:56 +0100)]
Move conf.debconf generation to postinst, per debconf-devel(7).

16 years agoNetwork play setup support in debconf scripts.
Richard Kettlewell [Tue, 22 Apr 2008 20:47:33 +0000 (21:47 +0100)]
Network play setup support in debconf scripts.