fossology / fossology/fossdriver

Errors when folder contains single-file uploads

Open
#35 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
11
Forks
10
PR merge metrics
No merged PRs in 30d

Description

Many of the tasks and server functions call GetUploadNum. This function scans through the uploads in the specified folder. It appears to assume that all items in the folder will be links to unpacked uploads, and therefore appears to fail if they aren't -- for instance, if a single non-archive file has been uploaded. For example:

```
Traceback (most recent call last):
File "", line 1, in
File "/Users/steve/programming/lftools/fossdriver/fossdriver-dev/fossdriver/fossdriver/tasks.py", line 372, in run
uploadNum = self.server.GetUploadNum(folderNum, self.uploadName)
File "/Users/steve/programming/lftools/fossdriver/fossdriver-dev/fossdriver/fossdriver/server.py", line 157, in GetUploadNum
u = self._getUploadData(folderNum, uploadName, exact)
File "/Users/steve/programming/lftools/fossdriver/fossdriver-dev/fossdriver/fossdriver/server.py", line 138, in _getUploadData
parsedUploads = fossdriver.parser.parseAllUploadDataForFolder(uploadData)
File "/Users/steve/programming/lftools/fossdriver/fossdriver-dev/fossdriver/fossdriver/parser.py", line 86, in parseAllUploadDataForFolder
u = parseUploadDataForFolderLineItem(lineItem)
File "/Users/steve/programming/lftools/fossdriver/fossdriver-dev/fossdriver/fossdriver/parser.py", line 63, in parseUploadDataForFolderLineItem
href = aTag.get("href", None)
AttributeError: 'NoneType' object has no attribute 'get'
```

One of these functions (perhaps `parseUploadDataForFolderLineItem`) should probably check to see whether the upload is actually an unpacked archive rather than a single file, and then act accordingly.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.