Project

Profile

Help

Story #2885

Updated by bizhang over 3 years ago

This story is to extend the Publisher model and serializer with all Python specific fields and to implement publish.

Publisher.publish() should only be concerned with implementing the the simple API (which is consumed by pip). When this story is complete, the user will be able to create a Publisher, use it to publish a Repository with PythonPackageContent in it, creating a Publication. The user will be able to associate that Publication to a Distribution, and then pip will be able to install packages from the distribution.base_path.

https://wiki.python.org/moin/PyPISimple
https://www.python.org/dev/peps/pep-0301/

For every unique project in a repository pulp should distribute a HTML page located at: { distribution.base_path.}/simple/{project-name}/

This HTML page should contain every distribution package that shares the same project name and should look like:
<pre>
<!DOCTYPE html>
<html>
<head>
<title>Links for pulpcore</title>
</head>
<body><h1>Links for pulpcore</h1>
<a href="{link-to-content}#md5={md5_hash}" rel="internal">{PythonPackageContentUnit.filename}</a><br/>

<a href="../../packages/02/ee/3ceee60a9694b9462c62eee3df0d2b3e525be82750bc3f9e8b4d21a0cfb7/pulpcore-3.0.0a1.dev5-py3-none-any.whl#md5=16f188762c54527815557af8a7067234" rel="internal">pulpcore-3.0.0a1.dev5-py3-none-any.whl</a><br/>

<a href="../../packages/03/6c/e48eb03fa930a36838b3ff92e4367d901bb09e725859e0030b3bb40dff77/pulpcore-3.0.0a1.dev4-py3-none-any.whl#md5=3c8c966327231e8a3f48b70866f3c56a" rel="internal">pulpcore-3.0.0a1.dev4-py3-none-any.whl</a><br/>

</body></html>
</pre>

The json API (which would be consumed by other Pulps) is *not* a part of this story, and will be implemented in https://pulp.plan.io/issues/2886


Back