- 04 Jul, 2024 9 commits
-
-
Jérome Perrin authored
on python2, we use have a [python patch][patch] to globally make asyncore use poll, at that time we were using medusa and it was not exposing an option to use something else than select. [patch]: https://lab.nexedi.com/nexedi/slapos/-/blob/180f1553fa7774f05ae8e739dfef43fa2ae56c0a/component/python-2.7/asyncore_poll_insteadof_select.patch
-
Jérome Perrin authored
also add the missing tests
-
Jérome Perrin authored
page templates unicode resolver already takes care of coercing when needed and this is directly compatible with python2 and python3 Co-authored-by: Kazuhiko SHIOZAKI <kazuhiko@nexedi.com>
-
Jérome Perrin authored
This only works on python2
-
Kazuhiko Shiozaki authored
-
Carlos Ramos Carreño authored
The test testCMFActivity.TestCMFActivity.test_onErrorCallback was failing because some weak references were not dropped. The reason was that _DequeueMessageException was declared as global and it kept a traceback including the variables pointed by the weak references, preventing their garbage collection. This was fixed by using a class for the _DequeueMessageException instead of a singleton, and creating a new instance on every raise.
-
Jérome Perrin authored
This test assumed that activating a method with a string of length `n+x` as argument would be serialized in `x` more bytes that activating the same method with a string of length `n` as argument, which is only true for protocol 0 for multiple reasons ( short strings and long strings are serialized differently, "frames" are used with protocol 5) and db.string_literal seems to introduce a difference. Change the test to mock Message.dump to produce longer dumps instead of relying on this assumption.
-
Jérome Perrin authored
_resultForDoCleanups no longer exists on python3, getting the status of a test in teardown is very different accross python versions ( see https://stackoverflow.com/q/4414234 ) and just executing this code when the test failed only has the problem that a test method may count as two failures or errors, which is after all not a big problem.
-
Jérome Perrin authored
On recent pylint, this is flagged as unnecessary-pass Also update the link that was pointing to python2 doc
-
- 02 Jul, 2024 7 commits
-
-
Rafael Monnerat authored
On login pages
-
Rafael Monnerat authored
This is helpfull to display or not the buttons on login page
-
Rafael Monnerat authored
If the login button isnt suppose to work, dont display it.
-
Georgios Dagkakis authored
We may want to set autocomplete 'off' or whatever other value
-
Vincent Pelletier authored
Activity distribution (actually: validation) is fundamentally a bottleneck of the current CMFActivity design: there can be only one distribution/ validation node, and it must check every single activity which express a dependency over any activity, until these dependencies are satisfied. As a result, distribution/validation is in the critical path between an activity being spawned and it being executed, and this work cannot be parallelised. So care should be taken to waste as little time as possible, in order to reduce the activity execution latency. Before this change, CMFActivity would distribute at most 1000 activities (MAX_VALIDATED_LIMIT) per queue per timerserver wake-up. In a typical ERP5 setup, timerserver ticks once per second, which means CMFActivity was unable to validate more than 1000 activities per second per queue. Maybe there are more activities which are possible to validate but still the code was forcing the node to sleep until the next wake-up, which is a tremendous waste of time. This change fixes that issue by having ActivityTool.distribute keep looping until there has been an iteration over all activity queues which simultaneously did not find any activity they could validate. This lets Zope yield CPU control when it would be better spent processing activities (those which are preventing the validation of any activities remaining to validate) without imposing a maximum effective validation-per-second hard limit.
-
Vincent Pelletier authored
Committing serves two purposes: - obviously: it makes any transactional data change persistent - less obviously: it releases the database transactional snapshot taken by any previously issued query, allowing that snapshot and all snapshots after it to be also freed (ex: garbage collecting the data records that no other transaction can see) In the current state of the code flow, this does not change much: after this method returns the code flow should quickly hit a commit anyway, either in dequeueMessage or before handing control back to timerserver, thereby ending the Zope-initiated transaction. But this will not be true in a future version of the code.
-
Vincent Pelletier authored
dequeueMessage used to return False when something was done, and True otherwise. The only caller which uses that value then reverses it, causing a double-negative which makes the code confusing to read. Inverse the meaning of the return value, getting rid of this double- negation.
-
- 01 Jul, 2024 3 commits
-
-
Romain Courteaud authored
-
Jérome Perrin authored
-
- 28 Jun, 2024 1 commit
-
-
Jérome Perrin authored
from 705e0beb (AppliedRule._checkExpand: add parameters to filter objects + better reporting, 2024-06-17)
-
- 27 Jun, 2024 5 commits
-
-
Julien Muchembled authored
-
Roque authored
See merge request nexedi/erp5!1948
-
Roque authored
- prepare import_export page to use multiple slapos-master urls (not fully implemented yet) - update queries, views, forms and gadgets to include slapos-master-url - drop gadget_erp5_jio, use jio gadget - minor graph refactoring - drop obsolete gadgets - fix and extend sync redirect options
-
Roque authored
-
Roque authored
-
- 26 Jun, 2024 2 commits
-
-
Romain Courteaud authored
-
Romain Courteaud authored
-
- 25 Jun, 2024 2 commits
-
-
Romain Courteaud authored
-
Romain Courteaud authored
Trigger activeSense on an alarm after an object is indexed. The idea is to use this script in an interaction workflow to trigger the alarm. If called multiple times, try to reduce the number of alarm execution.
-
- 24 Jun, 2024 1 commit
-
-
Romain Courteaud authored
-
- 20 Jun, 2024 1 commit
-
-
Romain Courteaud authored
Prevent potential errors to be returned with 201 status
-
- 19 Jun, 2024 4 commits
-
-
Romain Courteaud authored
Follow nexedi/erp5@a659b01c
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
Same behaviour than File/Image
-
- 18 Jun, 2024 3 commits
-
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
It is needed if a module contains multiple object's portal types.
-
- 17 Jun, 2024 1 commit
-
- 11 Jun, 2024 1 commit
-
-
Kazuhiko Shiozaki authored
Fix po_import behavior in Python 2. Newer versions of polib accept only unicode strings in the `pofile` function (because they check if they start by the decoded version of the BOM). I changed the `data` that is passed to `pofile` to be a unicode string in Python 2 too. This seems to work locally in my old version of polib, so that at least the old behavior should be kept the same. Co-authored-by: Carlos Ramos Carreño <carlos.ramos@nexedi.com> Co-authored-by: Jérome Perrin <jerome@nexedi.com>
-