Skip to content

Outdated parts of python-woc #3

@bockthom

Description

@bockthom

Activity 5 of the tutorial uses python-woc. The current tutorial still points to oscar.py. I've started already to replace all mentions of oscar.py by python-woc. However, some parts don't work any more.

@hrz6976, could you please have a look at the following problems and provide solutions on how to solve them? I will add them to PR #1 then.

(1) Should we add that python-woc only works on da5 (ssh to da5) and that one needs to call source /opt/rh/rh-python38/enable


(2) I already updated the code of exercises 5a, 5b, and 5c, but it still fails. Look at the following example (5b):

from oscar import Project
Project('notcake_gcad').url

This ends up in "AssertionError: WocMaps not initialized: call init_woc_objects() or supply a woc keyword argument". How to fix this?


(3) What about this list - is it still up to date or does it need some updating?

These are corresponding functions in oscar.py that open the .tch files listed below for a given entity. `/function_name` after a function name denotes the version of that function that returns a Generator object.
1. `Author('...')` - initialized with a combination of name and email
- `.blobs`
- `.commit_shas/commits`
- `.project_names`
- `.files`
- `.torvald` - returns the torvald path of an Author, i.e, who did this Author work
with that also worked with Linus Torvald
2. `Blob('...')` - initialized with SHA of blob
- `.author` - returns timestamp, author name, and binary SHA of commit
- `.commit_shas/commits` - commits removing this blob are not included
- `.data` - content of the blob
- `.file_sha(filename)` - compute blob sha from a file content
- `.position` - get offset and length of blob data in storage
- `.parent`
- `.string_sha(string)`
- `.tkns` - result of ctags run on this blob, if there were any
3. `Commit('...')` - initialized with SHA of commit
- `.blob_shas/blobs`
- `.child_shas/children`
- `.changed_file_names/files_changed`
- `.parent_shas/parents`
- `.project_names/projects`
- `.attributes` - time, tz, author, tree, parent(s)
- `.tdiff`
4. Deprecated, see [#50](https://github.com/ssc-oscar/oscar.py/issues/50): `File('...')` - initialized with a path, starting from a commit root tree
- `.authors`
- `.blobs`
- `.commit_shas/commits`
5. `Project('...')` - initialized with project name/URI
- `.author_names`
- `.commit_shas/commits`
6. `Tdiff('...')` - initialized with SHA, result of diff run on 2 blobs (if there was a diff)
- `.commit`
- `.file`
7. `Tree('...')` - representation of a git tree object (dir), initialized with SHA of tree
- `.files`
- `.blob_shas/blobs`
- `.commit_shas/commits`
- `.traverse`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions