pyarmor 8.5.12__zip → 9.0.1__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyarmor-8.5.12 → pyarmor-9.0.1}/PKG-INFO +1 -1
- {pyarmor-8.5.12 → pyarmor-9.0.1}/README.md +8 -55
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/__init__.py +1 -1
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/__main__.py +17 -4
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/bug.py +3 -3
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/context.py +1 -0
- pyarmor-9.0.1/pyarmor/cli/core.data.1 +0 -0
- pyarmor-9.0.1/pyarmor/cli/core.data.2 +0 -0
- pyarmor-9.0.1/pyarmor/cli/core.data.3 +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/default.cfg +5 -5
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/register.py +327 -110
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/config.py +2 -2
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor.egg-info/PKG-INFO +1 -1
- pyarmor-9.0.1/pyarmor.egg-info/requires.txt +1 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/setup.py +1 -1
- pyarmor-8.5.12/pyarmor/cli/core.data.1 +0 -0
- pyarmor-8.5.12/pyarmor/cli/core.data.2 +0 -0
- pyarmor-8.5.12/pyarmor/cli/core.data.3 +0 -0
- pyarmor-8.5.12/pyarmor.egg-info/requires.txt +0 -1
- {pyarmor-8.5.12 → pyarmor-9.0.1}/MANIFEST.in +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/README.rst +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/__init__.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/benchmark.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/build_meta.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/bootstrap.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/config.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/docker.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/generate.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/hdinfo.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/merge.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/mixer.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/plugin.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/public_capsule.zip +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/repack.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/resource.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/shell.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cobuilder.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/README-ZH.md +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/README.md +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/build-for-exe.bat +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/build-for-freeze.bat +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/build-with-project.bat +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/build-with-project.sh +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/cx_Freeze/hello.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/cx_Freeze/queens.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/cx_Freeze/setup.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/helloworld/foo.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/obfuscate-app.bat +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/obfuscate-app.sh +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/obfuscate-pkg.bat +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/obfuscate-pkg.sh +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pack-obfuscated-scripts.bat +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pack-obfuscated-scripts.sh +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/py2exe/hello.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/py2exe/queens.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/py2exe/setup.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Arithmetic.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Calls.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/CommandLine.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Constructs.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Dict.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Exceptions.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Imports.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Instances.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Lists.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Lookups.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/NewInstances.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Numbers.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Setup.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Strings.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Tuples.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/With.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/clockres.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/package/__init__.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/package/submodule.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/pybench.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/systimes.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/simple/queens.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/testmod/hello.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/testmod/queens.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/testpkg/main.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/testpkg/mypkg/__init__.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/testpkg/mypkg/foo.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/__init__.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/build_data_module.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/buildext.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/get_bind_key.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/get_license_info.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/get_platform_name.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/merge.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/repack.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/superuntime.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/license.tri +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/packer.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/platforms/darwin/x86_64/_pytransform.dylib +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/platforms/linux/x86/_pytransform.so +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/platforms/linux/x86_64/_pytransform.so +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/platforms/windows/x86/_pytransform.dll +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/platforms/windows/x86_64/_pytransform.dll +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/plugins/README.md +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/plugins/check_ntp_time.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/polyfills/__init__.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/polyfills/argparse.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/product.key +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/project.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/protect_code.pt +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/protect_code2.pt +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/public.key +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/public_capsule.zip +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pyarmor-deprecated.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pyarmor-webui.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pyarmor.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pyimcore.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pyshield.key +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pyshield.lic +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pytransform.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/reform.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/register.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/sppmode.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/utils.py +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor.egg-info/SOURCES.txt +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor.egg-info/dependency_links.txt +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor.egg-info/entry_points.txt +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor.egg-info/top_level.txt +0 -0
- {pyarmor-8.5.12 → pyarmor-9.0.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: pyarmor
|
|
3
|
-
Version:
|
|
3
|
+
Version: 9.0.1
|
|
4
4
|
Summary: A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
|
|
5
5
|
Home-page: https://github.com/dashingsoft/pyarmor
|
|
6
6
|
Author: Jondy Zhao
|
|
@@ -66,7 +66,7 @@ Please read the [Pyarmor EULA](LICENSE).
|
|
|
66
66
|
|
|
67
67
|
## Getting Help
|
|
68
68
|
|
|
69
|
-
1. **Consult the [Pyarmor
|
|
69
|
+
1. **Consult the [Pyarmor Documentation][doc].**
|
|
70
70
|
2. **Check the [FAQ][faq] for answers to common questions.**
|
|
71
71
|
3. **Try the documentation [index][genindex] or the [detailed table of contents][mastertoc].**
|
|
72
72
|
4. **If you still can't find the information you need, see [asking questions on GitHub][asking].**
|
|
@@ -83,75 +83,28 @@ Please read the [Pyarmor EULA](LICENSE).
|
|
|
83
83
|
## Resources
|
|
84
84
|
|
|
85
85
|
* [Website](https://pyarmor.dashingsoft.com)
|
|
86
|
-
* [Documentation
|
|
86
|
+
* [Documentation][doc]
|
|
87
|
+
* [Documentation 8.x](https://pyarmor.readthedocs.io/en/v8.5.12/)
|
|
87
88
|
* [Documentation 7.x](https://pyarmor.readthedocs.io/en/v7.7/)
|
|
88
89
|
|
|
89
90
|
中文资源
|
|
90
91
|
|
|
91
92
|
* [Pyarmor 网站](https://pyarmor.dashingsoft.com/index-zh.html)
|
|
92
|
-
* [Pyarmor
|
|
93
|
+
* [Pyarmor 在线文档](https://pyarmor.readthedocs.io/zh/latest/)
|
|
94
|
+
* [Pyarmor 8.x 在线文档](https://pyarmor.readthedocs.io/zh/v8.5.12/)
|
|
93
95
|
* [Pyarmor 7.x 在线文档](https://pyarmor.readthedocs.io/zh/v7.x/)
|
|
94
96
|
|
|
95
97
|
## Changelog
|
|
96
98
|
|
|
97
|
-
Pyarmor 8.0 introduces significant changes. It has been rewritten and new features are implemented through the new commands:
|
|
98
|
-
`gen`, `reg`, `cfg`. These commands only work for Python 3.7 and above.
|
|
99
|
-
|
|
100
|
-
Users of versions prior to 8.0 should read the [Import Notes][important-notes] section to decide whether to upgrade Pyarmor.
|
|
101
|
-
|
|
102
99
|
Each major version comes with a separate changelog file, detailing fixed issues, new features, and compatibility issues between different versions.
|
|
103
100
|
|
|
104
101
|
Make sure to read the changelog carefully before upgrading Pyarmor:
|
|
102
|
+
|
|
105
103
|
- [Pyarmor 8.x Changelog](docs/ChangeLogs.8)
|
|
104
|
+
- [Pyarmor 9.x Changelog](docs/ChangeLogs.9)
|
|
106
105
|
|
|
107
106
|
**Full changelogs** at [releases][releases]
|
|
108
107
|
|
|
109
|
-
**Upcoming features** at [Pyarmor
|
|
108
|
+
**Upcoming features** at [Pyarmor Release Plan](ReleasePlan.md)
|
|
110
109
|
|
|
111
110
|
[releases]: https://github.com/dashingsoft/pyarmor/releases
|
|
112
|
-
|
|
113
|
-
[important-notes]: #important-notes-for-users-of-pyarmor-prior-to-80
|
|
114
|
-
|
|
115
|
-
## Important Notes for Users of Pyarmor Prior to 8.0
|
|
116
|
-
|
|
117
|
-
Going forward, only bug fixes will be provided for older commands, such as `obfuscate` and `licenses`.
|
|
118
|
-
No new features will be added to these commands, but they will continue to be usable.
|
|
119
|
-
|
|
120
|
-
Upon the release of Pyarmor 8.0, there are three scenarios for existing users:
|
|
121
|
-
|
|
122
|
-
### 1. Never upgrade to version 8.0+
|
|
123
|
-
|
|
124
|
-
- **SPP mode will not work**
|
|
125
|
-
- To use SPP mode, you must upgrade Pyarmor to version 8.0 or later.
|
|
126
|
-
|
|
127
|
-
- **`pyarmor register` command without arguments returns a `404` error**
|
|
128
|
-
- This command was used to query registration information in earlier versions of Pyarmor. However, the license server no longer supports this web API. Use `pyarmor -v` to ensure you are not using a trial version.
|
|
129
|
-
|
|
130
|
-
- **Registering Pyarmor with `pyarmor register pyarmor-regcode-xxxxxx.txt` is limited to 10 uses**:
|
|
131
|
-
- To use Pyarmor on a new machine, CI server, or Docker, refer to the second method described in the registration file "pyarmor-regcode-xxxxxx.txt":
|
|
132
|
-
```
|
|
133
|
-
Downloading "pyarmor-regfile-xxxxxx.zip" once, use this `.zip` file to register Pyarmor later.
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### 2. Upgrade to version 8.0 but only use old features
|
|
137
|
-
|
|
138
|
-
By default, the `pyarmor` command only accepts the new commands.
|
|
139
|
-
|
|
140
|
-
To continue using older commands like `obfuscate` and `licenses`, you can:
|
|
141
|
-
- Use `pyarmor-7` instead of `pyarmor`
|
|
142
|
-
- Set the environment variable `PYARMOR_CLI=7` and continue using `pyarmor`
|
|
143
|
-
- Call the entry point `pyarmor.pyarmor:main_entry` in any other way
|
|
144
|
-
|
|
145
|
-
### 3. Upgrade to version 8.0 and use new features
|
|
146
|
-
|
|
147
|
-
- **New EULA**:
|
|
148
|
-
- Adhere to the new [Pyarmor EULA](LICENSE). This is a significant change for users with old personal licenses, as the new license only allows one product.
|
|
149
|
-
|
|
150
|
-
- **License Upgrades**:
|
|
151
|
-
- Not all old licenses can be freely upgraded to the new license. Please refer to the [Pyarmor licenses][licenses] for more information.
|
|
152
|
-
|
|
153
|
-
- **Internet Connection**:
|
|
154
|
-
- Older commands do not require an internet connection, but new commands do.
|
|
155
|
-
|
|
156
|
-
- **Python Version Support**:
|
|
157
|
-
- While older commands support Python 2.7-3.10, new commands only support Python 3.7+.
|
|
@@ -26,7 +26,7 @@ import sys
|
|
|
26
26
|
|
|
27
27
|
from . import logger, CliError
|
|
28
28
|
from .context import Context
|
|
29
|
-
from .register import Register, WebRegister
|
|
29
|
+
from .register import Register, WebRegister, check_license_version
|
|
30
30
|
from .config import Configer
|
|
31
31
|
from .shell import PyarmorShell
|
|
32
32
|
from .plugin import Plugin
|
|
@@ -222,6 +222,8 @@ def check_gen_context(ctx, args):
|
|
|
222
222
|
def cmd_gen(ctx, args):
|
|
223
223
|
options = format_gen_args(ctx, args)
|
|
224
224
|
logger.debug('command options: %s', options)
|
|
225
|
+
check_license_version(ctx)
|
|
226
|
+
|
|
225
227
|
ctx.push(options)
|
|
226
228
|
check_gen_context(ctx, args)
|
|
227
229
|
|
|
@@ -308,6 +310,11 @@ def cmd_reg(ctx, args):
|
|
|
308
310
|
regsvr.register_group_device(regfile, args.device)
|
|
309
311
|
logger.info('The device regfile has been generated successfully')
|
|
310
312
|
|
|
313
|
+
elif args.ci:
|
|
314
|
+
regsvr = WebRegister(ctx)
|
|
315
|
+
regsvr.check_request_interval()
|
|
316
|
+
regsvr.request_ci_regfile(regfile)
|
|
317
|
+
|
|
311
318
|
elif regfile.endswith('.zip'):
|
|
312
319
|
reg = Register(ctx)
|
|
313
320
|
logger.info('register "%s"', regfile)
|
|
@@ -322,7 +329,7 @@ def cmd_reg(ctx, args):
|
|
|
322
329
|
if args.confirm:
|
|
323
330
|
from time import sleep
|
|
324
331
|
sleep(1.0)
|
|
325
|
-
elif input(msg + prompt) not in ('y', 'yes'):
|
|
332
|
+
elif input(msg + prompt) not in ('y', 'yes', 'Y', 'Yes'):
|
|
326
333
|
logger.info('abort registration')
|
|
327
334
|
return
|
|
328
335
|
# Free upgrade to Pyarmor Basic
|
|
@@ -627,6 +634,10 @@ https://pyarmor.readthedocs.io/en/stable/reference/man.html#pyarmor-reg
|
|
|
627
634
|
'-y', '--confirm', action='store_true',
|
|
628
635
|
help=argparse.SUPPRESS
|
|
629
636
|
)
|
|
637
|
+
cparser.add_argument(
|
|
638
|
+
'-C', '--CI', action='store_true', dest='ci',
|
|
639
|
+
help='request license regfile for CI pipeline'
|
|
640
|
+
)
|
|
630
641
|
|
|
631
642
|
cparser.add_argument(
|
|
632
643
|
'regfile', nargs='?', metavar='FILE',
|
|
@@ -701,6 +712,7 @@ def print_version(ctx):
|
|
|
701
712
|
print('\n'.join(info))
|
|
702
713
|
|
|
703
714
|
reg.check_group_license()
|
|
715
|
+
check_license_version(ctx, silent=True)
|
|
704
716
|
|
|
705
717
|
|
|
706
718
|
def get_home_paths(args):
|
|
@@ -717,8 +729,9 @@ def main_entry(argv):
|
|
|
717
729
|
parser = main_parser()
|
|
718
730
|
args = parser.parse_args(argv)
|
|
719
731
|
|
|
720
|
-
|
|
721
|
-
|
|
732
|
+
x, y = sys.version_info[:2]
|
|
733
|
+
if not (x == 3 and y > 6 and y < 13):
|
|
734
|
+
raise CliError('Python %s.%s is not supported' % (x, y))
|
|
722
735
|
|
|
723
736
|
ctx = Context(*get_home_paths(args))
|
|
724
737
|
|
|
@@ -62,7 +62,7 @@ UNUSED_SOLUTION_HINTS = Template('''something is wrong
|
|
|
62
62
|
|
|
63
63
|
ENABLE_DEBUG_HINTS = 'please enable debug option `-d` to run it again'
|
|
64
64
|
|
|
65
|
-
SOLUTION_HINTS = Template('''
|
|
65
|
+
SOLUTION_HINTS = Template('''
|
|
66
66
|
*=============================================================*
|
|
67
67
|
* Please check console log to find out what's wrong *
|
|
68
68
|
* *
|
|
@@ -118,12 +118,12 @@ def find_solutions(e):
|
|
|
118
118
|
'''
|
|
119
119
|
logger = logging.getLogger()
|
|
120
120
|
if logger.getEffectiveLevel() > logging.DEBUG:
|
|
121
|
-
logger.error(ENABLE_DEBUG_HINTS)
|
|
122
121
|
return
|
|
123
122
|
|
|
123
|
+
print('\nDebug Information:')
|
|
124
124
|
logger.info('generate bug file "%s"', BUG_FILE)
|
|
125
125
|
generate_bug_report(e)
|
|
126
|
-
logger.
|
|
126
|
+
logger.info(SOLUTION_HINTS.substitute(bugfile=BUG_FILE))
|
|
127
127
|
|
|
128
128
|
|
|
129
129
|
if __name__ == '__main__':
|
|
@@ -304,6 +304,7 @@ class Context(object):
|
|
|
304
304
|
lictype = 'basic' if licinfo['features'] == 1 else \
|
|
305
305
|
'pro' if licinfo['features'] == 7 else \
|
|
306
306
|
'group' if licinfo['features'] == 15 else \
|
|
307
|
+
'ci' if licinfo['features'] == 23 else \
|
|
307
308
|
'trial' if licinfo['token'] == 0 else 'unknown'
|
|
308
309
|
verinfo = ['%s (%s)' % (rev, lictype)]
|
|
309
310
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
[pyarmor]
|
|
2
2
|
|
|
3
3
|
;; Pyarmor version
|
|
4
|
-
major =
|
|
5
|
-
minor =
|
|
6
|
-
patch =
|
|
4
|
+
major = 9
|
|
5
|
+
minor = 0
|
|
6
|
+
patch = 1
|
|
7
7
|
|
|
8
8
|
;; Compatible core version
|
|
9
|
-
cli.core = 6.
|
|
9
|
+
cli.core = 7.6.0
|
|
10
10
|
|
|
11
11
|
;; Deprecated since Pyarmor 8.2.5
|
|
12
12
|
; cli.runtime = 3.2.5
|
|
@@ -17,7 +17,7 @@ cli.core = 6.5.3
|
|
|
17
17
|
timeout = 6
|
|
18
18
|
|
|
19
19
|
regurl = https://api.dashingsoft.com/product/key/enter/%s/?
|
|
20
|
-
buyurl = https://
|
|
20
|
+
buyurl = https://jondy.github.io/paypal/index.html
|
|
21
21
|
|
|
22
22
|
[logging]
|
|
23
23
|
|