jaseci 1.4.0.16__tar.gz → 1.4.0.18__tar.gz

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.

Potentially problematic release.


This version of jaseci might be problematic. Click here for more details.

Files changed (179) hide show
  1. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/PKG-INFO +1 -1
  2. jaseci-1.4.0.18/jaseci/VERSION +1 -0
  3. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/test_webtool.py +16 -0
  4. jaseci-1.4.0.18/jaseci/extens/act_lib/webtool.py +30 -0
  5. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/utils/utils.py +15 -1
  6. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci.egg-info/PKG-INFO +1 -1
  7. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci.egg-info/requires.txt +1 -0
  8. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/setup.py +1 -0
  9. jaseci-1.4.0.16/jaseci/VERSION +0 -1
  10. jaseci-1.4.0.16/jaseci/extens/act_lib/webtool.py +0 -22
  11. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/LICENSE +0 -0
  12. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/README.md +0 -0
  13. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/__init__.py +0 -0
  14. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/cli_tools/__init__.py +0 -0
  15. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/cli_tools/book_tools.py +0 -0
  16. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/cli_tools/jsctl.py +0 -0
  17. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/cli_tools/tests/__init__.py +0 -0
  18. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/cli_tools/tests/test_jsctl.py +0 -0
  19. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/__init__.py +0 -0
  20. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/__init__.py +0 -0
  21. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/date.py +0 -0
  22. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/elastic.py +0 -0
  23. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/file.py +0 -0
  24. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/internal.py +0 -0
  25. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/jaseci.py +0 -0
  26. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/mail.py +0 -0
  27. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/net.py +0 -0
  28. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/rand.py +0 -0
  29. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/regex.py +0 -0
  30. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/request.py +0 -0
  31. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/std.py +0 -0
  32. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/stripe.py +0 -0
  33. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/task.py +0 -0
  34. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/__init__.py +0 -0
  35. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/std_test_code.py +0 -0
  36. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/test_elastic.py +0 -0
  37. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/test_file_lib.py +0 -0
  38. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/test_mail_lib.py +0 -0
  39. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/test_net_lib.py +0 -0
  40. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/test_regex.py +0 -0
  41. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/test_std.py +0 -0
  42. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/test_std_lib.py +0 -0
  43. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/test_url.py +0 -0
  44. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/test_vector.py +0 -0
  45. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/tests/test_zlib.py +0 -0
  46. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/url.py +0 -0
  47. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/vector.py +0 -0
  48. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/act_lib/zip.py +0 -0
  49. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/__init__.py +0 -0
  50. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/actions_api.py +0 -0
  51. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/alias_api.py +0 -0
  52. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/architype_api.py +0 -0
  53. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/config_api.py +0 -0
  54. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/global_api.py +0 -0
  55. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/graph_api.py +0 -0
  56. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/interface.py +0 -0
  57. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/jac_api.py +0 -0
  58. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/jsorc_api.py +0 -0
  59. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/logger_api.py +0 -0
  60. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/master_api.py +0 -0
  61. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/object_api.py +0 -0
  62. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/prometheus_api.py +0 -0
  63. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/queue_api.py +0 -0
  64. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/sentinel_api.py +0 -0
  65. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/super_api.py +0 -0
  66. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/tests/__init__.py +0 -0
  67. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/tests/test_architype_api.py +0 -0
  68. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/tests/test_global_api.py +0 -0
  69. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/tests/test_graph_api.py +0 -0
  70. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/tests/test_logger_api.py +0 -0
  71. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/tests/test_sentinel_api.py +0 -0
  72. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/tests/test_user_api.py +0 -0
  73. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/tests/test_walker_api.py +0 -0
  74. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/user_api.py +0 -0
  75. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/walker_api.py +0 -0
  76. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/api/webhook_api.py +0 -0
  77. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/svc/__init__.py +0 -0
  78. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/svc/elastic_svc.py +0 -0
  79. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/svc/kube_svc.py +0 -0
  80. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/svc/mail_svc.py +0 -0
  81. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/svc/prome_svc.py +0 -0
  82. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/svc/redis_svc.py +0 -0
  83. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/svc/stripe_svc.py +0 -0
  84. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/svc/task_svc.py +0 -0
  85. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/extens/svc/tasks.py +0 -0
  86. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/__init__.py +0 -0
  87. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/interpreter/__init__.py +0 -0
  88. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/interpreter/architype_interp.py +0 -0
  89. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/interpreter/interp.py +0 -0
  90. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/interpreter/sentinel_interp.py +0 -0
  91. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/interpreter/tests/__init__.py +0 -0
  92. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/interpreter/tests/test_interp.py +0 -0
  93. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/interpreter/walker_interp.py +0 -0
  94. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/ir/__init__.py +0 -0
  95. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/ir/ast.py +0 -0
  96. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/ir/ast_builder.py +0 -0
  97. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/ir/jac_code.py +0 -0
  98. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/ir/passes/__init__.py +0 -0
  99. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/ir/passes/ast_prune_pass.py +0 -0
  100. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/ir/passes/codegen_pass.py +0 -0
  101. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/ir/passes/ir_pass.py +0 -0
  102. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/ir/passes/printer_pass.py +0 -0
  103. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/ir/passes/pt_prune_pass.py +0 -0
  104. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/ir/passes/schedule.py +0 -0
  105. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/ir/passes/stats_pass.py +0 -0
  106. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jac.g4 +0 -0
  107. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jac_parse/__init__.py +0 -0
  108. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jac_parse/jacLexer.py +0 -0
  109. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jac_parse/jacListener.py +0 -0
  110. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jac_parse/jacParser.py +0 -0
  111. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jac_set.py +0 -0
  112. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jsci_vm/__init__.py +0 -0
  113. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jsci_vm/disasm.py +0 -0
  114. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jsci_vm/inst_ptr.py +0 -0
  115. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jsci_vm/machine.py +0 -0
  116. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jsci_vm/op_codes.py +0 -0
  117. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jsci_vm/tests/__init__.py +0 -0
  118. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/jsci_vm/tests/test_codegen.py +0 -0
  119. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/machine/__init__.py +0 -0
  120. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/machine/jac_scope.py +0 -0
  121. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/machine/jac_value.py +0 -0
  122. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/machine/machine_state.py +0 -0
  123. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/tests/__init__.py +0 -0
  124. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/tests/book_code.py +0 -0
  125. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/tests/test_book.py +0 -0
  126. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jac/tests/test_lang_14.py +0 -0
  127. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/__init__.py +0 -0
  128. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/jsorc.py +0 -0
  129. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/jsorc_settings.py +0 -0
  130. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/jsorc_utils.py +0 -0
  131. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/live_actions.py +0 -0
  132. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/manifests/__init__.py +0 -0
  133. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/manifests/database.yaml +0 -0
  134. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/manifests/elastic.yaml +0 -0
  135. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/manifests/prometheus.yaml +0 -0
  136. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/manifests/redis.yaml +0 -0
  137. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/memory.py +0 -0
  138. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/redis.py +0 -0
  139. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/remote_actions.py +0 -0
  140. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/tests/__init__.py +0 -0
  141. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/tests/test_actions.py +0 -0
  142. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/jsorc/tests/test_jsorc.py +0 -0
  143. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/__init__.py +0 -0
  144. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/action.py +0 -0
  145. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/architype.py +0 -0
  146. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/edge.py +0 -0
  147. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/element.py +0 -0
  148. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/graph.py +0 -0
  149. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/item.py +0 -0
  150. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/master.py +0 -0
  151. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/node.py +0 -0
  152. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/obj_mixins.py +0 -0
  153. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/sentinel.py +0 -0
  154. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/super_master.py +0 -0
  155. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/prim/walker.py +0 -0
  156. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/tests/__init__.py +0 -0
  157. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/tests/infer.py +0 -0
  158. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/tests/jac_test_code.py +0 -0
  159. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/tests/jac_test_progs.py +0 -0
  160. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/tests/test_core.py +0 -0
  161. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/tests/test_jac.py +0 -0
  162. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/tests/test_node.py +0 -0
  163. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/tests/test_progs.py +0 -0
  164. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/tests/test_stack.py +0 -0
  165. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/tests/test_stripe.py +0 -0
  166. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/utils/__init__.py +0 -0
  167. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/utils/actions/__init__.py +0 -0
  168. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/utils/actions/actions_manager.py +0 -0
  169. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/utils/actions/actions_optimizer.py +0 -0
  170. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/utils/actions/actions_state.py +0 -0
  171. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/utils/id_list.py +0 -0
  172. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/utils/json_handler.py +0 -0
  173. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/utils/log_utils.py +0 -0
  174. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci/utils/test_core.py +0 -0
  175. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci.egg-info/SOURCES.txt +0 -0
  176. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci.egg-info/dependency_links.txt +0 -0
  177. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci.egg-info/entry_points.txt +0 -0
  178. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/jaseci.egg-info/top_level.txt +0 -0
  179. {jaseci-1.4.0.16 → jaseci-1.4.0.18}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaseci
3
- Version: 1.4.0.16
3
+ Version: 1.4.0.18
4
4
  Home-page: https://github.com/Jaseci-Labs/jaseci
5
5
  Author: Jason Mars
6
6
  Author-email: jason@jaseci.org
@@ -0,0 +1 @@
1
+ 1.4.0.18
@@ -26,3 +26,19 @@ class WebtoolTest(CoreTest):
26
26
  @jac_testcase("webtool.jac", "get_meta_invalid")
27
27
  def test_get_meta_invalid(self, ret):
28
28
  self.assertTrue("Failed at getting metadata" in ret["report"][0])
29
+
30
+ @jac_testcase("webtool.jac", "get_meta_timeout")
31
+ def test_get_meta_timeout(self, ret):
32
+ self.assertTrue("Failed at getting metadata" in ret["report"][0])
33
+
34
+ @jac_testcase("webtool.jac", "get_meta_need_header")
35
+ def test_get_meta_need_header(self, ret):
36
+ self.assertTrue(ret["success"])
37
+ expected_tags = set(["og:image", "og:type", "og:title"])
38
+ tags = set(
39
+ [
40
+ meta["property"] if "property" in meta else ""
41
+ for meta in ret["report"][0]
42
+ ]
43
+ )
44
+ self.assertTrue(tags.issuperset(expected_tags))
@@ -0,0 +1,30 @@
1
+ """Built in actions for Jaseci"""
2
+ import requests
3
+ from jaseci.jsorc.live_actions import jaseci_action
4
+ from bs4 import BeautifulSoup
5
+
6
+
7
+ @jaseci_action()
8
+ def get_page_meta(url: str, timeout: int = 3, parser: str = "lxml"):
9
+ """
10
+ Util to parse metadata out of urls and html documents
11
+ Parser option: lxml (default), html5lib, html.parser
12
+ Comparison between parsers: https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser
13
+ """
14
+ try:
15
+ webpage = requests.get(
16
+ url,
17
+ timeout=timeout,
18
+ headers={
19
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
20
+ },
21
+ )
22
+ soup = BeautifulSoup(webpage.content, features=parser)
23
+ meta = soup.find_all("meta")
24
+ meta_list = []
25
+ for tag in meta:
26
+ meta_list.append(dict(tag.attrs))
27
+ return meta_list
28
+ except Exception as e:
29
+ print("Failed")
30
+ return f"Failed at getting metadata for {url}: {str(e)}"
@@ -17,8 +17,9 @@ import traceback
17
17
  import inspect
18
18
  import unittest
19
19
  from time import time
20
-
20
+ from pathlib import Path
21
21
  from pprint import pformat
22
+ from typing import Union
22
23
 
23
24
  from jaseci.utils.log_utils import LimitedSlidingBuffer
24
25
 
@@ -331,3 +332,16 @@ def find_first_api(api_name, **api_endpoints):
331
332
  if api:
332
333
  return path, api
333
334
  raise InvalidApiException(f"api {api_name} is not existing!")
335
+
336
+
337
+ cache_root = Path(Path.home(), ".jaseci/models")
338
+
339
+
340
+ def model_base_path(cache_dir: Union[str, Path]) -> Path:
341
+ cache_dir = Path(cache_dir)
342
+
343
+ if not os.path.isabs(cache_dir):
344
+ model_cache = cache_root / cache_dir
345
+ else:
346
+ model_cache = cache_dir
347
+ return model_cache
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaseci
3
- Version: 1.4.0.16
3
+ Version: 1.4.0.18
4
4
  Home-page: https://github.com/Jaseci-Labs/jaseci
5
5
  Author: Jason Mars
6
6
  Author-email: jason@jaseci.org
@@ -24,3 +24,4 @@ pygls
24
24
  mock
25
25
  beautifulsoup4<4.13.0,>=4.12.2
26
26
  lxml<4.10.0,>=4.9.2
27
+ html5lib<1.2,>=1.1
@@ -38,6 +38,7 @@ setup(
38
38
  "mock",
39
39
  "beautifulsoup4>=4.12.2, <4.13.0",
40
40
  "lxml>=4.9.2, <4.10.0",
41
+ "html5lib>=1.1, <1.2",
41
42
  ],
42
43
  package_data={
43
44
  "": ["*.ini", "*.yaml", "jac.g4", "VERSION"],
@@ -1 +0,0 @@
1
- 1.4.0.16
@@ -1,22 +0,0 @@
1
- """Built in actions for Jaseci"""
2
- import requests
3
- from jaseci.jsorc.live_actions import jaseci_action
4
- from bs4 import BeautifulSoup
5
-
6
-
7
- @jaseci_action()
8
- def get_page_meta(url: str):
9
- """
10
- Util to parse metadata out of urls and html documents
11
- """
12
- try:
13
- webpage = requests.get(url)
14
- soup = BeautifulSoup(webpage.content, features="lxml")
15
- meta = soup.find_all("meta")
16
- meta_list = []
17
- for tag in meta:
18
- meta_list.append(dict(tag.attrs))
19
- return meta_list
20
- except Exception as e:
21
- print("Failed")
22
- return f"Failed at getting metadata for {url}: {str(e)}"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes