Skip to content

Instantly share code, notes, and snippets.

@GabbasovDinar
Forked from yelizariev/fix-travis.sh
Last active December 1, 2016 07:06
Show Gist options
  • Save GabbasovDinar/3379f5addd558e21f4d4def0e7d079d0 to your computer and use it in GitHub Desktop.
Save GabbasovDinar/3379f5addd558e21f4d4def0e7d079d0 to your computer and use it in GitHub Desktop.
Script to fix lint travis errors on odoo
# перейти в каталог с модулем
cd MODULE_PATH
# fix line break symbols
find * -type f | grep -v ".\(svg\|png\|jpg\)$" | xargs sed -i 's/\r//g'
# trim trailing whitespaces
find * -type f | grep -v ".\(svg\|png\|jpg\)$" | xargs sed -i 's/[ \t]*$//g'
# установить autopep8
sudo pip install --upgrade autopep8
#PEP8 для py-файлов:
autopep8 --in-place -r --aggressive --aggressive --ignore E501 ./
#Перейти в домашнюю папку
cd ~
# установить oca-autopep8
git clone https://github.com/OCA/maintainer-tools.git
cd maintainer-tools
sudo python setup.py install
# перейти в каталог с модулем
cd MODULE_PATH
# fix CamelCase
oca-autopep8 -ri --select=CW0001 .
#Замена знаков табуляций на 4 пробела:
find . -type f -name '*.xml' | xargs sed -i 's/\t/ /g'
find . -type f -name '*.py' | xargs sed -i 's/\t/ /g'
find . -type f -name '*.js' | xargs sed -i 's/\t/ /g'
#Замена (relative-import)
find . -type f -name '__init__.py' | xargs sed -i 's/^import/from . import/g'
#find . -type f -name '__init__.py' | xargs sed -i 's/^import controllers/from . import controllers/g'
#find . -type f -name '__init__.py' | xargs sed -i 's/^import models/from . import models/g'
# install autoflake
sudo pip install --upgrade autoflake
#Удаление unused импортов (по мере появления новых неспользуемых пакетов можно пополнять список --imports)
autoflake --in-place -r --imports=openerp,openerp.http.request,openerp.SUPERUSER_ID,openerp.addons.base.ir.ir_qweb,openerp.exceptions.ValidationError,openerp.fields,openerp.api.openerp.models,openerp.osv.fields,openerp.osv.api,telebot,lxml,werkzeug,MySQLdb.cursors,cStringIO.StringIO,werkzeug.utils,pandas.merge,pandas.DataFrame,werkzeug.wsgi.wrap_file,werkzeug.wsgi,werkzeug.wsgi.wrap_file,openerp.exceptions,openerp.tools.DEFAULT_SERVER_DATETIME_FORMAT ./
# удаление принтов
find . -type f -name '*.py' | xargs sed -i 's/^\( *\)\(print .*\)/\1# \2/g'
#Fix comments:
find . -type f -name '*.py' | xargs sed -i -e 's/ #\([^ ]\)/ # \1/g'
# install fixmyjs
sudo npm install fixmyjs -g
#lint for js:
fixmyjs --legacy --config ~/js_conf.json ./
#Добавление первой строки (coding) в py-файлы
find -iname '*.py' | xargs grep -rLP 'coding: *utf-8' | xargs sed -i '1s/^/# -*- coding: utf-8 -*-\n/'
#Исправление прав на исполнение:
find -iname '*.py' | xargs chmod -x
# Duplicate implicit target name: "changelog".
find . -type f -name 'changelog.rst' | xargs sed -i 's/^Changelog/Updates/g'
find . -type f -name 'changelog.rst' | xargs sed -i 's/^=========/=======/g'
#Исправление ссылок в rst-файлах делается простой автозаменой.
# (запускать 1 раз!)
#`_ -> `__
find . -type f -name '*.rst' | xargs sed -i 's/`_/`__/g'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment