Commit Graph

150 Commits

Author SHA1 Message Date
Florian Festi f38819307b Limit formating for unorderd lists to menu page
Before unordered lists in generator descriptions would also be formatted
like the items in the generator selection
2020-09-26 11:45:48 +02:00
Marcin Zukowski a5648f5297 Add "Save to URL" button 2020-08-28 10:34:18 +02:00
Florian Festi dc0976a416 Remove unnecessary type attribute in web page 2020-07-15 14:30:04 +02:00
Florian Festi ce90f06e1e Show image underneath the settings
just before the long description (if there is one)
2020-05-24 13:52:24 +02:00
Florian Festi 6440bcb639 Get text working for both SVG and PS
Move coordiate translation to to finish() method
Use Latin1 encoding for text PS in output

Add Boxes.set_font() to support basic font styles:
 serif, sans-serif and monospaced
 in normal, bold, italic and both bold and italic
2020-05-18 22:30:28 +02:00
Florian Festi c4ca1b4dfa Also translate Edge descriptions in ArgparseEdgeType 2020-04-13 18:45:17 +02:00
Florian Festi b46deec02e boxesserver: Return nothing.png for missing thumb nails
No longer output paths of static files
2020-03-07 20:14:38 +01:00
Florian Festi db5c0c8bad boxesserver: Remove Python 2 compat foo 2019-12-21 17:47:40 +01:00
Florian Festi 4f3b738f6f Replace deprecated cgi.escape with html.escape 2019-12-21 17:47:08 +01:00
Florian Festi 3b2e214bf1 boxesserver: Message to indicate the traceback was caught 2019-12-21 17:47:08 +01:00
Florian Festi a39567598c Fix error handling of TrayLayout2 in the web instance 2019-12-16 20:07:30 +01:00
Florian Festi 4a711b1cb4 boxesserver: Improve error handling during rendering
Especially don't print messages for out of bound parameters into the log/stdout
2019-12-14 13:09:43 +01:00
Florian Festi b4384f5d16 boxesserver: don't error out on missing QUERY_STRING 2019-12-14 12:16:25 +01:00
Florian Festi 45e9fdc68a TrayLayout: Show errors on parsing the layout 2019-11-24 16:42:47 +01:00
Florian Festi d121b34994 boxesserver: Catch all exceptions during rendering 2019-11-23 14:28:51 +01:00
Georges Khaznadar 00f25e43c7 allow a parameter to change the port of the server 2019-11-01 11:35:52 +01:00
Luca 2ab360a415 Set thumbnail position relative to viewport
Display thumbnail 100px from the bottom
2019-10-27 16:44:13 +01:00
Luca 330ebdb752 Display 200px fixed-width thumbnails instead of full-size pictures 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 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 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
Florian Festi fff74cf382 Add metadata as a xml comment
Resolves #66
2019-07-07 13:43:04 +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 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 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 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
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 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 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
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 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
Florian Festi 6a0842805f Remove print statement tripping up in httpd 2016-05-22 12:18:23 +02:00
Florian Festi a903a8dfcf Use GET instead of POST for rendering the SVGs
This allows saving or editing the links to the to be rendered SVGs
2016-05-21 20:31:04 +02:00
Florian Festi a80b7392ac Add links to project pages to web interface 2016-05-20 22:19:17 +02:00
Florian Festi 333d143b28 Make boxesserver compatible with mod_wsgi 2016-05-20 20:55:02 +02:00
Florian Festi b4f4369faa Add argparse type to handle edges
Switch over bottom_edge and top_edge args
Support this type in web UI
Refactor creating the table row out of the different UI inputs
2016-04-10 22:51:57 +02:00
Florian Festi e7888d1837 Minor text edit 2016-04-02 18:01:10 +02:00
Florian Festi 70bb1bf5af Move box generators into boxes.generators sub module 2016-03-25 22:30:07 +01:00