diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4927842..f9bc266 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -21,12 +21,6 @@ rm -r ./.venv
make install
```
-Uninstall module contract_portal.
-
-```bash
-./run.sh --no-http --stop-after-init -d DATABASE --uninstall contract_portal
-```
-
Do a backup of your database and update all module :
```bash
@@ -52,6 +46,8 @@ Do a backup of your database and update all module :
- Repo documentation-user from Odoo change to documentation
- Repo odooaktiv/QuotationRevision is deleted
- Update all repo (91) to end of 2022
+- Rename module project_task_subtask_time_range => project_time_budget
+- Rename module project_task_time_range => project_time_range
### Fixed
@@ -61,13 +57,14 @@ Do a backup of your database and update all module :
- Ubuntu 18.04 is broken, need to install manually nodejs and npm
- Module contract_portal and remove signature in portal contract, need an update
-- Downgrade helpdesk_mgmt to remove email team and tracking field
- - Remove helpdesk_partner
- - Remove helpdesk_service_call
- - Remove helpdesk_supplier
- - Remove helpdesk_mrp
- - Remove helpdesk_mailing_list
- - Remove helpdesk_join_team
+- Downgrade module helpdesk_mgmt to remove email team and tracking field
+ - Module helpdesk_partner
+ - Module helpdesk_service_call
+ - Module helpdesk_supplier
+ - Module helpdesk_mrp
+ - Module helpdesk_mailing_list
+ - Module helpdesk_join_team
+- Module project_time_management
## [1.4.0] - 2022-10-05
diff --git a/Makefile b/Makefile
index 4db585b..ec83a51 100644
--- a/Makefile
+++ b/Makefile
@@ -199,6 +199,7 @@ image_db_create_erplibre_base:
.PHONY: image_db_create_erplibre_website
image_db_create_erplibre_website:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_website
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_website
./script/addons/install_addons.sh image_creation_erplibre_website website,erplibre_website_snippets_basic_html,erplibre_website_snippets_cards,erplibre_website_snippets_structures,erplibre_website_snippets_timelines,website_form_builder,muk_website_branding,website_snippet_anchor,website_anchor_smooth_scroll,website_snippet_all
@@ -247,6 +248,7 @@ image_db_create_erplibre_code_generator:
.PHONY: image_db_create_erplibre_package_accounting
image_db_create_erplibre_package_accounting:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_accounting
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_accounting
./script/addons/install_addons.sh image_creation_erplibre_package_accounting erplibre_base_quebec
./script/addons/install_addons.sh image_creation_erplibre_package_accounting account_fiscal_year_closing,account_export_csv,account_financial_report,account_tax_balance,mis_builder_cash_flow,partner_statement,account_bank_statement_import_camt_oca,account_bank_statement_import_move_line,account_bank_statement_import_ofx,account_bank_statement_import_online,account_bank_statement_import_online_paypal,account_bank_statement_import_online_transferwise,account_bank_statement_import_paypal,account_bank_statement_import_split,account_bank_statement_import_txt_xlsx,accounting_pdf_reports,om_account_accountant,om_account_asset,om_account_budget
@@ -254,6 +256,7 @@ image_db_create_erplibre_package_accounting:
.PHONY: image_db_create_erplibre_package_business_requirements
image_db_create_erplibre_package_business_requirements:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_business_requirements
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_business_requirements
./script/addons/install_addons.sh image_creation_erplibre_package_business_requirements crm_team_quebec
./script/addons/install_addons.sh image_creation_erplibre_package_business_requirements business_requirement,business_requirement_crm,business_requirement_deliverable,business_requirement_sale,business_requirement_sale_timesheet
@@ -261,6 +264,7 @@ image_db_create_erplibre_package_business_requirements:
.PHONY: image_db_create_erplibre_package_contract
image_db_create_erplibre_package_contract:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_contract
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_contract
./script/addons/install_addons.sh image_creation_erplibre_package_contract agreement,agreement_account,agreement_legal,agreement_legal_sale,agreement_project,agreement_sale,agreement_serviceprofile,agreement_stock,contract,contract_forecast,contract_invoice_start_end_dates,contract_layout_category_hide_detail,contract_mandate,contract_payment_mode,contract_sale,contract_sale_invoicing,contract_sale_mandate,contract_sale_payment_mode,contract_transmit_method,contract_variable_qty_prorated,contract_variable_qty_timesheet,contract_variable_quantity,product_contract,product_contract_variable_quantity
# ./script/addons/install_addons.sh image_creation agreement_legal_sale_fieldservice,agreement_maintenance,agreement_mrp,agreement_repair
@@ -268,12 +272,14 @@ image_db_create_erplibre_package_contract:
.PHONY: image_db_create_erplibre_package_crm
image_db_create_erplibre_package_crm:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_crm
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_crm
./script/addons/install_addons.sh image_creation_erplibre_package_crm erplibre_base_quebec,crm_team_quebec,crm,crm_livechat,crm_phone_validation,crm_project,crm_reveal
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database image_creation_erplibre_package_crm --restore_image erplibre_package_crm
.PHONY: image_db_create_erplibre_package_e_commerce
image_db_create_erplibre_package_e_commerce:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_e_commerce
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_e_commerce
./script/addons/install_addons.sh image_creation_erplibre_package_e_commerce erplibre_base_quebec
./script/addons/install_addons.sh image_creation_erplibre_package_e_commerce website_sale,website_sale_comparison,website_sale_delivery,website_sale_digital,website_sale_link_tracker,website_sale_management,website_sale_stock,website_sale_wishlist,website_sale_attribute_filter_category,website_sale_attribute_filter_order,website_sale_attribute_filter_price,website_sale_cart_selectable,website_sale_category_description,website_sale_checkout_country_vat,website_sale_checkout_skip_payment,website_sale_exception,website_sale_hide_empty_category,website_sale_hide_price,website_sale_product_attachment,website_sale_product_attribute_filter_visibility,website_sale_product_attribute_value_filter_existing,website_sale_product_detail_attribute_image,website_sale_product_detail_attribute_value_image,website_sale_product_minimal_price,website_sale_product_reference_displayed,website_sale_product_sort,website_sale_product_style_badge,website_sale_require_legal,website_sale_require_login,website_sale_secondary_unit,website_sale_show_company_data,website_sale_stock_available,website_sale_stock_available_display,website_sale_stock_force_block,website_sale_suggest_create_account,website_sale_wishlist_keep,website_snippet_carousel_product,website_snippet_product_category,product_rating_review,product_configurator,product_configurator_mrp,product_configurator_purchase,product_configurator_sale,product_configurator_stock,website_product_configurator
@@ -283,6 +289,7 @@ image_db_create_erplibre_package_e_commerce:
.PHONY: image_db_create_erplibre_package_field_service
image_db_create_erplibre_package_field_service:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_field_service
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_field_service
./script/addons/install_addons.sh image_creation_erplibre_package_field_service erplibre_base_quebec,crm_team_quebec
./script/addons/install_addons.sh image_creation_erplibre_package_field_service fieldservice,fieldservice_account,fieldservice_account_analytic,fieldservice_account_payment,fieldservice_activity,fieldservice_agreement,fieldservice_change_management,fieldservice_crm,fieldservice_delivery,fieldservice_distribution,fieldservice_fleet,fieldservice_geoengine,fieldservice_isp_account,fieldservice_isp_flow,fieldservice_location_builder,fieldservice_maintenance,fieldservice_partner_multi_relation,fieldservice_project,fieldservice_purchase,fieldservice_recurring,fieldservice_repair,fieldservice_route,fieldservice_route_account,fieldservice_route_stock,fieldservice_route_vehicle,fieldservice_sale,fieldservice_sale_recurring,fieldservice_sale_stock,fieldservice_size,fieldservice_skill,fieldservice_stage_server_action,fieldservice_stage_validation,fieldservice_stock,fieldservice_stock_account,fieldservice_stock_account_analytic,fieldservice_substatus,fieldservice_vehicle,fieldservice_vehicle_stock
@@ -291,12 +298,14 @@ image_db_create_erplibre_package_field_service:
.PHONY: image_db_create_erplibre_package_helpdesk
image_db_create_erplibre_package_helpdesk:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_helpdesk
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_helpdesk
./script/addons/install_addons.sh image_creation_erplibre_package_helpdesk helpdesk_mgmt,helpdesk_mgmt_project,helpdesk_motive,helpdesk_type,helpdesk_mgmt_timesheet,helpdesk_mgmt_timesheet_time_control,helpdesk_mgmt_partner_sequence,helpdesk_mgmt_sla
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database image_creation_erplibre_package_helpdesk --restore_image erplibre_package_helpdesk
.PHONY: image_db_create_erplibre_package_hr
image_db_create_erplibre_package_hr:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_hr
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_hr
./script/addons/install_addons.sh image_creation_erplibre_package_hr erplibre_base_quebec
./script/addons/install_addons.sh image_creation_erplibre_package_hr hr,hr_expense_associate_with_customer,hr_expense_tip,res_partner_fix_group_by_company,hr_attendance,hr_contract,hr_expense,hr_expense_check,hr_gamification,hr_holidays,hr_maintenance,hr_org_chart,hr_payroll,hr_payroll_account,hr_recruitment,hr_recruitment_survey,hr_timesheet,hr_timesheet_attendance,hr_attendance_autoclose,hr_attendance_geolocation,hr_attendance_modification_tracking,hr_attendance_reason,hr_attendance_report_theoretical_time,hr_attendance_rfid,hr_calendar_rest_time,hr_contract_currency,hr_contract_document,hr_contract_multi_job,hr_contract_rate,hr_course,hr_employee_age,hr_employee_birth_name,hr_employee_calendar_planning,hr_employee_display_own_info,hr_employee_document,hr_employee_emergency_contact,hr_employee_firstname,hr_employee_health,hr_employee_id,hr_employee_language,hr_employee_medical_examination,hr_employee_partner_external,hr_employee_phone_extension,hr_employee_relative,hr_employee_service,hr_employee_service_contract,hr_employee_social_media,hr_employee_ssn,hr_expense_advance_clearing,hr_expense_cancel,hr_expense_invoice,hr_expense_payment_difference,hr_expense_petty_cash,hr_expense_sequence,hr_expense_tier_validation,hr_experience,hr_holidays_accrual_advanced,hr_holidays_credit,hr_holidays_hour,hr_holidays_leave_auto_approve,hr_holidays_leave_repeated,hr_holidays_leave_request_wizard,hr_holidays_length_validation,hr_holidays_notify_employee_manager,hr_holidays_public,hr_holidays_settings,hr_holidays_validity_date,hr_job_category,hr_payroll_cancel,hr_payslip_change_state,hr_period,hr_skill,hr_worked_days_from_timesheet,resource_hook,hr_contract_single_open,hr_contract_wage_type,hr_employee_private_wizard,hr_employee_type,hr_employee_type_private_wizard,hr_event,hr_expense_same_month,hr_working_space,muk_hr_utils
@@ -304,13 +313,15 @@ image_db_create_erplibre_package_hr:
.PHONY: image_db_create_erplibre_package_project
image_db_create_erplibre_package_project:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_project
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_project
./script/addons/install_addons.sh image_creation_erplibre_package_project erplibre_base_quebec
- ./script/addons/install_addons.sh image_creation_erplibre_package_project project,project_chatter,project_default_task_stage,project_form_with_dates,project_hide_create_sale_order,project_iteration,project_iteration_parent_only,project_iteration_parent_type_required,project_portal_hide_timesheets,project_portal_parent_task,project_remaining_hours_update,project_stage,project_stage_allow_timesheet,project_stage_no_quick_create,project_task_date_planned,project_task_deadline_from_project,project_task_full_text_search,project_task_id_in_display_name,project_task_link,project_task_reference,project_task_resource_type,project_task_search_parent_subtask,project_task_stage_external_mail,project_task_subtask_same_project,project_task_subtask_time_range,project_task_time_range,project_task_type,project_template,project_template_numigi,project_template_timesheet,project_time_management,project_time_range,project_type
+ ./script/addons/install_addons.sh image_creation_erplibre_package_project project,project_chatter,project_default_task_stage,project_form_with_dates,project_hide_create_sale_order,project_iteration,project_iteration_parent_only,project_iteration_parent_type_required,project_portal_hide_timesheets,project_portal_parent_task,project_remaining_hours_update,project_stage,project_stage_allow_timesheet,project_stage_no_quick_create,project_task_date_planned,project_task_deadline_from_project,project_task_full_text_search,project_task_id_in_display_name,project_task_link,project_task_reference,project_task_resource_type,project_task_search_parent_subtask,project_task_stage_external_mail,project_task_subtask_same_project,project_task_type,project_template,project_template_numigi,project_template_timesheet,project_type,project_time_budget,project_time_range
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database image_creation_erplibre_package_project --restore_image erplibre_package_project
.PHONY: image_db_create_erplibre_package_purchase
image_db_create_erplibre_package_purchase:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_purchase
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_purchase
./script/addons/install_addons.sh image_creation_erplibre_package_purchase erplibre_base_quebec
./script/addons/install_addons.sh image_creation_erplibre_package_purchase purchase,purchase_mrp,purchase_requisition,purchase_stock,product_supplier_info_helpers,purchase_consignment,purchase_consignment_delivery_expense,purchase_consignment_inventory,purchase_consignment_inventory_line_domain,purchase_estimated_time_arrival,purchase_invoice_empty_lines,purchase_invoice_from_picking,purchase_partner_products,purchase_warning_minimum_amount
@@ -318,6 +329,7 @@ image_db_create_erplibre_package_purchase:
.PHONY: image_db_create_erplibre_package_sale
image_db_create_erplibre_package_sale:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_sale
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_sale
./script/addons/install_addons.sh image_creation_erplibre_package_sale erplibre_base_quebec,crm_team_quebec
./script/addons/install_addons.sh image_creation_erplibre_package_sale sale,sale_crm,sale_expense,sale_management,sale_margin,sale_mrp,sale_purchase,sale_quotation_builder,sale_stock,sale_timesheet,sales_team,product_create_group,product_dimension,product_dimension_numigi,product_extra_views,product_extra_views_purchase,product_extra_views_sale,product_extra_views_stock,product_kit,product_panel_shortcut,product_reference,product_reference_list_view,product_variant_button_complete_form,sale_order_line_limit,sale_degroup_tax,payment,payment_transfer,purchase,stock
@@ -325,6 +337,7 @@ image_db_create_erplibre_package_sale:
.PHONY: image_db_create_erplibre_package_scrummer
image_db_create_erplibre_package_scrummer:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_scrummer
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_scrummer
./script/addons/install_addons.sh image_creation_erplibre_package_scrummer erplibre_base_quebec
./script/addons/install_addons.sh image_creation_erplibre_package_scrummer scrummer,scrummer_git,scrummer_kanban,scrummer_scrum,scrummer_timesheet_category,scrummer_workflow_security,scrummer_workflow_transition_by_project,scrummer_workflow_transitions_by_task_type,web_diagram_position,web_syncer,web_widget_image_url,project_agile_sale_timesheet,project_agile_analytic,project_agile_scrum,project_git_github,project_git_gitlab,project_portal
@@ -332,6 +345,7 @@ image_db_create_erplibre_package_scrummer:
.PHONY: image_db_create_erplibre_package_stock
image_db_create_erplibre_package_stock:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_stock
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_stock
./script/addons/install_addons.sh image_creation_erplibre_package_stock stock,stock_account,stock_dropshipping,stock_landed_costs,stock_picking_batch,purchase_warehouse_access,stock_component,stock_component_account,stock_inventory_accounting_date_editable,stock_inventory_category_domain,stock_inventory_internal_location,stock_inventory_line_domain,stock_location_position_alphanum,stock_picking_change_destination,stock_serial_single_quant,stock_theorical_quantity_access,stock_turnover_rate,stock_warehouse_access,stock_warehouse_distance
# ./script/addons/install_addons.sh image_creation_erplibre_package_stock stock_zebra,stock_inventory_line_domain_barcode
@@ -339,20 +353,23 @@ image_db_create_erplibre_package_stock:
.PHONY: image_db_create_erplibre_package_timesheet
image_db_create_erplibre_package_timesheet:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_timesheet
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_timesheet
./script/addons/install_addons.sh image_creation_erplibre_package_timesheet payroll_code_on_task_type,payroll_period,payroll_preparation,payroll_preparation_export_wizard,payroll_preparation_from_timesheet,project_timesheet_time_control_enhanced,timesheet_edit_only_today,timesheet_list_description_after_task,timesheet_list_employee,timesheet_multi_line_wizard,timesheet_multi_line_wizard_security,timesheet_payroll_period,timesheet_validation_status
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database image_creation_erplibre_package_timesheet --restore_image erplibre_package_timesheet
.PHONY: image_db_create_erplibre_package_website
image_db_create_erplibre_package_website:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_website
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_website
- ./script/addons/install_addons.sh image_creation_erplibre_package_website portal,website,website_blog,website_crm,website_crm_partner_assign,website_crm_phone_validation,website_customer,website_event,website_event_questions,website_event_sale,website_event_track,website_form,website_form_project,website_forum,website_gengo,website_google_map,website_hr,website_hr_recruitment,website_links,website_livechat,website_mail,website_mail_channel,website_mass_mailing,website_membership,website_partner,website_payment,website_rating,website_slides,website_survey,website_theme_install,website_twitter,website_adv_image_optimization,website_anchor_smooth_scroll,website_blog_excerpt_img,website_breadcrumb,website_canonical_url,website_cookie_notice,website_crm_privacy_policy,website_crm_quick_answer,website_crm_recaptcha,website_form_builder,website_form_recaptcha,website_google_tag_manager,website_img_dimension,website_js_below_the_fold,website_lazy_load_image,website_legal_page,website_logo,website_media_size,website_megamenu,website_odoo_debranding,website_portal_address,website_portal_contact,website_snippet_anchor,website_snippet_big_button,website_snippet_country_dropdown,website_snippet_marginless_gallery,smile_website_login_as,website_snippet_all
+ ./script/addons/install_addons.sh image_creation_erplibre_package_website portal,website,website_blog,website_crm,website_crm_partner_assign,website_crm_phone_validation,website_customer,website_event,website_event_questions,website_event_sale,website_event_track,website_form,website_form_project,website_forum,website_google_map,website_hr,website_hr_recruitment,website_links,website_livechat,website_mail,website_mail_channel,website_mass_mailing,website_membership,website_partner,website_payment,website_rating,website_slides,website_survey,website_theme_install,website_twitter,website_adv_image_optimization,website_anchor_smooth_scroll,website_blog_excerpt_img,website_breadcrumb,website_canonical_url,website_cookie_notice,website_crm_privacy_policy,website_crm_quick_answer,website_crm_recaptcha,website_form_builder,website_form_recaptcha,website_google_tag_manager,website_img_dimension,website_js_below_the_fold,website_lazy_load_image,website_legal_page,website_logo,website_media_size,website_megamenu,website_odoo_debranding,website_portal_address,website_portal_contact,website_snippet_anchor,website_snippet_big_button,website_snippet_country_dropdown,website_snippet_marginless_gallery,smile_website_login_as,website_snippet_all
./script/addons/install_addons_theme.sh image_creation_erplibre_package_website theme_default
# ./script/addons/install_addons.sh image_creation_erplibre_package_website website_no_crawler
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database image_creation_erplibre_package_website --restore_image erplibre_package_website
.PHONY: image_db_create_erplibre_package_wiki
image_db_create_erplibre_package_wiki:
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database image_creation_erplibre_package_wiki
./.venv/bin/python3 ./odoo/odoo-bin db --clone --from_database image_creation_erplibre_base --database image_creation_erplibre_package_wiki
./script/addons/install_addons.sh image_creation_erplibre_package_wiki document_page,document_page_approval,document_page_group,document_page_project,document_page_reference,document_page_tag,document_url,knowledge,attachment_preview,document_page_procedure,document_page_quality_manual,document_page_work_instruction,mgmtsystem,mgmtsystem_action,mgmtsystem_audit,mgmtsystem_hazard,mgmtsystem_manual,mgmtsystem_nonconformity,mgmtsystem_nonconformity_hr,mgmtsystem_nonconformity_product,mgmtsystem_nonconformity_project,mgmtsystem_quality,mgmtsystem_review,mgmtsystem_survey
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database image_creation_erplibre_package_wiki --restore_image erplibre_package_wiki
diff --git a/doc/PRODUCTION.md b/doc/PRODUCTION.md
index 7b82741..85eeed8 100644
--- a/doc/PRODUCTION.md
+++ b/doc/PRODUCTION.md
@@ -190,3 +190,19 @@ You can validate in log the update, you need to find `odoo.modules.loading: upda
```bash
docker-compose logs -f
```
+
+## Update all
+
+Do a backup on url https://HOST/web/database/manager
+
+Edit the docker-compose.yml and update the command line (change DATABASE) to :
+
+```yaml
+ command: odoo --workers 2 -u all -d DATABASE
+```
+
+Watch log to see error, if you got error, you need to do some code to migrate your data, depend the case.
+
+```bash
+make docker_show_logs_live
+```
diff --git a/docker/Dockerfile.prod.pkg b/docker/Dockerfile.prod.pkg
index 44cf992..c9beecb 100644
--- a/docker/Dockerfile.prod.pkg
+++ b/docker/Dockerfile.prod.pkg
@@ -22,6 +22,8 @@ RUN cd ; mkdir -p .bin/ && \
git config --global user.name "Foo Bar" && \
if [ "$BRANCH_ERPLIBRE" = "HEAD" ]; then git clone $REPO_MANIFEST_URL $ODOO_PREFIX ; else git clone $REPO_MANIFEST_URL -b $BRANCH_ERPLIBRE $ODOO_PREFIX; fi && \
cd $ODOO_PREFIX && \
+ # fatal: detected dubious ownership in repository at '/ERPLibre'
+ git config --global --add safe.directory /ERPLibre && \
git checkout $COMMIT_ERPLIBRE
RUN cd $ODOO_PREFIX && \
@@ -35,15 +37,13 @@ RUN cd $ODOO_PREFIX && \
./script/update_manifest_dev.sh
# Install Poetry
-RUN cd $ODOO_PREFIX && \
- curl -sSL -o get-poetry.py https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py && \
- ./.venv/bin/python get-poetry.py -y --preview --version 1.1.14
-
RUN cd $ODOO_PREFIX && \
./.venv/bin/pip install --upgrade pip && \
- ./.venv/bin/python ~/.poetry/bin/poetry install && \
- rm -rf artifacts && \
- rm -rf ~/.poetry
+ ./.venv/bin/pip install vatnumber && \
+ ./.venv/bin/pip install suds-jurko && \
+ ./.venv/bin/pip install poetry==1.3.1 && \
+ ./.venv/bin/poetry --version && \
+ ./.venv/bin/poetry install
RUN cd $ODOO_PREFIX/.venv && \
curl https://raw.githubusercontent.com/ERPLibre/multilingual-markdown/master/multilang_md.py > ./multilang_md.py && \
diff --git a/manifest/default.dev.xml b/manifest/default.dev.xml
index 3cade3f..a53f8bc 100644
--- a/manifest/default.dev.xml
+++ b/manifest/default.dev.xml
@@ -26,7 +26,7 @@
-
+
@@ -35,7 +35,7 @@
-
+
@@ -54,7 +54,7 @@
-
+
@@ -62,7 +62,7 @@
-
+
@@ -98,13 +98,13 @@
-
+
-
+
@@ -127,7 +127,7 @@
-
+
diff --git a/poetry.lock b/poetry.lock
index c502466..2566309 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,5 +1,30 @@
# This file is automatically @generated by Poetry and should not be changed by hand.
+[[package]]
+name = "acme"
+version = "2.1.0"
+description = "ACME protocol implementation in Python"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "acme-2.1.0-py3-none-any.whl", hash = "sha256:6a1b786154dfa3248cab36e0db7a78187986677857af2bac04f53bc79b642b8c"},
+ {file = "acme-2.1.0.tar.gz", hash = "sha256:04cd54d46ee6611b540f79dc550a86c6de39c6c9648b856e952dcf3817ce99dd"},
+]
+
+[package.dependencies]
+cryptography = ">=2.5.0"
+josepy = ">=1.13.0"
+PyOpenSSL = ">=17.5.0"
+pyrfc3339 = "*"
+pytz = ">=2019.3"
+requests = ">=2.20.0"
+setuptools = ">=41.6.0"
+
+[package.extras]
+docs = ["Sphinx (>=1.0)", "sphinx-rtd-theme"]
+test = ["pytest", "pytest-xdist", "typing-extensions"]
+
[[package]]
name = "agithub"
version = "2.2.2"
@@ -59,18 +84,6 @@ toolz = "*"
[package.extras]
dev = ["black", "docutils", "flake8", "ipython", "m2r", "mistune (<2.0.0)", "pytest", "recommonmark", "sphinx", "vega-datasets"]
-[[package]]
-name = "appdirs"
-version = "1.4.4"
-description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
-category = "main"
-optional = false
-python-versions = "*"
-files = [
- {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"},
- {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"},
-]
-
[[package]]
name = "argcomplete"
version = "2.0.0"
@@ -89,18 +102,6 @@ importlib-metadata = {version = ">=0.23,<5", markers = "python_version == \"3.7\
[package.extras]
test = ["coverage", "flake8", "pexpect", "wheel"]
-[[package]]
-name = "argparse"
-version = "1.4.0"
-description = "Python command-line parsing library"
-category = "main"
-optional = false
-python-versions = "*"
-files = [
- {file = "argparse-1.4.0-py2.py3-none-any.whl", hash = "sha256:c31647edb69fd3d465a847ea3157d37bed1f95f19760b11a47aa91c04b666314"},
- {file = "argparse-1.4.0.tar.gz", hash = "sha256:62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4"},
-]
-
[[package]]
name = "asterisk"
version = "0.0.8"
@@ -166,6 +167,62 @@ docs = ["furo", "sphinx", "sphinx-notfound-page", "zope.interface"]
tests = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "zope.interface"]
tests-no-zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins"]
+[[package]]
+name = "azure-core"
+version = "1.26.1"
+description = "Microsoft Azure Core Library for Python"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "azure-core-1.26.1.zip", hash = "sha256:223b0e90cbdd1f03c41b195b03239899843f20d00964dbb85e64386873414a2d"},
+ {file = "azure_core-1.26.1-py3-none-any.whl", hash = "sha256:726ffd1ded04a2c1cb53f9d9155cbb05ac5c1c2a29af4ef622e93e1c0a8bc92b"},
+]
+
+[package.dependencies]
+requests = ">=2.18.4"
+six = ">=1.11.0"
+typing-extensions = ">=4.0.1"
+
+[package.extras]
+aio = ["aiohttp (>=3.0)"]
+
+[[package]]
+name = "azure-identity"
+version = "1.12.0"
+description = "Microsoft Azure Identity Library for Python"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "azure-identity-1.12.0.zip", hash = "sha256:7f9b1ae7d97ea7af3f38dd09305e19ab81a1e16ab66ea186b6579d85c1ca2347"},
+ {file = "azure_identity-1.12.0-py3-none-any.whl", hash = "sha256:2a58ce4a209a013e37eaccfd5937570ab99e9118b3e1acf875eed3a85d541b92"},
+]
+
+[package.dependencies]
+azure-core = ">=1.11.0,<2.0.0"
+cryptography = ">=2.5"
+msal = ">=1.12.0,<2.0.0"
+msal-extensions = ">=0.3.0,<2.0.0"
+six = ">=1.12.0"
+
+[[package]]
+name = "azure-storage-blob"
+version = "12.14.1"
+description = "Microsoft Azure Blob Storage Client Library for Python"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "azure-storage-blob-12.14.1.zip", hash = "sha256:860d4d82985a4bfc7d3271e71275af330f54f330a754355435a7ba749ccde997"},
+ {file = "azure_storage_blob-12.14.1-py3-none-any.whl", hash = "sha256:52b84658e8df7853a3cf1c563814655b5028b979b2a87905b92aa6bb30be240e"},
+]
+
+[package.dependencies]
+azure-core = ">=1.24.2,<2.0.0"
+cryptography = ">=2.1.4"
+msrest = ">=0.7.1"
+
[[package]]
name = "babel"
version = "2.9.1"
@@ -567,6 +624,21 @@ files = [
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
]
+[[package]]
+name = "commonmark"
+version = "0.9.1"
+description = "Python parser for the CommonMark Markdown spec"
+category = "main"
+optional = false
+python-versions = "*"
+files = [
+ {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"},
+ {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"},
+]
+
+[package.extras]
+test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"]
+
[[package]]
name = "compressed-rtf"
version = "1.0.6"
@@ -1047,32 +1119,6 @@ files = [
{file = "enum34-1.1.10.tar.gz", hash = "sha256:cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248"},
]
-[[package]]
-name = "escpos"
-version = "1.9"
-description = "Python library to manipulate ESC/POS Printers"
-category = "main"
-optional = false
-python-versions = ">=3.5"
-files = [
- {file = "escpos-1.9.tar.gz", hash = "sha256:5acc126fa5ddd6ec395ccd9c7729545e91d85ebb2f5b17e9ab88e33d6925f501"},
-]
-
-[package.dependencies]
-appdirs = "*"
-argcomplete = "*"
-argparse = "*"
-future = "*"
-Pillow = ">=2.0"
-pyserial = "*"
-python-barcode = ">=0.9.1,<1"
-pyusb = ">=1.0.0"
-PyYAML = "*"
-qrcode = ">=4.0"
-setuptools = "*"
-six = "*"
-viivakoodi = ">=0.8"
-
[[package]]
name = "et-xmlfile"
version = "1.1.0"
@@ -1172,19 +1218,18 @@ json-logic = ["json_logic_qubit (>=0.9.1,<0.10.0)"]
[[package]]
name = "freezegun"
-version = "0.3.11"
+version = "1.2.2"
description = "Let your Python tests travel through time"
category = "main"
optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = ">=3.6"
files = [
- {file = "freezegun-0.3.11-py2.py3-none-any.whl", hash = "sha256:6cb82b276f83f2acce67f121dc2656f4df26c71e32238334eb071170b892a278"},
- {file = "freezegun-0.3.11.tar.gz", hash = "sha256:e839b43bfbe8158b4d62bb97e6313d39f3586daf48e1314fb1083d2ef17700da"},
+ {file = "freezegun-1.2.2-py3-none-any.whl", hash = "sha256:ea1b963b993cb9ea195adbd893a48d573fda951b0da64f60883d7e988b606c9f"},
+ {file = "freezegun-1.2.2.tar.gz", hash = "sha256:cd22d1ba06941384410cd967d8a99d5ae2442f57dfafeff2fda5de8dc5c05446"},
]
[package.dependencies]
-python-dateutil = ">=1.0,<2.0 || >2.0"
-six = "*"
+python-dateutil = ">=2.7"
[[package]]
name = "future"
@@ -1601,6 +1646,28 @@ files = [
[package.dependencies]
pycrypto = ">=2.6"
+[[package]]
+name = "josepy"
+version = "1.13.0"
+description = "JOSE protocol implementation in Python"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+files = [
+ {file = "josepy-1.13.0-py2.py3-none-any.whl", hash = "sha256:6f64eb35186aaa1776b7a1768651b1c616cab7f9685f9660bffc6491074a5390"},
+ {file = "josepy-1.13.0.tar.gz", hash = "sha256:8931daf38f8a4c85274a0e8b7cb25addfd8d1f28f9fb8fbed053dd51aec75dc9"},
+]
+
+[package.dependencies]
+cryptography = ">=1.5"
+PyOpenSSL = ">=0.13"
+setuptools = ">=1.0"
+
+[package.extras]
+dev = ["pytest", "tox"]
+docs = ["Sphinx (>=1.0)", "sphinx-rtd-theme (>=1.0)"]
+tests = ["coverage (>=4.0)", "flake8 (<4)", "isort", "mypy", "pytest (>=2.8.0)", "pytest-cov", "pytest-flake8 (>=0.5)", "types-pyOpenSSL", "types-pyRFC3339", "types-requests", "types-setuptools"]
+
[[package]]
name = "js2py"
version = "0.74"
@@ -2053,6 +2120,45 @@ files = [
jinja2 = "*"
matplotlib = "*"
+[[package]]
+name = "msal"
+version = "1.20.0"
+description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect."
+category = "main"
+optional = false
+python-versions = "*"
+files = [
+ {file = "msal-1.20.0-py2.py3-none-any.whl", hash = "sha256:d2f1c26368ecdc28c8657d457352faa0b81b1845a7b889d8676787721ba86792"},
+ {file = "msal-1.20.0.tar.gz", hash = "sha256:78344cd4c91d6134a593b5e3e45541e666e37b747ff8a6316c3668dd1e6ab6b2"},
+]
+
+[package.dependencies]
+cryptography = ">=0.6,<41"
+PyJWT = {version = ">=1.0.0,<3", extras = ["crypto"]}
+requests = ">=2.0.0,<3"
+
+[package.extras]
+broker = ["pymsalruntime (>=0.11.2,<0.14)"]
+
+[[package]]
+name = "msal-extensions"
+version = "1.0.0"
+description = "Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism."
+category = "main"
+optional = false
+python-versions = "*"
+files = [
+ {file = "msal-extensions-1.0.0.tar.gz", hash = "sha256:c676aba56b0cce3783de1b5c5ecfe828db998167875126ca4b47dc6436451354"},
+ {file = "msal_extensions-1.0.0-py2.py3-none-any.whl", hash = "sha256:91e3db9620b822d0ed2b4d1850056a0f133cba04455e62f11612e40f5502f2ee"},
+]
+
+[package.dependencies]
+msal = ">=0.4.1,<2.0.0"
+portalocker = [
+ {version = ">=1.0,<3", markers = "python_version >= \"3.5\" and platform_system != \"Windows\""},
+ {version = ">=1.6,<3", markers = "python_version >= \"3.5\" and platform_system == \"Windows\""},
+]
+
[[package]]
name = "msgpack"
version = "1.0.4"
@@ -2115,6 +2221,28 @@ files = [
{file = "msgpack-1.0.4.tar.gz", hash = "sha256:f5d869c18f030202eb412f08b28d2afeea553d6613aee89e200d7aca7ef01f5f"},
]
+[[package]]
+name = "msrest"
+version = "0.7.1"
+description = "AutoRest swagger generator Python client runtime."
+category = "main"
+optional = false
+python-versions = ">=3.6"
+files = [
+ {file = "msrest-0.7.1-py3-none-any.whl", hash = "sha256:21120a810e1233e5e6cc7fe40b474eeb4ec6f757a15d7cf86702c369f9567c32"},
+ {file = "msrest-0.7.1.zip", hash = "sha256:6e7661f46f3afd88b75667b7187a92829924446c7ea1d169be8c4bb7eeb788b9"},
+]
+
+[package.dependencies]
+azure-core = ">=1.24.0"
+certifi = ">=2017.4.17"
+isodate = ">=0.6.0"
+requests = ">=2.16,<3.0"
+requests-oauthlib = ">=0.5.0"
+
+[package.extras]
+async = ["aiodns", "aiohttp (>=3.0)"]
+
[[package]]
name = "multidict"
version = "6.0.3"
@@ -2898,6 +3026,25 @@ files = [
retrying = ">=1.3.3"
six = "*"
+[[package]]
+name = "portalocker"
+version = "1.7.1"
+description = "Wraps the portalocker recipe for easy usage"
+category = "main"
+optional = false
+python-versions = "*"
+files = [
+ {file = "portalocker-1.7.1-py2.py3-none-any.whl", hash = "sha256:34cb36c618d88bcd9079beb36dcdc1848a3e3d92ac4eac59055bdeafc39f9d4a"},
+ {file = "portalocker-1.7.1.tar.gz", hash = "sha256:6d6f5de5a3e68c4dd65a98ec1babb26d28ccc5e770e07b672d65d5a35e4b2d8a"},
+]
+
+[package.dependencies]
+pywin32 = {version = "!=226", markers = "platform_system == \"Windows\""}
+
+[package.extras]
+docs = ["sphinx (>=1.7.1)"]
+tests = ["pytest (>=4.6.9)", "pytest-cov (>=2.8.1)", "pytest-flake8 (>=1.0.5)", "sphinx (>=1.8.5)"]
+
[[package]]
name = "premailer"
version = "3.10.0"
@@ -2921,6 +3068,21 @@ requests = "*"
dev = ["black", "flake8", "therapist", "tox", "twine", "wheel"]
test = ["mock", "nose"]
+[[package]]
+name = "prometheus-client"
+version = "0.11.0"
+description = "Python client for the Prometheus monitoring system."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+files = [
+ {file = "prometheus_client-0.11.0-py2.py3-none-any.whl", hash = "sha256:b014bc76815eb1399da8ce5fc84b7717a3e63652b0c0f8804092c9363acab1b2"},
+ {file = "prometheus_client-0.11.0.tar.gz", hash = "sha256:3a8baade6cb80bcfe43297e33e7623f3118d660d41387593758e2fb1ea173a86"},
+]
+
+[package.extras]
+twisted = ["twisted"]
+
[[package]]
name = "psutil"
version = "5.9.0"
@@ -3215,17 +3377,20 @@ Pygments = ">=2.1.0"
[[package]]
name = "pygount"
-version = "1.1.0"
+version = "1.5.0"
description = "count source lines of code (SLOC) using pygments"
category = "main"
optional = false
-python-versions = "*"
+python-versions = ">=3.7,<4"
files = [
- {file = "pygount-1.1.0-py3-none-any.whl", hash = "sha256:253aff3b9c247e42208bf7f5fd46bebe4bbc221446095cd06df72addaf36bbc3"},
+ {file = "pygount-1.5.0-py3-none-any.whl", hash = "sha256:3f8e638310546245fe1f87891bcebbf89a57dd18c3495b74eb97abfd711cdf6a"},
+ {file = "pygount-1.5.0.tar.gz", hash = "sha256:b03b2015465609a3d55b1b5dcd2482d318ee9fff8ffba64ffd352a4bca839727"},
]
[package.dependencies]
-pygments = ">=2.0"
+chardet = ">=5,<6"
+pygments = ">=2,<3"
+rich = ">=9,<13"
[[package]]
name = "pyjon.utils"
@@ -3268,6 +3433,10 @@ files = [
{file = "PyJWT-2.5.0.tar.gz", hash = "sha256:e77ab89480905d86998442ac5788f35333fa85f65047a534adc38edf3c88fc3b"},
]
+[package.dependencies]
+cryptography = {version = ">=3.3.1", optional = true, markers = "extra == \"crypto\""}
+types-cryptography = {version = ">=3.3.21", optional = true, markers = "extra == \"crypto\""}
+
[package.extras]
crypto = ["cryptography (>=3.3.1)", "types-cryptography (>=3.3.21)"]
dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.3.1)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "types-cryptography (>=3.3.21)", "zope.interface"]
@@ -3468,6 +3637,25 @@ cffi = ">=1.4.1"
docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"]
tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"]
+[[package]]
+name = "pyopenssl"
+version = "22.0.0"
+description = "Python wrapper module around the OpenSSL library"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+files = [
+ {file = "pyOpenSSL-22.0.0-py2.py3-none-any.whl", hash = "sha256:ea252b38c87425b64116f808355e8da644ef9b07e429398bfece610f893ee2e0"},
+ {file = "pyOpenSSL-22.0.0.tar.gz", hash = "sha256:660b1b1425aac4a1bea1d94168a85d99f0b3144c869dd4390d27629d0087f1bf"},
+]
+
+[package.dependencies]
+cryptography = ">=35.0"
+
+[package.extras]
+docs = ["sphinx", "sphinx-rtd-theme"]
+test = ["flaky", "pretend", "pytest (>=3.0.1)"]
+
[[package]]
name = "pyotp"
version = "2.8.0"
@@ -3549,6 +3737,21 @@ files = [
[package.dependencies]
certifi = "*"
+[[package]]
+name = "pyrfc3339"
+version = "1.1"
+description = "Generate and parse RFC 3339 timestamps"
+category = "main"
+optional = false
+python-versions = "*"
+files = [
+ {file = "pyRFC3339-1.1-py2.py3-none-any.whl", hash = "sha256:67196cb83b470709c580bb4738b83165e67c6cc60e1f2e4f286cfcb402a926f4"},
+ {file = "pyRFC3339-1.1.tar.gz", hash = "sha256:81b8cbe1519cdb79bed04910dd6fa4e181faf8c88dff1e1b987b5f7ab23a5b1a"},
+]
+
+[package.dependencies]
+pytz = "*"
+
[[package]]
name = "pyrsistent"
version = "0.19.2"
@@ -3623,21 +3826,6 @@ files = [
[package.dependencies]
paramiko = ">=1.17"
-[[package]]
-name = "python-barcode"
-version = "0.14.0"
-description = "Create standard barcodes with Python. No external modules needed. (optional Pillow support included)."
-category = "main"
-optional = false
-python-versions = "*"
-files = [
- {file = "python-barcode-0.14.0.tar.gz", hash = "sha256:241b34aa5c5cb6a9889882f9409b0182903a2c5d19b4218be3609cdbbd5ffdf9"},
- {file = "python_barcode-0.14.0-py3-none-any.whl", hash = "sha256:eefbb2583ba7bdb09baba6f8663129883109c61df7e23c9b9b473087521c926f"},
-]
-
-[package.extras]
-images = ["pillow"]
-
[[package]]
name = "python-chess"
version = "0.23.11"
@@ -3870,6 +4058,30 @@ files = [
{file = "PyUSB-1.0.0.tar.gz", hash = "sha256:5b34ffa74ac34f330bff949c94ee00ec4a9d147234db17ee2eed2a67c0275368"},
]
+[[package]]
+name = "pywin32"
+version = "305"
+description = "Python for Window Extensions"
+category = "main"
+optional = false
+python-versions = "*"
+files = [
+ {file = "pywin32-305-cp310-cp310-win32.whl", hash = "sha256:421f6cd86e84bbb696d54563c48014b12a23ef95a14e0bdba526be756d89f116"},
+ {file = "pywin32-305-cp310-cp310-win_amd64.whl", hash = "sha256:73e819c6bed89f44ff1d690498c0a811948f73777e5f97c494c152b850fad478"},
+ {file = "pywin32-305-cp310-cp310-win_arm64.whl", hash = "sha256:742eb905ce2187133a29365b428e6c3b9001d79accdc30aa8969afba1d8470f4"},
+ {file = "pywin32-305-cp311-cp311-win32.whl", hash = "sha256:19ca459cd2e66c0e2cc9a09d589f71d827f26d47fe4a9d09175f6aa0256b51c2"},
+ {file = "pywin32-305-cp311-cp311-win_amd64.whl", hash = "sha256:326f42ab4cfff56e77e3e595aeaf6c216712bbdd91e464d167c6434b28d65990"},
+ {file = "pywin32-305-cp311-cp311-win_arm64.whl", hash = "sha256:4ecd404b2c6eceaca52f8b2e3e91b2187850a1ad3f8b746d0796a98b4cea04db"},
+ {file = "pywin32-305-cp36-cp36m-win32.whl", hash = "sha256:48d8b1659284f3c17b68587af047d110d8c44837736b8932c034091683e05863"},
+ {file = "pywin32-305-cp36-cp36m-win_amd64.whl", hash = "sha256:13362cc5aa93c2beaf489c9c9017c793722aeb56d3e5166dadd5ef82da021fe1"},
+ {file = "pywin32-305-cp37-cp37m-win32.whl", hash = "sha256:a55db448124d1c1484df22fa8bbcbc45c64da5e6eae74ab095b9ea62e6d00496"},
+ {file = "pywin32-305-cp37-cp37m-win_amd64.whl", hash = "sha256:109f98980bfb27e78f4df8a51a8198e10b0f347257d1e265bb1a32993d0c973d"},
+ {file = "pywin32-305-cp38-cp38-win32.whl", hash = "sha256:9dd98384da775afa009bc04863426cb30596fd78c6f8e4e2e5bbf4edf8029504"},
+ {file = "pywin32-305-cp38-cp38-win_amd64.whl", hash = "sha256:56d7a9c6e1a6835f521788f53b5af7912090674bb84ef5611663ee1595860fc7"},
+ {file = "pywin32-305-cp39-cp39-win32.whl", hash = "sha256:9d968c677ac4d5cbdaa62fd3014ab241718e619d8e36ef8e11fb930515a1e918"},
+ {file = "pywin32-305-cp39-cp39-win_amd64.whl", hash = "sha256:50768c6b7c3f0b38b7fb14dd4104da93ebced5f1a50dc0e834594bff6fbe1271"},
+]
+
[[package]]
name = "pyyaml"
version = "6.0"
@@ -3951,22 +4163,6 @@ files = [
[package.dependencies]
six = "*"
-[[package]]
-name = "raven"
-version = "6.10.0"
-description = "Raven is a client for Sentry (https://getsentry.com)"
-category = "main"
-optional = false
-python-versions = "*"
-files = [
- {file = "raven-6.10.0-py2.py3-none-any.whl", hash = "sha256:44a13f87670836e153951af9a3c80405d36b43097db869a36e92809673692ce4"},
- {file = "raven-6.10.0.tar.gz", hash = "sha256:3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54"},
-]
-
-[package.extras]
-flask = ["Flask (>=0.8)", "blinker (>=1.1)"]
-tests = ["Flask (>=0.8)", "Flask-Login (>=0.2.0)", "ZConfig", "aiohttp", "anyjson", "blinker (>=1.1)", "blinker (>=1.1)", "bottle", "celery (>=2.5)", "coverage (<4)", "exam (>=0.5.2)", "flake8 (==3.5.0)", "logbook", "mock", "nose", "pytest (>=3.2.0,<3.3.0)", "pytest-cov (==2.5.1)", "pytest-flake8 (==1.0.0)", "pytest-pythonpath (==0.7.2)", "pytest-timeout (==1.2.1)", "pytest-xdist (==1.18.2)", "pytz", "requests", "sanic (>=0.7.0)", "tornado (>=4.1,<5.0)", "tox", "webob", "webtest", "wheel"]
-
[[package]]
name = "redis"
version = "3.5.3"
@@ -4284,6 +4480,26 @@ files = [
[package.extras]
idna2008 = ["idna"]
+[[package]]
+name = "rich"
+version = "12.6.0"
+description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
+category = "main"
+optional = false
+python-versions = ">=3.6.3,<4.0.0"
+files = [
+ {file = "rich-12.6.0-py3-none-any.whl", hash = "sha256:a4eb26484f2c82589bd9a17c73d32a010b1e29d89f1604cd9bf3a2097b81bb5e"},
+ {file = "rich-12.6.0.tar.gz", hash = "sha256:ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0"},
+]
+
+[package.dependencies]
+commonmark = ">=0.9.0,<0.10.0"
+pygments = ">=2.6.0,<3.0.0"
+typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""}
+
+[package.extras]
+jupyter = ["ipywidgets (>=7.5.1,<8.0.0)"]
+
[[package]]
name = "rsa"
version = "4.9"
@@ -4345,6 +4561,44 @@ nativelib = ["pyobjc-framework-Cocoa", "pywin32"]
objc = ["pyobjc-framework-Cocoa"]
win32 = ["pywin32"]
+[[package]]
+name = "sentry-sdk"
+version = "1.12.1"
+description = "Python client for Sentry (https://sentry.io)"
+category = "main"
+optional = false
+python-versions = "*"
+files = [
+ {file = "sentry-sdk-1.12.1.tar.gz", hash = "sha256:5bbe4b72de22f9ac1e67f2a4e6efe8fbd595bb59b7b223443f50fe5802a5551c"},
+ {file = "sentry_sdk-1.12.1-py2.py3-none-any.whl", hash = "sha256:9f0b960694e2d8bb04db4ba6ac2a645040caef4e762c65937998ff06064f10d6"},
+]
+
+[package.dependencies]
+certifi = "*"
+urllib3 = {version = ">=1.26.11", markers = "python_version >= \"3.6\""}
+
+[package.extras]
+aiohttp = ["aiohttp (>=3.5)"]
+beam = ["apache-beam (>=2.12)"]
+bottle = ["bottle (>=0.12.13)"]
+celery = ["celery (>=3)"]
+chalice = ["chalice (>=1.16.0)"]
+django = ["django (>=1.8)"]
+falcon = ["falcon (>=1.4)"]
+fastapi = ["fastapi (>=0.79.0)"]
+flask = ["blinker (>=1.1)", "flask (>=0.11)"]
+httpx = ["httpx (>=0.16.0)"]
+opentelemetry = ["opentelemetry-distro (>=0.350b0)"]
+pure-eval = ["asttokens", "executing", "pure-eval"]
+pymongo = ["pymongo (>=3.1)"]
+pyspark = ["pyspark (>=2.4.4)"]
+quart = ["blinker (>=1.1)", "quart (>=0.16.1)"]
+rq = ["rq (>=0.6)"]
+sanic = ["sanic (>=0.8)"]
+sqlalchemy = ["sqlalchemy (>=1.2)"]
+starlette = ["starlette (>=0.19.1)"]
+tornado = ["tornado (>=5)"]
+
[[package]]
name = "serial"
version = "0.0.97"
@@ -4364,19 +4618,20 @@ pyyaml = ">=3.13"
[[package]]
name = "setuptools"
-version = "57.2.0"
+version = "65.5.1"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
category = "main"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
files = [
- {file = "setuptools-57.2.0-py3-none-any.whl", hash = "sha256:b4bb42f3123fbb01e4f5f5ea9ed6d6b5f7021d18b3bc64236477a82aedf2190e"},
- {file = "setuptools-57.2.0.tar.gz", hash = "sha256:a7e88b9bbaece494162d697d19525c567ab60c85dd7e2fd90cb7dfe8d8129a62"},
+ {file = "setuptools-65.5.1-py3-none-any.whl", hash = "sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31"},
+ {file = "setuptools-65.5.1.tar.gz", hash = "sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f"},
]
[package.extras]
-docs = ["jaraco.packaging (>=8.2)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx", "sphinx-inline-tabs", "sphinxcontrib-towncrier"]
-testing = ["flake8-2020", "jaraco.envs", "jaraco.path (>=3.2.0)", "mock", "paver", "pip (>=19.1)", "pytest (>=4.6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-flake8", "pytest-mypy", "pytest-virtualenv (>=1.2.7)", "pytest-xdist", "sphinx", "virtualenv (>=13.0.0)", "wheel"]
+docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
+testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
+testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
[[package]]
name = "sgmllib3k"
@@ -4391,58 +4646,52 @@ files = [
[[package]]
name = "shapely"
-version = "2.0.0"
-description = "Manipulation and analysis of geometric objects"
+version = "1.8.5"
+description = "Geometric objects, predicates, and operations"
category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.6"
files = [
- {file = "shapely-2.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7266080d39946395ba4b31fa35b9b7695e0a4e38ccabf0c67e2936caf9f9b054"},
- {file = "shapely-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8a7ba97c97d85c1f07c57f9524c45128ef2bf8279061945d78052c78862b357f"},
- {file = "shapely-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4ed31658fd0799eaa3569982aab1a5bc8fcf25ec196606bf137ee4fa984be88"},
- {file = "shapely-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2c41514ba985ea3772eee9b386d620784cccb7a459a270a072f3ef01fdd807"},
- {file = "shapely-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eab24b60ae96b7375adceb1f120be818c59bd69db0f3540dc89527d8a371d253"},
- {file = "shapely-2.0.0-cp310-cp310-win32.whl", hash = "sha256:d28e19791c9be2ba1cb2fddefa86f73364bdf8334e88dbcd78a8e4494c0af66b"},
- {file = "shapely-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b3d97f3ce6df47ca68c2d64b8c3cfa5c8ccc0fbc81ef8e15ff6004a6426e71b1"},
- {file = "shapely-2.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:56c0e70749f8c2956493e9333375d2e2264ce25c838fc49c3a2ececbf2d3ba92"},
- {file = "shapely-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:292c22ff7806e3a25bc4324295e9204169c61a09165d4c9ee0a9784c1709c85e"},
- {file = "shapely-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:40c397d67ba609a163d38b649eee2b06c5f9bdc86d244a8e4cd09c6e2791cf3c"},
- {file = "shapely-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c71738702cf5c3fc60b3bbe869c321b053ea754f57addded540a71c78c2612e"},
- {file = "shapely-2.0.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:73d605fcefd06ee997ba307ef363448d355f3c3e81b3f56ed332eaf6d506e1b5"},
- {file = "shapely-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13a9f978cd287e0fa95f39904a2bb36deddab490e4fab8bf43eba01b7d9eb58f"},
- {file = "shapely-2.0.0-cp311-cp311-win32.whl", hash = "sha256:ef98fec4a3aca6d33e3b9fdd680fe513cc7d1c6aedc65ada8a3965601d9d4bcf"},
- {file = "shapely-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:a9b6651812f2caa23e4d06bc06a2ed34450f82cb1c110c170a25b01bbb090895"},
- {file = "shapely-2.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e991ad155783cd0830b895ec8f310fde9e79a7b283776b889a751fb1e7c819fc"},
- {file = "shapely-2.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:550f110940d79931b6a12a17de07f6b158c9586c4b121f885af11458ae5626d7"},
- {file = "shapely-2.0.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c47a61b1cd0c5b064c6d912bce7dba78c01f319f65ecccd6e61eecd21861a37a"},
- {file = "shapely-2.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d486cab823f0a978964ae97ca10564ea2b2ced93e84a2ef0b7b62cbacec9d3d2"},
- {file = "shapely-2.0.0-cp37-cp37m-win32.whl", hash = "sha256:de3722c68e49fbde8cb6859695bbb8fb9a4d48bbdf34fcf38b7994d2bd9772e2"},
- {file = "shapely-2.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:99420c89af78f371b96f0e2bad9afdebc6d0707d4275d157101483e4c4049fd6"},
- {file = "shapely-2.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f96b24da0242791cd6042f6caf074e7a4537a66ca2d1b57d423feb98ba901295"},
- {file = "shapely-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8b9f780c3b79b4a6501e0e8833b1877841b7b0e0a243e77b529fda8f1030afc2"},
- {file = "shapely-2.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:21ba32a6c45b7f8ab7d2d8d5cf339704e2d1dfdf3e2fb465b950a0c9bc894a4f"},
- {file = "shapely-2.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44198fc188fe4b7dd39ef0fd325395d1d6ab0c29a7bbaa15663a16c362bf6f62"},
- {file = "shapely-2.0.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:17d0f89581aa15f7887052a6adf2753f9fe1c3fdbb6116653972e0d43e720e65"},
- {file = "shapely-2.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f69c418f2040c8593e33b1aba8f2acf890804b073b817535b5d291139d152af5"},
- {file = "shapely-2.0.0-cp38-cp38-win32.whl", hash = "sha256:b1def13ec2a74ebda2210d2fc1c53cecce5a079ec90f341101399427874507f1"},
- {file = "shapely-2.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:820bee508e4a0e564db22f8b55bb5e6e7f326d8d7c103639c42f5d3f378f4067"},
- {file = "shapely-2.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaea9ddee706654026a84aceb9a3156105917bab3de58fcf150343f847478202"},
- {file = "shapely-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a391cae931976fb6d8d15a4f4a92006358e93486454a812dde1d64184041a476"},
- {file = "shapely-2.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5fe8649aafe6adcb4d90f7f735f06ca8ca02a16da273d901f1dd02afc0d3618e"},
- {file = "shapely-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2287d0cb592c1814e9f48065888af7ee3f13e090e6f7fa3e208b06a83fb2f6af"},
- {file = "shapely-2.0.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4b99a3456e06dc55482569669ece969cdab311f2ad2a1d5622fc770f68cf3cd"},
- {file = "shapely-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91bbca0378eb82f0808f0e59150ac0952086f4caaab87ad8515a5e55e896c21e"},
- {file = "shapely-2.0.0-cp39-cp39-win32.whl", hash = "sha256:73771b3f65c2949cce0b310b9b62b8ce069407ceb497a9dd4436f9a4d059f12c"},
- {file = "shapely-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:5477be8c11bf3109f7b804bb2d57536538b8d0a6118207f1020d71338f1a827c"},
- {file = "shapely-2.0.0.tar.gz", hash = "sha256:11f1b1231a6c04213fb1226c6968d1b1b3b369ec42d1e9655066af87631860ea"},
+ {file = "Shapely-1.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:dbc8b2ed8e7655c0b33abbb5c8c74013699fe29d2ca15f354b6e1abd29f0ed7a"},
+ {file = "Shapely-1.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1c6198da94fc993049fc2d31bd183f4f4de4f33f70be8437a9807ae8788c069c"},
+ {file = "Shapely-1.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a9a660dae5780fac8bdccaa2c68ca9ddcddb5d55330be47869fa9a8f55cb9580"},
+ {file = "Shapely-1.8.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6baf62a648c8745de3fb69e96a5ef93b1854159dd9c85527978e68fc2b062f76"},
+ {file = "Shapely-1.8.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:81c1286a1e46d1224bec8c1dba8f174b286710df796b4256198e64d1e987dfc9"},
+ {file = "Shapely-1.8.5-cp310-cp310-win32.whl", hash = "sha256:999952cf8ed7a033debf7d2715d7029e7f1a1144eb1bdefabe0d64aa4c9910cd"},
+ {file = "Shapely-1.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:7a840e7d96a01e6da6725a002dab662a1dbd1f5d53a6433f7fdbaf2a1322576b"},
+ {file = "Shapely-1.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:27238d6890f409b0744c4d740413698bbb94d8cf5249406c4668ca28ade8df3b"},
+ {file = "Shapely-1.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1512eb7222f4a00ec4d9c81762bd15ed622fa5e06dd9fe64721db6a5fc3345fe"},
+ {file = "Shapely-1.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a0a5621d68ac371162768f1a05a91bcf64ac5f00a517458db5b8d8896c8e4743"},
+ {file = "Shapely-1.8.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a1545c3e539516e87f5c4a96d5a76c623e385e5defe7555b7b26232043c9c5c"},
+ {file = "Shapely-1.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba4d98a117ead8b49c2cc8723eb071f04da03d6eb59f340eb51364581bb6c9e0"},
+ {file = "Shapely-1.8.5-cp311-cp311-win32.whl", hash = "sha256:b0b60993adb141b5a1ff7f94fc512f9be69320be6e8757d32c460f25359d51f5"},
+ {file = "Shapely-1.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:0d014b1d072f2f5b166c9cf57a58507089570b1839a83e14a308df56d467b809"},
+ {file = "Shapely-1.8.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:bd55b14fa82d54bf9d7eba4d11c6d9d61f96ab0ffe530c6eb7cd3bb9a6590153"},
+ {file = "Shapely-1.8.5-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:bd598f7373e1b5f317a3117d388a68b3c165fa15d5aa7de042848a1acbe4c18d"},
+ {file = "Shapely-1.8.5-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1500f7d9fbe47c02298694e282dbd9cd30f6dbd33f0bd2efd0712bf907d9a2b7"},
+ {file = "Shapely-1.8.5-cp37-cp37m-win32.whl", hash = "sha256:b1216ec40baf505dba006bfa0a7ced6b2334261925841fa23fafcdb26d9b1f54"},
+ {file = "Shapely-1.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:c1f2f125b785d468c08ee698472716355b54d8cbd69f7f09081893b4e4111e3f"},
+ {file = "Shapely-1.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca890915cbebc879c96cfc1b7ff51a09a2326c9f94b6b3e13d6d3cdfc659ed9"},
+ {file = "Shapely-1.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:17f1a4f0ba88e8f53975845af312a276e557e7bac8f0572e8b5805705739c892"},
+ {file = "Shapely-1.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1aa924b11d53fe817c4e5b14ac0c8e980913b9b5f15e01c23a35e3ee53cccf41"},
+ {file = "Shapely-1.8.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:045a9a5ba872431c7559020c6761983e4a0c13c9a0eb7fa93e427b4451f2d8cc"},
+ {file = "Shapely-1.8.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a43b3ba408f00c6588e174f6fb4dba5739fdee87af2e186ed7e8caece6b91568"},
+ {file = "Shapely-1.8.5-cp38-cp38-win32.whl", hash = "sha256:72ee40adae74ab93b6cf13d71f7183de8f91b077296a8788e791097703aa279d"},
+ {file = "Shapely-1.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:221c9bd94d286b6941b3f86cbebead24c3f54cbac2cb02fb6746fd768be73b80"},
+ {file = "Shapely-1.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2c86c9006b266c64bc1b9c0c0ebc20eff8fcce1bc06d4db13bbfbac9e5e2d910"},
+ {file = "Shapely-1.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bffeab5498ac32e014845f675d6c4d7a85cba42cbc76ee794da828faf3c12ba6"},
+ {file = "Shapely-1.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52f5b61ee2998a75e5bcadb609036bfd626ec472fc456241150bc95a9088c89c"},
+ {file = "Shapely-1.8.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:57df87c68e58050546fda07963d2f87a7e16db57029eb67239d27732f65f40d1"},
+ {file = "Shapely-1.8.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a8ad6ebec3b39af4890a59a027ad60e7fece5bfd71ecc998da7b03e5f414d32a"},
+ {file = "Shapely-1.8.5-cp39-cp39-win32.whl", hash = "sha256:0e6172d2e9e77aed7b6515bc68eefe623e5be7b865ced4b9892b5205166e2931"},
+ {file = "Shapely-1.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:4c9a777bf999eca65ecf9f90821f6c699f72633f1f2fe4ca3fa829e6114fdb45"},
+ {file = "Shapely-1.8.5.tar.gz", hash = "sha256:e82b6d60ecfb124120c88fe106a478596bbeab142116d7e7f64a364dac902a92"},
]
-[package.dependencies]
-numpy = ">=1.14"
-
[package.extras]
-docs = ["matplotlib", "numpydoc (>=1.1.0,<1.2.0)", "sphinx", "sphinx-book-theme", "sphinx-remove-toctrees"]
+all = ["numpy", "pytest", "pytest-cov"]
test = ["pytest", "pytest-cov"]
+vectorized = ["numpy"]
[[package]]
name = "simplejson"
@@ -4938,22 +5187,6 @@ files = [
{file = "tornado-6.1.tar.gz", hash = "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791"},
]
-[[package]]
-name = "twython"
-version = "3.9.1"
-description = "Actively maintained, pure Python wrapper for the Twitter API. Supports both normal and streaming Twitter APIs"
-category = "main"
-optional = false
-python-versions = ">=3.5"
-files = [
- {file = "twython-3.9.1-py3-none-any.whl", hash = "sha256:aef7ad4faabee91efcbe82a8618b38a948498fc6b3eca4cd76f642f957353818"},
- {file = "twython-3.9.1.tar.gz", hash = "sha256:5a3f0ac24d10705257028fb4205bfedf432ff28d358b796e0c2f01a2f9990c84"},
-]
-
-[package.dependencies]
-requests = ">=2.1.0"
-requests-oauthlib = ">=0.4.0"
-
[[package]]
name = "typed-ast"
version = "1.5.4"
@@ -4988,6 +5221,18 @@ files = [
{file = "typed_ast-1.5.4.tar.gz", hash = "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"},
]
+[[package]]
+name = "types-cryptography"
+version = "3.3.23.2"
+description = "Typing stubs for cryptography"
+category = "main"
+optional = false
+python-versions = "*"
+files = [
+ {file = "types-cryptography-3.3.23.2.tar.gz", hash = "sha256:09cc53f273dd4d8c29fa7ad11fefd9b734126d467960162397bc5e3e604dea75"},
+ {file = "types_cryptography-3.3.23.2-py3-none-any.whl", hash = "sha256:b965d548f148f8e87f353ccf2b7bd92719fdf6c845ff7cedf2abb393a0643e4f"},
+]
+
[[package]]
name = "types-toml"
version = "0.10.8.1"
@@ -5136,17 +5381,6 @@ files = [
[package.dependencies]
vcrpy = "*"
-[[package]]
-name = "viivakoodi"
-version = "0.8.0"
-description = "Create standard barcodes with Python. No external modules needed (optional PIL support included)."
-category = "main"
-optional = false
-python-versions = "*"
-files = [
- {file = "viivakoodi-0.8.0.tar.gz", hash = "sha256:670a35774559b25abdb089d58fb8e67e4ee9618f385b8418e5027ab860290e39"},
-]
-
[[package]]
name = "vobject"
version = "0.9.3"
@@ -5259,6 +5493,7 @@ files = [
]
[package.dependencies]
+cryptography = {version = ">=3.1", optional = true, markers = "extra == \"cryptography\""}
optionaldict = ">=0.1.0"
python-dateutil = ">=2.5.2"
requests = ">=2.4.3"
@@ -5616,4 +5851,4 @@ files = [
[metadata]
lock-version = "2.0"
python-versions = "^3.7.16"
-content-hash = "fc025aacb123e6fee32b974d3c2c6f7145e5480715bebad6dae4e6b052573db7"
+content-hash = "4ff9c7a9b211ef6fe52312ef5649cfdaf06e72eecd01033de45c9cde809ecd3d"
diff --git a/pyproject.toml b/pyproject.toml
index 3e819ff..d7288e2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -19,12 +19,15 @@ authors = [ "Mathieu Benoit ",]
[tool.poetry.dependencies]
python = "^3.7.16"
+acme = "^2.1.0"
agithub = "^2.2.2"
aioshutil = "<1.2"
altair = "^4.2.0"
argcomplete = "^2.0.0"
asterisk = "^0.0.8"
astor = "^0.8.1"
+azure-identity = "^1.12.0"
+azure-storage-blob = "^12.14.1"
babel = "2.9.1"
beautifulsoup4 = "^4.11.1"
bokeh = "1.1.0"
@@ -43,17 +46,17 @@ css-html-prettify = "^2.5.5"
cython = "^0.29.32"
ddt = "1.2.0"
decorator = "4.0.10"
+dnspython = "^2.2.1"
docutils = ">=0.14,<1.0"
ebaysdk = "2.1.5"
email-validator = "^1.3.0"
emoji = "^2.2.0"
-escpos = "^1.9"
extract-msg = "<0.30"
factur-x = "^2.3"
feedparser = "6.0.10"
flake8 = "<6.0.0"
formio-data = "^0.4.7"
-freezegun = "0.3.11"
+freezegun = "1.2.2"
geojson = "^2.5.0"
gevent = "1.5.0"
gitpython = "3.1.29"
@@ -66,6 +69,7 @@ isort = "^5.11.4"
jinja2 = "2.11.3"
jira = "2.0.0"
jose = "^1.0.0"
+josepy = "^1.13.0"
js2py = "^0.74"
keystoneauth1 = "3.14.0"
lasso = "^0.0.5"
@@ -95,7 +99,9 @@ pexpect = "^4.8.0"
phonenumbers = "^8.13.3"
pillow = "9.3.0"
plotly = "4.1.0"
+portalocker = "1.7.1"
premailer = "^3.10.0"
+prometheus-client = "0.11.0"
psutil = "5.9.0"
psycopg2 = "2.9.5"
py-asterisk = "^0.5.18"
@@ -106,7 +112,7 @@ pycrypto = "2.6.1"
pydot = "1.2.3"
pygments = ">=2.6.1,<2.7.0"
pygments-csv-lexer = ">=0.1,<1.0"
-pygount = "<1.2.0"
+pygount = ">1.2.1"
pyjsparser = "^2.7.1"
pyjwt = "2.5.0"
pyldap = "2.4.28"
@@ -135,7 +141,6 @@ pyusb = "1.0.0"
pyyaml = "6.0"
pyzbar = "^0.1.9"
qrcode = "5.3"
-raven = "^6.10.0"
redis = "3.5.3"
reportlab = "3.6.5"
requests = "2.28.1"
@@ -144,8 +149,10 @@ requests-oauthlib = "1.1.0"
requests-toolbelt = "0.9.1"
responses = "^0.22.0"
retrying = "^1.3.4"
+sentry-sdk = "^1.12.1"
serial = "^0.0.97"
-shapely = "^2.0.0"
+setuptools = "65.5.1"
+shapely = "1.8.5"
simplejson = "3.16.0"
slugify = "^0.0.1"
soappy = "^0.12.22"
@@ -157,7 +164,6 @@ sqlparse = "^0.4.3"
statsd = "3.2.1"
toml = "^0.10.2"
tornado = "6.1"
-twython = "^3.9.1"
unidecode = "1.0.22"
unidiff = "^0.7.4"
urllib3 = ">=1.26.13"
@@ -167,7 +173,6 @@ vobject = "0.9.3"
voicent-python = "^1.0"
webcolors = "^1.12"
websocket-client = "^1.4.2"
-wechatpy = "^1.8.18"
werkzeug = "0.11.15"
wget = "^3.2"
wheel = "^0.38.4"
@@ -190,3 +195,7 @@ rev = "22.3.0"
[tool.poetry.dependencies.pylint-odoo]
git = "https://github.com/oca/pylint-odoo.git"
+
+[tool.poetry.dependencies.wechatpy]
+extras = [ "cryptography",]
+version = "^1.8.18"
diff --git a/requirements.txt b/requirements.txt
index 123fb5d..81e7d8a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -58,6 +58,10 @@ cloudflare
click
emoji
+# Fix bug geoengine
+# https://github.com/OCA/geospatial/issues/318
+shapely==1.8.5
+
# Code generator
# TODO OCA_server-backend force 2.0.1 because don't want 2.0.2
mysqlclient==2.1.1
@@ -101,3 +105,5 @@ boto3>=1.20.41
PyPDF2==1.27.8
mako==1.2.2
pyjwt==2.5.0
+pygments==2.7.4
+setuptools==65.5.1
diff --git a/script/install_locally.sh b/script/install_locally.sh
index 71087fa..773771d 100755
--- a/script/install_locally.sh
+++ b/script/install_locally.sh
@@ -124,10 +124,8 @@ if [[ ! -f "${POETRY_PATH}" ]]; then
echo "Poetry installation error."
exit 1
fi
- # Fix broken poetry by installing ignored dependence
- ${VENV_PATH}/bin/pip install vatnumber
- ${VENV_PATH}/bin/pip install suds-jurko
fi
+# Fix broken poetry by installing ignored dependence
${VENV_PATH}/bin/pip install vatnumber
${VENV_PATH}/bin/pip install suds-jurko
diff --git a/script/test/run_parallel_test.py b/script/test/run_parallel_test.py
index b2ed726..1be5dea 100755
--- a/script/test/run_parallel_test.py
+++ b/script/test/run_parallel_test.py
@@ -798,11 +798,11 @@ async def run_code_generator_data_test(config) -> Tuple[str, int]:
test_status = 0
lst_generated_module = [
"demo_helpdesk_data",
- "demo_website_data",
+ # "demo_website_data",
]
lst_tested_module = [
"code_generator_demo_export_helpdesk",
- "code_generator_demo_export_website",
+ # "code_generator_demo_export_website",
]
# Multiple
res, status = await test_exec(
@@ -819,6 +819,31 @@ async def run_code_generator_data_test(config) -> Tuple[str, int]:
return test_result, test_status
+async def run_code_generator_data_test_part_2(config) -> Tuple[str, int]:
+ # TODO merge this test into run_code_generator_data_test
+ test_result = ""
+ test_status = 0
+ lst_generated_module = [
+ "demo_website_data",
+ ]
+ lst_tested_module = [
+ "code_generator_demo_export_website",
+ ]
+ # Multiple
+ res, status = await test_exec(
+ config,
+ "./addons/TechnoLibre_odoo-code-generator-template",
+ generated_module=",".join(lst_generated_module),
+ tested_module=",".join(lst_tested_module),
+ test_name="code_generator_data_part_2_test",
+ run_in_sandbox=True,
+ )
+ test_result += res
+ test_status += status
+
+ return test_result, test_status
+
+
async def run_code_generator_export_website_attachments_test(
config,
) -> Tuple[str, int]:
@@ -1219,6 +1244,7 @@ def run_all_test(config) -> None:
# Begin to run generic test
# run_code_generator_generic_all_test(config),
run_code_generator_data_test(config),
+ run_code_generator_data_test_part_2(config),
run_code_generator_export_website_attachments_test(config),
run_code_generator_theme_test(config),
run_code_generator_website_snippet_test(config),