This shifts to use the model-view-controller pattern for the list of addons,
and moves to using a full model class rather than an indexed array for the
data storage and management. This enables much more information to be stored
as part of the new AddonManagerRepo data type. It now wraps the Macro class
for macros, supports Preference Packs, and provides access to the Metadata
object.
Image file names need to be quoted before hashing to generate thumbnail file names. This is related to pull requests #4931 and #4972, so please refer to discussions therein. Only Python3 is supported, not Python2.
Image file names need to be quoted before hashing to generate thumbnail file names.
This is related to pull requests #4931 and #4972, so please refer to discussions therein.
Image filenames should be encoded as URI before being hashed.
Also assume that filenames are already utf8 because the community
has been advertiseing utf8 usage since the beginning of this centry.
Calling .encode("utf8") on strings that are already in utf8 simply
raises the following exception:
UnicodeDecodeError: 'ascii' codec can't decode byte ...
for non-ascii (already utf8) strings.
It's in fact impossible to precisely determine pathname encoding
because different components within the path may have different
encodings, e.g., a utf8 directory name followed by an MBCS filename
is valid on Linux native filesystems.
It's the user's responsibility to keep the iocharset consistent.
Using the W3C validator, a number of minor issues were found with the Start page
HTML. Those items were:
* Missing language setting on the body of the document
* Deprecated attributes set for the style and script tags
* Image tags require alt text
* List tags can only contain list items
* All file:/// URLs must not contain backslashes, even on Windows
Using the results of the vulnerability scan at lgtm.com, some minor
changes were made. First, all Python exception handling now explicitly
catches Exception, rather than BaseException (which would include SystemExit
and KeyboardInterrupt). Second, unused imports were removed. Third, a
couple of unnecessary or unused assignments were addressed. Finally, the
JavaScript was modified to explicitly declare the local ddiv variable when
needed.
while fixing a SVG export issue for techDraw I noticed that some SVG files have program-dependent (and thus not clean) code in it. These are traces of the programs Sodipodi and Inkscape, like e.g. this line:
inkscape:export-filename="/home/yorik/PartDesign_Groove.png
This is unnecessary and FC should not use program-dependent code in the SVG but use instead plain SVG strictly following the SVG specification.
This PR transforms the few affected SVGs to a plain version.
- Replace relative Add-On Image Path with full file uri in StartPage.js file
- Fix a missing absolute file path
- Fix a duplicated data folder entry in the Resourcepath