Skip to content

Bug in ~/tfx/database.py #3

@malizad

Description

@malizad

Hi,

I just find to use TFX to extract the defined features from my Twitter dataset. So I populated the user_label_assignments table with my labeled users (not all users are labeled of course since I want to use this software to label them). I also defined the label in conf.json file as label: {individual: 1, organization: 2}. Then I ran the TFX using the following command:

$ tfx ~/conf.json ~/path/to/tweet_dir

But I keep receiving the following error which I think is related to a bug in the code:

Traceback (most recent call last):
File "/usr/local/bin/tfx", line 63, in
extractor.FeatureExtractor(conf, args.tweet_dir)
File "/usr/local/lib/python2.7/dist-packages/tfx/extractor.py", line 25, in init
user_set = users.UserSet(conf, tweet_dir)
File "/usr/local/lib/python2.7/dist-packages/tfx/users.py", line 76, in init
self.user_ids[label] = self.connection.get_users_for_label(label_id)
File "/usr/local/lib/python2.7/dist-packages/tfx/database.py", line 226, in get_users_for_label
return self.profiles[label]
KeyError: 2

I think the problem arises from the fact that in ~/tfx/database.py, the __init__ method of the JSONFile class, assigns all users to label 0. I mean here:

label = 0
if label not in self.profiles:
      self.profiles[label] = {}
if user_id not in self.profiles[label]:
      self.tweets[user_id] = []
      self.profiles[label][user_id] = tweet_json['user']

so it raises an error when the get_users_for_label method get called, since get_users_for_label looks for 1 and 2 as keys, but self.profiles only contains 0 as its key.

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