#!/usr/bin/bash gitea_url="https://${GITEA_USER}:${GITEA_PASSWORD}@${GITEA_DOMAIN}/" cd /tmp git clone "${gitea_url}${GITEA_ORG}/oc-multi_migrate_to_gitea.git" multi_migrate="/tmp/oc-multi_migrate_to_gitea/migrate_to_gitea.py" cd $DIR_MODULES clone_module() { cd $DIR_MODULES local org=$1 local branch=$2 local prefix=$3 shift local Array=("${@}") url=${gitea_url}${org}"/" for module in "${Array[@]}"; do if [ ${prefix} = 'False' ]; then if [ ${branch} != "False" ]; then if [ -d $module ]; then echo "Module $module already exists" else git clone -b ${branch} $url$module fi fi elif [ `echo $module | awk /${prefix}/` ]; then name=`echo $modules$module | cut --complement -f 1 -d '-'` if [ ${branch} != "False" ]; then if [ -d $module ]; then echo "Module $module already exists" else git clone -b ${branch} $url$module mv $module $name fi else git clone $url$module cd $module ${PYTHON_VERSION} setup.py install cd .. fi fi done } inactive_module() { cd $DIR_MODULES local prefix=$1 local pip=$2 shift local Array=("${@}") for module in "${Array[@]}"; do if [ $pip = "True" ]; then pip uninstall -y $prefix$module rm -rf $module else rm -rf $module fi done } if [ ${OneTeam} = "True" ]; then apt-get update \ && apt-get install -y --no-install-recommends \ git \ fossil \ pkg-config \ libxml2-dev \ libxmlsec1-dev \ libxmlsec1-openssl \ libffi-dev \ build-essential \ python3-dev \ python3-qrcode \ && rm -rf /var/lib/apt/lists/* \ && pip3 install --upgrade pip \ && pip3 install pytz \ "git+https://github.com/bit4bit/facho.git" prefix="trytondo-" team_org="OneTeam" pip="False" get_one_team=( `${PYTHON_VERSION} $multi_migrate list-repo-token --domain ${GITEA_DOMAIN} --team_org $team_org --access_token ${GITEA_ACCESS_TOKEN} --verbose True` ) clone_module $team_org ${TRYTOND_VERSION} $prefix "${get_one_team[@]}" inactive_modules_trytondo=( sale_payment_form sale_pos_extras ) inactive_module "trytond-" $pip "${inactive_modules_trytondo[@]}" modules_presik=( trytonpsk-account_co_pyme ) clone_module "Presik" "False" "trytonpsk-" "${modules_presik[@]}" modules_nantic=( trytond-sale_w_tax trytond-purchase_discount trytond-account_invoice_discount ) clone_module "NaNtic" ${TRYTOND_VERSION} "trytond-" "${modules_nantic[@]}" fi if [ ${OneTeam_pos} = "True" ]; then apt-get update \ && apt-get install -y --no-install-recommends \ git \ fossil \ pkg-config \ libxml2-dev \ libxmlsec1-dev \ libxmlsec1-openssl \ libffi-dev \ build-essential \ python3-dev \ python3-qrcode \ && rm -rf /var/lib/apt/lists/* \ && pip3 install --upgrade pip \ && pip3 install pytz \ "git+https://github.com/bit4bit/facho.git" prefix="trytondo-" team_org="OneTeam" pip="True" get_one_team=( `${PYTHON_VERSION} $multi_migrate list-repo-token --domain ${GITEA_DOMAIN} --team_org $team_org --access_token ${GITEA_ACCESS_TOKEN} --verbose True` ) clone_module $team_org ${TRYTOND_VERSION} $prefix "${get_one_team[@]}" inactive_modules_trytond=( sale_payment ) inactive_module "trytond-" $pip "${inactive_modules_trytond[@]}" modules_presik=( trytonpsk-account_co_pyme ) clone_module "Presik" "False" "trytonpsk-" "${modules_presik[@]}" modules_nantic=( trytond-sale_w_tax trytond-sale_pos trytond-sale_shop trytond-sale_payment trytond-purchase_discount trytond-account_invoice_discount ) clone_module "NaNtic" ${TRYTOND_VERSION} "trytond-" "${modules_nantic[@]}" fi if [ ${Presik} = "True" ]; then prefix="trytonpsk-" team_org="Presik" pip="True" pip3 install --upgrade pip \ && pip3 install Jinja2 \ sendgrid \ qrcode \ xmltodict get_presik=( `${PYTHON_VERSION} $multi_migrate list-repo-token --domain ${GITEA_DOMAIN} --team_org ${team_org} --access_token ${GITEA_ACCESS_TOKEN} --verbose True` ) clone_module $team_org "False" $prefix "${get_presik[@]}" inactive_modules_presik=( sale_pos_frontend sale_pos_frontend_rest sale_pos_commission health_history health_nursing health_inpatient health_emergency smtp ) inactive_module $prefix $pip "${inactive_modules_presik[@]}" modules_nantic=(trytond-smtp) clone_module "NaNtic" ${TRYTOND_VERSION} "trytond-" "${modules_nantic[@]}" fi if [ ${Datalife} = "True" ]; then prefix="trytond-" team_org="Datalife" pip="False" apt-get install -y --no-install-recommends \ build-essential \ python3-dev \ libffi-dev \ && pip3 uninstall -y trytond-incoterm \ && cd /usr/local \ && git clone -b main https://${GITEA_USER}:${GITEA_PASSWORD}@git.disroot.org/NaNtic/python-edifact.git \ && cd python-edifact \ && ${PYTHON_VERSION} setup.py install \ && cd $DIR_MODULES \ && rm -rf incoterm \ && pip3 install --upgrade pip \ && pip3 install Jinja2 \ babel \ barcodenumber \ unidecode \ oyaml \ retrofix \ cryptography get_datalife=( `${PYTHON_VERSION} $multi_migrate list-repo-token --domain ${GITEA_DOMAIN} --team_org $team_org --access_token ${GITEA_ACCESS_TOKEN} --verbose True` ) clone_module $team_org ${TRYTOND_VERSION} $prefix "${get_datalife[@]}" inactive_modules_datalife=( edw_mssql stock_shipment_in_edi ) inactive_module $prefix $pip "${inactive_modules_datalife[@]}" modules_nantic=( trytond-account_payment_type trytond-company_bank trytond-party_edi trytond-account_invoice_company_currency trytond-stock_shipment_in_edi trytond-jasper_reports trytond-stock_scanner trytond-stock_valued trytond-stock_kit trytond-sale_kit trytond-account_payment_type trytond-account_invoice_edi trytond-edocument_unedifact trytond-account_move_draft trytond-account_payment_receipt trytond-product_barcode ) clone_module "NaNtic" ${TRYTOND_VERSION} $prefix "${modules_nantic[@]}" fi if [ ${NaNtic} = "True" ]; then prefix="trytond-" team_org="NaNtic" pip="False" apt-get install -y --no-install-recommends \ build-essential \ python3-dev \ libffi-dev \ libldap2-dev \ libsasl2-dev \ libcups2-dev \ && pip3 install --upgrade pip \ && pip3 install "cryptography>=2.1.4" \ "pyopenssl>=17.5.0" \ bcrypt \ blinker \ "Genshi>=0.6" \ "Jinja2>=2.6" \ "Pygments>=1.6" \ "Sphinx>=1.1.3" \ "argparse>=1.2.1" \ "caldav>=0.1.12" \ "chardet>=2.1.1" \ "coverage>=3.6" \ "docutils>=0.10" \ "easyimap>=0.3.3" \ "jsonrpclib" \ "lxml>=3.1.0" \ "nose>=1.2.1" \ passwordmeter \ petl \ "polib>=1.0.2" \ "psycopg2-binary>=2.4.6" \ pydot \ python-magic \ "pyparsing>=1.5.6" \ PySimpleSOAP \ "python-dateutil>=2.1" \ "python-ldap>=2.4.10" \ ldap3 \ python-nmap \ "python-sql>=0.8" \ "python-stdnum>=0.9" \ banknumber \ "pytz>=2012h" \ "pyusb>=1.0.0b1" \ "pyserial>=2.7" \ "relatorio>=0.7.0" \ "simplejson>=2.6.2" \ six \ "vobject>=0.8.1c" \ "yolk>=0.4.3" \ "openpyxl>=2.1.1" \ "git+https://github.com/NaN-tic/python-pharma_datamatrix#egg=pharma_datamatrix" \ vatnumber \ mock \ html2text \ goocalendar \ emailvalid \ simpleeval \ pyflakes \ PyPDF2 \ cached-property \ wrapt \ passlib \ langid \ babel \ "weasyprint<53" \ pycparser \ "pycha>=0.4.0" \ pyyaml \ ipaddress \ Unidecode \ "xlrd==1.2.0" \ pq \ humanize \ urllib3 \ "pymssql<3.0" \ "retrofix>=0.23" \ zeep \ xmlsig \ pillow \ slug \ decorator \ flask_login \ whoosh \ geopy \ pycups \ iso8601 \ oyaml \ "git+https://github.com/NaN-tic/python-edifact#egg=edifact" \ unicodecsv \ requests \ formulas \ pycountry \ forex_python \ ShopifyAPI \ mrw \ freezegun \ qrcode \ python-barcode \ "Flask==1.1.4" \ "Flask-Babel>=0.8" \ "Flask-WTF>=0.8.3" \ "flask_tryton>=0.5" \ "Flask-paginate" \ "Flask-Mail" \ "Flask-Cache" \ "flask-lesscss" \ "py-wikimarkup" \ "emailvalid" \ "htmlmin" \ "redsys" \ "pycrypto" \ "email_validator" \ "flask_session" \ "charset-normalizer" \ "Werkzeug==1.0.1" \ barcodenumber get_nantic=( `${PYTHON_VERSION} $multi_migrate list-repo-token --domain ${GITEA_DOMAIN} --team_org $team_org --access_token ${GITEA_ACCESS_TOKEN} --verbose True` ) clone_module $team_org ${TRYTOND_VERSION} $prefix "${get_nantic[@]}" inactive_modules_nantic=(patches) inactive_module $prefix $pip "${inactive_modules_nantic[@]}" fi if [ ${Kalenis} = "True" ]; then team_org="kalenis" branch="master" apt-get install -y --no-install-recommends \ build-essential \ python3-dev \ wget \ && pip3 install --upgrade pip \ && pip install numpy \ Cython \ pandas \ matplotlib \ xlrd \ xlutils \ formulas \ unidecode \ openpyxl==2.6.4 \ Jinja2 \ WeasyPrint \ PyPDF2 \ pytz \ babel \ && git clone -b ${branch} ${gitea_url}Kalenis/kalenislims.git \ && mv kalenislims/lims* ${DIR_MODULES} \ && rm -rf kalenislims \ && git clone -b ${branch} ${gitea_url}Kalenis/kalenis_user_view.git \ && mv kalenis_user_view ${DIR_MODULES}/user_view \ && wget https://downloads.kalenislims.com/frontend_dist_${TRYTOND_VERSION}.tar.gz \ && tar -xzf frontend_dist_${TRYTOND_VERSION}.tar.gz \ && rm -rf /var/lib/trytond/www \ && mv frontend_dist_${TRYTOND_VERSION} /var/lib/trytond/www fi if [ ${GnuHealth} = "True" ]; then apt-get install -y --no-install-recommends \ build-essential \ python3-dev \ wget \ libldap2-dev \ libsasl2-dev \ ldap-utils \ tox \ lcov \ valgrind \ && pip3 install --upgrade pip \ && pip3 install lxml \ wrapt \ python-dateutil \ psycopg2-binary \ pytz \ python-ldap \ qrcode \ python-barcode \ six \ Pillow \ caldav \ polib \ python-sql \ python-stdnum \ simpleeval \ configparser \ pywebdav3-gnuhealth \ bcrypt \ numpy \ unoconv \ python-magic \ passlib \ beren \ pendulum \ matplotlib \ "werkzeug<1.0" \ vobject==0.9.5 \ && cd /tmp \ && wget https://ftp.gnu.org/gnu/health/gnuhealth-latest.tar.gz \ && tar -xzf gnuhealth-latest.tar.gz \ && mv gnuhealth-3.8.0/health* ${DIR_MODULES} \ && rm -rf gnuhealth-3.8.0 \ && mv ${DIR_MODULES}/health_webdav3_server ${DIR_MODULES}/webdav \ && mv ${DIR_MODULES}/health_caldav ${DIR_MODULES}/calendar fi if [ ${Trytonar} = "True" ]; then prefix="False" team_org="tryton-ar" pip="False" apt-get install -y --no-install-recommends \ wget \ unzip \ build-essential \ python3-dev \ libxslt-dev \ libffi-dev \ libssl-dev \ swig \ unzip \ && cd /opt \ && git clone https://github.com/reingart/pyafipws.git \ && cd pyafipws \ && pip3 install --upgrade pip \ && pip3 install httplib2==0.9.2 \ fpdf>=1.7.2 \ dbf>=0.88.019 \ Pillow>=2.0.0 \ tabulate==0.8.5 \ certifi>=2020.4.5.1 \ qrcode==6.1 \ future==0.18.2 \ unicode \ unidecode \ && ${PYTHON_VERSION} setup.py install get_trytonar=( `${PYTHON_VERSION} $multi_migrate list-repo-token --domain ${GITEA_DOMAIN} --team_org $team_org --access_token ${GITEA_ACCESS_TOKEN} --verbose True` ) clone_module $team_org ${TRYTOND_VERSION} $prefix "${get_trytonar[@]}" inactive_modules_trytonar=( documentacion-tryton-ar tryton-demo-ar tryton-capacitacion-tecnica company_ar_NO_USAR tryton-ar.github.io deploy-localizacion-argentina_DEPRECATE TUBA2015 padron_afip_ar_DEPRECATE ) inactive_module $prefix $pip "${inactive_modules_trytonar[@]}" fi if [ ${Etrivial} = "True" ]; then team_org="OneTeam" branch="master" apt-get install -y --no-install-recommends \ build-essential \ python3-dev \ wget \ && pip3 install --upgrade pip \ && pip install numpy \ matplotlib \ && git clone -b ${branch} ${gitea_url}${team_org}/etrivial_transport \ && mv etrivial_transport/transporte/trytond-modules/* ${DIR_MODULES} \ && mv etrivial_transport/transporte/libraries/cliente_apps_civica /opt \ && rm -rf etrivial_transport \ && cd /opt/cliente_apps_civica \ && ${PYTHON_VERSION} setup.py install fi