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.
Files changed (125) hide show
  1. {pyarmor-8.5.12 → pyarmor-9.0.1}/PKG-INFO +1 -1
  2. {pyarmor-8.5.12 → pyarmor-9.0.1}/README.md +8 -55
  3. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/__init__.py +1 -1
  4. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/__main__.py +17 -4
  5. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/bug.py +3 -3
  6. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/context.py +1 -0
  7. pyarmor-9.0.1/pyarmor/cli/core.data.1 +0 -0
  8. pyarmor-9.0.1/pyarmor/cli/core.data.2 +0 -0
  9. pyarmor-9.0.1/pyarmor/cli/core.data.3 +0 -0
  10. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/default.cfg +5 -5
  11. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/register.py +327 -110
  12. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/config.py +2 -2
  13. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor.egg-info/PKG-INFO +1 -1
  14. pyarmor-9.0.1/pyarmor.egg-info/requires.txt +1 -0
  15. {pyarmor-8.5.12 → pyarmor-9.0.1}/setup.py +1 -1
  16. pyarmor-8.5.12/pyarmor/cli/core.data.1 +0 -0
  17. pyarmor-8.5.12/pyarmor/cli/core.data.2 +0 -0
  18. pyarmor-8.5.12/pyarmor/cli/core.data.3 +0 -0
  19. pyarmor-8.5.12/pyarmor.egg-info/requires.txt +0 -1
  20. {pyarmor-8.5.12 → pyarmor-9.0.1}/MANIFEST.in +0 -0
  21. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/README.rst +0 -0
  22. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/__init__.py +0 -0
  23. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/benchmark.py +0 -0
  24. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/build_meta.py +0 -0
  25. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/bootstrap.py +0 -0
  26. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/config.py +0 -0
  27. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/docker.py +0 -0
  28. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/generate.py +0 -0
  29. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/hdinfo.py +0 -0
  30. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/merge.py +0 -0
  31. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/mixer.py +0 -0
  32. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/plugin.py +0 -0
  33. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/public_capsule.zip +0 -0
  34. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/repack.py +0 -0
  35. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/resource.py +0 -0
  36. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cli/shell.py +0 -0
  37. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/cobuilder.py +0 -0
  38. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/README-ZH.md +0 -0
  39. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/README.md +0 -0
  40. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/build-for-exe.bat +0 -0
  41. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/build-for-freeze.bat +0 -0
  42. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/build-with-project.bat +0 -0
  43. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/build-with-project.sh +0 -0
  44. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/cx_Freeze/hello.py +0 -0
  45. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/cx_Freeze/queens.py +0 -0
  46. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/cx_Freeze/setup.py +0 -0
  47. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/helloworld/foo.py +0 -0
  48. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/obfuscate-app.bat +0 -0
  49. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/obfuscate-app.sh +0 -0
  50. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/obfuscate-pkg.bat +0 -0
  51. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/obfuscate-pkg.sh +0 -0
  52. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pack-obfuscated-scripts.bat +0 -0
  53. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pack-obfuscated-scripts.sh +0 -0
  54. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/py2exe/hello.py +0 -0
  55. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/py2exe/queens.py +0 -0
  56. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/py2exe/setup.py +0 -0
  57. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Arithmetic.py +0 -0
  58. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Calls.py +0 -0
  59. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/CommandLine.py +0 -0
  60. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Constructs.py +0 -0
  61. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Dict.py +0 -0
  62. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Exceptions.py +0 -0
  63. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Imports.py +0 -0
  64. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Instances.py +0 -0
  65. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Lists.py +0 -0
  66. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Lookups.py +0 -0
  67. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/NewInstances.py +0 -0
  68. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Numbers.py +0 -0
  69. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Setup.py +0 -0
  70. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Strings.py +0 -0
  71. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/Tuples.py +0 -0
  72. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/With.py +0 -0
  73. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/clockres.py +0 -0
  74. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/package/__init__.py +0 -0
  75. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/package/submodule.py +0 -0
  76. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/pybench.py +0 -0
  77. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/pybench/systimes.py +0 -0
  78. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/simple/queens.py +0 -0
  79. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/testmod/hello.py +0 -0
  80. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/testmod/queens.py +0 -0
  81. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/testpkg/main.py +0 -0
  82. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/testpkg/mypkg/__init__.py +0 -0
  83. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/examples/testpkg/mypkg/foo.py +0 -0
  84. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/__init__.py +0 -0
  85. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/build_data_module.py +0 -0
  86. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/buildext.py +0 -0
  87. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/get_bind_key.py +0 -0
  88. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/get_license_info.py +0 -0
  89. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/get_platform_name.py +0 -0
  90. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/merge.py +0 -0
  91. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/repack.py +0 -0
  92. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/helper/superuntime.py +0 -0
  93. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/license.tri +0 -0
  94. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/packer.py +0 -0
  95. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/platforms/darwin/x86_64/_pytransform.dylib +0 -0
  96. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/platforms/linux/x86/_pytransform.so +0 -0
  97. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/platforms/linux/x86_64/_pytransform.so +0 -0
  98. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/platforms/windows/x86/_pytransform.dll +0 -0
  99. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/platforms/windows/x86_64/_pytransform.dll +0 -0
  100. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/plugins/README.md +0 -0
  101. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/plugins/check_ntp_time.py +0 -0
  102. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/polyfills/__init__.py +0 -0
  103. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/polyfills/argparse.py +0 -0
  104. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/product.key +0 -0
  105. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/project.py +0 -0
  106. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/protect_code.pt +0 -0
  107. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/protect_code2.pt +0 -0
  108. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/public.key +0 -0
  109. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/public_capsule.zip +0 -0
  110. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pyarmor-deprecated.py +0 -0
  111. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pyarmor-webui.py +0 -0
  112. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pyarmor.py +0 -0
  113. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pyimcore.py +0 -0
  114. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pyshield.key +0 -0
  115. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pyshield.lic +0 -0
  116. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/pytransform.py +0 -0
  117. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/reform.py +0 -0
  118. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/register.py +0 -0
  119. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/sppmode.py +0 -0
  120. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor/utils.py +0 -0
  121. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor.egg-info/SOURCES.txt +0 -0
  122. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor.egg-info/dependency_links.txt +0 -0
  123. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor.egg-info/entry_points.txt +0 -0
  124. {pyarmor-8.5.12 → pyarmor-9.0.1}/pyarmor.egg-info/top_level.txt +0 -0
  125. {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: 8.5.12
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 8.0 Documentation][doc].**
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 8.0][doc]
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 8.0 在线文档](https://pyarmor.readthedocs.io/zh/latest/)
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 8.x Release Plan](ReleasePlan.md)
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+.
@@ -1,6 +1,6 @@
1
1
  import logging
2
2
 
3
- __VERSION__ = '8.5.12'
3
+ __VERSION__ = '9.0.1'
4
4
 
5
5
  logger = logging.getLogger('cli')
6
6
 
@@ -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
- if sys.version_info[0] == 2 or sys.version_info[1] < 7:
721
- raise CliError('only Python 3.7+ is supported now')
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('''something is wrong
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.error(SOLUTION_HINTS.substitute(bugfile=BUG_FILE))
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 = 8
5
- minor = 5
6
- patch = 12
4
+ major = 9
5
+ minor = 0
6
+ patch = 1
7
7
 
8
8
  ;; Compatible core version
9
- cli.core = 6.5.3
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://order.mycommerce.com/product?vendorid=200089125&productid=301044051
20
+ buyurl = https://jondy.github.io/paypal/index.html
21
21
 
22
22
  [logging]
23
23