ciocore 8.3.1__py2.py3-none-any.whl → 8.3.2__py2.py3-none-any.whl

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 ciocore might be problematic. Click here for more details.

ciocore/VERSION CHANGED
@@ -1 +1 @@
1
- 8.3.1
1
+ 8.3.2
Binary file
ciocore/package_query.py CHANGED
@@ -120,14 +120,25 @@ def write_text(hostnames, tree_data, platform, color_func, stream):
120
120
  ),
121
121
  stream,
122
122
  )
123
-
123
+
124
+ def sort_hostnames_by_version(hostnames):
125
+ def sort_version(pkg):
126
+ hostname, product, version, platform = pkg
127
+ return f"{version} {product} {platform}"
128
+ def sort_product(pkg):
129
+ hostname, product, version, platform = pkg
130
+ return f"{product} {platform}"
131
+ pkg_sortable = [(hostname, hostname.split()[0], hostname.split()[1], hostname.split()[2]) for hostname in hostnames]
132
+ _psorted = sorted(pkg_sortable, key=sort_version, reverse=True)
133
+ _sorted = sorted(_psorted, key=sort_product)
134
+ return [pkg[0] for pkg in _sorted]
124
135
 
125
136
  def pq(format="text"):
126
137
  packages = api_client.request_software_packages()
127
138
 
128
139
  tree_data = PackageTree(packages)
129
140
 
130
- hostnames = tree_data.supported_host_names()
141
+ hostnames = sort_hostnames_by_version(tree_data.supported_host_names())
131
142
  linux_hostnames = [h for h in hostnames if h.endswith("linux")]
132
143
  windows_hostnames = [h for h in hostnames if h.endswith("windows")]
133
144
 
@@ -168,4 +179,4 @@ def pq(format="text"):
168
179
  def decorate(html):
169
180
  html = html.replace("<table>", '<table class="pure-table pure-table-bordered">')
170
181
  html = '<html><head>{}</head><body style="margin: 2em;">{}</body></html>'.format(PURE, html)
171
- return html
182
+ return html
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ciocore
3
- Version: 8.3.1
3
+ Version: 8.3.2
4
4
  Summary: Core functionality for Conductor's client tools
5
5
  Home-page: https://github.com/ConductorTechnologies/ciocore
6
6
  Author: conductor
@@ -9,13 +9,13 @@ Classifier: Operating System :: OS Independent
9
9
  Classifier: Programming Language :: Python
10
10
  Classifier: Topic :: Multimedia :: Graphics :: 3D Rendering
11
11
  Description-Content-Type: text/markdown
12
- Requires-Dist: requests[use_chardet_on_py3] ==2.28.1
13
- Requires-Dist: pyjwt ==1.7.1
14
- Requires-Dist: future >=0.18.2
15
- Requires-Dist: cioseq <1.0.0,>=0.4.1
16
- Requires-Dist: Click <9.0.0,>=8.1.3
17
- Requires-Dist: markdown <4.0.0,>=3.5.2
18
- Requires-Dist: colorlog <7.0.0,>=6.8.2
12
+ Requires-Dist: requests[use_chardet_on_py3]==2.28.1
13
+ Requires-Dist: pyjwt==1.7.1
14
+ Requires-Dist: future>=0.18.2
15
+ Requires-Dist: cioseq<1.0.0,>=0.4.1
16
+ Requires-Dist: Click<9.0.0,>=8.1.3
17
+ Requires-Dist: markdown<4.0.0,>=3.5.2
18
+ Requires-Dist: colorlog<7.0.0,>=6.8.2
19
19
 
20
20
  ## Introduction
21
21
 
@@ -51,6 +51,10 @@ See [CONTRIBUTING](CONTRIBUTING.md)
51
51
 
52
52
  ## Changelog
53
53
 
54
+ ## Version:8.3.2 -- 01 Oct 2024
55
+
56
+ * Tweak to package order behavior for markdown package query
57
+
54
58
  ## Version:8.3.1 -- 05 Sep 2024
55
59
 
56
60
  * Fixes a bug of the Conductor log going to the wrong path on Windows
@@ -1,4 +1,4 @@
1
- ciocore/VERSION,sha256=rmeFKlQ4QGAI5SKqVg8znd1CZl1ozCVgtxHLoIKwdLs,5
1
+ ciocore/VERSION,sha256=yMqzsb3D4LmOawN9712vzGxhLlrQgxoUp1YYCGk_0ng,5
2
2
  ciocore/__init__.py,sha256=aTP7LeeosQA8BZE67gDV4jgfTK5zxmwZRjiTRu_ZWj0,646
3
3
  ciocore/api_client.py,sha256=SBxEwAiwn2XtH7T_ipefUbWhczXjoNdNbQBur1RV-Bw,32810
4
4
  ciocore/cli.py,sha256=jZ1lOKQiUcrMhsVmD9SVmPMFwHtgDF4SaoAf2-PBS54,15449
@@ -13,7 +13,7 @@ ciocore/file_utils.py,sha256=swA7th9WhDEloW69YViRTKB-oeC9UmNdEGegfH1r-Gw,17176
13
13
  ciocore/hardware_set.py,sha256=FlRQiGCLRcSW7Oko_gzgVK8ZqJ_J92eT8e_AleAbS2E,17047
14
14
  ciocore/loggeria.py,sha256=dk8n899TYFiMTD2gjjj8oiumJkPtCus0a_IY2GORAvU,15251
15
15
  ciocore/package_environment.py,sha256=MEHV7jfs3NJIEYCIaW8JfJdBmelvPHZMmBzPlXETiRo,7808
16
- ciocore/package_query.py,sha256=2m5EBXfu1lmqupZrFF8f8mfkX_PgijpdMxCtFI5e5s0,5574
16
+ ciocore/package_query.py,sha256=hWi_JmRieZ8f2Ji5JR7tQnHnm29Ktb88scbIXNsDu-8,6181
17
17
  ciocore/package_tree.py,sha256=vkORKXxQ7dO8l0_96eFwm-5AUVL0rP9bhgWYhW_v3lo,15649
18
18
  ciocore/post_install.py,sha256=zu5Ctz2ANbKD-f5G2ODLIhKkWENBi4F3UKKu50OEWrg,1000
19
19
  ciocore/retry.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -26,7 +26,7 @@ ciocore/docsite/index.html,sha256=NEK4HaX2yaetTajVtQuTmS9C5cPnkAtxgeKEj7wQ9t0,20
26
26
  ciocore/docsite/logo.png,sha256=gArgFFWdw8w985-0TkuGIgU_pW9sziEMZdqytXb5WLo,2825
27
27
  ciocore/docsite/objects.inv,sha256=XwmLactPEWWC4fAWqHNPBXGsluRxLLTrwDLQqq51ONY,775
28
28
  ciocore/docsite/sitemap.xml,sha256=M_V85zl0y2adRvzJAnoCxlZH_Hl7TLnIb1A-6l_xGmI,109
29
- ciocore/docsite/sitemap.xml.gz,sha256=2xVWLq_KVIQN6qI9Vw76TGTPhAz5eEkcQP1Pl6YvAN4,127
29
+ ciocore/docsite/sitemap.xml.gz,sha256=nmc2lveKFlofHpVpP6or7MslVmJqs4Y4nz-7cB32EoU,127
30
30
  ciocore/docsite/apidoc/api_client/index.html,sha256=TvoSl4iqdXhBVfesDxe_sBPA6G-Jt1-gpWA40xXspa0,188372
31
31
  ciocore/docsite/apidoc/apidoc/index.html,sha256=GOSvv6KZPOtgekgshRE4j7aDvJkkaiBQLwA_By9J94g,26171
32
32
  ciocore/docsite/apidoc/config/index.html,sha256=WDqy4MLR3EMp9T_2-Z9Op61rTFkvb0aTWmtjiR8sbjA,72559
@@ -101,7 +101,7 @@ ciocore/uploader/upload_stats/stats_formats.py,sha256=giNirtObU66VALWghPFSRhg3q_
101
101
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
102
  tests/extra_env_fixtures.py,sha256=8qvU4d8SXGKzRVNR5whVqKCQOwOVMiFVfbKBAjxa2gE,1119
103
103
  tests/instance_type_fixtures.py,sha256=uIzQduqKQVgjllMuyXaYnRC-pwqk5lnTx3NY2M5Nujo,4320
104
- tests/package_fixtures.py,sha256=CsJnhB7oYzIxJH7b1tCOPyvnnVSCqEbSPhtCnsHL-nA,5070
104
+ tests/package_fixtures.py,sha256=od7ZHofG8ubpQ3PqlUsrcHBcbmD3qVWih9eiIg1WtSQ,5361
105
105
  tests/project_fixtures.py,sha256=iBm_th_JtAw76vlNu7Jjhh9tLH4oOaNi-MgtPzCV7yQ,138
106
106
  tests/test_api_client.py,sha256=4jhj-YrBPcLj7XZn3ngguau2DPxpCYGMSuqPJ3hW0GQ,14497
107
107
  tests/test_base_downloader.py,sha256=SS7tWKv2ZZhpUDk4UCg1TkrNrpntjSewgzLl1mEubSE,3603
@@ -114,14 +114,15 @@ tests/test_hardware_set.py,sha256=hW7A_suyYdU7WkB7qoHSBPLxaAP2CKqI0i_ULfO5GeY,44
114
114
  tests/test_imports_2and3.py,sha256=ehqpRYPVY7djBcb8OT_cnh86iCJJ9wuMWnfSR9RHxmY,507
115
115
  tests/test_job_downloader.py,sha256=_dZqyLZhc2Bq2n7-skERfodHx1JgFyHw8TamHp6ID9I,7025
116
116
  tests/test_package_environment.py,sha256=CdiC2PDVSnbcwTb4fsDTWqGYSzs1n5ca2KMoyISckGA,5893
117
- tests/test_package_tree.py,sha256=xCwNwYUmJrfmgCP2FGoHRFG-L0JPy8s4-66icxAls4o,6780
117
+ tests/test_package_query.py,sha256=LZqvCrGkWs0lMtIMumjDatX0ypeYYvabh_k1R0A6sS0,1451
118
+ tests/test_package_tree.py,sha256=K2kzJwRHCr6ojc4MZHjdH7VtmvG5O97OoH6vzwAE9GQ,6780
118
119
  tests/test_submit.py,sha256=ppijBcpLXeHUZh7UXyClxLalSV6cTfKb6Ygw5zXQPKo,5836
119
120
  tests/test_uploader.py,sha256=B1llTJt_fqR6e_V_Jxfw9z73QgkFlEPU87xLYGzt-TQ,2914
120
121
  tests/test_validator.py,sha256=2fY66ayNc08PGyj2vTI-V_1yeCWJDngkj2zkUM5TTCI,1526
121
122
  tests/mocks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
123
  tests/mocks/glob.py,sha256=J2MH7nqi6NJOHuGdVWxhfeBd700_Ckj6cLh_8jSNkfg,215
123
- ciocore-8.3.1.dist-info/METADATA,sha256=NNnft8rjUsxme5_1tZ4q72inZQAY6vIHxB60ZgHnvYo,18772
124
- ciocore-8.3.1.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
125
- ciocore-8.3.1.dist-info/entry_points.txt,sha256=cCqcALMYbC4d8545V9w0Zysfg9MVuKWhzDQ2er4UfGE,47
126
- ciocore-8.3.1.dist-info/top_level.txt,sha256=SvlM5JlqULzAz00JZWfiUhfjhqDzYzSWssA87zdJl0o,14
127
- ciocore-8.3.1.dist-info/RECORD,,
124
+ ciocore-8.3.2.dist-info/METADATA,sha256=cKdUXW010yUKTuzdmz3u8iCoDekFby8TJRxpVdG31Dk,18860
125
+ ciocore-8.3.2.dist-info/WHEEL,sha256=qUzzGenXXuJTzyjFah76kDVqDvnk-YDzY00svnrl84w,109
126
+ ciocore-8.3.2.dist-info/entry_points.txt,sha256=cCqcALMYbC4d8545V9w0Zysfg9MVuKWhzDQ2er4UfGE,47
127
+ ciocore-8.3.2.dist-info/top_level.txt,sha256=SvlM5JlqULzAz00JZWfiUhfjhqDzYzSWssA87zdJl0o,14
128
+ ciocore-8.3.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (74.1.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any
tests/package_fixtures.py CHANGED
@@ -139,12 +139,25 @@ C4D_DATA = [
139
139
  "minor_version": "0",
140
140
  "package_id": "id_9",
141
141
  },
142
+ {
143
+ "product": "c4d",
144
+ "major_version": "1",
145
+ "minor_version": "1",
146
+ "package_id": "id_10",
147
+ },
142
148
  {
143
149
  "product": "c4d",
144
150
  "platform": "windows",
145
151
  "major_version": "1",
146
152
  "minor_version": "0",
147
- "package_id": "id_10",
153
+ "package_id": "id_11",
154
+ },
155
+ {
156
+ "product": "c4d",
157
+ "platform": "windows",
158
+ "major_version": "1",
159
+ "minor_version": "1",
160
+ "package_id": "id_12",
148
161
  },
149
162
  ]
150
163
 
@@ -152,20 +165,20 @@ BLENDER_DATA = [
152
165
  {
153
166
  "product": "blender",
154
167
  "major_version": "1",
155
- "package_id": "id_11",
168
+ "package_id": "id_13",
156
169
  },
157
170
  {
158
171
  "product": "blender",
159
172
  "major_version": "1",
160
173
  "minor_version": "0",
161
- "package_id": "id_12",
174
+ "package_id": "id_14",
162
175
  },
163
176
  {
164
177
  "product": "blender",
165
178
  "major_version": "1",
166
179
  "minor_version": "0",
167
180
  "release_version": "2",
168
- "package_id": "id_13",
181
+ "package_id": "id_15",
169
182
  },
170
183
  {
171
184
  "product": "blender",
@@ -173,7 +186,7 @@ BLENDER_DATA = [
173
186
  "minor_version": "0",
174
187
  "release_version": "2",
175
188
  "build_version": "3",
176
- "package_id": "id_14",
189
+ "package_id": "id_16",
177
190
  },
178
191
  ]
179
192
 
@@ -0,0 +1,38 @@
1
+ """ test package_query
2
+ """
3
+ import unittest
4
+ import os
5
+ import sys
6
+ import copy
7
+ from ciocore import package_tree
8
+ from ciocore import package_query
9
+ from package_fixtures import *
10
+
11
+ class HostnameSortByVersionTest(unittest.TestCase):
12
+ def setUp(self):
13
+ self.packages = copy.deepcopy(SOFTWARE_DATA)
14
+ self.pt = package_tree.PackageTree(self.packages)
15
+ self.hostname_list = self.pt.supported_host_names()
16
+
17
+ def test_sort_hostnames_by_version(self):
18
+ sorted_hostnames = package_query.sort_hostnames_by_version(self.hostname_list)
19
+ sorted_data = {}
20
+ for item in sorted_hostnames:
21
+ product, version, platform = item.split()
22
+ data = {
23
+ 'version': version,
24
+ 'platform': platform
25
+ }
26
+ if product in sorted_data.keys():
27
+ sorted_data[product].append(data)
28
+ else:
29
+ sorted_data[product] = [data]
30
+ self.assertTrue(sorted(list(sorted_data.keys())) == list(sorted_data.keys()))
31
+ for product in sorted_data.keys():
32
+ platform_list = [pkg['platform'] for pkg in sorted_data[product]]
33
+ self.assertTrue(sorted(platform_list) == platform_list)
34
+ version_list = [pkg['version'] for pkg in sorted_data[product] if pkg['platform'] == 'linux']
35
+ self.assertTrue(sorted(version_list, reverse=True) == version_list)
36
+
37
+ if __name__ == "__main__":
38
+ unittest.main()
@@ -163,7 +163,7 @@ class SupportedHostNamesTest(unittest.TestCase):
163
163
  def test_supported_host_names_windows(self):
164
164
  self.pt = package_tree.PackageTree(self.packages, product="c4d", platforms=["windows"])
165
165
  host_names = self.pt.supported_host_names()
166
- self.assertEqual(len(host_names), 1)
166
+ self.assertEqual(len(host_names), 2)
167
167
  self.assertIn('c4d 1.0 windows', host_names)
168
168
 
169
169