From b45bd41e56f9bec1beb169c65d5cae655ae3bf35 Mon Sep 17 00:00:00 2001 From: Daniel Berteaud Date: Mon, 27 Mar 2023 14:45:26 +0200 Subject: [PATCH] First commit --- .gitattributes | 1 + .gitignore | 99 +++++++++++++++ LICENSE | 273 +++++++++++++++++++++++++++++++++++++++++ README.md | 3 + WAPT/control | 44 +++++++ WAPT/icon.png | Bin 0 -> 19894 bytes WAPT/wapt.psproj | 275 ++++++++++++++++++++++++++++++++++++++++++ seadrive-3.0.2-en.msi | 3 + setup.py | 47 ++++++++ 9 files changed, 745 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 WAPT/control create mode 100644 WAPT/icon.png create mode 100644 WAPT/wapt.psproj create mode 100644 seadrive-3.0.2-en.msi create mode 100644 setup.py diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..90c0ba7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.msi filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..99049c4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,99 @@ +# ---> Python +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# dotenv +.env + +# virtualenv +.venv +venv/ +ENV/ + +# Spyder project settings +.spyderproject + +# Rope project settings +.ropeproject + +WAPT/certificate.crt +WAPT/manifest.sha256 +WAPT/signature.sha256 \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f079e50 --- /dev/null +++ b/LICENSE @@ -0,0 +1,273 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +====================================================================== +For QtAwesome (third_party/QtAwesome): +====================================================================== + +All files in QtAwesome are +Copyright 2013-2015 Reliable Bits Software by Blommers IT. All Rights Reserved. Author Rick Blommers + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +====================================================================== +For MPMessagePack (third_party/MPMessagePack): +====================================================================== + +All files in MPMessagePack are +Copyright (c) 2014 Gabriel Handford + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +====================================================================== +For osxfuse (third_party/osxfuse): +====================================================================== + +All files in osxfuse are under the following BSD-style license: + + Copyright (c) 2011-2016 Benjamin Fleischer + Copyright (c) 2011-2012 Erik Larsson + All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of osxfuse nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..4d66beb --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# wapt-seadrive + +Seadrive WAPT package \ No newline at end of file diff --git a/WAPT/control b/WAPT/control new file mode 100644 index 0000000..273f3d1 --- /dev/null +++ b/WAPT/control @@ -0,0 +1,44 @@ +package : eht-seadrive +version : 3.0.2-3 +architecture : all +section : base +priority : optional +name : +categories : +maintainer : Daniel Berteaud +description : Drive client for Seafile +depends : +conflicts : +maturity : PREPROD +locale : all +target_os : windows +min_wapt_version : 1.3.12 +sources : +installed_size : +impacted_process : +description_fr : Client pour Seafile +description_pl : +description_de : +description_es : +description_pt : +description_it : +description_nl : +description_ru : +audit_schedule : 2d +editor : +keywords : drive,sync +licence : Apache 2 +homepage : https://www.seafile.com/ +package_uuid : 0f34cec7-d1ce-4967-aa21-048b7bf0195b +valid_from : +valid_until : +forced_install_on : +changelog : +min_os_version : 10.0.17763 +max_os_version : +icon_sha256sum : 93da0c9a70bb483b919bcdd65dfefe60dd7afc87e09f0f43630ceaad27e7e6b2 +signer : dbd +signer_fingerprint: e9156ec73f1ea6b50f33e0d9f580e8ae56db147100894bb5d2d4648a46f07ed1 +signature : DcdCCNaiqD+uutIRFleT6U7H4KyNOnw1bxZaCQFojk7SObtGRwcF4tIWhzFh/hD+/IxaF0mjoOGUI/c2i6w5nIkE0wHuL1lukpQC/t5qHPAJ80GQSQNavwG+s1gbSzGdEWu/A04iid6k4u+8zS7P8EEtNkmMMfH4+EEvidrsARoE7I0Nh7SFTfj677d/UuZc4JkfmhP9/YgFfG2h2xQaTSs5wPAaj5YyxBflPHQJOT3767Wos8YPl8Wk9m4cgIKBsVz3T4ZTOTW1F16MUSwO8F4RXA7xR1ymmAtbyemhx/HychFj4XiNe+j31h7EfkNz+aK/2GqqM0sMuU8t8WaoKw== +signature_date : 2023-03-27T14:28:37.908266 +signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes \ No newline at end of file diff --git a/WAPT/icon.png b/WAPT/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..28eed0b8bd68c6b84a36c82b1c6512349ca4d2a3 GIT binary patch literal 19894 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 F{Xftsb94Xz literal 0 HcmV?d00001 diff --git a/WAPT/wapt.psproj b/WAPT/wapt.psproj new file mode 100644 index 0000000..42a4af8 --- /dev/null +++ b/WAPT/wapt.psproj @@ -0,0 +1,275 @@ +[PyScripter] +Version=3.4.2.0 + +[Project] +ClassName=TProjectRootNode +StoreRelativePaths=TRUE +ShowFileExtensions=FALSE + +[Project\ChildNodes\Node0] +ClassName=TProjectFilesNode + +[Project\ChildNodes\Node0\ChildNodes\Node0] +ClassName=TProjectFolderNode +Name=wapt + +[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node0] +ClassName=TProjectFileNode +FileName=C:\Program Files (x86)\wapt\common.py + +[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node1] +ClassName=TProjectFileNode +FileName=C:\Program Files (x86)\wapt\setuphelpers.py + +[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node2] +ClassName=TProjectFileNode +FileName=C:\Program Files (x86)\wapt\wapt-get.py + +[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node3] +ClassName=TProjectFileNode +FileName=C:\Program Files (x86)\wapt\wapt-get.ini + +[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node4] +ClassName=TProjectFileNode +FileName=C:\Program Files (x86)\wapt\waptpackage.py + +[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes] +Count=5 + +[Project\ChildNodes\Node0\ChildNodes\Node1] +ClassName=TProjectFileNode +FileName=$[Project-Path]changelog.txt + +[Project\ChildNodes\Node0\ChildNodes\Node2] +ClassName=TProjectFileNode +FileName=$[Project-Path]control + +[Project\ChildNodes\Node0\ChildNodes\Node3] +ClassName=TProjectFileNode +FileName=$[Project-Path]..\setup.py + +[Project\ChildNodes\Node0\ChildNodes] +Count=4 + +[Project\ChildNodes\Node1] +ClassName=TProjectRunConfiguationsNode + +[Project\ChildNodes\Node1\ChildNodes\Node0] +ClassName=TProjectRunConfiguationNode +Name=install + +[Project\ChildNodes\Node1\ChildNodes\Node0\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=install "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node0\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node1] +ClassName=TProjectRunConfiguationNode +Name=remove + +[Project\ChildNodes\Node1\ChildNodes\Node1\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=remove "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node1\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node2] +ClassName=TProjectRunConfiguationNode +Name=session-setup + +[Project\ChildNodes\Node1\ChildNodes\Node2\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=session-setup "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node2\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node3] +ClassName=TProjectRunConfiguationNode +Name=update + +[Project\ChildNodes\Node1\ChildNodes\Node3\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=update +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node3\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node4] +ClassName=TProjectRunConfiguationNode +Name=upgrade + +[Project\ChildNodes\Node1\ChildNodes\Node4\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=-f upgrade +WorkingDir=$[ActiveScript-Dir] +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node4\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node5] +ClassName=TProjectRunConfiguationNode +Name=-i build-upload + +[Project\ChildNodes\Node1\ChildNodes\Node5\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=-i build-upload "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node5\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node6] +ClassName=TProjectRunConfiguationNode +Name=svn update + +[Project\ChildNodes\Node1\ChildNodes\Node6\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=sources "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node6\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node7] +ClassName=TProjectRunConfiguationNode +Name=uninstall + +[Project\ChildNodes\Node1\ChildNodes\Node7\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=uninstall "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node7\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[Project-Path].. + +[Project\ChildNodes\Node1\ChildNodes\Node8] +ClassName=TProjectRunConfiguationNode +Name=update-package-sources + +[Project\ChildNodes\Node1\ChildNodes\Node8\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=update-package-sources "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node8\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes\Node9] +ClassName=TProjectRunConfiguationNode +Name=audit + +[Project\ChildNodes\Node1\ChildNodes\Node9\RunConfig] +ScriptName=C:\Program Files (x86)\wapt\wapt-get.py +EngineType=peRemote +ReinitializeBeforeRun=TRUE +Parameters=audit -f "$[Project-Path].." +WorkingDir=$[Project-Path].. +WriteOutputToFile=FALSE +OutputFileName=$[ActiveScript-NoExt].log +AppendToFile=FALSE + +[Project\ChildNodes\Node1\ChildNodes\Node9\RunConfig\ExternalRun] +Caption=External Run +Description=Run script using an external Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveScript-Short] +WorkingDirectory=$[ActiveScript-Dir] + +[Project\ChildNodes\Node1\ChildNodes] +Count=10 + +[Project\ChildNodes] +Count=2 + +[Project\ExtraPythonPath] +Count=0 + diff --git a/seadrive-3.0.2-en.msi b/seadrive-3.0.2-en.msi new file mode 100644 index 0000000..a757ee1 --- /dev/null +++ b/seadrive-3.0.2-en.msi @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c3043b1a047f413d2a986ccea32fe91567a9ef3277cdb1c8351fd7bd6df461a +size 94150656 diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..a70988a --- /dev/null +++ b/setup.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +from setuphelpers import * + +uninstallkey = [] + +def install(): + + print('Installing Seadrive') + version = control['version'].split('-',1)[0] + install_msi_if_needed('seadrive-%s-en.msi' % version,min_version=version) + + +def update_package(): + print('Updating Seadrive package') + import requests,re + + download = requests.get('https://www.seafile.com/en/download/').text + try: + version = re.search('//s3\.eu\-central\-1\.amazonaws\.com/download\.seadrive\.org/seadrive-(\d+(\.\d+)*)-en.msi', download).group(1) + except: + error('Version not found') + + print('Latest version is %s' % version) + pe = PackageEntry(); + control = pe.load_control_from_wapt('.') + + filename = 'seadrive-%s-en.msi' % version + url = 'https://s3.eu-central-1.amazonaws.com/download.seadrive.org/%s' % filename + + if not isfile(filename): + print('Downloading Seadrive %s from %s' % (version, url)) + wget(url, filename) + + if isfile(filename): + for old in glob.glob(r'seadrive-*.msi'): + if old != filename: + remove_file(old) + + if Version(version) > Version(control['version'].split('-',1)[0]): + print('Updating control file with new version %s' % version) + pe.version = version + '-0' + pe.maturity = 'PREPROD' + pe.save_control_to_wapt('.') + +if __name__ == '__main__': + update_package() +