Separate public/private API. Keep modules
containing the piblic classes in the main client
directory and move the rest to _internal.
Signed-off-by: Teodora Sechkova <tsechkova@vmware.com>
The current client and the next-gen client should
coexist in the same repository during the ongoing
development of the latter.
Looking for a name which is client-related,
short, meeting PEP8 package names requirements.
Currently "ngclient" seems to fit in until a
better proposal comes.
Rename updater_rework.py to updater.py
Signed-off-by: Teodora Sechkova <tsechkova@vmware.com>
Remove file IO from MetadataBundle:
* This make the bundle API very clear and easy to understand
* This means caller must now read from and persist data to disk
but initial prototypes suggest this won't make Updater too
complex
This change is something we can still back out from if it turns out to
be the wrong decision: the file-persisting MetadataBundle has been tested
and works fine.
Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
The bundle should now raise
* derivatives of RepositoryError on failures that are likely a result
of server error or a malicious server
* RuntimeErrors if calls were made when they are not possible
* ValueErrors if arguments are invalid
last two are callers errors and avoidable.
Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
Don't use the serialized format as that won't match any hashes in
"meta".
Add basic tests for updating metadata.
Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>