Commit Graph

157 Commits

Author SHA1 Message Date
Luca 53374de766 Add script to statically generate thumbnails 2019-10-27 16:44:13 +01:00
Florian Festi 55dd81886a Web UI: Fix str vs bytes mess in error message handling
Displaying the error message failed resulting in an empty page and a
(hidden) trace back.

Resolves: #180
2019-10-22 21:12:26 +02:00
Florian Festi df331cd1f3 Fix Inkscape inx files with BoolArg and argparseSections parameters
This was broken by 603c0a789e by adding quotes
to some cases but not all.

Resolves: #171
2019-09-08 23:26:07 +02:00
Florian Festi 603c0a789e Inkscape plugin: Set precision for float arguments to 2
Resolves: #167
2019-08-24 23:01:27 +02:00
Florian Festi 3c469c99d4 Also translate generator and setting group names in web UI 2019-08-24 11:33:43 +02:00
Florian Festi 291d21cd37 Use URL param and drop down in footer to select language 2019-08-24 00:07:45 +02:00
Florian Festi d0de69ed4d boxesserver: Create a new box instance for each request 2019-08-22 12:19:23 +02:00
Florian Festi 9636ecd076 boxesserver: Mark strings translatable and translate generator strings 2019-08-22 12:17:57 +02:00
Florian Festi 137ef6d676 New tool boxes2pot to extract translatable strings 2019-08-22 11:15:22 +02:00
Florian Festi e37e0df899 Make a copy of the header list 2019-08-18 13:56:26 +02:00
Florian Festi 699e224bc7 Add Content-Disposition header to have browsers download everything but SVGs
It also downloads svg_Ponoko files as they cannot really be viewed in
the browser.

Related: #164

Thanks to Tagej for suggesting this!
2019-08-17 23:50:11 +02:00
Florian Festi d51b44fb57 Use urllib.parse.parse_qs instead of cgi.parse_qs if possible 2019-08-16 00:24:51 +02:00
Florian Festi 02988d12c5 Catch exceptions from failed ps2edit calls 2019-08-15 23:12:35 +02:00
Rotzbua 6ae8acd568 [Docker] clean dnf cache to save space
about 150mb
2019-07-12 12:16:28 +02:00
Florian Festi fff74cf382 Add metadata as a xml comment
Resolves #66
2019-07-07 13:43:04 +02:00
Florian Festi d162c769b4 Use built in eTree implementation instead of lxml 2019-07-04 17:52:08 +02:00
Rotzbua c3aac6f5eb [Docker] clone without history to save space 2019-07-02 15:39:59 +02:00
chrysn 18ea1a5ed4 boxesserver: Allow multi-line errors
Fixing potential cross-site scripting attacks in passing
2019-06-01 13:07:43 +02:00
Florian Festi 83078d056f Add python3-xcffib to Dockerfile to work with Fedora 29 2019-04-09 21:58:45 +02:00
Florian Festi 0d07f48b7f Remove .open() call from the .render() method
Having this call there was necessary in the past as the open() method would
need the canvas size as a parameter. This is now determined automatically
after rendering.

Still calling open() is deprecated but won't result in an error.
2019-02-08 17:43:15 +01:00
Florian Festi 861c8451e2 Remove call to .close() from .render() method
There is really no need for all the generator to care
Still calling it is deprecated but won't result in an error
2019-02-08 17:32:04 +01:00
Florian Festi fdc90ba20d Unclutter Inkscape UI
Remove "Settings" from the name of the parameter groups tabs
2018-11-25 23:20:59 +01:00
Florian Festi b1eced8259 Ignore argument groups in the web UI that are empty except --help 2018-10-28 20:18:37 +01:00
Florian Festi b9e6ff2c1d http -> https 2018-10-01 14:42:50 +02:00
Rotzbua 10ba53c5a1 add security headers for browser
harden website
2018-10-01 14:41:22 +02:00
Rotzbua 0269037eb3 http -> https 2018-10-01 14:35:33 +02:00
Florian Festi 9b84c86cc1 New logo
Resolves: #34 #86
2018-09-23 14:15:50 +02:00
Florian Festi 69c6b4188d Jupyter notebook example: Use temp file 2018-09-13 10:15:22 +02:00
Florian Festi 59ba2a3516 Simple, Fedora based Dockerfile 2018-09-12 11:31:43 +02:00
Florian Festi 646a0e57e9 New Jupyter notebook with an example generator 2018-09-10 09:59:57 +02:00
Florian Festi bfd7c3eaaa Use os.path.join for Windows compatibility 2018-08-28 07:32:39 +02:00
Florian Festi 6f007d06f2 TrayLayout: Add support to read URL param into the form 2018-08-27 17:11:20 +02:00
Florian Festi 460691f0aa Use os.path.join for Windows compatibility 2018-08-26 11:01:23 +02:00
Florian Festi b31faefe26 Use URL params as defaults for rendering the the input mask
when the render=1 param is omitted
2018-08-14 11:43:02 +02:00
Florian Festi cabcfeade9 Make normalize.css local and put them in /static
No long load them from github
And include directly into self.css
2018-07-02 23:33:16 +02:00
Stefan ba237335db set default state of liste items to open 2018-06-14 22:15:35 +02:00
Stefan a1d08426ce implemented toggling of list headers 2018-06-14 22:09:41 +02:00
Florian Festi 2b2aa9f20e Web Interface: do not leave form action empty 2018-03-10 14:20:18 +01:00
Florian Festi 705ad5344c Web Interface: sigh 2018-03-10 14:13:44 +01:00
Florian Festi d7dc41cbfa Web Interface: Fix stuff broken earlier 2018-03-09 16:22:10 +01:00
Florian Festi 5b775067fe Web Interface: Fix stuff broken earlier 2018-03-09 16:15:52 +01:00
Florian Festi 5c78d08aa8 Revert "Web Interface: Fix more messed up tags"
This reverts commit a4cd899f0e.
2018-03-06 11:09:49 +01:00
Florian Festi 9e7b7d2279 Web Interface: Fix more messed up tags 2018-03-06 11:07:10 +01:00
Florian Festi a4cd899f0e Web Interface: Fix more messed up tags 2018-03-06 11:05:53 +01:00
Florian Festi 3714940c37 Web Interface: Fix more messed up tags 2018-03-06 10:55:58 +01:00
Florian Festi 448a2f11f6 Web Interface: Fix messed up tags 2018-03-06 10:53:00 +01:00
Florian Festi 49f5ecc476 Web Interface: Fix width attributes of images 2018-03-05 20:10:55 +01:00
Florian Festi 3c8ffb8ce4 Web Interface: Fix nesting an ids in generator lists 2018-03-05 20:10:55 +01:00
Florian Festi 0dc6d26566 Web Interface: Add Flattr meta tag for Backspace e.V. hacker space 2018-03-05 20:10:55 +01:00
Florian Festi 5a5c3d72f0 Web Interface: fix doc type 2018-03-05 20:10:47 +01:00
Niall Quinlan e725bf2dc4 Fix tmp file access in windows
see https://stackoverflow.com/questions/34716996/cant-remove-a-file-which-created-by-tempfile-mkstemp-on-windows
2018-01-17 09:30:06 +01:00
Florian Festi 1b2f5791bd Use Boxes.description in the cli help and the web interface 2017-11-30 22:48:02 +01:00
Marius Bergmann b13cef20ed Refactor `boxes` start script
- split up into separate functions
2017-11-29 20:04:21 +01:00
Florian Festi 53052fc2e0 Show sample images for generators in menu 2017-05-08 21:35:19 +02:00
Florian Festi f08b19e54e Make serving static files a bit more efficient 2017-05-07 20:31:27 +02:00
Florian Festi f48fc32cf0 Link to self.css instead of including it in every page 2017-05-07 16:19:00 +02:00
Florian Festi 7b33c46033 Serve static files 2017-05-07 16:19:00 +02:00
Florian Festi b63dcfeee6 Make Traylayout work without main function 2017-04-05 04:33:42 +02:00
Florian Festi bffd732c3f scripts/boxes: Use generator classes instead of main functions
Make Boxes.parseArgs more robust
--list generators by UI group.
Pass arguments explicitly instead of fiddling with sys.argv
2017-04-05 04:33:28 +02:00
Florian Festi 10cad241ef Fix boxes script when passing no param 2017-03-13 11:41:12 +01:00
Florian Festi 0398c3ae98 Remove Traylayout from the Inkscape plugin
as the two stage input does not work with the INkspace plugin system
2017-03-03 22:20:44 +01:00
Florian Festi 6cae3d7dc7 Filter out --id passed from Inkscape
Move message about missing generator to stderr
2017-02-26 18:54:34 +01:00
Florian Festi 5ef277fc21 boxes2inkscape: Execute boxes directly, add dependency
Default to str as type of inputs
2017-02-25 19:45:55 +01:00
Florian Festi e0a4d06c43 Hackish way to make scriptsboxes to work with Inkscape. 2017-02-23 17:38:26 +01:00
Florian Festi 39e74e67ba Add scripts/boxes2inkscape for generating inx files from box generators
Code for handling traylayout still missing.
2017-02-23 17:38:26 +01:00
Florian Festi b9fef2c6e1 Follow symlinks when determining path of boxes library from executable 2017-02-23 17:38:26 +01:00
Florian Festi 6264798655 Boxes.py link - next try 2017-02-15 22:03:52 +01:00
Florian Festi 7e672eced2 Fix link back to menu in generators 2017-02-15 22:01:26 +01:00
Florian Festi 065130a19b Python 2 compat: use codes to read css 2017-02-15 21:50:54 +01:00
Florian Festi 527388c5f2 Update text on menu page 2017-02-15 15:56:38 +01:00
Florian Festi 96708189a8 Add license header 2017-02-15 15:56:02 +01:00
Florian Festi a71f9a2bed Web UI tweaks 2017-02-13 23:15:02 +01:00
Florian Festi d3c76f2b9e Put box generator into groups and adjust the menu web page accordingly 2017-02-13 17:31:58 +01:00
Florian Festi 8dc13440ee Fix boolean params. Not passing 0, None, False or off works for setting them to False
Thanks to chrisjshull for pointing out how to fix this in the web UI.
Fixes #19
2017-01-08 17:25:36 +01:00
Florian Festi 71d918f6a5 Make logo smaller for generators 2016-12-18 21:22:19 +01:00
Florian Festi 9fe60c27fb Traylayout: Make textarea monospace in web UI 2016-12-11 22:31:27 +01:00
Florian Festi 9a35ce5b15 boxesserver: unquote_plus all params 2016-12-11 22:31:12 +01:00
Florian Festi 3a4c0cd49c Use default value for checkboxes in the web UI.
There are still issues with the boolean params when default is True
2016-11-30 21:44:22 +01:00
Florian Festi 981c99a7d8 Remove general Boxes.py description from generator web pages 2016-11-26 13:59:41 +01:00
Florian Festi fe79970cc3 Beautify web UI
Watch self.css
2016-11-01 23:46:25 +01:00
Florian Festi 6d39db75e1 Remove group prefix when showing params in web interface
Make groups collapsable
2016-10-31 22:17:52 +01:00
Florian Festi 5a721df82b Put arguments into groups and use them to display them in the web interface 2016-10-31 22:11:54 +01:00
Florian Festi 4ae6303053 Open self.css from absolute path 2016-10-08 15:08:30 +02:00
Florian Festi 07df27fa48 Round forth corners 2016-10-08 14:09:46 +02:00
spezi b4f9eca80b add styles 2016-10-08 13:58:23 +02:00
Florian Festi 6dd482be9c Generate the list of generators automatically
Generate new traylayout class to make this work with the web interface
Minor fix to not error out in web interface for non existing doc string
2016-07-31 17:18:17 +02:00
Florian Festi 1849bfd5ab New PlanetaryGear generator 2016-07-25 19:14:35 +02:00
Florian Festi a7728d8e32 New GearBox generator 2016-07-16 15:32:06 +02:00
Florian Festi 5201138390 Add Pulley generator 2016-07-13 20:04:57 +02:00
Florian Festi 33a1333ad9 Add FlexTest2 for new 2D flex pattern 2016-07-12 16:54:44 +02:00
Marius Bergmann 4b487014d0 Fix project for use within virtualenv
- Use /usr/bin/env to determine path to python3 instead of a hard-coded
  path, so that virtualenv stubs work properly.
- Change package name to 'boxes' ('boxes.py' did not work within
  virtualenv).
2016-07-12 13:13:03 +02:00
Florian Festi b3797c95ea Handle missing files correctly when checking for altered sources
This may happen when checking out older versions or parallel branches
2016-06-30 11:54:24 +02:00
Florian Festi d9efb53fc5 Remove redundant Demobox from web interface 2016-06-30 11:52:17 +02:00
Florian Festi 9f4e115c9a Support formats via pstoedit 2016-06-29 13:58:26 +02:00
Florian Festi ab1809c42b Add support for choices in arguments to web interface 2016-06-29 13:58:06 +02:00
Florian Festi 8188821332 Clarify error message for unknown generator names 2016-06-22 23:13:50 +02:00
Florian Festi 3c5b3147f4 Fix boolean params in web interface by switching to action=store, type=bool
instead of using action=store_true
2016-06-21 21:53:24 +02:00
Florian Festi 6688957a72 New flexbox 2016-06-14 20:36:26 +02:00
Florian Festi 3361f2ae13 Restart standalone http server when sources have changed 2016-06-07 20:24:46 +02:00
Florian Festi 60b12f821e Fix Python 2 compitiblility issue with urllib 2016-05-22 12:37:35 +02:00