Commit Graph
85 Commits
Author SHA1 Message Date
Xavier Morel 98dd7aba2f [FIX] *: used-before-assignment pylint warnings
Warnings show up when using a recent pylint. It's only a fraction of
what e.g. pycharm flags as "local variable might be referenced before
assignment" but seems a good idea to fix anyway in prevision of
possibly eventually updating the reference pylint.

closes odoo/odoo#107968

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2023-01-31 12:55:49 +01:00
Victor Feyens 7d422a2cd4 [FIX] *: unnecessary semicolon (W0301)
+ empty spaces removal
+ added space after comma (C0326 - bad-whitespace)

Part-of: odoo/odoo#86332
2022-04-27 07:51:23 +02:00
Xavier Morel 8cdd363238 [FIX] core: Thread.isAlive -> Thread.is_alive
Old naming has been deprecated for a long time, it's been removed
entirely in 3.9 (bpo-37804).

X-original-commit: c4a94bc99285aba085badeb1a41e8fe04562ef50
2020-12-08 08:26:37 +00:00
Antoine Prieels 72681dc53f [IMP] hw_*,point_of_sale: Cleaning IoT Box
- Split driver.py to multiple files
- Remove hw_proxy module as most of its routes were not used and
  move remaingin routes to a controller in hw_drivers
- Add missing coding and license lines at the beginning of files
- Reorder imports and remove unused ones
- Rename device_id to device_identifier for clarity
- Rename screen to display for consistency
- Other minors improvements

Taskid: 1973956
X-original-commit: 841c016913a87133bf7257c62ae5f6bf7d99e06d
2020-08-25 11:24:56 +00:00
Antoine Prieels 1454eed5b7 [FIX] hw_drivers,hw_escpos: Check pyusb version
The `get_string` method from the `pyusb` package has changed its
signature after version 1.0.0b1 so we used to force the IoT Box to use
this version to avoid an error. The problem is that version 1.0.0b1
has dependencies that raise DeprecationWarings in Raspbian Buster.
We then want to update the version of pyusb that is installed on the
IoT Box in 14.0.

As the Driver might be loaded to old versions of the IoT Box as well
as new ones, we need to check what version of the package is present
on the IoT Box before calling `get_string`.

This check will be removed in 14.0, as people will have to use the
latest version of the IoT Box.

closes odoo/odoo#52374

X-original-commit: e5475ae8ceca2121d15985ac7446f90dbd59b485
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
2020-06-03 15:20:36 +00:00
Adrian Torres 5952928b42 [REM] *: remove various unused import shims
Before this commit, a lot of leftover import shims existed in the
codebase for py2-py3 compatibility, these are no longer needed since
Odoo 13.0+ doesn't support Python 2 anymore and is (finally) in EOL.

With this commit, these shims are dropped, making the code cleaner,
easier to read and with one less dependency.

Queue -> queue -> py2-py3 compatibility
xmlrpclib -> xmlrpc.client -> py2-py3 compatibility
ConfigParser -> configparser -> py2-py3 compatibility
itertools.izip_longest -> itertools.zip_longest -> py2-py3 compatibility
urllib -> urllib.request -> py2-py3 compatibility
__builtins__ -> builtins -> py2-py3 compatibility
_winreg -> winreg -> py2-py3 compatibility

mock -> unittest.mock -> merged into CPython

The debian/fedora packages and requirements.txt have been updated accordingly

closes odoo/odoo#44601

Related: odoo/enterprise#8141
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2020-04-01 12:45:40 +00:00
lejeune quentin ee519c222f [REF] hw_posbox_homepage: Use helpers to get mac address in homepage
We use a library to get mac address of IoT in homepage.

however we already have a function that does this in the helper in hw_drivers

closes odoo/odoo#46631

X-original-commit: ae78e9cdde777ffac6f08a35dd00a540c92130bb
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2020-03-02 09:01:11 +00:00
Antoine Prieels 03b2f7b77d [REF] pos: Replace hw_escpos by PrinterDriver
ESCPOS printers are now supported as IoT Devices, just like any other
printer. We now transform the receipts to JPGs, transform these JPGs
into ESCPOS commands and send them via Cups, adding support for network
printers. Since we now print images, we can now print special
characters and therefore add support for other languages such as
Arabic.

The JPG is generated in the browser, with the help of html2canvas.

`hw_escpos` is left untouched to allow backward compatibility and
should be removed when v12 is no longer supported.

In the PoS, all the code for printing has been moved from ProxyDevice
to a separated JS file.

TaskID: 1939455
2019-08-08 11:53:37 +00:00
Yannick Tivisse 14067543d0 [IMP] uom: Remove parentheses on uom names
Purpose
=======

Parentheses in the label of units of measure sometimes make
reading needlessly uncomfortable.

Specification
=============

Remove parentheses in the name of every standard uom.uom and hardcoded
occurence on views/field names.

TaskID: 2030444

closes odoo/odoo#34492

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-07-15 12:57:34 +00:00
Antoine Prieels c80b5333b6 [FIX] hw_escpos: Avoid crashes on error
Two different problems on the box and resulted in the crash of the Odoo
instance running on the IoT Box:

When `usblp` had troubles communicating with a printer, a NoDeviceError
was raised. The `printer` variable was still set from the last time the
loop was processed, so we tried to close it, resulting in an error.

The code handling generic execptions was broken.

closes odoo/odoo#34300

Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2019-06-21 12:07:01 +00:00
Josse Colpaert 8b957b7e85 [IMP] hw_*: updated web interface for IoT Box
We changed the naming of posbox to IoT Box everywhere
and renewed the web interface using jinja2 templates in
separate html files.

A separate configuration for the server and the IoT Box name
was added and it shows drivers for both  pos and iot.

The interface also needs a step to step wizard that is launched
when the access point is active for simplified configuration.

Thanks to qle and Deep Patel.
2018-09-25 23:01:40 +02:00
Josse Colpaert 7d34f0218b [IMP] point_of_sale: posbox upgrade to stretch / python3
- transform odoo.py -> odoo-bin / recent branches + pip3 packages
- deactivate wpa_supplicant when starting dhcpcd automatically
- postgresql create clusters manually
- latest stretch raspbian image / add versatile-db.ptb for kernel-qemu
- ifconfig output change
- upgrade hw_-modules:
    hw_escpos: to python3
    hw_posbox_homepage: to v11: csrf does not work as it needs a database
    hw_posbox_upgrade: to python3 decode utf-8
    hw_scale: to python3
    hw_proxy: to python3

With the commit, the posbox will also work on the new Raspberry Pi 3b+
2018-07-13 15:10:12 +02:00
Xavier Morel b897dcde15 [FIX] P3: import pattern which doesn't seem to work right
``import odoo.addons.foo as bar`` doesn't seem to properly trigger the
import hook in Python 3 (it blows up on decimal_precision and
base). Thus convert *all* examples of that pattern to the more
sensible ``from odoo.addons import foo as bar``.
2017-05-22 13:30:50 +02:00
Xavier Morel 7c6c43d910 [FIX] P3: Queue module renamed to queue 2017-05-15 12:26:32 +02:00
Xavier Morel 3833c8997d [FIX] P3: removed commands module 2017-05-15 12:26:16 +02:00
Xavier Morel 07ab8b6cd2 [FIX] P3: Exception.message removed 2017-05-12 16:15:40 +02:00
xmo-odoo b4429c2a91 [FIX] Various P3-related import changes
* LDAP import: python-ldap is not python3-compatible, pyldap is

  Warning: only supported from debian Stretch (current testing)?
  https://packages.debian.org/search?searchon=names&keywords=pyldap

* implicitly relative imports
* imports of moved or removed stdlib modules

issue #8530
2017-04-28 09:06:53 +02:00
xmo-odoo 6b9268bd15 [FIX] print statement -> function
In Python 3, ``print`` becomes a builtin function. This is available
in Python 2 by importing the ``print_function`` feature from
``__future__``, the feature is conveniently still available in Python
3 (it just does nothing).

Fixers:
    libfuturize.fixes.fix_print_with_import

#8530
2017-04-25 13:27:54 +02:00
Christophe Simonis 13dc7041a6 [MERGE] forward port branch saas-12 up to 1ef4061 2016-11-17 15:24:36 +01:00
Christophe Simonis 7ee09ed0c1 [MERGE] forward port branch saas-6 up to 6d8d7a5 2016-11-17 13:11:04 +01:00
Christophe Simonis 6d8d7a5970 [MERGE] forward port branch 8.0 up to 8e8b792 2016-11-17 12:41:45 +01:00
Olivier Dony 8e8b7925d2 [FIX] hw_escpos: auto-detect endpoint address
Instead of hardcoding the IN & OUT endpoint
addresses for the ESC/POS printers, we now
attempt to auto-detect them.

This should increase compatibility with many
compatible thermal printers that are simply
using a different address, such as the
- STMicroelectronics POS58 Printer USB
- HU HAI SUNCSW Receipt Printer Co.,Ltd. Gprinter USB Printer

Fixes #12890
2016-11-16 14:52:34 +01:00
Martin Trigaux 994d45f478 [IMP] hw_escpos: more fault tolerant printer detection
In some cases, the description fails (unknow printer, udev issues,...) and while
the printer works fine, the description fails.
2016-10-18 11:23:46 +02:00
Rohan Patel bff6ef3c76 [MIG] hw_escpos : Migrated to new API. 2016-08-04 12:37:08 +02:00
Denis Ledoux a842199687 [MERGE] forward port of branch saas-6 up to 2616def 2016-01-29 12:29:17 +01:00
Denis Ledoux 2616defe35 [MERGE] forward port of branch 8.0 up to edeb5a8 2016-01-29 11:41:24 +01:00
Joren Van Onder 6f4e7867f0 [IMP] hw_escpos: add the MAC address to the ticket printed at startup
Usually when setting up a POSBox you want it to have a static IP. The
best way to do that is by configuring whatever DHCP server is
used (usually just on the router) to always assign the same IP to a
certain MAC address (naming depends on what is being used, sometimes
it's called static DHCP but it's also known as DHCP reservations and a
bunch of other names).

The process of setting this up is complicated for a non-technical user,
and this attempts to make it a little bit easier to do by immediately
giving them the correct MAC address they should use. To avoid confusion
this only prints the MAC addresses for interfaces which have an IP
address.
2016-01-29 09:25:15 +01:00
Denis Ledoux 34e90a44f8 [MERGE] forward port of branch saas-6 up to 20dba161d0 2015-10-26 19:17:21 +01:00
Christophe Simonis 20dba161d0 [MERGE] forward port of branch 8.0 up to c484467 2015-10-10 14:46:23 +02:00
Joren Van Onder 546a1d4a32 [IMP] point_of_sale: support Wi-Fi on the posbox
This allows people to connect the posbox to networks using a wireless
network adapter.

When plugging in a USB Wi-Fi adapter and no network cable, the posbox
will boot and host its own Access Point called "Posbox". Users can
connect their device to this network and can then connect to the posbox
the usual way.

An interface for has been provided that also allows users to instruct
the posbox to connect to a different Wi-Fi network. This is useful when
the client is not running Odoo locally.

It is also possible to make this configuration persistent. With a
persistent Wi-Fi network configuration, the posbox will always try to
connect to the specified network after a reboot.

Attempts have been made to make the Wi-Fi connection as robust as
possible. Upon connection loss, the posbox will automatically attempt to
reconnect.
2015-10-09 09:38:09 +02:00
Joren Van Onder f008240411 [FIX] hw_escpos: certain Epson printers do not identify as a printer
We search for USB devices that identify as a printer through their
DeviceClass or one of their InterfaceClasses. The issue is a lot of
printers use vendor-specific Device/InterfaceClasses.

Apparently the Epson TM-T88IV is one of those devices. So in order to
work around this, we now first look for a USB device that identifies as
a printer. If those do not exist, we pick the first Epson device, if
those do not exist we pick the first Star device.

Perhaps we should instead start using some kind of probe-based approach
to identify ESC/POS compatible devices.
2015-10-07 13:03:46 +02:00
Leonardo Rochael Almeida 60af7cac02 [IMP] replace simplejson with stdlib json
The stdlib version of the json library is more recent than the 3.5.3
version we are pinning in `requirements.txt`

There is no reason to use it.

Closes #6940
2015-09-28 10:53:32 +02:00
Denis Ledoux a3648fd23a [MERGE] forward port of branch 8.0 up to aabbdc7 2015-09-21 16:01:58 +02:00
Joren Van Onder a11a490d30 [IMP] hw_escpos: support Star TSP650II
In order for the printer to work we need to configure it in USB vendor
mode. This means it will not have a USB interfaceClass of 7. So when
we don't find any USB device that identifies as a printer, we search
for Star devices and use the first one of those we find.

This should be reasonably safe because Star does not manufacture other
devices apart from printers that one would attach to the posbox.
2015-09-17 09:26:33 +02:00
Christophe Simonis 6d85a9a4b9 [MERGE] forward port of branch 8.0 up to d744923 2015-08-27 18:30:46 +02:00
Joren Van Onder e7c51228f3 [IMP] hw_escpos: get rid of printer whitelist
It makes more sense to just look for usb devices that identify as a
printer and use whatever we get. This saves us time having to explain to
users how to add their particular printer to the whitelist to test.
2015-08-26 15:12:39 +02:00
Christophe Simonis 171d001985 [MERGE] forward port of branch 8.0 up to 02954ba 2015-08-11 16:56:47 +02:00
Joren Van Onder 86762ef30f [IMP] point_of_sale: add scripts to generate posbox images
Instead of continuing to build upon the old images, these scripts
implement a reproducable way to generate new posbox images. The
generated images will be based on the latest stable Raspbian
release. The image will be created with the help of qemu-system-arm,
which will boot up the image and execute a script that will set up the
posbox image.

This way everything necessary to set up a posbox is readable in the
scripts and accompanying files, instead of being hidden in an image.
2015-08-11 15:19:57 +02:00
Joren Van Onder 59b5f136bf [IMP] point_of_sale: add patches from posbox branch
This commit contains the patches from the now obsolete 'posbox'
branch. These patches were written by Martin Donies (@mdo-odoo) and
Frédéric Van der Essen (@fvdsn).
2015-08-11 15:13:17 +02:00
Christophe Simonis 7f2de62378 [MERGE] forward port of branch 8.0 up to 33a8989 2015-02-11 17:25:33 +01:00
Martin 3cf45e1111 [FIX] hw_escpos: Backport driver robustness 2015-02-10 13:24:59 +01:00
Leonardo Donelli 4a0b13ed92 [REF] remove vim modelines and resulting trailing blank lines
Let 2015 be a year without modelines!
cf #4174
2014-12-31 15:52:13 +01:00
Josse Colpaert 8b84615de1 [MERGE] Merge from trunk test
bzr revid: jco@openerp.com-20140502130352-c3h1fk332eqyd78b
2014-05-02 15:03:52 +02:00
Fabien Meghazi 877503143d [REM] html_template from hw_*
bzr revid: fme@openerp.com-20140430132510-smhi39h9oyi8p4nt
2014-04-30 15:25:10 +02:00
Quentin (OpenERP) 398d96f273 [MERGE] merged trunk up to revision 9327
bzr revid: qdp-launchpad@openerp.com-20140414094743-hv0u7qhigv1to2uc
2014-04-14 11:47:43 +02:00
Frédéric van der Essen d704fb0060 [IMP] hw_proxy, hw_escpos: it is now possible to add support for new printers from the posbox hardware status page + fix backward compatiblity for hardcoded receipts
bzr revid: fva@openerp.com-20140411120510-t3a8b3axq1q4wuje
2014-04-11 14:05:10 +02:00
Christophe Simonis 0fad8159f3 [MERGE] forward port of branch saas-3 up to revid 9380 chs@openerp.com-20140407144439-10n8fs6zovodwwtx
bzr revid: chs@openerp.com-20140407163318-hh3jwfkj3o2c83lk
2014-04-07 18:33:18 +02:00
Quentin (OpenERP) ff4726ea7d [MERGE] merged trunk up to revision 9281
bzr revid: qdp-launchpad@openerp.com-20140403081427-7xpn57wdfv08v2al
2014-04-03 10:14:27 +02:00
Christophe Simonis 37c469c5cd [FIX] hw_{scanner,escpos}: ensure we always release the lock.
[FIX] hw_scanner: mark the thread as deamon.

bzr revid: chs@openerp.com-20140329144146-utr8gexna4un65u1
2014-03-29 15:41:46 +01:00
Quentin (OpenERP) 9989113946 [MERGE] merge branch that fixes point of sale accordingly to changes made in stock
bzr revid: qdp-launchpad@openerp.com-20140328145710-ibzo59dv1p06jbg3
2014-03-28 15:57:10 +01:00