Commit Graph

331 Commits

Author SHA1 Message Date
wmayer
659a55ffb9 Base: Exception handling:
* Harmonize FreeCAD with Python exception types
* Implement AbortException::getPyExceptionType() to avoid handling it in client code
* Remove catch block for plain C strings
2022-01-19 18:00:04 +01:00
mdkus
8047723cde Update CreatePyModule.py 2022-01-18 15:53:25 +01:00
Yorik van Havre
38e4687e94 Merge pull request #5318 from chennes/lupdateCPPWorkaround
Tools: Add workaround for lupdate missing source
2022-01-10 11:13:43 +01:00
mdkus
72d3ce11c7 Update _TEMPLATEPY_Workbench.svg
Replacing inkscape svg by plain svg
2022-01-09 22:14:39 +01:00
luz paz
db8a09bb03 Tools: update _TEMPLATE to 2022 2022-01-05 13:20:48 +01:00
Chris Hennes
be11d40603 Tools: Add workaround for lupdate missing source
lupdate requires at least one C++ source file to be present in order
to process the project file. In cases where a workbench is Python-only,
this resulted in incorrect or missing extraction of strings in ui files.
Those files should have been processed by lupdate, but were not.
pyludate was not configured to process them. To work around this, the
updatets.py script is modified to create a dummy *.cpp file before
running qmake.
2022-01-01 15:20:43 -06:00
mdkus
5e6fec53ea Tools: small bug fix for showing the correct test icon 2021-12-30 15:39:07 +01:00
wmayer
ada653e591 Add Global.h headers to modules 2021-12-18 14:06:40 +01:00
mdkus
335a489783 Update CreatePyModule.py
Small bug fix: in comparison to CreateModule.py this codeline is missing in CreatePyModule.py, so CreatePyModule.py doesn't work,fine without it (tested under Win 7 and Win11)
2021-12-01 09:20:36 +01:00
wmayer
0672b879c6 dist-git: make script working again for Py3 and Linux 2021-10-30 14:50:00 +02:00
Chris Hennes
8c2fc25cd9 [Tools] Eliminate default value modification
LGTM catches a potential error with the mutation of default values:
implement their suggested workaround of using a None placeholder to
ensure the default itself is never modified.
2021-10-11 21:13:22 -05:00
Yorik van Havre
1027ef56ce Merge pull request #5078 from chennes/femRemoveExtraTranslations
[Fem] Clean up Fem.ts to remove extra translations
2021-10-08 14:46:04 +02:00
luz paz
b18e2a7e35 Tools: fix updatecrowdin.py variable typo [skip ci] 2021-10-06 18:15:53 -04:00
Chris Hennes
0b8e3948a3 [Tools] Strip translations from base TS files 2021-09-30 15:13:26 -05:00
Chris Hennes
05fa605851 Merge branch 'master' into fixMixedLanguageTranslationExtraction 2021-09-24 07:58:15 -05:00
Yorik van Havre
a9e53d92ff Tools: small fix in crowdin script 2021-09-23 17:14:31 +02:00
Chris Hennes
f78576943e Tools: Corrected arguments to git.extractInfo 2021-09-21 11:17:21 -05:00
Chris Hennes
6acffa2378 Tools: LGTM - don't catch BaseException 2021-09-19 14:38:05 -05:00
wmayer
b067a13a91 Tools: port example of embedding to Py3 2021-09-19 18:01:24 +02:00
Chris Hennes
986a52c96f [Tools] Refactor updatets to support two-lang mods 2021-09-17 10:22:35 -05:00
Yorik van Havre
022bb81754 Tools: Updated crowdin script after PR #5021 2021-09-13 15:40:36 +02:00
Yorik van Havre
0152c09dcf Tools: Updated crowdin scripts
- Removed updateFromCrowdin script (now merged within updateCrowdin)
- Now automatically installs all languages above 25% translated
- Now updates Gui/Language/Translator.cpp too
2021-09-07 11:27:05 +02:00
Yorik van Havre
3d8e471599 Tools: Removed Plot from translation scripts 2021-08-26 14:50:36 +02:00
Chris Hennes
f0a7213df7 [Tools] Silence LGTM warning about missing init 2021-08-17 12:25:12 -05:00
Yorik van Havre
cc17c23e75 Merge pull request #4900 from sanguinariojoe/del_ship
Ship: Remove Ship module
2021-08-16 17:30:43 +02:00
Chris Hennes
ae4711cd89 Add PartDesign Python commands for translation (#4961)
Fixes #4583
2021-08-11 14:51:18 -05:00
Jose Luis Cercos-Pita
ecdd01dd7d Remove Ship module 2021-07-05 09:24:21 +02:00
Yorik van Havre
c4e9be172b Tools: allow to run updatets script from updatecrowdin 2021-07-01 13:57:24 +02:00
Yorik van Havre
60895617c6 Tools: small cosmetic fix 2021-06-10 11:53:02 +02:00
luz paz
016989e992 Fix misc. typos
Found via 
```codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,apoints,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,parms,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./build/doc/SourceDocu```
2021-06-03 14:36:21 -04:00
Yorik van Havre
577994380c Tools: updated help text 2021-06-03 15:45:55 +02:00
Yorik van Havre
e0188878fb Tools: cosmetic tweaks to updatecrowdin script 2021-05-12 16:36:15 +02:00
luz paz
63cd79538e Misc: remove py2 code 2021-04-27 18:52:01 +02:00
wmayer
56c92d1198 Fix generation and build of python classes for 3.8 2021-04-27 14:35:34 +02:00
markus
d6fa0b1d18 Fix generation and build of python classes for 3.9 2021-04-27 00:41:53 +02:00
wmayer
c563198b35 Base: remove some more deprecated Py2 code
and remove deprecated void from function signature and replace 0 or NULL with nullptr
2021-04-26 10:29:48 +02:00
Yorik van Havre
cf23e622ed Merge pull request #4536 from hyarion/feature-updatecrowdin-api-v2
[0.20] Tools: updatecrowdin.py rewrite to support new api
2021-04-20 11:51:11 +02:00
wmayer
dbbac56185 Base: do not report C++ exception when converting it to Python exception
See https://forum.freecadweb.org/viewtopic.php?f=23&t=56464
2021-04-11 14:54:11 +02:00
Yorik van Havre
4695a0651c Merge branch 'master' into feature-updatecrowdin-api-v2 2021-03-30 13:08:45 +02:00
Chris Hennes
a27115410b [Start] Add missing files to translation script 2021-03-10 15:21:40 +01:00
Chris Hennes
e814172116 Fix regex in translation extraction script 2021-03-04 19:18:23 +01:00
Benjamin Nauck
085846db24 Tools: Remove super old DistTools module
Back in 2004 the "new" build tools was introduced 2668c74b58
which are located in `src/Tools/fcbt/`. The new tools split up this file
into `src/Tools/fcbt/DistTools.py` and `src/Tools/fcbt/FilesTools.py`
which is why the both `DistTools.py` doesn't match up 1:1.

I've found no references in the repo to the version in `src/Tools/` so
I think it's safe to remove.
2021-03-03 21:53:02 +01:00
Chris Hennes
0332ba1e20 [Offline Docs] Fix static analysis issues
LGTM identified a number of minor issues (mostly unused imports) in the
offline docs code. This commit addresses those, plus tweaks some output
formatting to include missing spaces, makes a regex more rigorously safe
by escaping some periods, and updates the use of a get() function which
appears to have changed since it was first written.
2021-02-28 17:53:58 +01:00
Chris Hennes
62bfb44a0d [Tools] Fix static analyis issues
This commit addresses issues identified by LGTM for the various
independent (and mostly-independent) files in the Tools subdirectory.
The vast majority of the issues are trivial, and are things like unused
imports or catching BaseException. There was one true bug identified, a
global variable being changed in a function where it was not marked
global, but it only affected output quantity (the variable is named
"VERBOSE"). A couple of other issues identified variables that appear to
represent no-longer-existing options in the code. The options were left,
but a deprecation printout replaces the variable in the event the option
is provided.
2021-02-28 17:53:04 +01:00
Benjamin Nauck
b44175f4fe Tools: updatecrowdin.py rewrite to support new api
Crowdin has depreciated their old api and will shut it down completely
in december 2021.

What's new:
 * rewritten in Python 3 (drops support for discontinued Python 2)
 * uses Crowdin's api v2
 * runs on vanilla Python 3, (no external modules)
 * automatically adds new translation from the src directory
 * supports api token to be specified in an environment variable
   (Makes GitHub integration easier in the future)
 * requires project id to be explicitly set with an environment variable
   (Makes testing safer)

The api token can be set either in ~/.crowdin-freecad-token similar to
how the old api key was set, or by specifying it in an environment
variable. The later has been added to make it easier with GitHub-Crowdin
integration in the future.

The requirement to explicitly set CROWDIN_PROJECT_ID has been introduced
to avoid accidentally using the main Crowdin project while testing the
script.

The script has been tested on Python versions 3.7, 3.8 and 3.9.

Co-authored-by: Mattias Pierre <github@mattiaspierre.com>
2021-02-28 12:03:41 +01:00
Chris Hennes
648ae39f50 Clean up various LGTM-flagged items
Static analysis showed some unused variables and imports, and running
the code in Python 3.9 revealed a few invalid escapes (previous versions
of Python silently "fixed" these, so the code change here will not
affect the results).
2021-02-27 18:23:15 +01:00
Yorik van Havre
11b84ea87d Tools: Added link fix tool to offlinedoc tools 2021-02-22 22:05:51 +01:00
Yorik van Havre
a01703d280 Tools: Updated offline doc scripts 2021-02-22 14:07:33 +01:00
Yorik van Havre
2352474ede Tools: Updated offline wiki fetching script 2021-02-19 16:41:46 +01:00
Yorik van Havre
4232b2120d Tools: Detect and use pyside2-lupdate in ts tools 2021-02-12 14:45:41 +01:00